Publish commit(s) from site source repo:
  28219343a [blog] Add a blog post for 1.15.0 release
  a62a0b291 [site] Update website for 1.15.0 release
  4277a514c [docs][site] Add links to documentation on the releases index page

Site-Repo-Commit: 28219343a179c040045a733d9c9b022103c4f185
diff --git a/2016/02/26/apache-kudu-0-7-0-released.html b/2016/02/26/apache-kudu-0-7-0-released.html
index 72a1904..d63ce31 100644
--- a/2016/02/26/apache-kudu-0-7-0-released.html
+++ b/2016/02/26/apache-kudu-0-7-0-released.html
@@ -151,6 +151,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -179,8 +181,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/03/10/apache-kudu-0-7-1-released.html b/2016/03/10/apache-kudu-0-7-1-released.html
index 1599904..bfe8dbe 100644
--- a/2016/03/10/apache-kudu-0-7-1-released.html
+++ b/2016/03/10/apache-kudu-0-7-1-released.html
@@ -150,6 +150,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -178,8 +180,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/03/20/weekly-update.html b/2016/03/20/weekly-update.html
index 4b371fd..913eb13 100644
--- a/2016/03/20/weekly-update.html
+++ b/2016/03/20/weekly-update.html
@@ -210,6 +210,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -238,8 +240,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/03/28/weekly-update.html b/2016/03/28/weekly-update.html
index 4c3185e..6d5bc57 100644
--- a/2016/03/28/weekly-update.html
+++ b/2016/03/28/weekly-update.html
@@ -201,6 +201,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -229,8 +231,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/04/weekly-update.html b/2016/04/04/weekly-update.html
index 6b0dfb5..4ee5421 100644
--- a/2016/04/04/weekly-update.html
+++ b/2016/04/04/weekly-update.html
@@ -220,6 +220,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -248,8 +250,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/11/weekly-update.html b/2016/04/11/weekly-update.html
index e67409d..599123f 100644
--- a/2016/04/11/weekly-update.html
+++ b/2016/04/11/weekly-update.html
@@ -220,6 +220,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -248,8 +250,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/12/apache-kudu-0-8-0-released.html b/2016/04/12/apache-kudu-0-8-0-released.html
index 11b3d47..e533ec9 100644
--- a/2016/04/12/apache-kudu-0-8-0-released.html
+++ b/2016/04/12/apache-kudu-0-8-0-released.html
@@ -141,6 +141,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -169,8 +171,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/14/ingesting-json-apache-kudu-streamsets-data-collector.html b/2016/04/14/ingesting-json-apache-kudu-streamsets-data-collector.html
index e3a2809..d8a22c0 100644
--- a/2016/04/14/ingesting-json-apache-kudu-streamsets-data-collector.html
+++ b/2016/04/14/ingesting-json-apache-kudu-streamsets-data-collector.html
@@ -164,6 +164,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -192,8 +194,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/18/weekly-update.html b/2016/04/18/weekly-update.html
index 92242ee..4df2ab1 100644
--- a/2016/04/18/weekly-update.html
+++ b/2016/04/18/weekly-update.html
@@ -218,6 +218,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -246,8 +248,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/19/kudu-0-8-0-predicate-improvements.html b/2016/04/19/kudu-0-8-0-predicate-improvements.html
index 0301b99..63e899c 100644
--- a/2016/04/19/kudu-0-8-0-predicate-improvements.html
+++ b/2016/04/19/kudu-0-8-0-predicate-improvements.html
@@ -198,6 +198,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -226,8 +228,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/25/weekly-update.html b/2016/04/25/weekly-update.html
index 7c5fd94..b1d62c0 100644
--- a/2016/04/25/weekly-update.html
+++ b/2016/04/25/weekly-update.html
@@ -217,6 +217,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -245,8 +247,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/26/ycsb.html b/2016/04/26/ycsb.html
index a38313f..8fa7db4 100644
--- a/2016/04/26/ycsb.html
+++ b/2016/04/26/ycsb.html
@@ -426,6 +426,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -454,8 +456,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/05/03/weekly-update.html b/2016/05/03/weekly-update.html
index d30f077..70dbdcc 100644
--- a/2016/05/03/weekly-update.html
+++ b/2016/05/03/weekly-update.html
@@ -192,6 +192,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -220,8 +222,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/05/09/weekly-update.html b/2016/05/09/weekly-update.html
index b3570de..e728437 100644
--- a/2016/05/09/weekly-update.html
+++ b/2016/05/09/weekly-update.html
@@ -182,6 +182,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -210,8 +212,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/05/16/weekly-update.html b/2016/05/16/weekly-update.html
index fd0b59b..409d401 100644
--- a/2016/05/16/weekly-update.html
+++ b/2016/05/16/weekly-update.html
@@ -217,6 +217,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -245,8 +247,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/05/23/weekly-update.html b/2016/05/23/weekly-update.html
index 11e7ac3..4b37cb3 100644
--- a/2016/05/23/weekly-update.html
+++ b/2016/05/23/weekly-update.html
@@ -206,6 +206,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -234,8 +236,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/01/weekly-update.html b/2016/06/01/weekly-update.html
index 2d0e55d..de15e8f 100644
--- a/2016/06/01/weekly-update.html
+++ b/2016/06/01/weekly-update.html
@@ -172,6 +172,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -200,8 +202,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/02/no-default-partitioning.html b/2016/06/02/no-default-partitioning.html
index cbcb8a4..431e844 100644
--- a/2016/06/02/no-default-partitioning.html
+++ b/2016/06/02/no-default-partitioning.html
@@ -213,6 +213,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -241,8 +243,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/06/weekly-update.html b/2016/06/06/weekly-update.html
index 07abf37..428ac21 100644
--- a/2016/06/06/weekly-update.html
+++ b/2016/06/06/weekly-update.html
@@ -167,6 +167,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -195,8 +197,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/10/apache-kudu-0-9-0-released.html b/2016/06/10/apache-kudu-0-9-0-released.html
index c596f29..feb9240 100644
--- a/2016/06/10/apache-kudu-0-9-0-released.html
+++ b/2016/06/10/apache-kudu-0-9-0-released.html
@@ -142,6 +142,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -170,8 +172,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/13/weekly-update.html b/2016/06/13/weekly-update.html
index 05f551f..3afbbb2 100644
--- a/2016/06/13/weekly-update.html
+++ b/2016/06/13/weekly-update.html
@@ -175,6 +175,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -203,8 +205,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/17/raft-consensus-single-node.html b/2016/06/17/raft-consensus-single-node.html
index ff06a9f..d6c4f6c 100644
--- a/2016/06/17/raft-consensus-single-node.html
+++ b/2016/06/17/raft-consensus-single-node.html
@@ -217,6 +217,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -245,8 +247,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/21/weekly-update.html b/2016/06/21/weekly-update.html
index cc0544c..fdcf94e 100644
--- a/2016/06/21/weekly-update.html
+++ b/2016/06/21/weekly-update.html
@@ -168,6 +168,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -196,8 +198,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/24/multi-master-1-0-0.html b/2016/06/24/multi-master-1-0-0.html
index e7e0cff..ac2578d 100644
--- a/2016/06/24/multi-master-1-0-0.html
+++ b/2016/06/24/multi-master-1-0-0.html
@@ -230,6 +230,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -258,8 +260,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/27/weekly-update.html b/2016/06/27/weekly-update.html
index ba76a6e..8f93657 100644
--- a/2016/06/27/weekly-update.html
+++ b/2016/06/27/weekly-update.html
@@ -232,6 +232,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -260,8 +262,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/07/01/apache-kudu-0-9-1-released.html b/2016/07/01/apache-kudu-0-9-1-released.html
index 2ab6dc2..6aeac01 100644
--- a/2016/07/01/apache-kudu-0-9-1-released.html
+++ b/2016/07/01/apache-kudu-0-9-1-released.html
@@ -140,6 +140,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -168,8 +170,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/07/11/weekly-update.html b/2016/07/11/weekly-update.html
index e7d85fd..b763800 100644
--- a/2016/07/11/weekly-update.html
+++ b/2016/07/11/weekly-update.html
@@ -198,6 +198,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -226,8 +228,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/07/18/weekly-update.html b/2016/07/18/weekly-update.html
index 5765a12..9373ead 100644
--- a/2016/07/18/weekly-update.html
+++ b/2016/07/18/weekly-update.html
@@ -190,6 +190,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -218,8 +220,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/07/25/asf-graduation.html b/2016/07/25/asf-graduation.html
index 9bcb20b..a7d139a 100644
--- a/2016/07/25/asf-graduation.html
+++ b/2016/07/25/asf-graduation.html
@@ -166,6 +166,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -194,8 +196,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/07/26/weekly-update.html b/2016/07/26/weekly-update.html
index 905a608..e7a3235 100644
--- a/2016/07/26/weekly-update.html
+++ b/2016/07/26/weekly-update.html
@@ -198,6 +198,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -226,8 +228,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/08/08/weekly-update.html b/2016/08/08/weekly-update.html
index d17e21f..c30c270 100644
--- a/2016/08/08/weekly-update.html
+++ b/2016/08/08/weekly-update.html
@@ -197,6 +197,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -225,8 +227,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/08/16/weekly-update.html b/2016/08/16/weekly-update.html
index 12f6ad1..00a29cc 100644
--- a/2016/08/16/weekly-update.html
+++ b/2016/08/16/weekly-update.html
@@ -247,6 +247,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -275,8 +277,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/08/23/apache-kudu-0-10-0-released.html b/2016/08/23/apache-kudu-0-10-0-released.html
index e01b151..f71ca3f 100644
--- a/2016/08/23/apache-kudu-0-10-0-released.html
+++ b/2016/08/23/apache-kudu-0-10-0-released.html
@@ -163,6 +163,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -191,8 +193,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/08/23/new-range-partitioning-features.html b/2016/08/23/new-range-partitioning-features.html
index be50008..c5f435a 100644
--- a/2016/08/23/new-range-partitioning-features.html
+++ b/2016/08/23/new-range-partitioning-features.html
@@ -223,6 +223,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -251,8 +253,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/08/31/intro-flume-kudu-sink.html b/2016/08/31/intro-flume-kudu-sink.html
index c40e970..fc64c41 100644
--- a/2016/08/31/intro-flume-kudu-sink.html
+++ b/2016/08/31/intro-flume-kudu-sink.html
@@ -425,6 +425,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -453,8 +455,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/09/16/predicate-pushdown.html b/2016/09/16/predicate-pushdown.html
index f0953e6..e95ae15 100644
--- a/2016/09/16/predicate-pushdown.html
+++ b/2016/09/16/predicate-pushdown.html
@@ -271,6 +271,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -299,8 +301,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/09/20/apache-kudu-1-0-0-released.html b/2016/09/20/apache-kudu-1-0-0-released.html
index dfc6a6e..1477846 100644
--- a/2016/09/20/apache-kudu-1-0-0-released.html
+++ b/2016/09/20/apache-kudu-1-0-0-released.html
@@ -166,6 +166,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -194,8 +196,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/09/26/strata-nyc-kudu-talks.html b/2016/09/26/strata-nyc-kudu-talks.html
index 41f47be..99612a0 100644
--- a/2016/09/26/strata-nyc-kudu-talks.html
+++ b/2016/09/26/strata-nyc-kudu-talks.html
@@ -187,6 +187,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -215,8 +217,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/10/11/weekly-update.html b/2016/10/11/weekly-update.html
index 27fbb46..2e65f28 100644
--- a/2016/10/11/weekly-update.html
+++ b/2016/10/11/weekly-update.html
@@ -289,6 +289,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -317,8 +319,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/10/20/weekly-update.html b/2016/10/20/weekly-update.html
index 8b9fc3f..cbd36c3 100644
--- a/2016/10/20/weekly-update.html
+++ b/2016/10/20/weekly-update.html
@@ -218,6 +218,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -246,8 +248,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/11/01/weekly-update.html b/2016/11/01/weekly-update.html
index d2bc92d..d12d4c6 100644
--- a/2016/11/01/weekly-update.html
+++ b/2016/11/01/weekly-update.html
@@ -216,6 +216,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -244,8 +246,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/11/15/weekly-update.html b/2016/11/15/weekly-update.html
index 9399b00..0a62139 100644
--- a/2016/11/15/weekly-update.html
+++ b/2016/11/15/weekly-update.html
@@ -237,6 +237,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -265,8 +267,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2017/01/20/apache-kudu-1-2-0-released.html b/2017/01/20/apache-kudu-1-2-0-released.html
index 08f6208..e2438ca 100644
--- a/2017/01/20/apache-kudu-1-2-0-released.html
+++ b/2017/01/20/apache-kudu-1-2-0-released.html
@@ -162,6 +162,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -190,8 +192,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2017/03/20/apache-kudu-1-3-0-released.html b/2017/03/20/apache-kudu-1-3-0-released.html
index 57dfdf0..08da9ca 100644
--- a/2017/03/20/apache-kudu-1-3-0-released.html
+++ b/2017/03/20/apache-kudu-1-3-0-released.html
@@ -161,6 +161,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -189,8 +191,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2017/04/19/apache-kudu-1-3-1-released.html b/2017/04/19/apache-kudu-1-3-1-released.html
index a977246..2f42a20 100644
--- a/2017/04/19/apache-kudu-1-3-1-released.html
+++ b/2017/04/19/apache-kudu-1-3-1-released.html
@@ -145,6 +145,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -173,8 +175,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2017/06/13/apache-kudu-1-4-0-released.html b/2017/06/13/apache-kudu-1-4-0-released.html
index a10ca5c..57ef4e5 100644
--- a/2017/06/13/apache-kudu-1-4-0-released.html
+++ b/2017/06/13/apache-kudu-1-4-0-released.html
@@ -161,6 +161,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -189,8 +191,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2017/09/08/apache-kudu-1-5-0-released.html b/2017/09/08/apache-kudu-1-5-0-released.html
index 673374b..d4401d9 100644
--- a/2017/09/08/apache-kudu-1-5-0-released.html
+++ b/2017/09/08/apache-kudu-1-5-0-released.html
@@ -167,6 +167,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -195,8 +197,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2017/09/18/kudu-consistency-pt1.html b/2017/09/18/kudu-consistency-pt1.html
index bca688d..c18447f 100644
--- a/2017/09/18/kudu-consistency-pt1.html
+++ b/2017/09/18/kudu-consistency-pt1.html
@@ -304,6 +304,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -332,8 +334,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2017/10/23/nosql-kudu-spanner-slides.html b/2017/10/23/nosql-kudu-spanner-slides.html
index be4d120..53db14a 100644
--- a/2017/10/23/nosql-kudu-spanner-slides.html
+++ b/2017/10/23/nosql-kudu-spanner-slides.html
@@ -185,6 +185,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -213,8 +215,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2017/12/08/apache-kudu-1-6-0-released.html b/2017/12/08/apache-kudu-1-6-0-released.html
index 0d4a0b8..8f68529 100644
--- a/2017/12/08/apache-kudu-1-6-0-released.html
+++ b/2017/12/08/apache-kudu-1-6-0-released.html
@@ -186,6 +186,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -214,8 +216,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2018/03/23/apache-kudu-1-7-0-released.html b/2018/03/23/apache-kudu-1-7-0-released.html
index c435309..45f1805 100644
--- a/2018/03/23/apache-kudu-1-7-0-released.html
+++ b/2018/03/23/apache-kudu-1-7-0-released.html
@@ -198,6 +198,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -226,8 +228,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2018/07/10/instrumentation-in-kudu.html b/2018/07/10/instrumentation-in-kudu.html
index 312cded..0b77871 100644
--- a/2018/07/10/instrumentation-in-kudu.html
+++ b/2018/07/10/instrumentation-in-kudu.html
@@ -160,6 +160,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -188,8 +190,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2018/08/06/getting-started-with-kudu-an-oreilly-title.html b/2018/08/06/getting-started-with-kudu-an-oreilly-title.html
index 3d0a22f..a078d1c 100644
--- a/2018/08/06/getting-started-with-kudu-an-oreilly-title.html
+++ b/2018/08/06/getting-started-with-kudu-an-oreilly-title.html
@@ -185,6 +185,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -213,8 +215,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2018/09/11/simplified-pipelines-with-kudu.html b/2018/09/11/simplified-pipelines-with-kudu.html
index a43b8ad..e9f70ef 100644
--- a/2018/09/11/simplified-pipelines-with-kudu.html
+++ b/2018/09/11/simplified-pipelines-with-kudu.html
@@ -168,6 +168,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -196,8 +198,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2018/09/26/index-skip-scan-optimization-in-kudu.html b/2018/09/26/index-skip-scan-optimization-in-kudu.html
index 793dfa3..fa4e9c8 100644
--- a/2018/09/26/index-skip-scan-optimization-in-kudu.html
+++ b/2018/09/26/index-skip-scan-optimization-in-kudu.html
@@ -232,6 +232,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -260,8 +262,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2018/10/26/apache-kudu-1-8-0-released.html b/2018/10/26/apache-kudu-1-8-0-released.html
index 6d2e23f..51856d5 100644
--- a/2018/10/26/apache-kudu-1-8-0-released.html
+++ b/2018/10/26/apache-kudu-1-8-0-released.html
@@ -167,6 +167,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -195,8 +197,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2018/12/11/call-for-posts.html b/2018/12/11/call-for-posts.html
index 71e1e03..fe4bd98 100644
--- a/2018/12/11/call-for-posts.html
+++ b/2018/12/11/call-for-posts.html
@@ -145,6 +145,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -173,8 +175,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html b/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html
index 9a14ed2..b832b7d 100644
--- a/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html
+++ b/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html
@@ -530,6 +530,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -558,8 +560,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2019/03/15/apache-kudu-1-9-0-release.html b/2019/03/15/apache-kudu-1-9-0-release.html
index 72ca11a..7851000 100644
--- a/2019/03/15/apache-kudu-1-9-0-release.html
+++ b/2019/03/15/apache-kudu-1-9-0-release.html
@@ -169,6 +169,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -197,8 +199,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2019/03/19/testing-apache-kudu-applications-on-the-jvm.html b/2019/03/19/testing-apache-kudu-applications-on-the-jvm.html
index 4e4d3b5..fc13e9a 100644
--- a/2019/03/19/testing-apache-kudu-applications-on-the-jvm.html
+++ b/2019/03/19/testing-apache-kudu-applications-on-the-jvm.html
@@ -347,6 +347,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -375,8 +377,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2019/04/22/fine-grained-authorization-with-apache-kudu-and-impala.html b/2019/04/22/fine-grained-authorization-with-apache-kudu-and-impala.html
index 7bf8c81..6d6daa8 100644
--- a/2019/04/22/fine-grained-authorization-with-apache-kudu-and-impala.html
+++ b/2019/04/22/fine-grained-authorization-with-apache-kudu-and-impala.html
@@ -253,6 +253,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -281,8 +283,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2019/04/30/location-awareness.html b/2019/04/30/location-awareness.html
index a21779f..0104d02 100644
--- a/2019/04/30/location-awareness.html
+++ b/2019/04/30/location-awareness.html
@@ -494,6 +494,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -522,8 +524,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2019/07/09/apache-kudu-1-10-0-release.html b/2019/07/09/apache-kudu-1-10-0-release.html
index 1d7dd1d..6979c1a 100644
--- a/2019/07/09/apache-kudu-1-10-0-release.html
+++ b/2019/07/09/apache-kudu-1-10-0-release.html
@@ -193,6 +193,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -221,8 +223,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2019/11/20/apache-kudu-1-10-1-release.html b/2019/11/20/apache-kudu-1-10-1-release.html
index 4cd25a1..69f0ff5 100644
--- a/2019/11/20/apache-kudu-1-10-1-release.html
+++ b/2019/11/20/apache-kudu-1-10-1-release.html
@@ -156,6 +156,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -184,8 +186,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2019/11/20/apache-kudu-1-11-1-release.html b/2019/11/20/apache-kudu-1-11-1-release.html
index 690b4d4..58d2810 100644
--- a/2019/11/20/apache-kudu-1-11-1-release.html
+++ b/2019/11/20/apache-kudu-1-11-1-release.html
@@ -189,6 +189,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -217,8 +219,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2020/05/18/apache-kudu-1-12-0-release.html b/2020/05/18/apache-kudu-1-12-0-release.html
index 1e22700..a733102 100644
--- a/2020/05/18/apache-kudu-1-12-0-release.html
+++ b/2020/05/18/apache-kudu-1-12-0-release.html
@@ -195,6 +195,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -223,8 +225,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2020/07/30/building-near-real-time-big-data-lake.html b/2020/07/30/building-near-real-time-big-data-lake.html
index 310e339..00949a7 100644
--- a/2020/07/30/building-near-real-time-big-data-lake.html
+++ b/2020/07/30/building-near-real-time-big-data-lake.html
@@ -391,6 +391,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -419,8 +421,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2020/08/11/fine-grained-authz-ranger.html b/2020/08/11/fine-grained-authz-ranger.html
index b3c4992..49d42f5 100644
--- a/2020/08/11/fine-grained-authz-ranger.html
+++ b/2020/08/11/fine-grained-authz-ranger.html
@@ -335,6 +335,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -363,8 +365,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2020/09/21/apache-kudu-1-13-0-release.html b/2020/09/21/apache-kudu-1-13-0-release.html
index a5d455d..20293e2 100644
--- a/2020/09/21/apache-kudu-1-13-0-release.html
+++ b/2020/09/21/apache-kudu-1-13-0-release.html
@@ -180,6 +180,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -208,8 +210,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2021/01/15/bloom-filter-predicate.html b/2021/01/15/bloom-filter-predicate.html
index c9d9ca3..45dfc4e 100644
--- a/2021/01/15/bloom-filter-predicate.html
+++ b/2021/01/15/bloom-filter-predicate.html
@@ -268,6 +268,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -296,8 +298,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2021/01/28/apache-kudu-1-14-0-release.html b/2021/01/28/apache-kudu-1-14-0-release.html
index 492f062..cdb95cd 100644
--- a/2021/01/28/apache-kudu-1-14-0-release.html
+++ b/2021/01/28/apache-kudu-1-14-0-release.html
@@ -143,7 +143,7 @@
   </li>
   <li>
     <p>Spark 3 compatible JARs compiled for Scala 2.12 are now published for the Kudu Spark integration.
-See link:https://issues.apache.org/jira/browse/KUDU-3202[KUDU-3202] for more details.</p>
+See <a href="https://issues.apache.org/jira/browse/KUDU-3202">KUDU-3202</a> for more details.</p>
   </li>
   <li>
     <p>Every Kudu cluster now has an automatically generated cluster Id that can be used to uniquely
@@ -204,6 +204,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -232,8 +234,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2021/06/22/apache-kudu-1-15-0-released.html b/2021/06/22/apache-kudu-1-15-0-released.html
new file mode 100644
index 0000000..5f8484d
--- /dev/null
+++ b/2021/06/22/apache-kudu-1-15-0-released.html
@@ -0,0 +1,295 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu 1.15.0 Released</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" />
+
+    
+    <link rel="alternate" type="application/atom+xml"
+      title="RSS Feed for Apache Kudu blog"
+      href="/feed.xml" />
+    
+
+    <!-- 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 >
+                  <a href="/docs/">Documentation</a>
+                </li>
+                <li >
+                  <a href="/releases/">Releases</a>
+                </li>
+                <li class="active">
+                  <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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<div class="row header">
+  <div class="col-lg-12">
+    <h2><a href="/blog">Apache Kudu Blog</a></h2>
+  </div>
+</div>
+
+<div class="row-fluid">
+  <div class="col-lg-9">
+    <article>
+  <header>
+    <h1 class="entry-title">Apache Kudu 1.15.0 Released</h1>
+    <p class="meta">Posted 22 Jun 2021 by Bankim Bhavsar</p>
+  </header>
+  <div class="entry-content">
+    <p>The Apache Kudu team is happy to announce the release of Kudu 1.15.0!</p>
+
+<p>The new release adds several new features and improvements, including the
+following:</p>
+
+<!--more-->
+
+<ul>
+  <li>
+    <p>Kudu now experimentally supports multi-row transactions. Currently only <code class="language-plaintext highlighter-rouge">INSERT</code> and
+<code class="language-plaintext highlighter-rouge">INSERT_IGNORE</code> operations are supported.
+See <a href="https://github.com/apache/kudu/blob/master/docs/design-docs/transactions.adoc">here</a> for a
+design overview of this feature.</p>
+  </li>
+  <li>
+    <p>Kudu now supports Raft configuration change for Kudu masters and CLI tools for orchestrating
+addition and removal of masters in a Kudu cluster. These tools substantially simplify the process
+of migrating to multiple masters, recovering a dead master and removing masters from a Kudu
+cluster. For detailed steps, see the latest administration documentation. This feature is evolving
+and the steps to add, remove and recover masters may change in the future.
+See <a href="https://issues.apache.org/jira/browse/KUDU-2181">KUDU-2181</a> for details.</p>
+  </li>
+  <li>
+    <p>Kudu now supports table comments directly on Kudu tables which are automatically synchronized
+when the Hive Metastore integration is enabled. These comments can be added at table creation time
+and changed via table alteration.</p>
+  </li>
+  <li>
+    <p>Kudu now experimentally supports per-table size limits based on leader disk space usage or number
+of rows. When generating new authorization tokens, Masters will now consider the size limits and
+strip tokens of <code class="language-plaintext highlighter-rouge">INSERT</code> and <code class="language-plaintext highlighter-rouge">UPDATE</code> privileges if either limit is reached. To enable this
+feature, set the <code class="language-plaintext highlighter-rouge">--enable_table_write_limit</code> master flag; adjust the <code class="language-plaintext highlighter-rouge">--table_disk_size_limit</code>
+and <code class="language-plaintext highlighter-rouge">--table_row_count_limit</code> flags as desired or use the <code class="language-plaintext highlighter-rouge">kudu table set_limit</code> tool to set
+limits per table.</p>
+  </li>
+  <li>
+    <p>It is now possible to change the Kerberos Service Principal Name using the <code class="language-plaintext highlighter-rouge">--principal</code> flag. The
+default SPN is still <code class="language-plaintext highlighter-rouge">kudu/_HOST</code>. Clients connecting to a cluster using a non-default SPN must
+set the <code class="language-plaintext highlighter-rouge">sasl_protocol_name</code> or <code class="language-plaintext highlighter-rouge">saslProtocolName</code> to match the SPN base
+(i.e. “kudu” if the SPN is “kudu/_HOST”) in the client builder or the Kudu CLI.
+See <a href="https://issues.apache.org/jira/browse/KUDU-1884">KUDU-1884</a> for details.</p>
+  </li>
+  <li>
+    <p>Kudu RPC now supports TLSv1.3.  Kudu servers and clients automatically negotiate TLSv1.3 for Kudu
+RPC if OpenSSL (or Java runtime correspondingly) on each side supports TLSv1.3.
+If necessary, use the newly introduced flag <code class="language-plaintext highlighter-rouge">--rpc_tls_ciphersuites</code> to customize TLSv1.3-specific
+cipher suites at the server side.
+See <a href="https://issues.apache.org/jira/browse/KUDU-2871">KUDU-2871</a> for details.</p>
+  </li>
+</ul>
+
+<p>The above is just a list of the highlights, for a more complete list of new
+features, improvements and fixes please refer to the <a href="/releases/1.15.0/docs/release_notes.html">release
+notes</a>.</p>
+
+<p>The Apache Kudu project only publishes source code releases. To build Kudu
+1.15.0, follow these steps:</p>
+
+<ul>
+  <li>Download the Kudu <a href="/releases/1.15.0">1.15.0 source release</a></li>
+  <li>Follow the instructions in the documentation to build Kudu <a href="/releases/1.15.0/docs/installation.html#build_from_source">1.15.0 from
+source</a></li>
+</ul>
+
+<p>For your convenience, binary JAR files for the Kudu Java client library, Spark
+DataSource, Flume sink, and other Java integrations are published to the ASF
+Maven repository and are <a href="https://search.maven.org/search?q=g:org.apache.kudu%20AND%20v:1.15.0">now
+available</a>.</p>
+
+<p>The Python client source is also available on
+<a href="https://pypi.org/project/kudu-python/">PyPI</a>.</p>
+
+<p>Additionally, experimental Docker images are published to
+<a href="https://hub.docker.com/r/apache/kudu">Docker Hub</a>, including for AArch64-based
+architectures (ARM).</p>
+
+  </div>
+</article>
+
+
+  </div>
+  <div class="col-lg-3 recent-posts">
+    <h3>Recent posts</h3>
+    <ul>
+    
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
+      <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
+    
+      <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
+    
+      <li> <a href="/2020/09/21/apache-kudu-1-13-0-release.html">Apache Kudu 1.13.0 released</a> </li>
+    
+      <li> <a href="/2020/08/11/fine-grained-authz-ranger.html">Fine-Grained Authorization with Apache Kudu and Apache Ranger</a> </li>
+    
+      <li> <a href="/2020/07/30/building-near-real-time-big-data-lake.html">Building Near Real-time Big Data Lake</a> </li>
+    
+      <li> <a href="/2020/05/18/apache-kudu-1-12-0-release.html">Apache Kudu 1.12.0 released</a> </li>
+    
+      <li> <a href="/2019/11/20/apache-kudu-1-11-1-release.html">Apache Kudu 1.11.1 released</a> </li>
+    
+      <li> <a href="/2019/11/20/apache-kudu-1-10-1-release.html">Apache Kudu 1.10.1 released</a> </li>
+    
+      <li> <a href="/2019/07/09/apache-kudu-1-10-0-release.html">Apache Kudu 1.10.0 Released</a> </li>
+    
+      <li> <a href="/2019/04/30/location-awareness.html">Location Awareness in Kudu</a> </li>
+    
+      <li> <a href="/2019/04/22/fine-grained-authorization-with-apache-kudu-and-impala.html">Fine-Grained Authorization with Apache Kudu and Impala</a> </li>
+    
+      <li> <a href="/2019/03/19/testing-apache-kudu-applications-on-the-jvm.html">Testing Apache Kudu Applications on the JVM</a> </li>
+    
+      <li> <a href="/2019/03/15/apache-kudu-1-9-0-release.html">Apache Kudu 1.9.0 Released</a> </li>
+    
+      <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
+    
+    </ul>
+  </div>
+</div>
+
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation. 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/apidocs/allclasses-frame.html b/apidocs/allclasses-frame.html
index b570bd8..b645319 100644
--- a/apidocs/allclasses-frame.html
+++ b/apidocs/allclasses-frame.html
@@ -21,7 +21,7 @@
 <li><a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client" target="classFrame">AsyncKuduScanner.ReadMode</a></li>
 <li><a href="org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client" target="classFrame">AsyncKuduScanner.RowDataFormat</a></li>
 <li><a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduSession</a></li>
-<li><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">BigLinkedListCommon</a></li>
+<li><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools" target="classFrame">BigLinkedListCommon</a></li>
 <li><a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util" target="classFrame">BloomFilter</a></li>
 <li><a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client" target="classFrame">ColumnRangePredicate</a></li>
 <li><a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu" target="classFrame">ColumnSchema</a></li>
@@ -36,17 +36,12 @@
 <li><a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu" target="classFrame">ColumnTypeAttributes</a></li>
 <li><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu" target="classFrame">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></li>
 <li><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu" target="classFrame">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></li>
-<li><a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce" target="classFrame">CommandLineParser</a></li>
 <li><a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client" target="classFrame">CreateTableOptions</a></li>
-<li><a href="org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">CsvParser</a></li>
 <li><a href="org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client" target="classFrame">Delete</a></li>
 <li><a href="org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client" target="classFrame">DeleteIgnore</a></li>
 <li><a href="org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client" target="classFrame">DeleteTableResponse</a></li>
-<li><a href="org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">ExportCsv</a></li>
 <li><a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client" target="classFrame">ExternalConsistencyMode</a></li>
 <li><a href="org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client" target="classFrame"><span class="interfaceName">HasFailedRpcException</span></a></li>
-<li><a href="org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">ImportCsv</a></li>
-<li><a href="org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">ImportParquet</a></li>
 <li><a href="org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client" target="classFrame">Insert</a></li>
 <li><a href="org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client" target="classFrame">InsertIgnore</a></li>
 <li><a href="org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client" target="classFrame">IsAlterTableDoneResponse</a></li>
@@ -66,10 +61,6 @@
 <li><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanToken.KuduScanTokenBuilder</a></li>
 <li><a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client" target="classFrame">KuduSession</a></li>
 <li><a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client" target="classFrame">KuduTable</a></li>
-<li><a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce" target="classFrame">KuduTableInputFormat</a></li>
-<li><a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce" target="classFrame">KuduTableMapReduceUtil</a></li>
-<li><a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce" target="classFrame">KuduTableOutputCommitter</a></li>
-<li><a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce" target="classFrame">KuduTableOutputFormat</a></li>
 <li><a href="org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client" target="classFrame">KuduTableStatistics</a></li>
 <li><a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test" target="classFrame">KuduTestHarness</a></li>
 <li><a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client" target="classFrame">KuduTransaction</a></li>
@@ -95,7 +86,6 @@
 <li><a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client" target="classFrame">Statistics</a></li>
 <li><a href="org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client" target="classFrame">Statistics.Statistic</a></li>
 <li><a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client" target="classFrame">Status</a></li>
-<li><a href="org/apache/kudu/mapreduce/TableReducer.html" title="class in org.apache.kudu.mapreduce" target="classFrame">TableReducer</a></li>
 <li><a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu" target="classFrame">Type</a></li>
 <li><a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu" target="classFrame">Type</a></li>
 <li><a href="org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client" target="classFrame">Update</a></li>
diff --git a/apidocs/allclasses-noframe.html b/apidocs/allclasses-noframe.html
index c096d21..d80b302 100644
--- a/apidocs/allclasses-noframe.html
+++ b/apidocs/allclasses-noframe.html
@@ -21,7 +21,7 @@
 <li><a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></li>
 <li><a href="org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a></li>
 <li><a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></li>
-<li><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></li>
+<li><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></li>
 <li><a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></li>
 <li><a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></li>
 <li><a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></li>
@@ -36,17 +36,12 @@
 <li><a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></li>
 <li><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></li>
 <li><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></li>
-<li><a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></li>
 <li><a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></li>
-<li><a href="org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools">CsvParser</a></li>
 <li><a href="org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client">Delete</a></li>
 <li><a href="org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client">DeleteIgnore</a></li>
 <li><a href="org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client">DeleteTableResponse</a></li>
-<li><a href="org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ExportCsv</a></li>
 <li><a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a></li>
 <li><a href="org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client"><span class="interfaceName">HasFailedRpcException</span></a></li>
-<li><a href="org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ImportCsv</a></li>
-<li><a href="org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools">ImportParquet</a></li>
 <li><a href="org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client">Insert</a></li>
 <li><a href="org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client">InsertIgnore</a></li>
 <li><a href="org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client">IsAlterTableDoneResponse</a></li>
@@ -66,10 +61,6 @@
 <li><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></li>
 <li><a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></li>
 <li><a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></li>
-<li><a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableInputFormat</a></li>
-<li><a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce">KuduTableMapReduceUtil</a></li>
-<li><a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputCommitter</a></li>
-<li><a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputFormat</a></li>
 <li><a href="org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client">KuduTableStatistics</a></li>
 <li><a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></li>
 <li><a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></li>
@@ -95,7 +86,6 @@
 <li><a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></li>
 <li><a href="org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a></li>
 <li><a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></li>
-<li><a href="org/apache/kudu/mapreduce/TableReducer.html" title="class in org.apache.kudu.mapreduce">TableReducer</a></li>
 <li><a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></li>
 <li><a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></li>
 <li><a href="org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client">Update</a></li>
diff --git a/apidocs/constant-values.html b/apidocs/constant-values.html
index f430079..ba4820d 100644
--- a/apidocs/constant-values.html
+++ b/apidocs/constant-values.html
@@ -168,7 +168,7 @@
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th scope="col">Constant Field</th>
@@ -176,206 +176,129 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.CommandLineParser.ADMIN_OPERATION_TIMEOUT_MS_KEY">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_CLIENT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/CommandLineParser.html#ADMIN_OPERATION_TIMEOUT_MS_KEY">ADMIN_OPERATION_TIMEOUT_MS_KEY</a></code></td>
-<td class="colLast"><code>"kudu.admin.operation.timeout.ms"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.CommandLineParser.MASTER_ADDRESSES_DEFAULT">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/CommandLineParser.html#MASTER_ADDRESSES_DEFAULT">MASTER_ADDRESSES_DEFAULT</a></code></td>
-<td class="colLast"><code>"127.0.0.1"</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.CommandLineParser.MASTER_ADDRESSES_KEY">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/CommandLineParser.html#MASTER_ADDRESSES_KEY">MASTER_ADDRESSES_KEY</a></code></td>
-<td class="colLast"><code>"kudu.master.addresses"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.CommandLineParser.NUM_REPLICAS_DEFAULT">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/kudu/mapreduce/CommandLineParser.html#NUM_REPLICAS_DEFAULT">NUM_REPLICAS_DEFAULT</a></code></td>
-<td class="colLast"><code>3</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.CommandLineParser.NUM_REPLICAS_KEY">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/CommandLineParser.html#NUM_REPLICAS_KEY">NUM_REPLICAS_KEY</a></code></td>
-<td class="colLast"><code>"kudu.num.replicas"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.CommandLineParser.OPERATION_TIMEOUT_MS_DEFAULT">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
-<td><code><a href="org/apache/kudu/mapreduce/CommandLineParser.html#OPERATION_TIMEOUT_MS_DEFAULT">OPERATION_TIMEOUT_MS_DEFAULT</a></code></td>
-<td class="colLast"><code>30000L</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.CommandLineParser.OPERATION_TIMEOUT_MS_KEY">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/CommandLineParser.html#OPERATION_TIMEOUT_MS_KEY">OPERATION_TIMEOUT_MS_KEY</a></code></td>
-<td class="colLast"><code>"kudu.operation.timeout.ms"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.CommandLineParser.SOCKET_READ_TIMEOUT_MS_DEFAULT">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
-<td><code><a href="org/apache/kudu/mapreduce/CommandLineParser.html#SOCKET_READ_TIMEOUT_MS_DEFAULT">SOCKET_READ_TIMEOUT_MS_DEFAULT</a></code></td>
-<td class="colLast"><code>0L</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.CommandLineParser.SOCKET_READ_TIMEOUT_MS_KEY">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/CommandLineParser.html#SOCKET_READ_TIMEOUT_MS_KEY">SOCKET_READ_TIMEOUT_MS_KEY</a></code></td>
-<td class="colLast"><code>"kudu.socket.read.timeout.ms"</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<ul class="blockList">
-<li class="blockList">
-<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_CLIENT">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_CLIENT">COLUMN_CLIENT</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_CLIENT">COLUMN_CLIENT</a></code></td>
 <td class="colLast"><code>"client"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_CLIENT_IDX">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_CLIENT_IDX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_CLIENT_IDX">COLUMN_CLIENT_IDX</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_CLIENT_IDX">COLUMN_CLIENT_IDX</a></code></td>
 <td class="colLast"><code>5</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_KEY_ONE">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_ONE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE">COLUMN_KEY_ONE</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE">COLUMN_KEY_ONE</a></code></td>
 <td class="colLast"><code>"key1"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_KEY_ONE_IDX">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_ONE_IDX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE_IDX">COLUMN_KEY_ONE_IDX</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE_IDX">COLUMN_KEY_ONE_IDX</a></code></td>
 <td class="colLast"><code>0</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_KEY_TWO">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_TWO">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO">COLUMN_KEY_TWO</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO">COLUMN_KEY_TWO</a></code></td>
 <td class="colLast"><code>"key2"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_KEY_TWO_IDX">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_TWO_IDX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO_IDX">COLUMN_KEY_TWO_IDX</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO_IDX">COLUMN_KEY_TWO_IDX</a></code></td>
 <td class="colLast"><code>1</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_PREV_ONE">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_ONE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE">COLUMN_PREV_ONE</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE">COLUMN_PREV_ONE</a></code></td>
 <td class="colLast"><code>"prev1"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_PREV_ONE_IDX">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_ONE_IDX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE_IDX">COLUMN_PREV_ONE_IDX</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE_IDX">COLUMN_PREV_ONE_IDX</a></code></td>
 <td class="colLast"><code>2</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_PREV_TWO">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_TWO">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO">COLUMN_PREV_TWO</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO">COLUMN_PREV_TWO</a></code></td>
 <td class="colLast"><code>"prev2"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_PREV_TWO_IDX">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_TWO_IDX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO_IDX">COLUMN_PREV_TWO_IDX</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO_IDX">COLUMN_PREV_TWO_IDX</a></code></td>
 <td class="colLast"><code>3</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_ROW_ID">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_ROW_ID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_ROW_ID">COLUMN_ROW_ID</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_ROW_ID">COLUMN_ROW_ID</a></code></td>
 <td class="colLast"><code>"row_id"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_ROW_ID_IDX">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_ROW_ID_IDX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_ROW_ID_IDX">COLUMN_ROW_ID_IDX</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_ROW_ID_IDX">COLUMN_ROW_ID_IDX</a></code></td>
 <td class="colLast"><code>4</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_UPDATE_COUNT">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_UPDATE_COUNT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT">COLUMN_UPDATE_COUNT</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT">COLUMN_UPDATE_COUNT</a></code></td>
 <td class="colLast"><code>"update_count"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_UPDATE_COUNT_IDX">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_UPDATE_COUNT_IDX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT_IDX">COLUMN_UPDATE_COUNT_IDX</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT_IDX">COLUMN_UPDATE_COUNT_IDX</a></code></td>
 <td class="colLast"><code>6</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.DEFAULT_HEADS_TABLE_NAME">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.DEFAULT_HEADS_TABLE_NAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#DEFAULT_HEADS_TABLE_NAME">DEFAULT_HEADS_TABLE_NAME</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#DEFAULT_HEADS_TABLE_NAME">DEFAULT_HEADS_TABLE_NAME</a></code></td>
 <td class="colLast"><code>"default.IntegrationTestBigLinkedListHeads"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.DEFAULT_TABLE_NAME">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.DEFAULT_TABLE_NAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#DEFAULT_TABLE_NAME">DEFAULT_TABLE_NAME</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#DEFAULT_TABLE_NAME">DEFAULT_TABLE_NAME</a></code></td>
 <td class="colLast"><code>"default.IntegrationTestBigLinkedList"</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.HEADS_TABLE_NAME_KEY">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.HEADS_TABLE_NAME_KEY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#HEADS_TABLE_NAME_KEY">HEADS_TABLE_NAME_KEY</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#HEADS_TABLE_NAME_KEY">HEADS_TABLE_NAME_KEY</a></code></td>
 <td class="colLast"><code>"IntegrationTestBigLinkedList.heads_table"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.kudu.mapreduce.tools.BigLinkedListCommon.TABLE_NAME_KEY">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.TABLE_NAME_KEY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#TABLE_NAME_KEY">TABLE_NAME_KEY</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#TABLE_NAME_KEY">TABLE_NAME_KEY</a></code></td>
 <td class="colLast"><code>"IntegrationTestBigLinkedList.table"</code></td>
 </tr>
 </tbody>
diff --git a/apidocs/deprecated-list.html b/apidocs/deprecated-list.html
index 8f5919e..c973765 100644
--- a/apidocs/deprecated-list.html
+++ b/apidocs/deprecated-list.html
@@ -127,23 +127,23 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#bossCount-int-">org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder.bossCount(int)</a>
-<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colOne"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#bossCount-int-">org.apache.kudu.client.KuduClient.KuduClientBuilder.bossCount(int)</a>
 <div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#bossCount-int-">org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder.bossCount(int)</a>
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</td>
+</tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#defaultSocketReadTimeoutMs-long-">org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder.defaultSocketReadTimeoutMs(long)</a>
-<div class="block"><span class="deprecationComment">this option no longer has any effect</span></div>
+<td class="colOne"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#defaultSocketReadTimeoutMs-long-">org.apache.kudu.client.KuduClient.KuduClientBuilder.defaultSocketReadTimeoutMs(long)</a>
+<div class="block"><span class="deprecationComment">socket read timeouts are no longer used</span></div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#defaultSocketReadTimeoutMs-long-">org.apache.kudu.client.KuduClient.KuduClientBuilder.defaultSocketReadTimeoutMs(long)</a>
-<div class="block"><span class="deprecationComment">socket read timeouts are no longer used</span></div>
+<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#defaultSocketReadTimeoutMs-long-">org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder.defaultSocketReadTimeoutMs(long)</a>
+<div class="block"><span class="deprecationComment">this option no longer has any effect</span></div>
 </td>
 </tr>
 <tr class="altColor">
@@ -167,7 +167,9 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/kudu/client/LocatedTablet.html#getEndKey--">org.apache.kudu.client.LocatedTablet.getEndKey()</a></td>
+<td class="colOne"><a href="org/apache/kudu/client/LocatedTablet.html#getEndKey--">org.apache.kudu.client.LocatedTablet.getEndKey()</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>LocatedTablet.getPartition()</code></a></span></div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><a href="org/apache/kudu/client/RowError.html#getMessage--">org.apache.kudu.client.RowError.getMessage()</a>
@@ -185,54 +187,51 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#getSocketReadTimeoutMs--">org.apache.kudu.mapreduce.CommandLineParser.getSocketReadTimeoutMs()</a>
-<div class="block"><span class="deprecationComment">socket read timeouts no longer have any effect</span></div>
+<td class="colOne"><a href="org/apache/kudu/client/LocatedTablet.html#getStartKey--">org.apache.kudu.client.LocatedTablet.getStartKey()</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>LocatedTablet.getPartition()</code></a></span></div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/kudu/client/LocatedTablet.html#getStartKey--">org.apache.kudu.client.LocatedTablet.getStartKey()</a></td>
-</tr>
-<tr class="altColor">
 <td class="colOne"><a href="org/apache/kudu/client/RowError.html#getStatus--">org.apache.kudu.client.RowError.getStatus()</a>
 <div class="block"><span class="deprecationComment">Please use getErrorStatus() instead. Will be removed in a future version.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/kudu/client/KuduTable.html#getTabletsLocations-byte:A-byte:A-long-">org.apache.kudu.client.KuduTable.getTabletsLocations(byte[], byte[], long)</a>
 <div class="block"><span class="deprecationComment">use the <a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/kudu/client/KuduTable.html#getTabletsLocations-long-">org.apache.kudu.client.KuduTable.getTabletsLocations(long)</a>
 <div class="block"><span class="deprecationComment">use the <a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBoundRaw-byte:A-">org.apache.kudu.client.AbstractKuduScannerBuilder.lowerBoundRaw(byte[])</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBound-org.apache.kudu.client.PartialRow-"><code>AbstractKuduScannerBuilder.lowerBound(PartialRow)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#nioExecutors-java.util.concurrent.Executor-java.util.concurrent.Executor-">org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder.nioExecutors(Executor, Executor)</a>
-<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
-</td>
-</tr>
 <tr class="rowColor">
 <td class="colOne"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#nioExecutors-java.util.concurrent.Executor-java.util.concurrent.Executor-">org.apache.kudu.client.KuduClient.KuduClientBuilder.nioExecutors(Executor, Executor)</a>
 <div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduSession.html#setMutationBufferLowWatermark-float-">org.apache.kudu.client.AsyncKuduSession.setMutationBufferLowWatermark(float)</a></td>
+<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#nioExecutors-java.util.concurrent.Executor-java.util.concurrent.Executor-">org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder.nioExecutors(Executor, Executor)</a>
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/kudu/client/KuduSession.html#setMutationBufferLowWatermark-float-">org.apache.kudu.client.KuduSession.setMutationBufferLowWatermark(float)</a></td>
+<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduSession.html#setMutationBufferLowWatermark-float-">org.apache.kudu.client.AsyncKuduSession.setMutationBufferLowWatermark(float)</a></td>
 </tr>
 <tr class="altColor">
 <td class="colOne"><a href="org/apache/kudu/client/SessionConfiguration.html#setMutationBufferLowWatermark-float-">org.apache.kudu.client.SessionConfiguration.setMutationBufferLowWatermark(float)</a>
 <div class="block"><span class="deprecationComment">The low watermark no longer has any effect.</span></div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/KuduSession.html#setMutationBufferLowWatermark-float-">org.apache.kudu.client.KuduSession.setMutationBufferLowWatermark(float)</a>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index 84b505b..fa078aa 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -76,8 +76,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#Aborted-java.lang.String-int-">Aborted(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html#abortTask-org.apache.hadoop.mapreduce.TaskAttemptContext-">abortTask(TaskAttemptContext)</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputCommitter</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AbstractKuduScannerBuilder</span></a>&lt;<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a> extends <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a>&lt;? super <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>,<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">T</a>&gt;,<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">T</a>&gt; - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
 <dd>
 <div class="block">Abstract class to extend in order to create builders for scanners.</div>
@@ -134,12 +132,6 @@
 <div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-"><code>AbstractKuduScannerBuilder.addPredicate(org.apache.kudu.client.KuduPredicate)</code></a></span></div>
 </div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#addCredentialsToJob-org.apache.kudu.client.KuduClient-org.apache.hadoop.mapreduce.Job-">addCredentialsToJob(KuduClient, Job)</a></span> - Static method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce">KuduTableMapReduceUtil</a></dt>
-<dd>
-<div class="block">Export the credentials from a <a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a> and store them in the given MapReduce
- <code>Job</code> so that <a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a>s created from within tasks of that job can
- authenticate to Kudu.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addDate-int-java.sql.Date-">addDate(int, Date)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
 <dd>
 <div class="block">Add a sql.Date for the specified column.</div>
@@ -156,18 +148,6 @@
 <dd>
 <div class="block">Add a Decimal for the specified column.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#addDependencyJars-org.apache.hadoop.mapreduce.Job-">addDependencyJars(Job)</a></span> - Static method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce">KuduTableMapReduceUtil</a></dt>
-<dd>
-<div class="block">Add the Kudu dependency jars as well as jars for any of the configured
- job classes to the job configuration, so that JobClient will ship them
- to the cluster and add them to the DistributedCache.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#addDependencyJars-org.apache.hadoop.conf.Configuration-java.lang.Class...-">addDependencyJars(Configuration, Class&lt;?&gt;...)</a></span> - Static method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce">KuduTableMapReduceUtil</a></dt>
-<dd>
-<div class="block">Add the jars containing the given classes to the job's configuration
- such that JobClient will ship them to the cluster and add them to
- the DistributedCache.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addDouble-int-double-">addDouble(int, double)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
 <dd>
 <div class="block">Add an double for the specified column.</div>
@@ -200,10 +180,6 @@
 <dd>
 <div class="block">Add an int for the specified column.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#addKuduDependencyJars-org.apache.hadoop.conf.Configuration-">addKuduDependencyJars(Configuration)</a></span> - Static method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce">KuduTableMapReduceUtil</a></dt>
-<dd>
-<div class="block">Add Kudu and its dependencies (only) to the job configuration.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addLong-int-long-">addLong(int, long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
 <dd>
 <div class="block">Add an long for the specified column.</div>
@@ -298,8 +274,6 @@
 <dd>
 <div class="block">Add a VARCHAR for the specified column.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#ADMIN_OPERATION_TIMEOUT_MS_KEY">ADMIN_OPERATION_TIMEOUT_MS_KEY</a></span> - Static variable in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#after--">after()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#AlreadyPresent-java.lang.String-">AlreadyPresent(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
@@ -397,7 +371,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#before--">before()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">BigLinkedListCommon</span></a> - Class in <a href="org/apache/kudu/mapreduce/tools/package-summary.html">org.apache.kudu.mapreduce.tools</a></dt>
+<dt><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools"><span class="typeNameLink">BigLinkedListCommon</span></a> - Class in <a href="org/apache/kudu/spark/tools/package-summary.html">org.apache.kudu.spark.tools</a></dt>
 <dd>
 <div class="block">Static constants, helper methods, and utility classes for BigLinkedList
  implementations.</div>
@@ -518,8 +492,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#checkNull-int-">checkNull(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html#checkOutputSpecs-org.apache.hadoop.mapreduce.JobContext-">checkOutputSpecs(JobContext)</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputFormat</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#checkType-int-org.apache.kudu.Type...-">checkType(int, Type...)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#checkValidColumn-int-">checkValidColumn(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
@@ -557,43 +529,43 @@
 <dd>
 <div class="block">Utility method that collects all the row errors from the given list of responses.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_CLIENT">COLUMN_CLIENT</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_CLIENT">COLUMN_CLIENT</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>
 <div class="block">identifier of the mapred task that generated this row.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_CLIENT_IDX">COLUMN_CLIENT_IDX</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_CLIENT_IDX">COLUMN_CLIENT_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE">COLUMN_KEY_ONE</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE">COLUMN_KEY_ONE</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>
 <div class="block">Row key, two times 8 bytes.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE_IDX">COLUMN_KEY_ONE_IDX</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE_IDX">COLUMN_KEY_ONE_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO">COLUMN_KEY_TWO</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO">COLUMN_KEY_TWO</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO_IDX">COLUMN_KEY_TWO_IDX</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO_IDX">COLUMN_KEY_TWO_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE">COLUMN_PREV_ONE</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE">COLUMN_PREV_ONE</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>
 <div class="block">Link to the id of the prev node in the linked list, two times 8 bytes.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE_IDX">COLUMN_PREV_ONE_IDX</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE_IDX">COLUMN_PREV_ONE_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO">COLUMN_PREV_TWO</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO">COLUMN_PREV_TWO</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO_IDX">COLUMN_PREV_TWO_IDX</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO_IDX">COLUMN_PREV_TWO_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_ROW_ID">COLUMN_ROW_ID</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_ROW_ID">COLUMN_ROW_ID</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>
 <div class="block">the id of the row within the same client.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_ROW_ID_IDX">COLUMN_ROW_ID_IDX</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_ROW_ID_IDX">COLUMN_ROW_ID_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT">COLUMN_UPDATE_COUNT</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT">COLUMN_UPDATE_COUNT</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>
 <div class="block">The number of times this row was updated.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT_IDX">COLUMN_UPDATE_COUNT_IDX</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT_IDX">COLUMN_UPDATE_COUNT_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ColumnRangePredicate</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
 <dd>
@@ -674,15 +646,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#ColumnTypeAttributesBuilder--">ColumnTypeAttributesBuilder()</a></span> - Constructor for class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">CommandLineParser</span></a> - Class in <a href="org/apache/kudu/mapreduce/package-summary.html">org.apache.kudu.mapreduce</a></dt>
-<dd>
-<div class="block">Utility class that manages common configurations to all MR jobs.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#CommandLineParser-org.apache.hadoop.conf.Configuration-">CommandLineParser(Configuration)</a></span> - Constructor for class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>
-<div class="block">Constructor that uses a Configuration that has already been through
- <code>GenericOptionsParser</code>'s command line parsing.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#comment-java.lang.String-">comment(String)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
 <dd>
 <div class="block">Set the comment for this column.</div>
@@ -691,12 +654,10 @@
 <dd>
 <div class="block">Set the comment for this column.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#commit-boolean-">commit(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#commit--">commit()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
 <dd>
 <div class="block">Commit the multi-row distributed transaction represented by this handle.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html#commitTask-org.apache.hadoop.mapreduce.TaskAttemptContext-">commitTask(TaskAttemptContext)</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputCommitter</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.html#compareTo-org.apache.kudu.client.KuduScanToken-">compareTo(KuduScanToken)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#compressionAlgorithm-org.apache.kudu.ColumnSchema.CompressionAlgorithm-">compressionAlgorithm(ColumnSchema.CompressionAlgorithm)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
@@ -723,20 +684,6 @@
 <dd>
 <div class="block">Return the number of errors which are pending.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader(InputSplit, TaskAttemptContext)</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableInputFormat</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/ExportCsv.html#createSubmittableJob-org.apache.hadoop.conf.Configuration-java.lang.String:A-">createSubmittableJob(Configuration, String[])</a></span> - Static method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ExportCsv</a></dt>
-<dd>
-<div class="block">Sets up the actual job.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/ImportCsv.html#createSubmittableJob-org.apache.hadoop.conf.Configuration-java.lang.String:A-">createSubmittableJob(Configuration, String[])</a></span> - Static method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ImportCsv</a></dt>
-<dd>
-<div class="block">Sets up the actual job.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/ImportParquet.html#createSubmittableJob-org.apache.hadoop.conf.Configuration-java.lang.String:A-">createSubmittableJob(Configuration, String[])</a></span> - Static method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools">ImportParquet</a></dt>
-<dd>
-<div class="block">Sets up the actual job.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#createTable-java.lang.String-org.apache.kudu.Schema-org.apache.kudu.client.CreateTableOptions-">createTable(String, Schema, CreateTableOptions)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
 <dd>
 <div class="block">Create a table on the cluster with the specified name, schema, and table configurations.</div>
@@ -751,13 +698,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#CreateTableOptions--">CreateTableOptions()</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">CsvParser</span></a> - Class in <a href="org/apache/kudu/mapreduce/tools/package-summary.html">org.apache.kudu.mapreduce.tools</a></dt>
-<dd>
-<div class="block">Column-separated values parser that gives access to the different columns inside each line of
- data.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/CsvParser.html#CsvParser-java.lang.String-java.lang.String-">CsvParser(String, String)</a></span> - Constructor for class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools">CsvParser</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResultIterator.html#currentRow">currentRow</a></span> - Variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#currentTablet--">currentTablet()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
@@ -770,7 +710,7 @@
 </a>
 <h2 class="title">D</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#DEFAULT_HEADS_TABLE_NAME">DEFAULT_HEADS_TABLE_NAME</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#DEFAULT_HEADS_TABLE_NAME">DEFAULT_HEADS_TABLE_NAME</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#DEFAULT_KEEP_ALIVE_PERIOD_MS">DEFAULT_KEEP_ALIVE_PERIOD_MS</a></span> - Static variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
 <dd>&nbsp;</dd>
@@ -778,7 +718,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#DEFAULT_SLEEP">DEFAULT_SLEEP</a></span> - Static variable in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#DEFAULT_TABLE_NAME">DEFAULT_TABLE_NAME</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#DEFAULT_TABLE_NAME">DEFAULT_TABLE_NAME</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#defaultAdminOperationTimeoutMs-long-">defaultAdminOperationTimeoutMs(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
 <dd>
@@ -943,12 +883,6 @@
  client instance and imported to provide that client the ability to connect
  to the cluster.</div>
 </dd>
-<dt><a href="org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">ExportCsv</span></a> - Class in <a href="org/apache/kudu/mapreduce/tools/package-summary.html">org.apache.kudu.mapreduce.tools</a></dt>
-<dd>
-<div class="block">Map-only job that reads Kudu rows and writes them into a CSV file.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/ExportCsv.html#ExportCsv--">ExportCsv()</a></span> - Constructor for class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ExportCsv</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">ExternalConsistencyMode</span></a> - Enum in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
 <dd>
 <div class="block">The possible external consistency modes on which Kudu operates.</div>
@@ -992,18 +926,10 @@
 <div class="block">Returns a copy of this ResourceMetrics's underlying map of metric name to
  metric value.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#getAdminOperationTimeoutMs--">getAdminOperationTimeoutMs()</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>
-<div class="block">Get the configured timeout for admin operations.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getAsyncClient--">getAsyncClient()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
 <dd>
 <div class="block">Get the async client that created this instance.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#getAsyncClient--">getAsyncClient()</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>
-<div class="block">Get an async client connected to the configured Master(s).</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#getAsyncClient--">getAsyncClient()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getAuthzTokenCache--">getAuthzTokenCache()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
@@ -1097,10 +1023,6 @@
 <dd>
 <div class="block">Returns if this scanner was configured to cache data blocks or not.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#getClient--">getClient()</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>
-<div class="block">Get a client connected to the configured Master(s).</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#getClient--">getClient()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/Statistics.html#getClientStatistic-org.apache.kudu.client.Statistics.Statistic-">getClientStatistic(Statistics.Statistic)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></dt>
@@ -1198,6 +1120,10 @@
 <dd>
 <div class="block">Get the type of a column in this result.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getComment--">getComment()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get this table's comment.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getComment--">getComment()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
 <dd>
 <div class="block">Return the comment for the column.</div>
@@ -1214,11 +1140,7 @@
 <dd>
 <div class="block">Return the compression algorithm of this column, or null if it is not known.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html#getConf--">getConf()</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableInputFormat</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html#getConf--">getConf()</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputFormat</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#getCreateTableOptions-org.apache.kudu.Schema-int-int-int-">getCreateTableOptions(Schema, int, int, int)</a></span> - Static method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#getCreateTableOptions-org.apache.kudu.Schema-int-int-int-">getCreateTableOptions(Schema, int, int, int)</a></span> - Static method in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getDataType--">getDataType()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
 <dd>
@@ -1342,7 +1264,9 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.html#getEndKey--">getEndKey()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></dt>
 <dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>LocatedTablet.getPartition()</code></a></span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowError.html#getErrorStatus--">getErrorStatus()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a></dt>
 <dd>
@@ -1392,13 +1316,8 @@
 <dd>
 <div class="block">Get the name of hashing used when updating or checking containment.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#getHeadsTableSchema--">getHeadsTableSchema()</a></span> - Static method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#getHeadsTableSchema--">getHeadsTableSchema()</a></span> - Static method in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#getHelpSnippet--">getHelpSnippet()</a></span> - Static method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>
-<div class="block">This method returns a single multi-line string that contains the help snippet to append to
- the tail of a usage() or help() type of method.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getHiveMetastoreConfig--">getHiveMetastoreConfig()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
 <dd>
 <div class="block">Get the Hive Metastore configuration of the most recently connected-to leader master, or
@@ -1438,8 +1357,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#getKeepAlivePeriodMs--">getKeepAlivePeriodMs()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html#getKuduTable-java.lang.String-">getKuduTable(String)</a></span> - Static method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputFormat</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getLastPropagatedTimestamp--">getLastPropagatedTimestamp()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
 <dd>
 <div class="block">Returns the last timestamp received from a server.</div>
@@ -1513,10 +1430,6 @@
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Get the lower bound in its raw representation</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#getMasterAddresses--">getMasterAddresses()</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>
-<div class="block">Get the configured master's config.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getMasterAddressesAsString--">getMasterAddressesAsString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#getMasterAddressesAsString--">getMasterAddressesAsString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
@@ -1566,10 +1479,6 @@
 <dd>
 <div class="block">Get this table's replication factor.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#getNumReplicas--">getNumReplicas()</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>
-<div class="block">Get the number of replicas to use when configuring a new table.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResultIterator.html#getNumRows--">getNumRows()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getObject-java.lang.String-">getObject(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
@@ -1596,12 +1505,6 @@
 <dd>
 <div class="block">Get the Operation that failed.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#getOperationTimeoutMs--">getOperationTimeoutMs()</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>
-<div class="block">Get the configured timeout for operations on sessions and scanners.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html#getOutputCommitter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getOutputCommitter(TaskAttemptContext)</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputFormat</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getOwner--">getOwner()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
 <dd>
 <div class="block">Get this table's owner.</div>
@@ -1648,6 +1551,8 @@
 <dd>
 <div class="block">Get the primary key columns.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#getPrincipal--">getPrincipal()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#getProjectionSchema--">getProjectionSchema()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
 <dd>
 <div class="block">Returns the projection schema of this scanner.</div>
@@ -1668,8 +1573,6 @@
 <dd>
 <div class="block">Returns the ReadMode for this scanner.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter(TaskAttemptContext)</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputFormat</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.html#getReplicas--">getReplicas()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#getResourceMetrics--">getResourceMetrics()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
@@ -1778,17 +1681,11 @@
 <dd>
 <div class="block">The size of this type on the wire</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#getSocketReadTimeoutMs--">getSocketReadTimeoutMs()</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">socket read timeouts no longer have any effect</span></div>
-</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html#getSplits-org.apache.hadoop.mapreduce.JobContext-">getSplits(JobContext)</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableInputFormat</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.html#getStartKey--">getStartKey()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></dt>
 <dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>LocatedTablet.getPartition()</code></a></span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getStatistics--">getStatistics()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
 <dd>
@@ -1824,11 +1721,6 @@
 <dd>
 <div class="block">Get the specified column's string.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#getTableFromContext-org.apache.hadoop.mapreduce.TaskInputOutputContext-">getTableFromContext(TaskInputOutputContext)</a></span> - Static method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce">KuduTableMapReduceUtil</a></dt>
-<dd>
-<div class="block">Use this method when setting up a task to get access to the KuduTable in order to create
- Inserts, Updates, and Deletes.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableResponse.html#getTableId--">getTableId()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client">AlterTableResponse</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getTableId--">getTableId()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
@@ -1843,7 +1735,7 @@
 <dd>
 <div class="block">Get table name of the given tablet id.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#getTableSchema--">getTableSchema()</a></span> - Static method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#getTableSchema--">getTableSchema()</a></span> - Static method in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/Statistics.html#getTableSet--">getTableSet()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></dt>
 <dd>
@@ -2152,7 +2044,7 @@
 <dd>
 <div class="block">Returns true if the scale is set;</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#HEADS_TABLE_NAME_KEY">HEADS_TABLE_NAME_KEY</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#HEADS_TABLE_NAME_KEY">HEADS_TABLE_NAME_KEY</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
 </dl>
 <a name="I:I">
@@ -2172,23 +2064,6 @@
 <dd>
 <div class="block">Import data allowing this client to authenticate to the cluster.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#importCredentialsFromCurrentSubject-org.apache.kudu.client.KuduClient-">importCredentialsFromCurrentSubject(KuduClient)</a></span> - Static method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce">KuduTableMapReduceUtil</a></dt>
-<dd>
-<div class="block">Import credentials from the current thread's JAAS <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/Subject.html?is-external=true" title="class or interface in javax.security.auth"><code>Subject</code></a> into the provided
- <a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a>.</div>
-</dd>
-<dt><a href="org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">ImportCsv</span></a> - Class in <a href="org/apache/kudu/mapreduce/tools/package-summary.html">org.apache.kudu.mapreduce.tools</a></dt>
-<dd>
-<div class="block">Map-only job that reads CSV files and inserts them into a single Kudu table.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/ImportCsv.html#ImportCsv--">ImportCsv()</a></span> - Constructor for class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ImportCsv</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">ImportParquet</span></a> - Class in <a href="org/apache/kudu/mapreduce/tools/package-summary.html">org.apache.kudu.mapreduce.tools</a></dt>
-<dd>
-<div class="block">Map-only job that reads Apache Parquet files and inserts them into a single Kudu table.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/ImportParquet.html#ImportParquet--">ImportParquet()</a></span> - Constructor for class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools">ImportParquet</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html#includeTableMetadata-boolean-">includeTableMetadata(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></dt>
 <dd>
 <div class="block">If the table metadata is included on the scan token a GetTableSchema
@@ -2448,13 +2323,13 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.RemoteTablet-">killTabletLeader(RemoteTablet)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
 <dd>
-<div class="block">Helper method to kill a tablet server that serves the given tablet's
- leader.</div>
+<div class="block">Helper method to kill a tablet server that hosts the given tablet's leader
+ replica.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.LocatedTablet-">killTabletLeader(LocatedTablet)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
 <dd>
-<div class="block">Helper method to kill a tablet server that serves the given tablet's
- leader.</div>
+<div class="block">Helper method to kill a tablet server that serves the given tablet's leader
+ replica.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#kinit-java.lang.String-">kinit(String)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
 <dd>
@@ -2536,33 +2411,6 @@
 <dd>
 <div class="block">A KuduTable represents a table on a particular cluster.</div>
 </dd>
-<dt><a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">KuduTableInputFormat</span></a> - Class in <a href="org/apache/kudu/mapreduce/package-summary.html">org.apache.kudu.mapreduce</a></dt>
-<dd>
-<div class="block">
- This input format generates one split per tablet and the only location for each split is that
- tablet's leader.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html#KuduTableInputFormat--">KuduTableInputFormat()</a></span> - Constructor for class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableInputFormat</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">KuduTableMapReduceUtil</span></a> - Class in <a href="org/apache/kudu/mapreduce/package-summary.html">org.apache.kudu.mapreduce</a></dt>
-<dd>
-<div class="block">Utility class to setup MR jobs that use Kudu as an input and/or output.</div>
-</dd>
-<dt><a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">KuduTableOutputCommitter</span></a> - Class in <a href="org/apache/kudu/mapreduce/package-summary.html">org.apache.kudu.mapreduce</a></dt>
-<dd>
-<div class="block">Small committer class that does not do anything.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html#KuduTableOutputCommitter--">KuduTableOutputCommitter()</a></span> - Constructor for class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputCommitter</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">KuduTableOutputFormat</span></a> - Class in <a href="org/apache/kudu/mapreduce/package-summary.html">org.apache.kudu.mapreduce</a></dt>
-<dd>
-<div class="block">
- Use <code>KuduTableMapReduceUtil.TableOutputFormatConfigurator</code>
- to correctly setup this output format, then <a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#getTableFromContext-org.apache.hadoop.mapreduce.TaskInputOutputContext-"><code>KuduTableMapReduceUtil.getTableFromContext(org.apache.hadoop.mapreduce.TaskInputOutputContext)</code></a>
- to get a KuduTable.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html#KuduTableOutputFormat--">KuduTableOutputFormat()</a></span> - Constructor for class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputFormat</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTableStatistics</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
 <dd>
 <div class="block">Represent statistics belongs to a specific kudu table.</div>
@@ -2635,16 +2483,6 @@
 </a>
 <h2 class="title">M</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/ExportCsv.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ExportCsv</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/ImportCsv.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ImportCsv</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/ImportParquet.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools">ImportParquet</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#MASTER_ADDRESSES_DEFAULT">MASTER_ADDRESSES_DEFAULT</a></span> - Static variable in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#MASTER_ADDRESSES_KEY">MASTER_ADDRESSES_KEY</a></span> - Static variable in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#mayContain-byte:A-">mayContain(byte[])</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#mayContain-boolean-">mayContain(boolean)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
@@ -2669,8 +2507,6 @@
 </a>
 <h2 class="title">N</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html#needsTaskCommit-org.apache.hadoop.mapreduce.TaskAttemptContext-">needsTaskCommit(TaskAttemptContext)</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputCommitter</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#NetworkError-java.lang.String-">NetworkError(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#NetworkError-java.lang.String-int-">NetworkError(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
@@ -2849,10 +2685,6 @@
 <dd>
 <div class="block">Marks the column as allowing null values.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#NUM_REPLICAS_DEFAULT">NUM_REPLICAS_DEFAULT</a></span> - Static variable in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#NUM_REPLICAS_KEY">NUM_REPLICAS_KEY</a></span> - Static variable in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPartitioner.html#numPartitions--">numPartitions()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client">KuduPartitioner</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResultIterator.html#numRows">numRows</a></span> - Variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></dt>
@@ -2879,10 +2711,6 @@
 <dd>
 <div class="block">Base class for the RPCs that related to WriteRequestPB.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#OPERATION_TIMEOUT_MS_DEFAULT">OPERATION_TIMEOUT_MS_DEFAULT</a></span> - Static variable in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#OPERATION_TIMEOUT_MS_KEY">OPERATION_TIMEOUT_MS_KEY</a></span> - Static variable in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">OperationResponse</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/kudu/package-summary.html">org.apache.kudu</a> - package org.apache.kudu</dt>
@@ -2893,10 +2721,6 @@
 </a>
 <h2 class="title">P</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/CsvParser.html#parse-byte:A-int-">parse(byte[], int)</a></span> - Method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools">CsvParser</a></dt>
-<dd>
-<div class="block">Creates a ParsedLine of a line of data.</div>
-</dd>
 <dt><a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client"><span class="typeNameLink">PartialRow</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
 <dd>
 <div class="block">Class used to represent parts of a row along with its schema.</div>
@@ -2912,6 +2736,14 @@
 <dd>
 <div class="block">Determine the partition index that the given row falls into.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#pauseLeaderMaster--">pauseLeaderMaster()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Finds and pauses the leader master.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#pauseMaster-org.apache.kudu.client.HostAndPort-">pauseMaster(HostAndPort)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Pauses the specified master.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html#pbVersion--">pbVersion()</a></span> - Method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/ExternalConsistencyMode.html#pbVersion--">pbVersion()</a></span> - Method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a></dt>
@@ -3031,6 +2863,10 @@
 <dd>
 <div class="block">Kills a tablet server that serves the given tablet's leader and restarts it.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#resumeMaster-org.apache.kudu.client.HostAndPort-">resumeMaster(HostAndPort)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Resumes the specified master.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#rollback--">rollback()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
 <dd>
 <div class="block">Rollback the multi-row distributed transaction represented by this object.</div>
@@ -3052,21 +2888,11 @@
 <div class="block">Class that contains the rows sent by a tablet server, exhausting this iterator only means
  that all the rows from the last server response were read.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResultIterator.html#RowResultIterator-long-java.lang.String-org.apache.kudu.Schema-int-boolean-">RowResultIterator(long, String, Schema, int, boolean)</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></dt>
-<dd>
-<div class="block">Package private constructor, only meant to be instantiated from AsyncKuduScanner.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#rowToString--">rowToString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
 <dd>
 <div class="block">Return the actual data from this row in a stringified key=value
  form.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/ExportCsv.html#run-java.lang.String:A-">run(String[])</a></span> - Method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ExportCsv</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/ImportCsv.html#run-java.lang.String:A-">run(String[])</a></span> - Method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ImportCsv</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/ImportParquet.html#run-java.lang.String:A-">run(String[])</a></span> - Method in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools">ImportParquet</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#RuntimeError-java.lang.String-">RuntimeError(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#RuntimeError-java.lang.String-int-">RuntimeError(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
@@ -3077,6 +2903,14 @@
 </a>
 <h2 class="title">S</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#saslProtocolName-java.lang.String-">saslProtocolName(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block">Set the SASL protocol name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#saslProtocolName-java.lang.String-">saslProtocolName(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block">Set the SASL protocol name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#scale-int-">scale(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></dt>
 <dd>
 <div class="block">Set the scale.</div>
@@ -3144,10 +2978,14 @@
 </dd>
 <dt><a href="org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">SessionConfiguration.FlushMode</span></a> - Enum in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html#setConf-org.apache.hadoop.conf.Configuration-">setConf(Configuration)</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableInputFormat</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html#setConf-org.apache.hadoop.conf.Configuration-">setConf(Configuration)</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputFormat</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#setComment-java.lang.String-">setComment(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Change a table's comment.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#setComment-java.lang.String-">setComment(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Set the table comment.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#setDimensionLabel-java.lang.String-">setDimensionLabel(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
 <dd>
 <div class="block">Sets the dimension label for all tablets created at table creation time.</div>
@@ -3268,7 +3106,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark(float)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
 <dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark(float)</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
 <dd>
@@ -3354,8 +3192,6 @@
 <dd>
 <div class="block">Sets the timeout for the next applied operations.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html#setupJob-org.apache.hadoop.mapreduce.JobContext-">setupJob(JobContext)</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputCommitter</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-boolean-">setUpperBound(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -3409,8 +3245,6 @@
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set a BigDecimal for the upper bound</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html#setupTask-org.apache.hadoop.mapreduce.TaskAttemptContext-">setupTask(TaskAttemptContext)</a></span> - Method in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputCommitter</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#setWait-boolean-">setWait(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
 <dd>
 <div class="block">Whether to wait for the table to be fully altered before this alter
@@ -3439,10 +3273,6 @@
 <dd>
 <div class="block">Sets a previously encoded HT timestamp as a snapshot timestamp, for tests.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#SOCKET_READ_TIMEOUT_MS_DEFAULT">SOCKET_READ_TIMEOUT_MS_DEFAULT</a></span> - Static variable in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/CommandLineParser.html#SOCKET_READ_TIMEOUT_MS_KEY">SOCKET_READ_TIMEOUT_MS_KEY</a></span> - Static variable in class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#startAllMasterServers--">startAllMasterServers()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
 <dd>
 <div class="block">Starts all the master servers.</div>
@@ -3451,6 +3281,21 @@
 <dd>
 <div class="block">Starts all the tablet servers.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#startCommit--">startCommit()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
+<dd>
+<div class="block">Start committing the multi-row distributed transaction represented by
+ this handle.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#startMaster-org.apache.kudu.client.HostAndPort-">startMaster(HostAndPort)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Start master which has previously been registered at the specified
+ host and port.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#startTabletServer-org.apache.kudu.client.HostAndPort-">startTabletServer(HostAndPort)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Start tablet server which has previously been registered at the specified
+ host and port.</div>
+</dd>
 <dt><a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Statistics</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
 <dd>
 <div class="block">A Statistics belongs to a specific AsyncKuduClient.</div>
@@ -3492,7 +3337,7 @@
 </a>
 <h2 class="title">T</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#TABLE_NAME_KEY">TABLE_NAME_KEY</a></span> - Static variable in class org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#TABLE_NAME_KEY">TABLE_NAME_KEY</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#tableExists-java.lang.String-">tableExists(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
 <dd>
@@ -3502,10 +3347,6 @@
 <dd>
 <div class="block">Test if a table exists.</div>
 </dd>
-<dt><a href="org/apache/kudu/mapreduce/TableReducer.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">TableReducer</span></a>&lt;<a href="org/apache/kudu/mapreduce/TableReducer.html" title="type parameter in TableReducer">KeyinT</a>,<a href="org/apache/kudu/mapreduce/TableReducer.html" title="type parameter in TableReducer">ValueinT</a>,<a href="org/apache/kudu/mapreduce/TableReducer.html" title="type parameter in TableReducer">KeyoutT</a>&gt; - Class in <a href="org/apache/kudu/mapreduce/package-summary.html">org.apache.kudu.mapreduce</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/kudu/mapreduce/TableReducer.html#TableReducer--">TableReducer()</a></span> - Constructor for class org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/TableReducer.html" title="class in org.apache.kudu.mapreduce">TableReducer</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#TimedOut-java.lang.String-">TimedOut(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#TimedOut-java.lang.String-int-">TimedOut(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
diff --git a/apidocs/org/apache/kudu/client/AlterTableOptions.html b/apidocs/org/apache/kudu/client/AlterTableOptions.html
index c504df8..41c1a0a 100644
--- a/apidocs/org/apache/kudu/client/AlterTableOptions.html
+++ b/apidocs/org/apache/kudu/client/AlterTableOptions.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -287,11 +287,17 @@
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#setComment-java.lang.String-">setComment</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;comment)</code>
+<div class="block">Change a table's comment.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#setOwner-java.lang.String-">setOwner</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner)</code>
 <div class="block">Change a table's owner.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#setWait-boolean-">setWait</a></span>(boolean&nbsp;wait)</code>
 <div class="block">Whether to wait for the table to be fully altered before this alter
@@ -369,6 +375,22 @@
 </dl>
 </li>
 </ul>
+<a name="setComment-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setComment</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;setComment(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;comment)</pre>
+<div class="block">Change a table's comment.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>comment</code> - the new table comment</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
 <a name="addColumn-org.apache.kudu.ColumnSchema-">
 <!--   -->
 </a>
diff --git a/apidocs/org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html b/apidocs/org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html
index 246b439..e152662 100644
--- a/apidocs/org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html
+++ b/apidocs/org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":42,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":42,"i8":10};
+var methods = {"i0":42,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":42,"i8":10,"i9":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -216,6 +216,12 @@
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#saslProtocolName-java.lang.String-">saslProtocolName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;saslProtocolName)</code>
+<div class="block">Set the SASL protocol name.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#workerCount-int-">workerCount</a></span>(int&nbsp;workerCount)</code>
 <div class="block">Set the maximum number of Netty worker threads.</div>
 </td>
@@ -421,6 +427,25 @@
 </dl>
 </li>
 </ul>
+<a name="saslProtocolName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>saslProtocolName</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a>&nbsp;saslProtocolName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;saslProtocolName)</pre>
+<div class="block">Set the SASL protocol name.
+ SASL protocol name is used when connecting to a secure (Kerberos-enabled)
+ cluster. It must match the servers' service principal name (SPN).
+
+ Optional.
+ If not provided, it will use the default SASL protocol name ("kudu").</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
 <a name="build--">
 <!--   -->
 </a>
diff --git a/apidocs/org/apache/kudu/client/CreateTableOptions.html b/apidocs/org/apache/kudu/client/CreateTableOptions.html
index 5ea19fc..b437bdb 100644
--- a/apidocs/org/apache/kudu/client/CreateTableOptions.html
+++ b/apidocs/org/apache/kudu/client/CreateTableOptions.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -188,35 +188,41 @@
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setComment-java.lang.String-">setComment</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;comment)</code>
+<div class="block">Set the table comment.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setDimensionLabel-java.lang.String-">setDimensionLabel</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dimensionLabel)</code>
 <div class="block">Sets the dimension label for all tablets created at table creation time.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setExtraConfigs-java.util.Map-">setExtraConfigs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;extraConfig)</code>
 <div class="block">Sets the table's extra configuration properties.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setNumReplicas-int-">setNumReplicas</a></span>(int&nbsp;numReplicas)</code>
 <div class="block">Sets the number of replicas that each tablet will have.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setOwner-java.lang.String-">setOwner</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner)</code>
 <div class="block">Set the table owner as the provided username.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setRangePartitionColumns-java.util.List-">setRangePartitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;columns)</code>
 <div class="block">Set the columns on which the table will be range-partitioned.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setWait-boolean-">setWait</a></span>(boolean&nbsp;wait)</code>
 <div class="block">Whether to wait for the table to be fully created before this create
@@ -508,7 +514,7 @@
 <a name="setOwner-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>setOwner</h4>
 <pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;setOwner(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner)</pre>
@@ -526,6 +532,22 @@
 </dl>
 </li>
 </ul>
+<a name="setComment-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setComment</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;setComment(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;comment)</pre>
+<div class="block">Set the table comment.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>comment</code> - the table comment</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/apidocs/org/apache/kudu/client/Delete.html b/apidocs/org/apache/kudu/client/Delete.html
index 6acf33f..de977e6 100644
--- a/apidocs/org/apache/kudu/client/Delete.html
+++ b/apidocs/org/apache/kudu/client/Delete.html
@@ -135,7 +135,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
-<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME</code></li>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
 </ul>
 </li>
 </ul>
diff --git a/apidocs/org/apache/kudu/client/DeleteIgnore.html b/apidocs/org/apache/kudu/client/DeleteIgnore.html
index d6f6de3..a09b6ad 100644
--- a/apidocs/org/apache/kudu/client/DeleteIgnore.html
+++ b/apidocs/org/apache/kudu/client/DeleteIgnore.html
@@ -135,7 +135,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
-<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME</code></li>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
 </ul>
 </li>
 </ul>
diff --git a/apidocs/org/apache/kudu/client/Insert.html b/apidocs/org/apache/kudu/client/Insert.html
index 022caff..f80582d 100644
--- a/apidocs/org/apache/kudu/client/Insert.html
+++ b/apidocs/org/apache/kudu/client/Insert.html
@@ -134,7 +134,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
-<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME</code></li>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
 </ul>
 </li>
 </ul>
diff --git a/apidocs/org/apache/kudu/client/InsertIgnore.html b/apidocs/org/apache/kudu/client/InsertIgnore.html
index ea1cd0e..62616e0 100644
--- a/apidocs/org/apache/kudu/client/InsertIgnore.html
+++ b/apidocs/org/apache/kudu/client/InsertIgnore.html
@@ -134,7 +134,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
-<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME</code></li>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
 </ul>
 </li>
 </ul>
diff --git a/apidocs/org/apache/kudu/client/KuduClient.KuduClientBuilder.html b/apidocs/org/apache/kudu/client/KuduClient.KuduClientBuilder.html
index 367561f..033323b 100644
--- a/apidocs/org/apache/kudu/client/KuduClient.KuduClientBuilder.html
+++ b/apidocs/org/apache/kudu/client/KuduClient.KuduClientBuilder.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":42,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":42,"i8":10};
+var methods = {"i0":42,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":42,"i8":10,"i9":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -216,6 +216,12 @@
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#saslProtocolName-java.lang.String-">saslProtocolName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;saslProtocolName)</code>
+<div class="block">Set the SASL protocol name.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#workerCount-int-">workerCount</a></span>(int&nbsp;workerCount)</code>
 <div class="block">Set the maximum number of worker threads.</div>
 </td>
@@ -421,6 +427,25 @@
  instance.</div>
 </li>
 </ul>
+<a name="saslProtocolName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>saslProtocolName</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a>&nbsp;saslProtocolName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;saslProtocolName)</pre>
+<div class="block">Set the SASL protocol name.
+ SASL protocol name is used when connecting to a secure (Kerberos-enabled)
+ cluster. It must match the servers' service principal name (SPN).
+
+ Optional.
+ If not provided, it will use the default SASL protocol name ("kudu").</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
 <a name="build--">
 <!--   -->
 </a>
diff --git a/apidocs/org/apache/kudu/client/KuduSession.html b/apidocs/org/apache/kudu/client/KuduSession.html
index c5e8e20..95ac851 100644
--- a/apidocs/org/apache/kudu/client/KuduSession.html
+++ b/apidocs/org/apache/kudu/client/KuduSession.html
@@ -260,7 +260,7 @@
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark</a></span>(float&nbsp;mutationBufferLowWatermarkPercentage)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;&nbsp;</div>
 </td>
 </tr>
 <tr id="i18" class="altColor">
diff --git a/apidocs/org/apache/kudu/client/KuduTable.html b/apidocs/org/apache/kudu/client/KuduTable.html
index b380bed..2c7698f 100644
--- a/apidocs/org/apache/kudu/client/KuduTable.html
+++ b/apidocs/org/apache/kudu/client/KuduTable.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":42,"i1":42,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":42,"i11":42,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
+var methods = {"i0":42,"i1":42,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":42,"i12":42,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -162,48 +162,54 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getComment--">getComment</a></span>()</code>
+<div class="block">Get this table's comment.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getExtraConfig--">getExtraConfig</a></span>()</code>
 <div class="block">Get this table's extra configuration properties.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getName--">getName</a></span>()</code>
 <div class="block">Get this table's name.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getNumReplicas--">getNumReplicas</a></span>()</code>
 <div class="block">Get this table's replication factor.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getOwner--">getOwner</a></span>()</code>
 <div class="block">Get this table's owner.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getSchema--">getSchema</a></span>()</code>
 <div class="block">Get this table's schema, as of the moment this instance was created.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getTableId--">getTableId</a></span>()</code>
 <div class="block">Get this table's unique identifier.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client">KuduTableStatistics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getTableStatistics--">getTableStatistics</a></span>()</code>
 <div class="block">Get this table's statistics.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getTabletsLocations-byte:A-byte:A-long-">getTabletsLocations</a></span>(byte[]&nbsp;startKey,
                    byte[]&nbsp;endKey,
@@ -213,7 +219,7 @@
 </div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getTabletsLocations-long-">getTabletsLocations</a></span>(long&nbsp;deadline)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -221,43 +227,43 @@
 </div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client">Delete</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newDelete--">newDelete</a></span>()</code>
 <div class="block">Get a new delete configured with this table's schema.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client">DeleteIgnore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newDeleteIgnore--">newDeleteIgnore</a></span>()</code>
 <div class="block">Get a new delete ignore configured with this table's schema.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client">Insert</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newInsert--">newInsert</a></span>()</code>
 <div class="block">Get a new insert configured with this table's schema.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client">InsertIgnore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newInsertIgnore--">newInsertIgnore</a></span>()</code>
 <div class="block">Get a new insert ignore configured with this table's schema.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client">Update</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newUpdate--">newUpdate</a></span>()</code>
 <div class="block">Get a new update configured with this table's schema.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client">UpdateIgnore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newUpdateIgnore--">newUpdateIgnore</a></span>()</code>
 <div class="block">Get a new update ignore configured with this table's schema.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client">Upsert</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newUpsert--">newUpsert</a></span>()</code>
 <div class="block">Get a new upsert configured with this table's schema.</div>
@@ -370,6 +376,20 @@
 </dl>
 </li>
 </ul>
+<a name="getComment--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getComment</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getComment()</pre>
+<div class="block">Get this table's comment.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this table's comment.</dd>
+</dl>
+</li>
+</ul>
 <a name="getAsyncClient--">
 <!--   -->
 </a>
diff --git a/apidocs/org/apache/kudu/client/KuduTransaction.html b/apidocs/org/apache/kudu/client/KuduTransaction.html
index e9c8ea4..fb7db29 100644
--- a/apidocs/org/apache/kudu/client/KuduTransaction.html
+++ b/apidocs/org/apache/kudu/client/KuduTransaction.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -161,7 +161,7 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#commit-boolean-">commit</a></span>(boolean&nbsp;wait)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#commit--">commit</a></span>()</code>
 <div class="block">Commit the multi-row distributed transaction represented by this handle.</div>
 </td>
 </tr>
@@ -209,6 +209,13 @@
 <div class="block">Export information on the underlying transaction in a serialized form.</div>
 </td>
 </tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#startCommit--">startCommit</a></span>()</code>
+<div class="block">Start committing the multi-row distributed transaction represented by
+ this handle.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -265,28 +272,44 @@
 </dl>
 </li>
 </ul>
-<a name="commit-boolean-">
+<a name="commit--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>commit</h4>
-<pre>public&nbsp;void&nbsp;commit(boolean&nbsp;wait)
+<pre>public&nbsp;void&nbsp;commit()
             throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
-<div class="block">Commit the multi-row distributed transaction represented by this handle.</div>
+<div class="block">Commit the multi-row distributed transaction represented by this handle.
+ <p>
+ This method starts committing the transaction and awaits for the commit
+ phase to finalize.</div>
 <dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>wait</code> - whether to wait for the transaction's commit phase to finalize.
-             If <code>true</code>, this method blocks until the commit is
-             finalized, otherwise it starts committing the transaction and
-             returns. In the latter case, it's possible to check for the
-             transaction status using the
-             <a href="../../../../org/apache/kudu/client/KuduTransaction.html#isCommitComplete--"><code>isCommitComplete()</code></a> method.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if something went wrong</dd>
 </dl>
 </li>
 </ul>
+<a name="startCommit--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startCommit</h4>
+<pre>public&nbsp;void&nbsp;startCommit()
+                 throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Start committing the multi-row distributed transaction represented by
+ this handle.
+ <p>
+ This method only starts committing the transaction, not awaiting for the
+ commit phase to finalize. Use <a href="../../../../org/apache/kudu/client/KuduTransaction.html#isCommitComplete--"><code>isCommitComplete()</code></a>
+ to check whether the transaction is committed.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if something went wrong upon starting to commit</dd>
+</dl>
+</li>
+</ul>
 <a name="isCommitComplete--">
 <!--   -->
 </a>
@@ -300,6 +323,12 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd><code>true</code> if transaction has finalized, otherwise <code>false</code></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>NonRecoverableException</code> - with Status.Aborted()
+   if transaction has been or is being aborted</dd>
+<dd><code>NonRecoverableException</code> - with Status.IllegalState()
+   if transaction is still open (i.e. commit() hasn't been called yet)</dd>
+<dd><code>NonRecoverableException</code> - with Status.NotSupported()
+   if transaction is in unexpected state (non-compatible backend?)</dd>
 <dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if an error happens while querying the system about
                        the state of the transaction</dd>
 </dl>
diff --git a/apidocs/org/apache/kudu/client/LocatedTablet.html b/apidocs/org/apache/kudu/client/LocatedTablet.html
index 0ba6e10..622c1bb 100644
--- a/apidocs/org/apache/kudu/client/LocatedTablet.html
+++ b/apidocs/org/apache/kudu/client/LocatedTablet.html
@@ -173,7 +173,9 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.html#getEndKey--">getEndKey</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>getPartition()</code></a></span></div>
+</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -189,7 +191,9 @@
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.html#getStartKey--">getStartKey</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>getPartition()</code></a></span></div>
+</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
@@ -257,8 +261,7 @@
 <h4>getStartKey</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
 public&nbsp;byte[]&nbsp;getStartKey()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block">DEPRECATED: use <a href="../../../../org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>getPartition()</code></a></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>getPartition()</code></a></span></div>
 </li>
 </ul>
 <a name="getEndKey--">
@@ -269,8 +272,7 @@
 <h4>getEndKey</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
 public&nbsp;byte[]&nbsp;getEndKey()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block">DEPRECATED: use <a href="../../../../org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>getPartition()</code></a></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>getPartition()</code></a></span></div>
 </li>
 </ul>
 <a name="getTabletId--">
diff --git a/apidocs/org/apache/kudu/client/Operation.html b/apidocs/org/apache/kudu/client/Operation.html
index 8e4083f..747aeee 100644
--- a/apidocs/org/apache/kudu/client/Operation.html
+++ b/apidocs/org/apache/kudu/client/Operation.html
@@ -142,7 +142,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
-<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME</code></li>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
 </ul>
 </li>
 </ul>
diff --git a/apidocs/org/apache/kudu/client/RowResultIterator.html b/apidocs/org/apache/kudu/client/RowResultIterator.html
index 63ce7e7..95e6857 100644
--- a/apidocs/org/apache/kudu/client/RowResultIterator.html
+++ b/apidocs/org/apache/kudu/client/RowResultIterator.html
@@ -74,13 +74,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -151,31 +151,6 @@
 </table>
 </li>
 </ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier</th>
-<th class="colLast" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>protected </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResultIterator.html#RowResultIterator-long-java.lang.String-org.apache.kudu.Schema-int-boolean-">RowResultIterator</a></span>(long&nbsp;elapsedMillis,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tsUUID,
-                 <a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema,
-                 int&nbsp;numRows,
-                 boolean&nbsp;reuseRowResult)</code>
-<div class="block">Package private constructor, only meant to be instantiated from AsyncKuduScanner.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -286,35 +261,6 @@
 </ul>
 </li>
 </ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="RowResultIterator-long-java.lang.String-org.apache.kudu.Schema-int-boolean-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>RowResultIterator</h4>
-<pre>protected&nbsp;RowResultIterator(long&nbsp;elapsedMillis,
-                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tsUUID,
-                            <a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema,
-                            int&nbsp;numRows,
-                            boolean&nbsp;reuseRowResult)</pre>
-<div class="block">Package private constructor, only meant to be instantiated from AsyncKuduScanner.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>elapsedMillis</code> - time in milliseconds since RPC creation to now</dd>
-<dd><code>tsUUID</code> - UUID of the tablet server that handled our request</dd>
-<dd><code>schema</code> - schema used to parse the rows</dd>
-<dd><code>numRows</code> - how many rows are contained in the bs slice</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -462,13 +408,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
diff --git a/apidocs/org/apache/kudu/client/SessionConfiguration.html b/apidocs/org/apache/kudu/client/SessionConfiguration.html
index 7ee6c43..286f8c1 100644
--- a/apidocs/org/apache/kudu/client/SessionConfiguration.html
+++ b/apidocs/org/apache/kudu/client/SessionConfiguration.html
@@ -318,7 +318,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setMutationBufferLowWatermark</h4>
-<pre>void&nbsp;setMutationBufferLowWatermark(float&nbsp;mutationBufferLowWatermarkPercentage)</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+void&nbsp;setMutationBufferLowWatermark(float&nbsp;mutationBufferLowWatermarkPercentage)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">The low watermark no longer has any effect.</span></div>
 <div class="block">Set the low watermark for this session. The default is set to half the mutation buffer space.
  For example, a buffer space of 1000 with a low watermark set to 50% (0.5) will start randomly
diff --git a/apidocs/org/apache/kudu/client/Update.html b/apidocs/org/apache/kudu/client/Update.html
index d87564f..401bc19 100644
--- a/apidocs/org/apache/kudu/client/Update.html
+++ b/apidocs/org/apache/kudu/client/Update.html
@@ -134,7 +134,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
-<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME</code></li>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
 </ul>
 </li>
 </ul>
diff --git a/apidocs/org/apache/kudu/client/UpdateIgnore.html b/apidocs/org/apache/kudu/client/UpdateIgnore.html
index 078de8b..62877b1 100644
--- a/apidocs/org/apache/kudu/client/UpdateIgnore.html
+++ b/apidocs/org/apache/kudu/client/UpdateIgnore.html
@@ -134,7 +134,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
-<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME</code></li>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
 </ul>
 </li>
 </ul>
diff --git a/apidocs/org/apache/kudu/client/Upsert.html b/apidocs/org/apache/kudu/client/Upsert.html
index 6ce6e9a..aef0cc6 100644
--- a/apidocs/org/apache/kudu/client/Upsert.html
+++ b/apidocs/org/apache/kudu/client/Upsert.html
@@ -133,7 +133,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
-<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME</code></li>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
 </ul>
 </li>
 </ul>
diff --git a/apidocs/org/apache/kudu/client/package-summary.html b/apidocs/org/apache/kudu/client/package-summary.html
index 3b8d7bb..d17118b 100644
--- a/apidocs/org/apache/kudu/client/package-summary.html
+++ b/apidocs/org/apache/kudu/client/package-summary.html
@@ -42,7 +42,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/kudu/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/kudu/spark/tools/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/kudu/client/package-summary.html" target="_top">Frames</a></li>
@@ -500,7 +500,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/kudu/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/kudu/spark/tools/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/kudu/client/package-summary.html" target="_top">Frames</a></li>
diff --git a/apidocs/org/apache/kudu/client/package-tree.html b/apidocs/org/apache/kudu/client/package-tree.html
index ef8d0a7..9dba768 100644
--- a/apidocs/org/apache/kudu/client/package-tree.html
+++ b/apidocs/org/apache/kudu/client/package-tree.html
@@ -42,7 +42,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/kudu/package-tree.html">Prev</a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/package-tree.html">Next</a></li>
+<li><a href="../../../../org/apache/kudu/spark/tools/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/kudu/client/package-tree.html" target="_top">Frames</a></li>
@@ -169,14 +169,14 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">SessionConfiguration.FlushMode</span></a></li>
-<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.RowDataFormat</span></a></li>
-<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">KuduPredicate.ComparisonOp</span></a></li>
-<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Statistics.Statistic</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.ReadMode</span></a></li>
-<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">ReplicaSelection</span></a></li>
-<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">RangePartitionBound</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.RowDataFormat</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">ExternalConsistencyMode</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">KuduPredicate.ComparisonOp</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">RangePartitionBound</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">ReplicaSelection</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">SessionConfiguration.FlushMode</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Statistics.Statistic</span></a></li>
 </ul>
 </li>
 </ul>
@@ -204,7 +204,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/kudu/package-tree.html">Prev</a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/package-tree.html">Next</a></li>
+<li><a href="../../../../org/apache/kudu/spark/tools/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/kudu/client/package-tree.html" target="_top">Frames</a></li>
diff --git a/apidocs/org/apache/kudu/mapreduce/CommandLineParser.html b/apidocs/org/apache/kudu/mapreduce/CommandLineParser.html
deleted file mode 100644
index 057dcee..0000000
--- a/apidocs/org/apache/kudu/mapreduce/CommandLineParser.html
+++ /dev/null
@@ -1,619 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>CommandLineParser</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CommandLineParser";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":42};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/CommandLineParser.html" target="_top">Frames</a></li>
-<li><a href="CommandLineParser.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.kudu.mapreduce</div>
-<h2 title="Class CommandLineParser" class="title">Class CommandLineParser</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.kudu.mapreduce.CommandLineParser</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>@InterfaceAudience.Public
- @InterfaceStability.Unstable
-public class <span class="typeNameLabel">CommandLineParser</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">Utility class that manages common configurations to all MR jobs. For example,
- any job that uses {#KuduTableMapReduceUtil} to setup an input or output format
- and that has parsed the command line arguments with
- <code>GenericOptionsParser</code> can simply be passed:
- <code>
- -Dmaster.address=ADDRESS
- </code>
- in order to specify where the master is.
- Use <a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#getHelpSnippet--"><code>getHelpSnippet()</code></a> to provide usage text for the configurations
- managed by this class.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#ADMIN_OPERATION_TIMEOUT_MS_KEY">ADMIN_OPERATION_TIMEOUT_MS_KEY</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#MASTER_ADDRESSES_DEFAULT">MASTER_ADDRESSES_DEFAULT</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#MASTER_ADDRESSES_KEY">MASTER_ADDRESSES_KEY</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#NUM_REPLICAS_DEFAULT">NUM_REPLICAS_DEFAULT</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#NUM_REPLICAS_KEY">NUM_REPLICAS_KEY</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#OPERATION_TIMEOUT_MS_DEFAULT">OPERATION_TIMEOUT_MS_DEFAULT</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#OPERATION_TIMEOUT_MS_KEY">OPERATION_TIMEOUT_MS_KEY</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#SOCKET_READ_TIMEOUT_MS_DEFAULT">SOCKET_READ_TIMEOUT_MS_DEFAULT</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#SOCKET_READ_TIMEOUT_MS_KEY">SOCKET_READ_TIMEOUT_MS_KEY</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#CommandLineParser-org.apache.hadoop.conf.Configuration-">CommandLineParser</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
-<div class="block">Constructor that uses a Configuration that has already been through
- <code>GenericOptionsParser</code>'s command line parsing.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#getAdminOperationTimeoutMs--">getAdminOperationTimeoutMs</a></span>()</code>
-<div class="block">Get the configured timeout for admin operations.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#getAsyncClient--">getAsyncClient</a></span>()</code>
-<div class="block">Get an async client connected to the configured Master(s).</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#getClient--">getClient</a></span>()</code>
-<div class="block">Get a client connected to the configured Master(s).</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#getHelpSnippet--">getHelpSnippet</a></span>()</code>
-<div class="block">This method returns a single multi-line string that contains the help snippet to append to
- the tail of a usage() or help() type of method.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#getMasterAddresses--">getMasterAddresses</a></span>()</code>
-<div class="block">Get the configured master's config.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#getNumReplicas--">getNumReplicas</a></span>()</code>
-<div class="block">Get the number of replicas to use when configuring a new table.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#getOperationTimeoutMs--">getOperationTimeoutMs</a></span>()</code>
-<div class="block">Get the configured timeout for operations on sessions and scanners.</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html#getSocketReadTimeoutMs--">getSocketReadTimeoutMs</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">socket read timeouts no longer have any effect</span></div>
-</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="MASTER_ADDRESSES_KEY">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>MASTER_ADDRESSES_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MASTER_ADDRESSES_KEY</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.kudu.mapreduce.CommandLineParser.MASTER_ADDRESSES_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="MASTER_ADDRESSES_DEFAULT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>MASTER_ADDRESSES_DEFAULT</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MASTER_ADDRESSES_DEFAULT</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.kudu.mapreduce.CommandLineParser.MASTER_ADDRESSES_DEFAULT">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="OPERATION_TIMEOUT_MS_KEY">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>OPERATION_TIMEOUT_MS_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> OPERATION_TIMEOUT_MS_KEY</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.kudu.mapreduce.CommandLineParser.OPERATION_TIMEOUT_MS_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="OPERATION_TIMEOUT_MS_DEFAULT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>OPERATION_TIMEOUT_MS_DEFAULT</h4>
-<pre>public static final&nbsp;long OPERATION_TIMEOUT_MS_DEFAULT</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.kudu.mapreduce.CommandLineParser.OPERATION_TIMEOUT_MS_DEFAULT">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="ADMIN_OPERATION_TIMEOUT_MS_KEY">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ADMIN_OPERATION_TIMEOUT_MS_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ADMIN_OPERATION_TIMEOUT_MS_KEY</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.kudu.mapreduce.CommandLineParser.ADMIN_OPERATION_TIMEOUT_MS_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="SOCKET_READ_TIMEOUT_MS_KEY">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SOCKET_READ_TIMEOUT_MS_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SOCKET_READ_TIMEOUT_MS_KEY</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.kudu.mapreduce.CommandLineParser.SOCKET_READ_TIMEOUT_MS_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="SOCKET_READ_TIMEOUT_MS_DEFAULT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SOCKET_READ_TIMEOUT_MS_DEFAULT</h4>
-<pre>public static final&nbsp;long SOCKET_READ_TIMEOUT_MS_DEFAULT</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.kudu.mapreduce.CommandLineParser.SOCKET_READ_TIMEOUT_MS_DEFAULT">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="NUM_REPLICAS_KEY">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>NUM_REPLICAS_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> NUM_REPLICAS_KEY</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.kudu.mapreduce.CommandLineParser.NUM_REPLICAS_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="NUM_REPLICAS_DEFAULT">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>NUM_REPLICAS_DEFAULT</h4>
-<pre>public static final&nbsp;int NUM_REPLICAS_DEFAULT</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.kudu.mapreduce.CommandLineParser.NUM_REPLICAS_DEFAULT">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="CommandLineParser-org.apache.hadoop.conf.Configuration-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>CommandLineParser</h4>
-<pre>public&nbsp;CommandLineParser(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
-<div class="block">Constructor that uses a Configuration that has already been through
- <code>GenericOptionsParser</code>'s command line parsing.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - the configuration from which job configurations will be extracted</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getMasterAddresses--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getMasterAddresses</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMasterAddresses()</pre>
-<div class="block">Get the configured master's config.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a string that contains the passed config, or the default value</dd>
-</dl>
-</li>
-</ul>
-<a name="getOperationTimeoutMs--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getOperationTimeoutMs</h4>
-<pre>public&nbsp;long&nbsp;getOperationTimeoutMs()</pre>
-<div class="block">Get the configured timeout for operations on sessions and scanners.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a long that represents the passed timeout, or the default value</dd>
-</dl>
-</li>
-</ul>
-<a name="getAdminOperationTimeoutMs--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getAdminOperationTimeoutMs</h4>
-<pre>public&nbsp;long&nbsp;getAdminOperationTimeoutMs()</pre>
-<div class="block">Get the configured timeout for admin operations.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a long that represents the passed timeout, or the default value</dd>
-</dl>
-</li>
-</ul>
-<a name="getSocketReadTimeoutMs--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getSocketReadTimeoutMs</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;long&nbsp;getSocketReadTimeoutMs()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">socket read timeouts no longer have any effect</span></div>
-<div class="block">Socket read timeouts are no longer used in the Java client.
- This method always returns 0, which previously indicated no socket read timeout.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a long that represents the passed timeout, or the default value</dd>
-</dl>
-</li>
-</ul>
-<a name="getNumReplicas--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNumReplicas</h4>
-<pre>public&nbsp;int&nbsp;getNumReplicas()</pre>
-<div class="block">Get the number of replicas to use when configuring a new table.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an int that represents the passed number of replicas to use, or the default value.</dd>
-</dl>
-</li>
-</ul>
-<a name="getAsyncClient--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getAsyncClient</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a>&nbsp;getAsyncClient()</pre>
-<div class="block">Get an async client connected to the configured Master(s).</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an async kudu client</dd>
-</dl>
-</li>
-</ul>
-<a name="getClient--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getClient</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;getClient()</pre>
-<div class="block">Get a client connected to the configured Master(s).</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a kudu client</dd>
-</dl>
-</li>
-</ul>
-<a name="getHelpSnippet--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getHelpSnippet</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getHelpSnippet()</pre>
-<div class="block">This method returns a single multi-line string that contains the help snippet to append to
- the tail of a usage() or help() type of method.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a string with all the available configurations and their defaults</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/CommandLineParser.html" target="_top">Frames</a></li>
-<li><a href="CommandLineParser.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/KuduTableInputFormat.html b/apidocs/org/apache/kudu/mapreduce/KuduTableInputFormat.html
deleted file mode 100644
index 89b374d..0000000
--- a/apidocs/org/apache/kudu/mapreduce/KuduTableInputFormat.html
+++ /dev/null
@@ -1,373 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>KuduTableInputFormat</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="KuduTableInputFormat";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/KuduTableInputFormat.html" target="_top">Frames</a></li>
-<li><a href="KuduTableInputFormat.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.kudu.mapreduce</div>
-<h2 title="Class KuduTableInputFormat" class="title">Class KuduTableInputFormat</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.kudu.mapreduce.KuduTableInputFormat</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>org.apache.hadoop.conf.Configurable</dd>
-</dl>
-<hr>
-<br>
-<pre>@InterfaceAudience.Public
- @InterfaceStability.Evolving
-public class <span class="typeNameLabel">KuduTableInputFormat</span>
-extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;
-implements org.apache.hadoop.conf.Configurable</pre>
-<div class="block"><p>
- This input format generates one split per tablet and the only location for each split is that
- tablet's leader.
- </p>
-
- <p>
- Hadoop doesn't have the concept of "closing" the input format so in order to release the
- resources (mainly, the Kudu client) we assume that once either
- <a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html#getSplits-org.apache.hadoop.mapreduce.JobContext-"><code>getSplits(org.apache.hadoop.mapreduce.JobContext)</code></a>
- or <code>KuduTableInputFormat.TableRecordReader.close()</code>
- have been called that the object won't be used again and the AsyncKuduClient is shut down.
-
- To prevent a premature shutdown of the client, the KuduTableInputFormat and the
- TableRecordReader both get their own client that they don't share.
- </p>
-
- <p>
- Default behavior of hadoop is to call <a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html#getSplits-org.apache.hadoop.mapreduce.JobContext-"><code>getSplits(org.apache.hadoop.mapreduce.JobContext)</code></a>
- in the MRAppMaster and for each inputSplit (in our case, Kudu tablet) will spawn one Mapper
- with a TableRecordReader reading one Tablet.
-
- Therefore, total number of Kudu clients opened over the course of a MR application can be
- estimated by (#Tablets +1). To reduce the number of concurrent open clients, it might be
- advisable to restrict resources of the MR application or implement the
- org.apache.hadoop.mapred.lib.CombineFileInputFormat over this InputFormat.
- </p></div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html#KuduTableInputFormat--">KuduTableInputFormat</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordReader&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;inputSplit,
-                  org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>org.apache.hadoop.conf.Configuration</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html#getConf--">getConf</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.mapreduce.InputSplit&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html#getSplits-org.apache.hadoop.mapreduce.JobContext-">getSplits</a></span>(org.apache.hadoop.mapreduce.JobContext&nbsp;jobContext)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html#setConf-org.apache.hadoop.conf.Configuration-">setConf</a></span>(org.apache.hadoop.conf.Configuration&nbsp;entries)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="KuduTableInputFormat--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>KuduTableInputFormat</h4>
-<pre>public&nbsp;KuduTableInputFormat()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getSplits-org.apache.hadoop.mapreduce.JobContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getSplits</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.mapreduce.InputSplit&gt;&nbsp;getSplits(org.apache.hadoop.mapreduce.JobContext&nbsp;jobContext)
-                                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
-                                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>getSplits</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>createRecordReader</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordReader&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;&nbsp;createRecordReader(org.apache.hadoop.mapreduce.InputSplit&nbsp;inputSplit,
-                                                                                                                org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)
-                                                                                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
-                                                                                                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>createRecordReader</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="setConf-org.apache.hadoop.conf.Configuration-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setConf</h4>
-<pre>public&nbsp;void&nbsp;setConf(org.apache.hadoop.conf.Configuration&nbsp;entries)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>setConf</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.conf.Configurable</code></dd>
-</dl>
-</li>
-</ul>
-<a name="getConf--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getConf</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;getConf()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>getConf</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.conf.Configurable</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/KuduTableInputFormat.html" target="_top">Frames</a></li>
-<li><a href="KuduTableInputFormat.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html b/apidocs/org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html
deleted file mode 100644
index 4ece156..0000000
--- a/apidocs/org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html
+++ /dev/null
@@ -1,394 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>KuduTableMapReduceUtil</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="KuduTableMapReduceUtil";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" target="_top">Frames</a></li>
-<li><a href="KuduTableMapReduceUtil.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.kudu.mapreduce</div>
-<h2 title="Class KuduTableMapReduceUtil" class="title">Class KuduTableMapReduceUtil</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.kudu.mapreduce.KuduTableMapReduceUtil</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>@InterfaceAudience.Public
- @InterfaceStability.Evolving
-public class <span class="typeNameLabel">KuduTableMapReduceUtil</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">Utility class to setup MR jobs that use Kudu as an input and/or output.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#addCredentialsToJob-org.apache.kudu.client.KuduClient-org.apache.hadoop.mapreduce.Job-">addCredentialsToJob</a></span>(<a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;client,
-                   org.apache.hadoop.mapreduce.Job&nbsp;job)</code>
-<div class="block">Export the credentials from a <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a> and store them in the given MapReduce
- <code>Job</code> so that <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a>s created from within tasks of that job can
- authenticate to Kudu.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#addDependencyJars-org.apache.hadoop.conf.Configuration-java.lang.Class...-">addDependencyJars</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;classes)</code>
-<div class="block">Add the jars containing the given classes to the job's configuration
- such that JobClient will ship them to the cluster and add them to
- the DistributedCache.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#addDependencyJars-org.apache.hadoop.mapreduce.Job-">addDependencyJars</a></span>(org.apache.hadoop.mapreduce.Job&nbsp;job)</code>
-<div class="block">Add the Kudu dependency jars as well as jars for any of the configured
- job classes to the job configuration, so that JobClient will ship them
- to the cluster and add them to the DistributedCache.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#addKuduDependencyJars-org.apache.hadoop.conf.Configuration-">addKuduDependencyJars</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
-<div class="block">Add Kudu and its dependencies (only) to the job configuration.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#getTableFromContext-org.apache.hadoop.mapreduce.TaskInputOutputContext-">getTableFromContext</a></span>(org.apache.hadoop.mapreduce.TaskInputOutputContext&nbsp;context)</code>
-<div class="block">Use this method when setting up a task to get access to the KuduTable in order to create
- Inserts, Updates, and Deletes.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#importCredentialsFromCurrentSubject-org.apache.kudu.client.KuduClient-">importCredentialsFromCurrentSubject</a></span>(<a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;client)</code>
-<div class="block">Import credentials from the current thread's JAAS <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/Subject.html?is-external=true" title="class or interface in javax.security.auth"><code>Subject</code></a> into the provided
- <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a>.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getTableFromContext-org.apache.hadoop.mapreduce.TaskInputOutputContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getTableFromContext</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;getTableFromContext(org.apache.hadoop.mapreduce.TaskInputOutputContext&nbsp;context)</pre>
-<div class="block">Use this method when setting up a task to get access to the KuduTable in order to create
- Inserts, Updates, and Deletes.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>context</code> - Map context</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>The kudu table object as setup by the output format</dd>
-</dl>
-</li>
-</ul>
-<a name="addCredentialsToJob-org.apache.kudu.client.KuduClient-org.apache.hadoop.mapreduce.Job-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addCredentialsToJob</h4>
-<pre>public static&nbsp;void&nbsp;addCredentialsToJob(<a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;client,
-                                       org.apache.hadoop.mapreduce.Job&nbsp;job)
-                                throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
-<div class="block">Export the credentials from a <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a> and store them in the given MapReduce
- <code>Job</code> so that <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a>s created from within tasks of that job can
- authenticate to Kudu.
-
- This must be used before submitting a job when running against a Kudu cluster
- configured to require authentication. If using <code>KuduTableMapReduceUtil.TableInputFormatConfigurator</code>,
- <code>KuduTableMapReduceUtil.TableOutputFormatConfigurator</code> or another such utility class, this is called
- automatically and does not need to be called.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>client</code> - the client whose credentials to export</dd>
-<dd><code>job</code> - the job to configure</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if credentials cannot be exported</dd>
-</dl>
-</li>
-</ul>
-<a name="importCredentialsFromCurrentSubject-org.apache.kudu.client.KuduClient-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>importCredentialsFromCurrentSubject</h4>
-<pre>public static&nbsp;void&nbsp;importCredentialsFromCurrentSubject(<a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;client)</pre>
-<div class="block">Import credentials from the current thread's JAAS <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/Subject.html?is-external=true" title="class or interface in javax.security.auth"><code>Subject</code></a> into the provided
- <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a>.
-
- This must be called for any clients created within a MapReduce job in order to
- adopt the credentials added by <a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#addCredentialsToJob-org.apache.kudu.client.KuduClient-org.apache.hadoop.mapreduce.Job-"><code>addCredentialsToJob(KuduClient, Job)</code></a>.
- When using <a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce"><code>KuduTableInputFormat</code></a> or <a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce"><code>KuduTableOutputFormat</code></a>, the
- implementation automatically handles creating the client and importing necessary
- credentials. As such, this is only necessary in jobs that explicitly create a
- <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a>.
-
- If no appropriate credentials are found, does nothing.</div>
-</li>
-</ul>
-<a name="addDependencyJars-org.apache.hadoop.mapreduce.Job-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addDependencyJars</h4>
-<pre>public static&nbsp;void&nbsp;addDependencyJars(org.apache.hadoop.mapreduce.Job&nbsp;job)
-                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Add the Kudu dependency jars as well as jars for any of the configured
- job classes to the job configuration, so that JobClient will ship them
- to the cluster and add them to the DistributedCache.</div>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="addDependencyJars-org.apache.hadoop.conf.Configuration-java.lang.Class...-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addDependencyJars</h4>
-<pre>public static&nbsp;void&nbsp;addDependencyJars(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;classes)
-                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Add the jars containing the given classes to the job's configuration
- such that JobClient will ship them to the cluster and add them to
- the DistributedCache.</div>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="addKuduDependencyJars-org.apache.hadoop.conf.Configuration-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>addKuduDependencyJars</h4>
-<pre>public static&nbsp;void&nbsp;addKuduDependencyJars(org.apache.hadoop.conf.Configuration&nbsp;conf)
-                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Add Kudu and its dependencies (only) to the job configuration.
- <p>
- This is intended as a low-level API, facilitating code reuse between this
- class and its mapred counterpart. It also of use to external tools that
- need to build a MapReduce job that interacts with Kudu but want
- fine-grained control over the jars shipped to the cluster.
- </p></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - The Configuration object to extend with dependencies.</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce"><code>KuduTableMapReduceUtil</code></a>, 
-<a href="https://issues.apache.org/jira/browse/PIG-3285">PIG-3285</a></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" target="_top">Frames</a></li>
-<li><a href="KuduTableMapReduceUtil.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/KuduTableOutputCommitter.html b/apidocs/org/apache/kudu/mapreduce/KuduTableOutputCommitter.html
deleted file mode 100644
index 9d486c8..0000000
--- a/apidocs/org/apache/kudu/mapreduce/KuduTableOutputCommitter.html
+++ /dev/null
@@ -1,370 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>KuduTableOutputCommitter</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="KuduTableOutputCommitter";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" target="_top">Frames</a></li>
-<li><a href="KuduTableOutputCommitter.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.kudu.mapreduce</div>
-<h2 title="Class KuduTableOutputCommitter" class="title">Class KuduTableOutputCommitter</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.mapreduce.OutputCommitter</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.kudu.mapreduce.KuduTableOutputCommitter</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>@InterfaceAudience.Public
- @InterfaceStability.Evolving
-public class <span class="typeNameLabel">KuduTableOutputCommitter</span>
-extends org.apache.hadoop.mapreduce.OutputCommitter</pre>
-<div class="block">Small committer class that does not do anything.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputCommitter.html#KuduTableOutputCommitter--">KuduTableOutputCommitter</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputCommitter.html#abortTask-org.apache.hadoop.mapreduce.TaskAttemptContext-">abortTask</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputCommitter.html#commitTask-org.apache.hadoop.mapreduce.TaskAttemptContext-">commitTask</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputCommitter.html#needsTaskCommit-org.apache.hadoop.mapreduce.TaskAttemptContext-">needsTaskCommit</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputCommitter.html#setupJob-org.apache.hadoop.mapreduce.JobContext-">setupJob</a></span>(org.apache.hadoop.mapreduce.JobContext&nbsp;jobContext)</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputCommitter.html#setupTask-org.apache.hadoop.mapreduce.TaskAttemptContext-">setupTask</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.mapreduce.OutputCommitter">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.hadoop.mapreduce.OutputCommitter</h3>
-<code>abortJob, cleanupJob, commitJob, isCommitJobRepeatable, isRecoverySupported, isRecoverySupported, recoverTask</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="KuduTableOutputCommitter--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>KuduTableOutputCommitter</h4>
-<pre>public&nbsp;KuduTableOutputCommitter()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="setupJob-org.apache.hadoop.mapreduce.JobContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setupJob</h4>
-<pre>public&nbsp;void&nbsp;setupJob(org.apache.hadoop.mapreduce.JobContext&nbsp;jobContext)
-              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>setupJob</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.mapreduce.OutputCommitter</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="setupTask-org.apache.hadoop.mapreduce.TaskAttemptContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setupTask</h4>
-<pre>public&nbsp;void&nbsp;setupTask(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)
-               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>setupTask</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.mapreduce.OutputCommitter</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="needsTaskCommit-org.apache.hadoop.mapreduce.TaskAttemptContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>needsTaskCommit</h4>
-<pre>public&nbsp;boolean&nbsp;needsTaskCommit(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)
-                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>needsTaskCommit</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.mapreduce.OutputCommitter</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="commitTask-org.apache.hadoop.mapreduce.TaskAttemptContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>commitTask</h4>
-<pre>public&nbsp;void&nbsp;commitTask(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)
-                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>commitTask</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.mapreduce.OutputCommitter</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="abortTask-org.apache.hadoop.mapreduce.TaskAttemptContext-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>abortTask</h4>
-<pre>public&nbsp;void&nbsp;abortTask(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)
-               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>abortTask</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.mapreduce.OutputCommitter</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" target="_top">Frames</a></li>
-<li><a href="KuduTableOutputCommitter.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/KuduTableOutputFormat.html b/apidocs/org/apache/kudu/mapreduce/KuduTableOutputFormat.html
deleted file mode 100644
index 09a39f0..0000000
--- a/apidocs/org/apache/kudu/mapreduce/KuduTableOutputFormat.html
+++ /dev/null
@@ -1,393 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>KuduTableOutputFormat</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="KuduTableOutputFormat";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/TableReducer.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/KuduTableOutputFormat.html" target="_top">Frames</a></li>
-<li><a href="KuduTableOutputFormat.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.kudu.mapreduce</div>
-<h2 title="Class KuduTableOutputFormat" class="title">Class KuduTableOutputFormat</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.mapreduce.OutputFormat&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&gt;</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.kudu.mapreduce.KuduTableOutputFormat</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>org.apache.hadoop.conf.Configurable</dd>
-</dl>
-<hr>
-<br>
-<pre>@InterfaceAudience.Public
- @InterfaceStability.Evolving
-public class <span class="typeNameLabel">KuduTableOutputFormat</span>
-extends org.apache.hadoop.mapreduce.OutputFormat&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&gt;
-implements org.apache.hadoop.conf.Configurable</pre>
-<div class="block"><p>
- Use <code>KuduTableMapReduceUtil.TableOutputFormatConfigurator</code>
- to correctly setup this output format, then <a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#getTableFromContext-org.apache.hadoop.mapreduce.TaskInputOutputContext-"><code>KuduTableMapReduceUtil.getTableFromContext(org.apache.hadoop.mapreduce.TaskInputOutputContext)</code></a>
- to get a KuduTable.
- </p>
-
- <p>
- Hadoop doesn't have the concept of "closing" the output format so in order to release the
- resources we assume that once either
- <a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html#checkOutputSpecs-org.apache.hadoop.mapreduce.JobContext-"><code>checkOutputSpecs(org.apache.hadoop.mapreduce.JobContext)</code></a>
- or <code>KuduTableOutputFormat.TableRecordWriter.close(org.apache.hadoop.mapreduce.TaskAttemptContext)</code>
- have been called that the object won't be used again and the KuduClient is shut down.
- </p></div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html#KuduTableOutputFormat--">KuduTableOutputFormat</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html#checkOutputSpecs-org.apache.hadoop.mapreduce.JobContext-">checkOutputSpecs</a></span>(org.apache.hadoop.mapreduce.JobContext&nbsp;jobContext)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>org.apache.hadoop.conf.Configuration</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html#getConf--">getConf</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html#getKuduTable-java.lang.String-">getKuduTable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;multitonKey)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>org.apache.hadoop.mapreduce.OutputCommitter</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html#getOutputCommitter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getOutputCommitter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordWriter&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html#setConf-org.apache.hadoop.conf.Configuration-">setConf</a></span>(org.apache.hadoop.conf.Configuration&nbsp;entries)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="KuduTableOutputFormat--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>KuduTableOutputFormat</h4>
-<pre>public&nbsp;KuduTableOutputFormat()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="setConf-org.apache.hadoop.conf.Configuration-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setConf</h4>
-<pre>public&nbsp;void&nbsp;setConf(org.apache.hadoop.conf.Configuration&nbsp;entries)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>setConf</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.conf.Configurable</code></dd>
-</dl>
-</li>
-</ul>
-<a name="getKuduTable-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getKuduTable</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;getKuduTable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;multitonKey)</pre>
-</li>
-</ul>
-<a name="getConf--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getConf</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;getConf()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>getConf</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.conf.Configurable</code></dd>
-</dl>
-</li>
-</ul>
-<a name="getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRecordWriter</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordWriter&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&gt;&nbsp;getRecordWriter(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)
-                                                                                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
-                                                                                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>getRecordWriter</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.mapreduce.OutputFormat&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&gt;</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="checkOutputSpecs-org.apache.hadoop.mapreduce.JobContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>checkOutputSpecs</h4>
-<pre>public&nbsp;void&nbsp;checkOutputSpecs(org.apache.hadoop.mapreduce.JobContext&nbsp;jobContext)
-                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
-                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>checkOutputSpecs</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.mapreduce.OutputFormat&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&gt;</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="getOutputCommitter-org.apache.hadoop.mapreduce.TaskAttemptContext-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getOutputCommitter</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.OutputCommitter&nbsp;getOutputCommitter(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;taskAttemptContext)
-                                                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
-                                                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>getOutputCommitter</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.mapreduce.OutputFormat&lt;org.apache.hadoop.io.NullWritable,<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&gt;</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/TableReducer.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/KuduTableOutputFormat.html" target="_top">Frames</a></li>
-<li><a href="KuduTableOutputFormat.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/TableReducer.html b/apidocs/org/apache/kudu/mapreduce/TableReducer.html
deleted file mode 100644
index 524f690..0000000
--- a/apidocs/org/apache/kudu/mapreduce/TableReducer.html
+++ /dev/null
@@ -1,248 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>TableReducer</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TableReducer";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/TableReducer.html" target="_top">Frames</a></li>
-<li><a href="TableReducer.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.org.apache.hadoop.mapreduce.Reducer">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li>Method</li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.kudu.mapreduce</div>
-<h2 title="Class TableReducer" class="title">Class TableReducer&lt;KeyinT,ValueinT,KeyoutT&gt;</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.mapreduce.Reducer&lt;KeyinT,ValueinT,KeyoutT,<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&gt;</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.kudu.mapreduce.TableReducer&lt;KeyinT,ValueinT,KeyoutT&gt;</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>@InterfaceAudience.Public
- @InterfaceStability.Evolving
-public abstract class <span class="typeNameLabel">TableReducer&lt;KeyinT,ValueinT,KeyoutT&gt;</span>
-extends org.apache.hadoop.mapreduce.Reducer&lt;KeyinT,ValueinT,KeyoutT,<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&gt;</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/mapreduce/TableReducer.html#TableReducer--">TableReducer</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.mapreduce.Reducer">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.hadoop.mapreduce.Reducer</h3>
-<code>cleanup, reduce, run, setup</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="TableReducer--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>TableReducer</h4>
-<pre>public&nbsp;TableReducer()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/TableReducer.html" target="_top">Frames</a></li>
-<li><a href="TableReducer.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.org.apache.hadoop.mapreduce.Reducer">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li>Method</li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/package-frame.html b/apidocs/org/apache/kudu/mapreduce/package-frame.html
deleted file mode 100644
index cdff6ed..0000000
--- a/apidocs/org/apache/kudu/mapreduce/package-frame.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>org.apache.kudu.mapreduce</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../org/apache/kudu/mapreduce/package-summary.html" target="classFrame">org.apache.kudu.mapreduce</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="CommandLineParser.html" title="class in org.apache.kudu.mapreduce" target="classFrame">CommandLineParser</a></li>
-<li><a href="KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce" target="classFrame">KuduTableInputFormat</a></li>
-<li><a href="KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce" target="classFrame">KuduTableMapReduceUtil</a></li>
-<li><a href="KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce" target="classFrame">KuduTableOutputCommitter</a></li>
-<li><a href="KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce" target="classFrame">KuduTableOutputFormat</a></li>
-<li><a href="TableReducer.html" title="class in org.apache.kudu.mapreduce" target="classFrame">TableReducer</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/package-summary.html b/apidocs/org/apache/kudu/mapreduce/package-summary.html
deleted file mode 100644
index 6457840..0000000
--- a/apidocs/org/apache/kudu/mapreduce/package-summary.html
+++ /dev/null
@@ -1,174 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>org.apache.kudu.mapreduce</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.kudu.mapreduce";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/client/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/tools/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.kudu.mapreduce</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></td>
-<td class="colLast">
-<div class="block">Utility class that manages common configurations to all MR jobs.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableInputFormat</a></td>
-<td class="colLast">
-<div class="block">
- This input format generates one split per tablet and the only location for each split is that
- tablet's leader.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce">KuduTableMapReduceUtil</a></td>
-<td class="colLast">
-<div class="block">Utility class to setup MR jobs that use Kudu as an input and/or output.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputCommitter</a></td>
-<td class="colLast">
-<div class="block">Small committer class that does not do anything.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputFormat</a></td>
-<td class="colLast">
-<div class="block">
- Use <code>KuduTableMapReduceUtil.TableOutputFormatConfigurator</code>
- to correctly setup this output format, then <a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html#getTableFromContext-org.apache.hadoop.mapreduce.TaskInputOutputContext-"><code>KuduTableMapReduceUtil.getTableFromContext(org.apache.hadoop.mapreduce.TaskInputOutputContext)</code></a>
- to get a KuduTable.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../org/apache/kudu/mapreduce/TableReducer.html" title="class in org.apache.kudu.mapreduce">TableReducer</a>&lt;KeyinT,ValueinT,KeyoutT&gt;</td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/client/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/tools/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/package-tree.html b/apidocs/org/apache/kudu/mapreduce/package-tree.html
deleted file mode 100644
index 6c872a6..0000000
--- a/apidocs/org/apache/kudu/mapreduce/package-tree.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>org.apache.kudu.mapreduce Class Hierarchy</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.kudu.mapreduce Class Hierarchy";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/client/package-tree.html">Prev</a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/tools/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.kudu.mapreduce</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
-<ul>
-<li type="circle">org.apache.kudu.mapreduce.<a href="../../../../org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">CommandLineParser</span></a></li>
-<li type="circle">org.apache.hadoop.mapreduce.InputFormat&lt;K,V&gt;
-<ul>
-<li type="circle">org.apache.kudu.mapreduce.<a href="../../../../org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">KuduTableInputFormat</span></a> (implements org.apache.hadoop.conf.Configurable)</li>
-</ul>
-</li>
-<li type="circle">org.apache.kudu.mapreduce.<a href="../../../../org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">KuduTableMapReduceUtil</span></a></li>
-<li type="circle">org.apache.hadoop.mapreduce.OutputCommitter
-<ul>
-<li type="circle">org.apache.kudu.mapreduce.<a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">KuduTableOutputCommitter</span></a></li>
-</ul>
-</li>
-<li type="circle">org.apache.hadoop.mapreduce.OutputFormat&lt;K,V&gt;
-<ul>
-<li type="circle">org.apache.kudu.mapreduce.<a href="../../../../org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">KuduTableOutputFormat</span></a> (implements org.apache.hadoop.conf.Configurable)</li>
-</ul>
-</li>
-<li type="circle">org.apache.hadoop.mapreduce.Reducer&lt;KEYIN,VALUEIN,KEYOUT,VALUEOUT&gt;
-<ul>
-<li type="circle">org.apache.kudu.mapreduce.<a href="../../../../org/apache/kudu/mapreduce/TableReducer.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">TableReducer</span></a>&lt;KeyinT,ValueinT,KeyoutT&gt;</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/kudu/client/package-tree.html">Prev</a></li>
-<li><a href="../../../../org/apache/kudu/mapreduce/tools/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/kudu/mapreduce/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html b/apidocs/org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html
deleted file mode 100644
index eb3a4d3..0000000
--- a/apidocs/org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html
+++ /dev/null
@@ -1,617 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>BigLinkedListCommon</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BigLinkedListCommon";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" target="_top">Frames</a></li>
-<li><a href="BigLinkedListCommon.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.kudu.mapreduce.tools</div>
-<h2 title="Class BigLinkedListCommon" class="title">Class BigLinkedListCommon</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.kudu.mapreduce.tools.BigLinkedListCommon</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>@InterfaceAudience.Public
- @InterfaceStability.Evolving
-public class <span class="typeNameLabel">BigLinkedListCommon</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">Static constants, helper methods, and utility classes for BigLinkedList
- implementations.
-
- Any definitions which must be kept in-sync between ITBLL implementations
- should be kept here.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_CLIENT">COLUMN_CLIENT</a></span></code>
-<div class="block">identifier of the mapred task that generated this row.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_CLIENT_IDX">COLUMN_CLIENT_IDX</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE">COLUMN_KEY_ONE</a></span></code>
-<div class="block">Row key, two times 8 bytes.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE_IDX">COLUMN_KEY_ONE_IDX</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO">COLUMN_KEY_TWO</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO_IDX">COLUMN_KEY_TWO_IDX</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE">COLUMN_PREV_ONE</a></span></code>
-<div class="block">Link to the id of the prev node in the linked list, two times 8 bytes.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE_IDX">COLUMN_PREV_ONE_IDX</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO">COLUMN_PREV_TWO</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO_IDX">COLUMN_PREV_TWO_IDX</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_ROW_ID">COLUMN_ROW_ID</a></span></code>
-<div class="block">the id of the row within the same client.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_ROW_ID_IDX">COLUMN_ROW_ID_IDX</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT">COLUMN_UPDATE_COUNT</a></span></code>
-<div class="block">The number of times this row was updated.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT_IDX">COLUMN_UPDATE_COUNT_IDX</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#DEFAULT_HEADS_TABLE_NAME">DEFAULT_HEADS_TABLE_NAME</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#DEFAULT_TABLE_NAME">DEFAULT_TABLE_NAME</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#HEADS_TABLE_NAME_KEY">HEADS_TABLE_NAME_KEY</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#TABLE_NAME_KEY">TABLE_NAME_KEY</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#getCreateTableOptions-org.apache.kudu.Schema-int-int-int-">getCreateTableOptions</a></span>(<a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema,
-                     int&nbsp;numReplicas,
-                     int&nbsp;rangePartitions,
-                     int&nbsp;hashPartitions)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#getHeadsTableSchema--">getHeadsTableSchema</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html#getTableSchema--">getTableSchema</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="TABLE_NAME_KEY">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>TABLE_NAME_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TABLE_NAME_KEY</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.TABLE_NAME_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="DEFAULT_TABLE_NAME">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DEFAULT_TABLE_NAME</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_TABLE_NAME</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.DEFAULT_TABLE_NAME">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="HEADS_TABLE_NAME_KEY">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>HEADS_TABLE_NAME_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> HEADS_TABLE_NAME_KEY</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.HEADS_TABLE_NAME_KEY">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="DEFAULT_HEADS_TABLE_NAME">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DEFAULT_HEADS_TABLE_NAME</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_HEADS_TABLE_NAME</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.DEFAULT_HEADS_TABLE_NAME">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_KEY_ONE">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_KEY_ONE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_KEY_ONE</pre>
-<div class="block">Row key, two times 8 bytes.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_KEY_ONE">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_KEY_ONE_IDX">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_KEY_ONE_IDX</h4>
-<pre>public static final&nbsp;int COLUMN_KEY_ONE_IDX</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_KEY_ONE_IDX">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_KEY_TWO">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_KEY_TWO</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_KEY_TWO</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_KEY_TWO">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_KEY_TWO_IDX">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_KEY_TWO_IDX</h4>
-<pre>public static final&nbsp;int COLUMN_KEY_TWO_IDX</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_KEY_TWO_IDX">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_PREV_ONE">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_PREV_ONE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_PREV_ONE</pre>
-<div class="block">Link to the id of the prev node in the linked list, two times 8 bytes.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_PREV_ONE">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_PREV_ONE_IDX">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_PREV_ONE_IDX</h4>
-<pre>public static final&nbsp;int COLUMN_PREV_ONE_IDX</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_PREV_ONE_IDX">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_PREV_TWO">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_PREV_TWO</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_PREV_TWO</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_PREV_TWO">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_PREV_TWO_IDX">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_PREV_TWO_IDX</h4>
-<pre>public static final&nbsp;int COLUMN_PREV_TWO_IDX</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_PREV_TWO_IDX">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_ROW_ID">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_ROW_ID</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_ROW_ID</pre>
-<div class="block">the id of the row within the same client.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_ROW_ID">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_ROW_ID_IDX">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_ROW_ID_IDX</h4>
-<pre>public static final&nbsp;int COLUMN_ROW_ID_IDX</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_ROW_ID_IDX">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_CLIENT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_CLIENT</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_CLIENT</pre>
-<div class="block">identifier of the mapred task that generated this row.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_CLIENT">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_CLIENT_IDX">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_CLIENT_IDX</h4>
-<pre>public static final&nbsp;int COLUMN_CLIENT_IDX</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_CLIENT_IDX">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_UPDATE_COUNT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_UPDATE_COUNT</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_UPDATE_COUNT</pre>
-<div class="block">The number of times this row was updated.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_UPDATE_COUNT">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="COLUMN_UPDATE_COUNT_IDX">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>COLUMN_UPDATE_COUNT_IDX</h4>
-<pre>public static final&nbsp;int COLUMN_UPDATE_COUNT_IDX</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.kudu.mapreduce.tools.BigLinkedListCommon.COLUMN_UPDATE_COUNT_IDX">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getTableSchema--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getTableSchema</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getTableSchema()</pre>
-</li>
-</ul>
-<a name="getHeadsTableSchema--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getHeadsTableSchema</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getHeadsTableSchema()</pre>
-</li>
-</ul>
-<a name="getCreateTableOptions-org.apache.kudu.Schema-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getCreateTableOptions</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;getCreateTableOptions(<a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema,
-                                                       int&nbsp;numReplicas,
-                                                       int&nbsp;rangePartitions,
-                                                       int&nbsp;hashPartitions)</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" target="_top">Frames</a></li>
-<li><a href="BigLinkedListCommon.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/tools/CsvParser.html b/apidocs/org/apache/kudu/mapreduce/tools/CsvParser.html
deleted file mode 100644
index ee7a0e6..0000000
--- a/apidocs/org/apache/kudu/mapreduce/tools/CsvParser.html
+++ /dev/null
@@ -1,294 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>CsvParser</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CsvParser";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/CsvParser.html" target="_top">Frames</a></li>
-<li><a href="CsvParser.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.kudu.mapreduce.tools</div>
-<h2 title="Class CsvParser" class="title">Class CsvParser</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.kudu.mapreduce.tools.CsvParser</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>@InterfaceAudience.Public
- @InterfaceStability.Unstable
-public class <span class="typeNameLabel">CsvParser</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">Column-separated values parser that gives access to the different columns inside each line of
- data.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/CsvParser.html#CsvParser-java.lang.String-java.lang.String-">CsvParser</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnsSpecification,
-         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;separatorStr)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>org.apache.kudu.mapreduce.tools.CsvParser.ParsedLine</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/CsvParser.html#parse-byte:A-int-">parse</a></span>(byte[]&nbsp;lineBytes,
-     int&nbsp;length)</code>
-<div class="block">Creates a ParsedLine of a line of data.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="CsvParser-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>CsvParser</h4>
-<pre>public&nbsp;CsvParser(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnsSpecification,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;separatorStr)</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>columnsSpecification</code> - the list of columns to parse out, comma separated.</dd>
-<dd><code>separatorStr</code> - The 1 byte separator.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="parse-byte:A-int-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>parse</h4>
-<pre>public&nbsp;org.apache.kudu.mapreduce.tools.CsvParser.ParsedLine&nbsp;parse(byte[]&nbsp;lineBytes,
-                                                                  int&nbsp;length)
-                                                           throws org.apache.kudu.mapreduce.tools.CsvParser.BadCsvLineException</pre>
-<div class="block">Creates a ParsedLine of a line of data.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>lineBytes</code> - Whole line as a byte array.</dd>
-<dd><code>length</code> - How long the line really is in the byte array</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>A parsed line of CSV.</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>org.apache.kudu.mapreduce.tools.CsvParser.BadCsvLineException</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/CsvParser.html" target="_top">Frames</a></li>
-<li><a href="CsvParser.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/tools/ExportCsv.html b/apidocs/org/apache/kudu/mapreduce/tools/ExportCsv.html
deleted file mode 100644
index ca8e5a9..0000000
--- a/apidocs/org/apache/kudu/mapreduce/tools/ExportCsv.html
+++ /dev/null
@@ -1,350 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>ExportCsv</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExportCsv";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/ExportCsv.html" target="_top">Frames</a></li>
-<li><a href="ExportCsv.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.kudu.mapreduce.tools</div>
-<h2 title="Class ExportCsv" class="title">Class ExportCsv</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.conf.Configured</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.kudu.mapreduce.tools.ExportCsv</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>org.apache.hadoop.conf.Configurable, org.apache.hadoop.util.Tool</dd>
-</dl>
-<hr>
-<br>
-<pre>@InterfaceAudience.Public
- @InterfaceStability.Unstable
-public class <span class="typeNameLabel">ExportCsv</span>
-extends org.apache.hadoop.conf.Configured
-implements org.apache.hadoop.util.Tool</pre>
-<div class="block">Map-only job that reads Kudu rows and writes them into a CSV file.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/ExportCsv.html#ExportCsv--">ExportCsv</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static org.apache.hadoop.mapreduce.Job</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/ExportCsv.html#createSubmittableJob-org.apache.hadoop.conf.Configuration-java.lang.String:A-">createSubmittableJob</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
-<div class="block">Sets up the actual job.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/ExportCsv.html#main-java.lang.String:A-">main</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/ExportCsv.html#run-java.lang.String:A-">run</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;otherArgs)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.conf.Configured">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.hadoop.conf.Configured</h3>
-<code>getConf, setConf</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.conf.Configurable">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;org.apache.hadoop.conf.Configurable</h3>
-<code>getConf, setConf</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ExportCsv--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ExportCsv</h4>
-<pre>public&nbsp;ExportCsv()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="createSubmittableJob-org.apache.hadoop.conf.Configuration-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>createSubmittableJob</h4>
-<pre>public static&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;createSubmittableJob(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
-                                                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
-                                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></pre>
-<div class="block">Sets up the actual job.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - the current configuration</dd>
-<dd><code>args</code> - the command line parameters</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the newly created job</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - when setting up the job fails</dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="run-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>run</h4>
-<pre>public&nbsp;int&nbsp;run(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;otherArgs)
-        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>run</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.util.Tool</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
-                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/ExportCsv.html" target="_top">Frames</a></li>
-<li><a href="ExportCsv.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/tools/ImportCsv.html b/apidocs/org/apache/kudu/mapreduce/tools/ImportCsv.html
deleted file mode 100644
index 9e25217..0000000
--- a/apidocs/org/apache/kudu/mapreduce/tools/ImportCsv.html
+++ /dev/null
@@ -1,350 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>ImportCsv</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ImportCsv";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/ImportCsv.html" target="_top">Frames</a></li>
-<li><a href="ImportCsv.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.kudu.mapreduce.tools</div>
-<h2 title="Class ImportCsv" class="title">Class ImportCsv</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.conf.Configured</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.kudu.mapreduce.tools.ImportCsv</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>org.apache.hadoop.conf.Configurable, org.apache.hadoop.util.Tool</dd>
-</dl>
-<hr>
-<br>
-<pre>@InterfaceAudience.Public
- @InterfaceStability.Unstable
-public class <span class="typeNameLabel">ImportCsv</span>
-extends org.apache.hadoop.conf.Configured
-implements org.apache.hadoop.util.Tool</pre>
-<div class="block">Map-only job that reads CSV files and inserts them into a single Kudu table.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportCsv.html#ImportCsv--">ImportCsv</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static org.apache.hadoop.mapreduce.Job</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportCsv.html#createSubmittableJob-org.apache.hadoop.conf.Configuration-java.lang.String:A-">createSubmittableJob</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
-<div class="block">Sets up the actual job.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportCsv.html#main-java.lang.String:A-">main</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportCsv.html#run-java.lang.String:A-">run</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;otherArgs)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.conf.Configured">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.hadoop.conf.Configured</h3>
-<code>getConf, setConf</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.conf.Configurable">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;org.apache.hadoop.conf.Configurable</h3>
-<code>getConf, setConf</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ImportCsv--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ImportCsv</h4>
-<pre>public&nbsp;ImportCsv()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="createSubmittableJob-org.apache.hadoop.conf.Configuration-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>createSubmittableJob</h4>
-<pre>public static&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;createSubmittableJob(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
-                                                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
-                                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></pre>
-<div class="block">Sets up the actual job.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - the current configuration</dd>
-<dd><code>args</code> - the command line parameters</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the newly created job</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - when setting up the job fails</dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="run-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>run</h4>
-<pre>public&nbsp;int&nbsp;run(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;otherArgs)
-        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>run</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.util.Tool</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
-                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/ImportCsv.html" target="_top">Frames</a></li>
-<li><a href="ImportCsv.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/tools/ImportParquet.html b/apidocs/org/apache/kudu/mapreduce/tools/ImportParquet.html
deleted file mode 100644
index f42128d..0000000
--- a/apidocs/org/apache/kudu/mapreduce/tools/ImportParquet.html
+++ /dev/null
@@ -1,350 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>ImportParquet</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ImportParquet";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/ImportParquet.html" target="_top">Frames</a></li>
-<li><a href="ImportParquet.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.kudu.mapreduce.tools</div>
-<h2 title="Class ImportParquet" class="title">Class ImportParquet</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.conf.Configured</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.kudu.mapreduce.tools.ImportParquet</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>org.apache.hadoop.conf.Configurable, org.apache.hadoop.util.Tool</dd>
-</dl>
-<hr>
-<br>
-<pre>@InterfaceAudience.Public
- @InterfaceStability.Unstable
-public class <span class="typeNameLabel">ImportParquet</span>
-extends org.apache.hadoop.conf.Configured
-implements org.apache.hadoop.util.Tool</pre>
-<div class="block">Map-only job that reads Apache Parquet files and inserts them into a single Kudu table.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportParquet.html#ImportParquet--">ImportParquet</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static org.apache.hadoop.mapreduce.Job</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportParquet.html#createSubmittableJob-org.apache.hadoop.conf.Configuration-java.lang.String:A-">createSubmittableJob</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
-<div class="block">Sets up the actual job.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportParquet.html#main-java.lang.String:A-">main</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportParquet.html#run-java.lang.String:A-">run</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;otherArgs)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.conf.Configured">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.hadoop.conf.Configured</h3>
-<code>getConf, setConf</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.conf.Configurable">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;org.apache.hadoop.conf.Configurable</h3>
-<code>getConf, setConf</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ImportParquet--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ImportParquet</h4>
-<pre>public&nbsp;ImportParquet()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="createSubmittableJob-org.apache.hadoop.conf.Configuration-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>createSubmittableJob</h4>
-<pre>public static&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;createSubmittableJob(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
-                                                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
-                                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></pre>
-<div class="block">Sets up the actual job.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - the current configuration</dd>
-<dd><code>args</code> - the command line parameters</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the newly created job</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - when setting up the job fails</dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="run-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>run</h4>
-<pre>public&nbsp;int&nbsp;run(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;otherArgs)
-        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>run</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.util.Tool</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
-                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/ImportParquet.html" target="_top">Frames</a></li>
-<li><a href="ImportParquet.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/tools/package-frame.html b/apidocs/org/apache/kudu/mapreduce/tools/package-frame.html
deleted file mode 100644
index 9641d71..0000000
--- a/apidocs/org/apache/kudu/mapreduce/tools/package-frame.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>org.apache.kudu.mapreduce.tools</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../org/apache/kudu/mapreduce/tools/package-summary.html" target="classFrame">org.apache.kudu.mapreduce.tools</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">BigLinkedListCommon</a></li>
-<li><a href="CsvParser.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">CsvParser</a></li>
-<li><a href="ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">ExportCsv</a></li>
-<li><a href="ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">ImportCsv</a></li>
-<li><a href="ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">ImportParquet</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/tools/package-summary.html b/apidocs/org/apache/kudu/mapreduce/tools/package-summary.html
deleted file mode 100644
index fc3805f..0000000
--- a/apidocs/org/apache/kudu/mapreduce/tools/package-summary.html
+++ /dev/null
@@ -1,167 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>org.apache.kudu.mapreduce.tools</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.kudu.mapreduce.tools";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/kudu/mapreduce/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/kudu/test/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.kudu.mapreduce.tools</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></td>
-<td class="colLast">
-<div class="block">Static constants, helper methods, and utility classes for BigLinkedList
- implementations.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools">CsvParser</a></td>
-<td class="colLast">
-<div class="block">Column-separated values parser that gives access to the different columns inside each line of
- data.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ExportCsv</a></td>
-<td class="colLast">
-<div class="block">Map-only job that reads Kudu rows and writes them into a CSV file.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ImportCsv</a></td>
-<td class="colLast">
-<div class="block">Map-only job that reads CSV files and inserts them into a single Kudu table.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools">ImportParquet</a></td>
-<td class="colLast">
-<div class="block">Map-only job that reads Apache Parquet files and inserts them into a single Kudu table.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/kudu/mapreduce/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/kudu/test/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/mapreduce/tools/package-tree.html b/apidocs/org/apache/kudu/mapreduce/tools/package-tree.html
deleted file mode 100644
index b281661..0000000
--- a/apidocs/org/apache/kudu/mapreduce/tools/package-tree.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>org.apache.kudu.mapreduce.tools Class Hierarchy</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.kudu.mapreduce.tools Class Hierarchy";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/kudu/mapreduce/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/kudu/test/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.kudu.mapreduce.tools</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
-<ul>
-<li type="circle">org.apache.kudu.mapreduce.tools.<a href="../../../../../org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">BigLinkedListCommon</span></a></li>
-<li type="circle">org.apache.hadoop.conf.Configured (implements org.apache.hadoop.conf.Configurable)
-<ul>
-<li type="circle">org.apache.kudu.mapreduce.tools.<a href="../../../../../org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">ExportCsv</span></a> (implements org.apache.hadoop.util.Tool)</li>
-<li type="circle">org.apache.kudu.mapreduce.tools.<a href="../../../../../org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">ImportCsv</span></a> (implements org.apache.hadoop.util.Tool)</li>
-<li type="circle">org.apache.kudu.mapreduce.tools.<a href="../../../../../org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">ImportParquet</span></a> (implements org.apache.hadoop.util.Tool)</li>
-</ul>
-</li>
-<li type="circle">org.apache.kudu.mapreduce.tools.<a href="../../../../../org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">CsvParser</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/kudu/mapreduce/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/kudu/test/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/kudu/mapreduce/tools/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/apidocs/org/apache/kudu/package-tree.html b/apidocs/org/apache/kudu/package-tree.html
index d701432..5e3cc7f 100644
--- a/apidocs/org/apache/kudu/package-tree.html
+++ b/apidocs/org/apache/kudu/package-tree.html
@@ -93,9 +93,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu"><span class="typeNameLink">Type</span></a></li>
-<li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.Encoding</span></a></li>
 <li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.CompressionAlgorithm</span></a></li>
+<li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.Encoding</span></a></li>
+<li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu"><span class="typeNameLink">Type</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/apidocs/org/apache/kudu/spark/tools/BigLinkedListCommon.html b/apidocs/org/apache/kudu/spark/tools/BigLinkedListCommon.html
new file mode 100644
index 0000000..0b18a48
--- /dev/null
+++ b/apidocs/org/apache/kudu/spark/tools/BigLinkedListCommon.html
@@ -0,0 +1,617 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>BigLinkedListCommon</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="BigLinkedListCommon";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kudu/spark/tools/BigLinkedListCommon.html" target="_top">Frames</a></li>
+<li><a href="BigLinkedListCommon.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.spark.tools</div>
+<h2 title="Class BigLinkedListCommon" class="title">Class BigLinkedListCommon</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.spark.tools.BigLinkedListCommon</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">BigLinkedListCommon</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Static constants, helper methods, and utility classes for BigLinkedList
+ implementations.
+
+ Any definitions which must be kept in-sync between ITBLL implementations
+ should be kept here.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_CLIENT">COLUMN_CLIENT</a></span></code>
+<div class="block">identifier of the mapred task that generated this row.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_CLIENT_IDX">COLUMN_CLIENT_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE">COLUMN_KEY_ONE</a></span></code>
+<div class="block">Row key, two times 8 bytes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE_IDX">COLUMN_KEY_ONE_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO">COLUMN_KEY_TWO</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO_IDX">COLUMN_KEY_TWO_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE">COLUMN_PREV_ONE</a></span></code>
+<div class="block">Link to the id of the prev node in the linked list, two times 8 bytes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE_IDX">COLUMN_PREV_ONE_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO">COLUMN_PREV_TWO</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO_IDX">COLUMN_PREV_TWO_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_ROW_ID">COLUMN_ROW_ID</a></span></code>
+<div class="block">the id of the row within the same client.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_ROW_ID_IDX">COLUMN_ROW_ID_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT">COLUMN_UPDATE_COUNT</a></span></code>
+<div class="block">The number of times this row was updated.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT_IDX">COLUMN_UPDATE_COUNT_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#DEFAULT_HEADS_TABLE_NAME">DEFAULT_HEADS_TABLE_NAME</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#DEFAULT_TABLE_NAME">DEFAULT_TABLE_NAME</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#HEADS_TABLE_NAME_KEY">HEADS_TABLE_NAME_KEY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#TABLE_NAME_KEY">TABLE_NAME_KEY</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#getCreateTableOptions-org.apache.kudu.Schema-int-int-int-">getCreateTableOptions</a></span>(<a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema,
+                     int&nbsp;numReplicas,
+                     int&nbsp;rangePartitions,
+                     int&nbsp;hashPartitions)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#getHeadsTableSchema--">getHeadsTableSchema</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#getTableSchema--">getTableSchema</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="TABLE_NAME_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TABLE_NAME_KEY</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TABLE_NAME_KEY</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.TABLE_NAME_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="DEFAULT_TABLE_NAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DEFAULT_TABLE_NAME</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_TABLE_NAME</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.DEFAULT_TABLE_NAME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="HEADS_TABLE_NAME_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>HEADS_TABLE_NAME_KEY</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> HEADS_TABLE_NAME_KEY</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.HEADS_TABLE_NAME_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="DEFAULT_HEADS_TABLE_NAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DEFAULT_HEADS_TABLE_NAME</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_HEADS_TABLE_NAME</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.DEFAULT_HEADS_TABLE_NAME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_KEY_ONE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_KEY_ONE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_KEY_ONE</pre>
+<div class="block">Row key, two times 8 bytes.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_ONE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_KEY_ONE_IDX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_KEY_ONE_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_KEY_ONE_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_ONE_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_KEY_TWO">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_KEY_TWO</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_KEY_TWO</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_TWO">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_KEY_TWO_IDX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_KEY_TWO_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_KEY_TWO_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_TWO_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_PREV_ONE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_PREV_ONE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_PREV_ONE</pre>
+<div class="block">Link to the id of the prev node in the linked list, two times 8 bytes.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_ONE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_PREV_ONE_IDX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_PREV_ONE_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_PREV_ONE_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_ONE_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_PREV_TWO">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_PREV_TWO</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_PREV_TWO</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_TWO">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_PREV_TWO_IDX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_PREV_TWO_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_PREV_TWO_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_TWO_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_ROW_ID">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_ROW_ID</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_ROW_ID</pre>
+<div class="block">the id of the row within the same client.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_ROW_ID">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_ROW_ID_IDX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_ROW_ID_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_ROW_ID_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_ROW_ID_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_CLIENT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_CLIENT</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_CLIENT</pre>
+<div class="block">identifier of the mapred task that generated this row.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_CLIENT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_CLIENT_IDX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_CLIENT_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_CLIENT_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_CLIENT_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_UPDATE_COUNT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_UPDATE_COUNT</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_UPDATE_COUNT</pre>
+<div class="block">The number of times this row was updated.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_UPDATE_COUNT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_UPDATE_COUNT_IDX">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>COLUMN_UPDATE_COUNT_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_UPDATE_COUNT_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_UPDATE_COUNT_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTableSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableSchema</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getTableSchema()</pre>
+</li>
+</ul>
+<a name="getHeadsTableSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHeadsTableSchema</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getHeadsTableSchema()</pre>
+</li>
+</ul>
+<a name="getCreateTableOptions-org.apache.kudu.Schema-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getCreateTableOptions</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;getCreateTableOptions(<a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema,
+                                                       int&nbsp;numReplicas,
+                                                       int&nbsp;rangePartitions,
+                                                       int&nbsp;hashPartitions)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kudu/spark/tools/BigLinkedListCommon.html" target="_top">Frames</a></li>
+<li><a href="BigLinkedListCommon.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/apidocs/org/apache/kudu/spark/tools/package-frame.html b/apidocs/org/apache/kudu/spark/tools/package-frame.html
new file mode 100644
index 0000000..255bb24
--- /dev/null
+++ b/apidocs/org/apache/kudu/spark/tools/package-frame.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.spark.tools</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/kudu/spark/tools/package-summary.html" target="classFrame">org.apache.kudu.spark.tools</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools" target="classFrame">BigLinkedListCommon</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/apidocs/org/apache/kudu/spark/tools/package-summary.html b/apidocs/org/apache/kudu/spark/tools/package-summary.html
new file mode 100644
index 0000000..41d22f7
--- /dev/null
+++ b/apidocs/org/apache/kudu/spark/tools/package-summary.html
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.spark.tools</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.kudu.spark.tools";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/kudu/client/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/kudu/test/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kudu/spark/tools/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.kudu.spark.tools</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></td>
+<td class="colLast">
+<div class="block">Static constants, helper methods, and utility classes for BigLinkedList
+ implementations.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/kudu/client/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/kudu/test/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kudu/spark/tools/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/apidocs/org/apache/kudu/spark/tools/package-tree.html b/apidocs/org/apache/kudu/spark/tools/package-tree.html
new file mode 100644
index 0000000..db32cdb
--- /dev/null
+++ b/apidocs/org/apache/kudu/spark/tools/package-tree.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.spark.tools Class Hierarchy</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.kudu.spark.tools Class Hierarchy";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/kudu/client/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/kudu/test/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kudu/spark/tools/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.kudu.spark.tools</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.kudu.spark.tools.<a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools"><span class="typeNameLink">BigLinkedListCommon</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/kudu/client/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/kudu/test/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kudu/spark/tools/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/apidocs/org/apache/kudu/test/KuduTestHarness.html b/apidocs/org/apache/kudu/test/KuduTestHarness.html
index 69d53a0..53a8248 100644
--- a/apidocs/org/apache/kudu/test/KuduTestHarness.html
+++ b/apidocs/org/apache/kudu/test/KuduTestHarness.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -246,98 +246,134 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getMasterServers--">getMasterServers</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getPrincipal--">getPrincipal</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.kudu.client.HostAndPort&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getTabletServers--">getTabletServers</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#kdestroy--">kdestroy</a></span>()</code>
 <div class="block">Removes all credentials for all principals from the Kerberos credential cache.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killAllMasterServers--">killAllMasterServers</a></span>()</code>
 <div class="block">Kills all the master servers.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killAllTabletServers--">killAllTabletServers</a></span>()</code>
 <div class="block">Kills all the tablet servers.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killLeaderMasterServer--">killLeaderMasterServer</a></span>()</code>
 <div class="block">Helper method to easily kill the leader master.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.KuduTable-">killTabletLeader</a></span>(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</code>
 <div class="block">Helper method to easily kill a tablet server that serves the given table's only tablet's
  leader.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.LocatedTablet-">killTabletLeader</a></span>(<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;tablet)</code>
-<div class="block">Helper method to kill a tablet server that serves the given tablet's
- leader.</div>
-</td>
-</tr>
 <tr id="i18" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.RemoteTablet-">killTabletLeader</a></span>(org.apache.kudu.client.RemoteTablet&nbsp;tablet)</code>
-<div class="block">Helper method to kill a tablet server that serves the given tablet's
- leader.</div>
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.LocatedTablet-">killTabletLeader</a></span>(<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;tablet)</code>
+<div class="block">Helper method to kill a tablet server that serves the given tablet's leader
+ replica.</div>
 </td>
 </tr>
 <tr id="i19" class="rowColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.RemoteTablet-">killTabletLeader</a></span>(org.apache.kudu.client.RemoteTablet&nbsp;tablet)</code>
+<div class="block">Helper method to kill a tablet server that hosts the given tablet's leader
+ replica.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#kinit-java.lang.String-">kinit</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;username)</code>
 <div class="block">Re-initialize Kerberos credentials for the given username, writing them
  into the Kerberos credential cache.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#pauseLeaderMaster--">pauseLeaderMaster</a></span>()</code>
+<div class="block">Finds and pauses the leader master.</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#pauseMaster-org.apache.kudu.client.HostAndPort-">pauseMaster</a></span>(org.apache.kudu.client.HostAndPort&nbsp;hp)</code>
+<div class="block">Pauses the specified master.</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#resetClients--">resetClients</a></span>()</code>
 <div class="block">Resets the clients so that their state is completely fresh, including meta
  cache, connections, open tables, sessions and scanners, and propagated timestamp.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#restartLeaderMaster--">restartLeaderMaster</a></span>()</code>
 <div class="block">Kills and restarts the leader master.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#restartTabletServer-org.apache.kudu.client.KuduTable-">restartTabletServer</a></span>(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</code>
 <div class="block">Picks at random a tablet server that serves tablets from the passed table and restarts it.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#restartTabletServer-org.apache.kudu.client.RemoteTablet-">restartTabletServer</a></span>(org.apache.kudu.client.RemoteTablet&nbsp;tablet)</code>
 <div class="block">Kills a tablet server that serves the given tablet's leader and restarts it.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#resumeMaster-org.apache.kudu.client.HostAndPort-">resumeMaster</a></span>(org.apache.kudu.client.HostAndPort&nbsp;hp)</code>
+<div class="block">Resumes the specified master.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#startAllMasterServers--">startAllMasterServers</a></span>()</code>
 <div class="block">Starts all the master servers.</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#startAllTabletServers--">startAllTabletServers</a></span>()</code>
 <div class="block">Starts all the tablet servers.</div>
 </td>
 </tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#startMaster-org.apache.kudu.client.HostAndPort-">startMaster</a></span>(org.apache.kudu.client.HostAndPort&nbsp;hp)</code>
+<div class="block">Start master which has previously been registered at the specified
+ host and port.</div>
+</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#startTabletServer-org.apache.kudu.client.HostAndPort-">startTabletServer</a></span>(org.apache.kudu.client.HostAndPort&nbsp;hp)</code>
+<div class="block">Start tablet server which has previously been registered at the specified
+ host and port.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -509,18 +545,20 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>killTabletLeader</h4>
-<pre>public&nbsp;void&nbsp;killTabletLeader(org.apache.kudu.client.RemoteTablet&nbsp;tablet)
-                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<div class="block">Helper method to kill a tablet server that serves the given tablet's
- leader. The currently running test case will be failed if the tablet has no
- leader after some retries, or if the tablet server was already killed.
-
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;killTabletLeader(org.apache.kudu.client.RemoteTablet&nbsp;tablet)
+                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Helper method to kill a tablet server that hosts the given tablet's leader
+ replica.
  This method is thread-safe.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>tablet</code> - a RemoteTablet which will get its leader killed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the tablet server which hosted the tablet's
+         leader replica</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if no leader replica found after a few retries,
+         or if the tablet server isn't running</dd>
 </dl>
 </li>
 </ul>
@@ -530,18 +568,21 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>killTabletLeader</h4>
-<pre>public&nbsp;void&nbsp;killTabletLeader(<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;tablet)
-                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<div class="block">Helper method to kill a tablet server that serves the given tablet's
- leader. The currently running test case will be failed if the tablet has no
- leader after some retries, or if the tablet server was already killed.
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;killTabletLeader(<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;tablet)
+                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Helper method to kill a tablet server that serves the given tablet's leader
+ replica.
 
  This method is thread-safe.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>tablet</code> - a LocatedTablet which will get its leader killed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the tablet server which hosted the tablet's
+         leader replica</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if no leader replica found or if the tablet server isn't
+                   running</dd>
 </dl>
 </li>
 </ul>
@@ -560,24 +601,25 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the host and port of the given tablet's leader tserver</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if we are unable to find the leader tserver</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if unable to find a tablet server with leader replica</dd>
 </dl>
 </li>
 </ul>
-<a name="killLeaderMasterServer--">
+<a name="startTabletServer-org.apache.kudu.client.HostAndPort-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>killLeaderMasterServer</h4>
-<pre>public&nbsp;void&nbsp;killLeaderMasterServer()
-                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<div class="block">Helper method to easily kill the leader master.
-
- This method is thread-safe.</div>
+<h4>startTabletServer</h4>
+<pre>public&nbsp;void&nbsp;startTabletServer(org.apache.kudu.client.HostAndPort&nbsp;hp)
+                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Start tablet server which has previously been registered at the specified
+ host and port.</div>
 <dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>hp</code> - host and port of the tablet server to start back</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if there is an error finding or killing the leader master.</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -598,6 +640,25 @@
 </dl>
 </li>
 </ul>
+<a name="killLeaderMasterServer--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>killLeaderMasterServer</h4>
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;killLeaderMasterServer()
+                                                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Helper method to easily kill the leader master.
+
+ This method is thread-safe.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the detected leader master</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if there is an error finding or killing the leader master.</dd>
+</dl>
+</li>
+</ul>
 <a name="restartTabletServer-org.apache.kudu.client.KuduTable-">
 <!--   -->
 </a>
@@ -621,12 +682,14 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>restartTabletServer</h4>
-<pre>public&nbsp;void&nbsp;restartTabletServer(org.apache.kudu.client.RemoteTablet&nbsp;tablet)
-                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;restartTabletServer(org.apache.kudu.client.RemoteTablet&nbsp;tablet)
+                                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Kills a tablet server that serves the given tablet's leader and restarts it.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>tablet</code> - a RemoteTablet which will get its leader killed and restarted</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the restarted tablet server</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
@@ -638,10 +701,77 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>restartLeaderMaster</h4>
-<pre>public&nbsp;void&nbsp;restartLeaderMaster()
-                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;restartLeaderMaster()
+                                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Kills and restarts the leader master.</div>
 <dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the restarted master</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="startMaster-org.apache.kudu.client.HostAndPort-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startMaster</h4>
+<pre>public&nbsp;void&nbsp;startMaster(org.apache.kudu.client.HostAndPort&nbsp;hp)
+                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Start master which has previously been registered at the specified
+ host and port.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>hp</code> - host and port of the master to start back</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="pauseLeaderMaster--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pauseLeaderMaster</h4>
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;pauseLeaderMaster()
+                                                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Finds and pauses the leader master.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the paused master</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="pauseMaster-org.apache.kudu.client.HostAndPort-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pauseMaster</h4>
+<pre>public&nbsp;void&nbsp;pauseMaster(org.apache.kudu.client.HostAndPort&nbsp;hp)
+                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Pauses the specified master.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="resumeMaster-org.apache.kudu.client.HostAndPort-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>resumeMaster</h4>
+<pre>public&nbsp;void&nbsp;resumeMaster(org.apache.kudu.client.HostAndPort&nbsp;hp)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Resumes the specified master.</div>
+<dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
@@ -701,6 +831,19 @@
 </dl>
 </li>
 </ul>
+<a name="getPrincipal--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPrincipal</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getPrincipal()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the service principal name</dd>
+</dl>
+</li>
+</ul>
 <a name="killAllMasterServers--">
 <!--   -->
 </a>
diff --git a/apidocs/org/apache/kudu/test/package-summary.html b/apidocs/org/apache/kudu/test/package-summary.html
index a664c82..ffd6d54 100644
--- a/apidocs/org/apache/kudu/test/package-summary.html
+++ b/apidocs/org/apache/kudu/test/package-summary.html
@@ -41,7 +41,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/tools/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/kudu/spark/tools/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../org/apache/kudu/util/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -111,7 +111,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/tools/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/kudu/spark/tools/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../org/apache/kudu/util/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
diff --git a/apidocs/org/apache/kudu/test/package-tree.html b/apidocs/org/apache/kudu/test/package-tree.html
index b26623c..c3fdee6 100644
--- a/apidocs/org/apache/kudu/test/package-tree.html
+++ b/apidocs/org/apache/kudu/test/package-tree.html
@@ -41,7 +41,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/tools/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/kudu/spark/tools/package-tree.html">Prev</a></li>
 <li><a href="../../../../org/apache/kudu/util/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -108,7 +108,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/kudu/mapreduce/tools/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/kudu/spark/tools/package-tree.html">Prev</a></li>
 <li><a href="../../../../org/apache/kudu/util/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
diff --git a/apidocs/overview-frame.html b/apidocs/overview-frame.html
index 75b9215..79263ae 100644
--- a/apidocs/overview-frame.html
+++ b/apidocs/overview-frame.html
@@ -14,8 +14,7 @@
 <ul title="Packages">
 <li><a href="org/apache/kudu/package-frame.html" target="packageFrame">org.apache.kudu</a></li>
 <li><a href="org/apache/kudu/client/package-frame.html" target="packageFrame">org.apache.kudu.client</a></li>
-<li><a href="org/apache/kudu/mapreduce/package-frame.html" target="packageFrame">org.apache.kudu.mapreduce</a></li>
-<li><a href="org/apache/kudu/mapreduce/tools/package-frame.html" target="packageFrame">org.apache.kudu.mapreduce.tools</a></li>
+<li><a href="org/apache/kudu/spark/tools/package-frame.html" target="packageFrame">org.apache.kudu.spark.tools</a></li>
 <li><a href="org/apache/kudu/test/package-frame.html" target="packageFrame">org.apache.kudu.test</a></li>
 <li><a href="org/apache/kudu/util/package-frame.html" target="packageFrame">org.apache.kudu.util</a></li>
 </ul>
diff --git a/apidocs/overview-summary.html b/apidocs/overview-summary.html
index 8ccea9b..26ff611 100644
--- a/apidocs/overview-summary.html
+++ b/apidocs/overview-summary.html
@@ -84,18 +84,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="org/apache/kudu/mapreduce/package-summary.html">org.apache.kudu.mapreduce</a></td>
+<td class="colFirst"><a href="org/apache/kudu/spark/tools/package-summary.html">org.apache.kudu.spark.tools</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="org/apache/kudu/mapreduce/tools/package-summary.html">org.apache.kudu.mapreduce.tools</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="org/apache/kudu/test/package-summary.html">org.apache.kudu.test</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/kudu/util/package-summary.html">org.apache.kudu.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/apidocs/overview-tree.html b/apidocs/overview-tree.html
index d2d5b26..7646d94 100644
--- a/apidocs/overview-tree.html
+++ b/apidocs/overview-tree.html
@@ -73,8 +73,7 @@
 <ul class="horizontal">
 <li><a href="org/apache/kudu/package-tree.html">org.apache.kudu</a>, </li>
 <li><a href="org/apache/kudu/client/package-tree.html">org.apache.kudu.client</a>, </li>
-<li><a href="org/apache/kudu/mapreduce/package-tree.html">org.apache.kudu.mapreduce</a>, </li>
-<li><a href="org/apache/kudu/mapreduce/tools/package-tree.html">org.apache.kudu.mapreduce.tools</a>, </li>
+<li><a href="org/apache/kudu/spark/tools/package-tree.html">org.apache.kudu.spark.tools</a>, </li>
 <li><a href="org/apache/kudu/test/package-tree.html">org.apache.kudu.test</a>, </li>
 <li><a href="org/apache/kudu/util/package-tree.html">org.apache.kudu.util</a></li>
 </ul>
@@ -97,34 +96,20 @@
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduClient.AsyncKuduClientBuilder</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduSession</span></a> (implements org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a>)</li>
-<li type="circle">org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">BigLinkedListCommon</span></a></li>
+<li type="circle">org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools"><span class="typeNameLink">BigLinkedListCommon</span></a></li>
 <li type="circle">org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util"><span class="typeNameLink">BloomFilter</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ColumnRangePredicate</span></a></li>
 <li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnSchema</span></a></li>
 <li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnSchema.ColumnSchemaBuilder</span></a></li>
 <li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnTypeAttributes</span></a></li>
 <li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnTypeAttributes.ColumnTypeAttributesBuilder</span></a></li>
-<li type="circle">org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">CommandLineParser</span></a></li>
-<li type="circle">org.apache.hadoop.conf.Configured (implements org.apache.hadoop.conf.Configurable)
-<ul>
-<li type="circle">org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">ExportCsv</span></a> (implements org.apache.hadoop.util.Tool)</li>
-<li type="circle">org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">ImportCsv</span></a> (implements org.apache.hadoop.util.Tool)</li>
-<li type="circle">org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">ImportParquet</span></a> (implements org.apache.hadoop.util.Tool)</li>
-</ul>
-</li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">CreateTableOptions</span></a></li>
-<li type="circle">org.apache.kudu.mapreduce.tools.<a href="org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools"><span class="typeNameLink">CsvParser</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">DeleteTableResponse</span></a></li>
 <li type="circle">org.junit.rules.ExternalResource (implements org.junit.rules.TestRule)
 <ul>
 <li type="circle">org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test"><span class="typeNameLink">KuduTestHarness</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.hadoop.mapreduce.InputFormat&lt;K,V&gt;
-<ul>
-<li type="circle">org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">KuduTableInputFormat</span></a> (implements org.apache.hadoop.conf.Configurable)</li>
-</ul>
-</li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">IsAlterTableDoneResponse</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">IsCreateTableDoneResponse</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduClient</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
@@ -152,7 +137,6 @@
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanToken</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduSession</span></a> (implements org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a>)</li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTable</span></a></li>
-<li type="circle">org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">KuduTableMapReduceUtil</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTableStatistics</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTransaction</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ListTablesResponse</span></a></li>
@@ -160,22 +144,7 @@
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client"><span class="typeNameLink">LocatedTablet</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client"><span class="typeNameLink">LocatedTablet.Replica</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">OperationResponse</span></a></li>
-<li type="circle">org.apache.hadoop.mapreduce.OutputCommitter
-<ul>
-<li type="circle">org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">KuduTableOutputCommitter</span></a></li>
-</ul>
-</li>
-<li type="circle">org.apache.hadoop.mapreduce.OutputFormat&lt;K,V&gt;
-<ul>
-<li type="circle">org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">KuduTableOutputFormat</span></a> (implements org.apache.hadoop.conf.Configurable)</li>
-</ul>
-</li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client"><span class="typeNameLink">PartialRow</span></a></li>
-<li type="circle">org.apache.hadoop.mapreduce.Reducer&lt;KEYIN,VALUEIN,KEYOUT,VALUEOUT&gt;
-<ul>
-<li type="circle">org.apache.kudu.mapreduce.<a href="org/apache/kudu/mapreduce/TableReducer.html" title="class in org.apache.kudu.mapreduce"><span class="typeNameLink">TableReducer</span></a>&lt;KeyinT,ValueinT,KeyoutT&gt;</li>
-</ul>
-</li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ResourceMetrics</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowError</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowErrorsAndOverflowStatus</span></a></li>
@@ -216,17 +185,17 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.Encoding</span></a></li>
-<li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.CompressionAlgorithm</span></a></li>
-<li type="circle">org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu"><span class="typeNameLink">Type</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.ReadMode</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.RowDataFormat</span></a></li>
+<li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.CompressionAlgorithm</span></a></li>
+<li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.Encoding</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">ExternalConsistencyMode</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">KuduPredicate.ComparisonOp</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">RangePartitionBound</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">ReplicaSelection</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">SessionConfiguration.FlushMode</span></a></li>
 <li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Statistics.Statistic</span></a></li>
+<li type="circle">org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu"><span class="typeNameLink">Type</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/apidocs/package-list b/apidocs/package-list
index e3e8758..c724a2b 100644
--- a/apidocs/package-list
+++ b/apidocs/package-list
@@ -1,6 +1,5 @@
 org.apache.kudu
 org.apache.kudu.client
-org.apache.kudu.mapreduce
-org.apache.kudu.mapreduce.tools
+org.apache.kudu.spark.tools
 org.apache.kudu.test
 org.apache.kudu.util
diff --git a/blog/index.html b/blog/index.html
index e51732d..436b2d7 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -119,6 +119,29 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a></h1>
+    <p class="meta">Posted 22 Jun 2021 by Bankim Bhavsar</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>The Apache Kudu team is happy to announce the release of Kudu 1.15.0!</p>
+
+<p>The new release adds several new features and improvements, including the
+following:</p>
+
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2021/06/22/apache-kudu-1-15-0-released.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a></h1>
     <p class="meta">Posted 28 Jan 2021 by Grant Henke</p>
   </header>
@@ -235,29 +258,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2020/07/30/building-near-real-time-big-data-lake.html">Building Near Real-time Big Data Lake</a></h1>
-    <p class="meta">Posted 30 Jul 2020 by Boris Tyukin</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>Note: This is a cross-post from the Boris Tyukin’s personal blog <a href="https://boristyukin.com/building-near-real-time-big-data-lake-part-2/">Building Near Real-time Big Data Lake: Part 2</a></p>
-
-<p>This is the second part of the series. In <a href="https://boristyukin.com/building-near-real-time-big-data-lake-part-i/">Part 1</a>
-I wrote about our use-case for the Data Lake architecture and shared our success story.</p>
-
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2020/07/30/building-near-real-time-big-data-lake.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -276,6 +276,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -304,8 +306,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/10/index.html b/blog/page/10/index.html
index 30a5708..d0dff98 100644
--- a/blog/page/10/index.html
+++ b/blog/page/10/index.html
@@ -119,6 +119,27 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2016/07/11/weekly-update.html">Apache Kudu (incubating) Weekly Update July 11, 2016</a></h1>
+    <p class="meta">Posted 11 Jul 2016 by Jean-Daniel Cryans</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>Welcome to the sixteenth edition of the Kudu Weekly Update. This weekly blog post
+covers ongoing development and news in the Apache Kudu (incubating) project.</p>
+
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2016/07/11/weekly-update.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2016/07/01/apache-kudu-0-9-1-released.html">Apache Kudu (incubating) 0.9.1 released</a></h1>
     <p class="meta">Posted 01 Jul 2016 by Todd Lipcon</p>
   </header>
@@ -208,30 +229,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2016/06/17/raft-consensus-single-node.html">Using Raft Consensus on a Single Node</a></h1>
-    <p class="meta">Posted 17 Jun 2016 by Mike Percy</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>As Kudu marches toward its 1.0 release, which will include support for
-multi-master operation, we are working on removing old code that is no longer
-needed. One such piece of code is called LocalConsensus. Once LocalConsensus is
-removed, we will be using Raft consensus even on Kudu tables that have a
-replication factor of 1.</p>
-
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2016/06/17/raft-consensus-single-node.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -252,6 +249,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -280,8 +279,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/11/index.html b/blog/page/11/index.html
index 302dc29..43c1525 100644
--- a/blog/page/11/index.html
+++ b/blog/page/11/index.html
@@ -119,6 +119,30 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2016/06/17/raft-consensus-single-node.html">Using Raft Consensus on a Single Node</a></h1>
+    <p class="meta">Posted 17 Jun 2016 by Mike Percy</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>As Kudu marches toward its 1.0 release, which will include support for
+multi-master operation, we are working on removing old code that is no longer
+needed. One such piece of code is called LocalConsensus. Once LocalConsensus is
+removed, we will be using Raft consensus even on Kudu tables that have a
+replication factor of 1.</p>
+
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2016/06/17/raft-consensus-single-node.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2016/06/13/weekly-update.html">Apache Kudu (incubating) Weekly Update June 13, 2016</a></h1>
     <p class="meta">Posted 13 Jun 2016 by Jean-Daniel Cryans</p>
   </header>
@@ -211,27 +235,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2016/06/01/weekly-update.html">Apache Kudu (incubating) Weekly Update June 1, 2016</a></h1>
-    <p class="meta">Posted 01 Jun 2016 by Jean-Daniel Cryans</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>Welcome to the eleventh edition of the Kudu Weekly Update. This weekly blog post
-covers ongoing development and news in the Apache Kudu (incubating) project.</p>
-
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2016/06/01/weekly-update.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -252,6 +255,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -280,8 +285,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/12/index.html b/blog/page/12/index.html
index 83c43e8..74ac759 100644
--- a/blog/page/12/index.html
+++ b/blog/page/12/index.html
@@ -119,6 +119,27 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2016/06/01/weekly-update.html">Apache Kudu (incubating) Weekly Update June 1, 2016</a></h1>
+    <p class="meta">Posted 01 Jun 2016 by Jean-Daniel Cryans</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>Welcome to the eleventh edition of the Kudu Weekly Update. This weekly blog post
+covers ongoing development and news in the Apache Kudu (incubating) project.</p>
+
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2016/06/01/weekly-update.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2016/05/23/weekly-update.html">Apache Kudu (incubating) Weekly Update May 23, 2016</a></h1>
     <p class="meta">Posted 23 May 2016 by Todd Lipcon</p>
   </header>
@@ -200,26 +221,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2016/04/26/ycsb.html">Benchmarking and Improving Kudu Insert Performance with YCSB</a></h1>
-    <p class="meta">Posted 26 Apr 2016 by Todd Lipcon</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>Recently, I wanted to stress-test and benchmark some changes to the Kudu RPC server, and decided to use YCSB as a way to generate reasonable load. While running YCSB, I noticed interesting results, and what started as an unrelated testing exercise eventually yielded some new insights into Kudu’s behavior. These insights will motivate changes to default Kudu settings and code in upcoming versions. This post details the benchmark setup, analysis, and conclusions.</p>
-
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2016/04/26/ycsb.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -240,6 +241,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -268,8 +271,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/13/index.html b/blog/page/13/index.html
index a06890d..332aa1a 100644
--- a/blog/page/13/index.html
+++ b/blog/page/13/index.html
@@ -119,6 +119,26 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2016/04/26/ycsb.html">Benchmarking and Improving Kudu Insert Performance with YCSB</a></h1>
+    <p class="meta">Posted 26 Apr 2016 by Todd Lipcon</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>Recently, I wanted to stress-test and benchmark some changes to the Kudu RPC server, and decided to use YCSB as a way to generate reasonable load. While running YCSB, I noticed interesting results, and what started as an unrelated testing exercise eventually yielded some new insights into Kudu’s behavior. These insights will motivate changes to default Kudu settings and code in upcoming versions. This post details the benchmark setup, analysis, and conclusions.</p>
+
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2016/04/26/ycsb.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2016/04/25/weekly-update.html">Apache Kudu (incubating) Weekly Update April 25, 2016</a></h1>
     <p class="meta">Posted 25 Apr 2016 by Todd Lipcon</p>
   </header>
@@ -212,35 +232,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2016/04/12/apache-kudu-0-8-0-released.html">Apache Kudu (incubating) 0.8.0 released</a></h1>
-    <p class="meta">Posted 12 Apr 2016 by Jean-Daniel Cryans</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>The Apache Kudu (incubating) team is happy to announce the release of Kudu
-0.8.0!</p>
-
-<p>This latest version adds a sink for Apache Flume, partition pruning in the C++
-client and related improvements on the server-side, better error-handling in Java
-client, plus many other improvements and bug fixes.</p>
-
-<ul>
-  <li>Read the detailed <a href="http://kudu.apache.org/releases/0.8.0/docs/release_notes.html">Kudu 0.8.0 release notes</a></li>
-  <li>Download the <a href="http://kudu.apache.org/releases/0.8.0/">Kudu 0.8.0 source release</a></li>
-</ul>
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2016/04/12/apache-kudu-0-8-0-released.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -261,6 +252,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -289,8 +282,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/14/index.html b/blog/page/14/index.html
index 3bb7dce..2dcd611 100644
--- a/blog/page/14/index.html
+++ b/blog/page/14/index.html
@@ -119,6 +119,35 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2016/04/12/apache-kudu-0-8-0-released.html">Apache Kudu (incubating) 0.8.0 released</a></h1>
+    <p class="meta">Posted 12 Apr 2016 by Jean-Daniel Cryans</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>The Apache Kudu (incubating) team is happy to announce the release of Kudu
+0.8.0!</p>
+
+<p>This latest version adds a sink for Apache Flume, partition pruning in the C++
+client and related improvements on the server-side, better error-handling in Java
+client, plus many other improvements and bug fixes.</p>
+
+<ul>
+  <li>Read the detailed <a href="http://kudu.apache.org/releases/0.8.0/docs/release_notes.html">Kudu 0.8.0 release notes</a></li>
+  <li>Download the <a href="http://kudu.apache.org/releases/0.8.0/">Kudu 0.8.0 source release</a></li>
+</ul>
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2016/04/12/apache-kudu-0-8-0-released.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2016/04/11/weekly-update.html">Apache Kudu (incubating) Weekly Update April 11, 2016</a></h1>
     <p class="meta">Posted 11 Apr 2016 by Todd Lipcon</p>
   </header>
@@ -206,30 +235,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2016/03/10/apache-kudu-0-7-1-released.html">Apache Kudu (incubating) 0.7.1 released</a></h1>
-    <p class="meta">Posted 10 Mar 2016 by Jean-Daniel Cryans</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>The Apache Kudu (incubating) team is happy to announce the release of Kudu
-0.7.1!</p>
-
-<p>This latest release fixes several bugs found during and after the release
-of 0.7.0. Special thanks are due to several community users who reported
-bugs fixed in this release:</p>
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2016/03/10/apache-kudu-0-7-1-released.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -250,6 +255,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -278,8 +285,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/15/index.html b/blog/page/15/index.html
index 171fb21..2000487 100644
--- a/blog/page/15/index.html
+++ b/blog/page/15/index.html
@@ -119,6 +119,30 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2016/03/10/apache-kudu-0-7-1-released.html">Apache Kudu (incubating) 0.7.1 released</a></h1>
+    <p class="meta">Posted 10 Mar 2016 by Jean-Daniel Cryans</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>The Apache Kudu (incubating) team is happy to announce the release of Kudu
+0.7.1!</p>
+
+<p>This latest release fixes several bugs found during and after the release
+of 0.7.0. Special thanks are due to several community users who reported
+bugs fixed in this release:</p>
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2016/03/10/apache-kudu-0-7-1-released.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2016/02/26/apache-kudu-0-7-0-released.html">Apache Kudu (incubating) 0.7.0 released</a></h1>
     <p class="meta">Posted 26 Feb 2016 by Todd Lipcon</p>
   </header>
@@ -157,6 +181,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -185,8 +211,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/2/index.html b/blog/page/2/index.html
index f3f595d..70701ef 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -119,6 +119,29 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2020/07/30/building-near-real-time-big-data-lake.html">Building Near Real-time Big Data Lake</a></h1>
+    <p class="meta">Posted 30 Jul 2020 by Boris Tyukin</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>Note: This is a cross-post from the Boris Tyukin’s personal blog <a href="https://boristyukin.com/building-near-real-time-big-data-lake-part-2/">Building Near Real-time Big Data Lake: Part 2</a></p>
+
+<p>This is the second part of the series. In <a href="https://boristyukin.com/building-near-real-time-big-data-lake-part-i/">Part 1</a>
+I wrote about our use-case for the Data Lake architecture and shared our success story.</p>
+
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2020/07/30/building-near-real-time-big-data-lake.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2020/05/18/apache-kudu-1-12-0-release.html">Apache Kudu 1.12.0 released</a></h1>
     <p class="meta">Posted 18 May 2020 by Hao Hao</p>
   </header>
@@ -211,32 +234,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2019/04/30/location-awareness.html">Location Awareness in Kudu</a></h1>
-    <p class="meta">Posted 30 Apr 2019 by Alexey Serbin</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>This post is about location awareness in Kudu. It gives an overview
-of the following:</p>
-<ul>
-  <li>principles of the design</li>
-  <li>restrictions of the current implementation</li>
-  <li>potential future enhancements and extensions</li>
-</ul>
-
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2019/04/30/location-awareness.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -257,6 +254,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -285,8 +284,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/3/index.html b/blog/page/3/index.html
index f368111..d113d7e 100644
--- a/blog/page/3/index.html
+++ b/blog/page/3/index.html
@@ -119,6 +119,32 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2019/04/30/location-awareness.html">Location Awareness in Kudu</a></h1>
+    <p class="meta">Posted 30 Apr 2019 by Alexey Serbin</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>This post is about location awareness in Kudu. It gives an overview
+of the following:</p>
+<ul>
+  <li>principles of the design</li>
+  <li>restrictions of the current implementation</li>
+  <li>potential future enhancements and extensions</li>
+</ul>
+
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2019/04/30/location-awareness.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2019/04/22/fine-grained-authorization-with-apache-kudu-and-impala.html">Fine-Grained Authorization with Apache Kudu and Impala</a></h1>
     <p class="meta">Posted 22 Apr 2019 by Grant Henke</p>
   </header>
@@ -229,29 +255,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2018/12/11/call-for-posts.html">Call for Posts</a></h1>
-    <p class="meta">Posted 11 Dec 2018 by Attila Bukor</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>Most of the posts in the Kudu blog have been written by the project’s
-committers and are either technical or news-like in nature. We’d like to hear
-how you’re using Kudu in production, in testing, or in your hobby project and
-we’d like to share it with the world!</p>
-
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2018/12/11/call-for-posts.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -272,6 +275,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -300,8 +305,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/4/index.html b/blog/page/4/index.html
index d8a2b6c..6b50ea4 100644
--- a/blog/page/4/index.html
+++ b/blog/page/4/index.html
@@ -119,6 +119,29 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2018/12/11/call-for-posts.html">Call for Posts</a></h1>
+    <p class="meta">Posted 11 Dec 2018 by Attila Bukor</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>Most of the posts in the Kudu blog have been written by the project’s
+committers and are either technical or news-like in nature. We’d like to hear
+how you’re using Kudu in production, in testing, or in your hobby project and
+we’d like to share it with the world!</p>
+
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2018/12/11/call-for-posts.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2018/10/26/apache-kudu-1-8-0-released.html">Apache Kudu 1.8.0 Released</a></h1>
     <p class="meta">Posted 26 Oct 2018 by Attila Bukor</p>
   </header>
@@ -212,33 +235,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2018/07/10/instrumentation-in-kudu.html">Instrumentation in Apache Kudu</a></h1>
-    <p class="meta">Posted 10 Jul 2018 by Todd Lipcon</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>Last week, the <a href="http://opentracing.io/">OpenTracing</a> community invited me to
-their monthly Google Hangout meetup to give an informal talk on tracing and
-instrumentation in Apache Kudu.</p>
-
-<p>While Kudu doesn’t currently support distributed tracing using OpenTracing,
-it does have quite a lot of other types of instrumentation, metrics, and
-diagnostics logging. The OpenTracing team was interested to hear about some of
-the approaches that Kudu has used, and so I gave a brief introduction to topics
-including:</p>
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2018/07/10/instrumentation-in-kudu.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -259,6 +255,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -287,8 +285,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/5/index.html b/blog/page/5/index.html
index b2c635f..cb7c20a 100644
--- a/blog/page/5/index.html
+++ b/blog/page/5/index.html
@@ -119,6 +119,33 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2018/07/10/instrumentation-in-kudu.html">Instrumentation in Apache Kudu</a></h1>
+    <p class="meta">Posted 10 Jul 2018 by Todd Lipcon</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>Last week, the <a href="http://opentracing.io/">OpenTracing</a> community invited me to
+their monthly Google Hangout meetup to give an informal talk on tracing and
+instrumentation in Apache Kudu.</p>
+
+<p>While Kudu doesn’t currently support distributed tracing using OpenTracing,
+it does have quite a lot of other types of instrumentation, metrics, and
+diagnostics logging. The OpenTracing team was interested to hear about some of
+the approaches that Kudu has used, and so I gave a brief introduction to topics
+including:</p>
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2018/07/10/instrumentation-in-kudu.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2018/03/23/apache-kudu-1-7-0-released.html">Apache Kudu 1.7.0 released</a></h1>
     <p class="meta">Posted 23 Mar 2018 by Grant Henke</p>
   </header>
@@ -219,31 +246,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a></h1>
-    <p class="meta">Posted 08 Sep 2017 by Dan Burkert</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>The Apache Kudu team is happy to announce the release of Kudu 1.5.0!</p>
-
-<p>Apache Kudu 1.5.0 is a minor release which offers several new features,
-improvements, optimizations, and bug fixes.</p>
-
-<p>Highlights include:</p>
-
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2017/09/08/apache-kudu-1-5-0-released.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -264,6 +266,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -292,8 +296,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/6/index.html b/blog/page/6/index.html
index 3b55b54..eeb87cf 100644
--- a/blog/page/6/index.html
+++ b/blog/page/6/index.html
@@ -119,6 +119,31 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a></h1>
+    <p class="meta">Posted 08 Sep 2017 by Dan Burkert</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>The Apache Kudu team is happy to announce the release of Kudu 1.5.0!</p>
+
+<p>Apache Kudu 1.5.0 is a minor release which offers several new features,
+improvements, optimizations, and bug fixes.</p>
+
+<p>Highlights include:</p>
+
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2017/09/08/apache-kudu-1-5-0-released.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2017/06/13/apache-kudu-1-4-0-released.html">Apache Kudu 1.4.0 released</a></h1>
     <p class="meta">Posted 13 Jun 2017 by Todd Lipcon</p>
   </header>
@@ -220,27 +245,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2016/11/15/weekly-update.html">Apache Kudu Weekly Update November 15th, 2016</a></h1>
-    <p class="meta">Posted 15 Nov 2016 by David Alves</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>Welcome to the twenty-third edition of the Kudu Weekly Update. This weekly blog post
-covers ongoing development and news in the Apache Kudu project.</p>
-
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2016/11/15/weekly-update.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -261,6 +265,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -289,8 +295,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/7/index.html b/blog/page/7/index.html
index b7faada..78fbae9 100644
--- a/blog/page/7/index.html
+++ b/blog/page/7/index.html
@@ -119,6 +119,27 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2016/11/15/weekly-update.html">Apache Kudu Weekly Update November 15th, 2016</a></h1>
+    <p class="meta">Posted 15 Nov 2016 by David Alves</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>Welcome to the twenty-third edition of the Kudu Weekly Update. This weekly blog post
+covers ongoing development and news in the Apache Kudu project.</p>
+
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2016/11/15/weekly-update.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2016/11/01/weekly-update.html">Apache Kudu Weekly Update November 1st, 2016</a></h1>
     <p class="meta">Posted 01 Nov 2016 by Todd Lipcon</p>
   </header>
@@ -210,28 +231,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2016/09/20/apache-kudu-1-0-0-released.html">Apache Kudu 1.0.0 released</a></h1>
-    <p class="meta">Posted 20 Sep 2016 by Todd Lipcon</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>The Apache Kudu team is happy to announce the release of Kudu 1.0.0!</p>
-
-<p>This latest version adds several new features, including:</p>
-
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2016/09/20/apache-kudu-1-0-0-released.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -252,6 +251,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -280,8 +281,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/8/index.html b/blog/page/8/index.html
index b0f1903..85547a5 100644
--- a/blog/page/8/index.html
+++ b/blog/page/8/index.html
@@ -119,6 +119,28 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2016/09/20/apache-kudu-1-0-0-released.html">Apache Kudu 1.0.0 released</a></h1>
+    <p class="meta">Posted 20 Sep 2016 by Todd Lipcon</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>The Apache Kudu team is happy to announce the release of Kudu 1.0.0!</p>
+
+<p>This latest version adds several new features, including:</p>
+
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2016/09/20/apache-kudu-1-0-0-released.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2016/09/16/predicate-pushdown.html">Pushing Down Predicate Evaluation in Apache Kudu</a></h1>
     <p class="meta">Posted 16 Sep 2016 by Andrew Wong</p>
   </header>
@@ -495,27 +517,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2016/08/16/weekly-update.html">Apache Kudu Weekly Update August 16th, 2016</a></h1>
-    <p class="meta">Posted 16 Aug 2016 by Todd Lipcon</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>Welcome to the twentieth edition of the Kudu Weekly Update. This weekly blog post
-covers ongoing development and news in the Apache Kudu project.</p>
-
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2016/08/16/weekly-update.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -536,6 +537,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -564,8 +567,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/9/index.html b/blog/page/9/index.html
index c026f8e..9dcd9a7 100644
--- a/blog/page/9/index.html
+++ b/blog/page/9/index.html
@@ -119,6 +119,27 @@
 <!-- Articles -->
 <article>
   <header>
+    <h1 class="entry-title"><a href="/2016/08/16/weekly-update.html">Apache Kudu Weekly Update August 16th, 2016</a></h1>
+    <p class="meta">Posted 16 Aug 2016 by Todd Lipcon</p>
+  </header>
+  <div class="entry-content">
+    
+    <p>Welcome to the twentieth edition of the Kudu Weekly Update. This weekly blog post
+covers ongoing development and news in the Apache Kudu project.</p>
+
+
+    
+  </div>
+  <div class="read-full">
+    <a class="btn btn-info" href="/2016/08/16/weekly-update.html">Read full post...</a>
+  </div>
+</article>
+
+
+
+<!-- Articles -->
+<article>
+  <header>
     <h1 class="entry-title"><a href="/2016/08/08/weekly-update.html">Apache Kudu Weekly Update August 8th, 2016</a></h1>
     <p class="meta">Posted 08 Aug 2016 by Todd Lipcon</p>
   </header>
@@ -203,27 +224,6 @@
 
 
 
-<!-- Articles -->
-<article>
-  <header>
-    <h1 class="entry-title"><a href="/2016/07/11/weekly-update.html">Apache Kudu (incubating) Weekly Update July 11, 2016</a></h1>
-    <p class="meta">Posted 11 Jul 2016 by Jean-Daniel Cryans</p>
-  </header>
-  <div class="entry-content">
-    
-    <p>Welcome to the sixteenth edition of the Kudu Weekly Update. This weekly blog post
-covers ongoing development and news in the Apache Kudu (incubating) project.</p>
-
-
-    
-  </div>
-  <div class="read-full">
-    <a class="btn btn-info" href="/2016/07/11/weekly-update.html">Read full post...</a>
-  </div>
-</article>
-
-
-
 <!-- Pagination links -->
 
 <nav>
@@ -244,6 +244,8 @@
     <h3>Recent posts</h3>
     <ul>
     
+      <li> <a href="/2021/06/22/apache-kudu-1-15-0-released.html">Apache Kudu 1.15.0 Released</a> </li>
+    
       <li> <a href="/2021/01/28/apache-kudu-1-14-0-release.html">Apache Kudu 1.14.0 Released</a> </li>
     
       <li> <a href="/2021/01/15/bloom-filter-predicate.html">Optimized joins & filtering with Bloom filter predicate in Kudu</a> </li>
@@ -272,8 +274,6 @@
     
       <li> <a href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html">Transparent Hierarchical Storage Management with Apache Kudu and Impala</a> </li>
     
-      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/cpp-client-api/annotated.html b/cpp-client-api/annotated.html
index 923bc58..18b6894 100644
--- a/cpp-client-api/annotated.html
+++ b/cpp-client-api/annotated.html
@@ -133,7 +133,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/callbacks_8h_source.html b/cpp-client-api/callbacks_8h_source.html
index b907276..2997d0e 100644
--- a/cpp-client-api/callbacks_8h_source.html
+++ b/cpp-client-api/callbacks_8h_source.html
@@ -268,7 +268,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:35 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classKuduPartialRow-members.html b/cpp-client-api/classKuduPartialRow-members.html
index 2753c21..1375c50 100644
--- a/cpp-client-api/classKuduPartialRow-members.html
+++ b/cpp-client-api/classKuduPartialRow-members.html
@@ -148,7 +148,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classKuduPartialRow.html b/cpp-client-api/classKuduPartialRow.html
index 7b97046..a28b431 100644
--- a/cpp-client-api/classKuduPartialRow.html
+++ b/cpp-client-api/classKuduPartialRow.html
@@ -2957,7 +2957,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classes.html b/cpp-client-api/classes.html
index 62f7442..c103f08 100644
--- a/cpp-client-api/classes.html
+++ b/cpp-client-api/classes.html
@@ -93,7 +93,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1MonoDelta-members.html b/cpp-client-api/classkudu_1_1MonoDelta-members.html
index 3bc7a2f..4a3bcec 100644
--- a/cpp-client-api/classkudu_1_1MonoDelta-members.html
+++ b/cpp-client-api/classkudu_1_1MonoDelta-members.html
@@ -98,7 +98,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1MonoDelta.html b/cpp-client-api/classkudu_1_1MonoDelta.html
index 0cbbb11..ad03566 100644
--- a/cpp-client-api/classkudu_1_1MonoDelta.html
+++ b/cpp-client-api/classkudu_1_1MonoDelta.html
@@ -621,7 +621,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1MonoTime-members.html b/cpp-client-api/classkudu_1_1MonoTime-members.html
index a549ddc..d70920c 100644
--- a/cpp-client-api/classkudu_1_1MonoTime-members.html
+++ b/cpp-client-api/classkudu_1_1MonoTime-members.html
@@ -83,7 +83,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1MonoTime.html b/cpp-client-api/classkudu_1_1MonoTime.html
index 1461d6b..15bfc26 100644
--- a/cpp-client-api/classkudu_1_1MonoTime.html
+++ b/cpp-client-api/classkudu_1_1MonoTime.html
@@ -198,7 +198,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1Slice-members.html b/cpp-client-api/classkudu_1_1Slice-members.html
index ddaa7d5..68ebde7 100644
--- a/cpp-client-api/classkudu_1_1Slice-members.html
+++ b/cpp-client-api/classkudu_1_1Slice-members.html
@@ -96,7 +96,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1Slice.html b/cpp-client-api/classkudu_1_1Slice.html
index d61e551..ead343c 100644
--- a/cpp-client-api/classkudu_1_1Slice.html
+++ b/cpp-client-api/classkudu_1_1Slice.html
@@ -681,7 +681,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1Status-members.html b/cpp-client-api/classkudu_1_1Status-members.html
index 0641922..75a42dd 100644
--- a/cpp-client-api/classkudu_1_1Status-members.html
+++ b/cpp-client-api/classkudu_1_1Status-members.html
@@ -127,7 +127,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1Status.html b/cpp-client-api/classkudu_1_1Status.html
index b43458b..4e5771a 100644
--- a/cpp-client-api/classkudu_1_1Status.html
+++ b/cpp-client-api/classkudu_1_1Status.html
@@ -1894,7 +1894,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter-members.html
index f41cac0..2cf0143 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter-members.html
@@ -78,7 +78,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter.html b/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter.html
index 1ac246d..50aebaf 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter.html
@@ -121,7 +121,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder-members.html
index 9448d72..f363486 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder-members.html
@@ -82,7 +82,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder.html b/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder.html
index 796d6f4..15f846f 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder.html
@@ -236,7 +236,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduClient-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduClient-members.html
index 0539653..b610320 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduClient-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduClient-members.html
@@ -101,7 +101,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduClient.html b/cpp-client-api/classkudu_1_1client_1_1KuduClient.html
index 8117b4d..be366da 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduClient.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduClient.html
@@ -579,7 +579,7 @@
       </table>
 </div><div class="memdoc">
 <p>Start a multi-row transaction.</p>
-<p>This method results in an RPC sent to a Kudu cluster to begin a multi-row distributed transaction. In case of success, the resulting transaction handle is output into the 'txn' parameter. That handle can be used to create a new <code><a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a></code> using the <code>NewSession(const sp::shared_ptr&lt;KuduSession&gt;&amp;)</code> method. To commit or rollback all single-row write operations performed in the context of the newly created transaction, use <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a408faa78430a38314881ae51450893c2">KuduTransaction::Commit()</a></code> and <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">KuduTransaction::Rollback()</a></code> methods correspondingly.</p>
+<p>This method results in an RPC sent to a Kudu cluster to begin a multi-row distributed transaction. In case of success, the resulting transaction handle is output into the 'txn' parameter. That handle can be used to create a new <code><a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a></code> using the <code>NewSession(const sp::shared_ptr&lt;KuduSession&gt;&amp;)</code> method. To commit or rollback all single-row write operations performed in the context of the newly created transaction, use <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">KuduTransaction::Commit()</a></code> and <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">KuduTransaction::Rollback()</a></code> methods correspondingly.</p>
 <dl class="section note"><dt>Note</dt><dd>The newly created object starts sending keep-alive messages for the newly opened transaction as required by the keep-alive interval assigned to the transaction by the system. To keep the heartbeating, the newly created <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> should be kept in scope.</dd></dl>
 <dl class="section warning"><dt>Warning</dt><dd>This method is experimental and may change or disappear in future.</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
@@ -730,7 +730,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder-members.html
index 1666b98..c5247aa 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder-members.html
@@ -82,12 +82,13 @@
   <tr bgcolor="#f0f0f0"><td class="entry"><b>KuduClientBuilder</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">master_server_addrs</a>(const std::vector&lt; std::string &gt; &amp;addrs)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">num_reactors</a>(int num_reactors)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduClientBuilder</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">sasl_protocol_name</a>(const std::string &amp;sasl_protocol_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduClientBuilder</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder.html b/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder.html
index 39994da..c7ca71c 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder.html
@@ -97,6 +97,8 @@
 <tr class="memitem:a66ba0fb68608ebc4a6c7e9148848cddb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">num_reactors</a> (int num_reactors)</td></tr>
 <tr class="memdesc:a66ba0fb68608ebc4a6c7e9148848cddb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the number of reactors for the RPC messenger.  <a href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">More...</a><br /></td></tr>
 <tr class="separator:a66ba0fb68608ebc4a6c7e9148848cddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5b297f792b8e4142e913ceee2f5f3de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">sasl_protocol_name</a> (const std::string &amp;sasl_protocol_name)</td></tr>
+<tr class="separator:ab5b297f792b8e4142e913ceee2f5f3de"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1585dd6eff82519fe81088d1cfd35b77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">Build</a> (sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> &gt; *client)</td></tr>
 <tr class="separator:a1585dd6eff82519fe81088d1cfd35b77"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
@@ -338,6 +340,33 @@
 
 </div>
 </div>
+<a id="ab5b297f792b8e4142e913ceee2f5f3de"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab5b297f792b8e4142e913ceee2f5f3de">&#9670;&nbsp;</a></span>sasl_protocol_name()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; kudu::client::KuduClientBuilder::sasl_protocol_name </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>sasl_protocol_name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the SASL protocol name for the connection to a remote server.</p>
+<p>If the servers use a non-default Kerberos service principal name (other than "kudu" or "kudu/&lt;hostname&gt;", this needs to be set for the client to be able to connect to the servers. If unset, the client will assume the server is using the default service principal.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sasl_protocol_name</td><td>SASL protocol name. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
 <hr/>The documentation for this class was generated from the following file:<ul>
 <li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
 </ul>
@@ -345,7 +374,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema-members.html
index 7eafed9..c5a1f9e 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema-members.html
@@ -74,28 +74,22 @@
 <table class="directory">
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BINARY</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0"><td class="entry"><b>BOOL</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a04b9d65ed5d347bf3cffa5419a756c9f">comment</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">CopyFrom</a>(const KuduColumnSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c">DataTypeToString</a>(DataType type)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DATE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>DECIMAL</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DOUBLE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aaf2cdb1424600e420601b68b8dd05c3a">Equals</a>(const KuduColumnSchema &amp;other) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">CopyFrom</a>(const KuduColumnSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c">DataTypeToString</a>(DataType type)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DATE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DECIMAL</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DOUBLE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>FLOAT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0"><td class="entry"><b>INT16</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INT32</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0"><td class="entry"><b>INT64</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INT8</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a3f8197dd468546ce83e21481a361c1ec">is_nullable</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872">KuduColumnSchema</a>(const KuduColumnSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a1cda4c693af7226ddde29bf70da4cfcf">name</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872">KuduColumnSchema</a>(const KuduColumnSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e">operator=</a>(const KuduColumnSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0"><td class="entry"><b>STRING</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8">StringToDataType</a>(const std::string &amp;type_str, DataType *type)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505">TIMESTAMP</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29">type</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a328c76411dd00f5f6a7ee063ce90c65e">type_attributes</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UNIXTIME_MICROS</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0"><td class="entry"><b>VARCHAR</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduColumnSchema</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
@@ -103,7 +97,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema.html b/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema.html
index f453ec9..c28702a 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema.html
@@ -113,28 +113,12 @@
 <tr class="separator:a4b58da787c8e7dc14987aa74a54f199e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a11234db43eb8b758a65ba1b08f6b65b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">CopyFrom</a> (const <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &amp;other)</td></tr>
 <tr class="separator:a11234db43eb8b758a65ba1b08f6b65b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaf2cdb1424600e420601b68b8dd05c3a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aaf2cdb1424600e420601b68b8dd05c3a">Equals</a> (const <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &amp;other) const</td></tr>
-<tr class="separator:aaf2cdb1424600e420601b68b8dd05c3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a328c76411dd00f5f6a7ee063ce90c65e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a328c76411dd00f5f6a7ee063ce90c65e">type_attributes</a> () const</td></tr>
-<tr class="separator:a328c76411dd00f5f6a7ee063ce90c65e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a04b9d65ed5d347bf3cffa5419a756c9f"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a04b9d65ed5d347bf3cffa5419a756c9f">comment</a> () const</td></tr>
-<tr class="separator:a04b9d65ed5d347bf3cffa5419a756c9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr><td colspan="2"><div class="groupHeader">Getters to expose column schema information.</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000011">Todo:</a></b></dt><dd>Expose default column value and attributes?</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>Name of the column schema. </dd></dl>
-</div></td></tr>
-<tr class="memitem:a1cda4c693af7226ddde29bf70da4cfcf"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a1cda4c693af7226ddde29bf70da4cfcf">name</a> () const</td></tr>
-<tr class="separator:a1cda4c693af7226ddde29bf70da4cfcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af790ddd7fa63b208a55da4afc0b3dc29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29">type</a> () const</td></tr>
-<tr class="separator:af790ddd7fa63b208a55da4afc0b3dc29"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3f8197dd468546ce83e21481a361c1ec"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a3f8197dd468546ce83e21481a361c1ec">is_nullable</a> () const</td></tr>
-<tr class="separator:a3f8197dd468546ce83e21481a361c1ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
 Static Public Member Functions</h2></td></tr>
-<tr class="memitem:af362af4f9c937c2b7fa90ef284cfbd1c"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c">DataTypeToString</a> (<a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29">type</a>)</td></tr>
+<tr class="memitem:af362af4f9c937c2b7fa90ef284cfbd1c"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c">DataTypeToString</a> (<a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> type)</td></tr>
 <tr class="separator:af362af4f9c937c2b7fa90ef284cfbd1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd89b94b581cc09387921c476ccb56b8"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8">StringToDataType</a> (const std::string &amp;type_str, <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> *<a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29">type</a>)</td></tr>
+<tr class="memitem:abd89b94b581cc09387921c476ccb56b8"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8">StringToDataType</a> (const std::string &amp;type_str, <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> *type)</td></tr>
 <tr class="separator:abd89b94b581cc09387921c476ccb56b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
@@ -187,25 +171,6 @@
 </div>
 </div>
 <h2 class="groupheader">Member Function Documentation</h2>
-<a id="a04b9d65ed5d347bf3cffa5419a756c9f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a04b9d65ed5d347bf3cffa5419a756c9f">&#9670;&nbsp;</a></span>comment()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const std::string&amp; kudu::client::KuduColumnSchema::comment </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="section return"><dt>Returns</dt><dd>comment of the column schema.</dd></dl>
-<dl class="section note"><dt>Note</dt><dd>An empty string will be returned if there is no comment. </dd></dl>
-
-</div>
-</div>
 <a id="a11234db43eb8b758a65ba1b08f6b65b0"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a11234db43eb8b758a65ba1b08f6b65b0">&#9670;&nbsp;</a></span>CopyFrom()</h2>
 
@@ -264,68 +229,6 @@
 
 </div>
 </div>
-<a id="aaf2cdb1424600e420601b68b8dd05c3a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aaf2cdb1424600e420601b68b8dd05c3a">&#9670;&nbsp;</a></span>Equals()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool kudu::client::KuduColumnSchema::Equals </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &amp;&#160;</td>
-          <td class="paramname"><em>other</em></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Check whether the object is identical to the other one.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The reference object to compare with. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the object is identical to the specified one. </dd></dl>
-
-</div>
-</div>
-<a id="a3f8197dd468546ce83e21481a361c1ec"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3f8197dd468546ce83e21481a361c1ec">&#9670;&nbsp;</a></span>is_nullable()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool kudu::client::KuduColumnSchema::is_nullable </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the column schema has the nullable attribute set. </dd></dl>
-
-</div>
-</div>
-<a id="a1cda4c693af7226ddde29bf70da4cfcf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1cda4c693af7226ddde29bf70da4cfcf">&#9670;&nbsp;</a></span>name()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const std::string&amp; kudu::client::KuduColumnSchema::name </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="section return"><dt>Returns</dt><dd>Type of the column schema. </dd></dl>
-
-</div>
-</div>
 <a id="a4b58da787c8e7dc14987aa74a54f199e"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a4b58da787c8e7dc14987aa74a54f199e">&#9670;&nbsp;</a></span>operator=()</h2>
 
@@ -396,42 +299,6 @@
 
 </div>
 </div>
-<a id="af790ddd7fa63b208a55da4afc0b3dc29"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af790ddd7fa63b208a55da4afc0b3dc29">&#9670;&nbsp;</a></span>type()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> kudu::client::KuduColumnSchema::type </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="section return"><dt>Returns</dt><dd>Type of the column schema. </dd></dl>
-
-</div>
-</div>
-<a id="a328c76411dd00f5f6a7ee063ce90c65e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a328c76411dd00f5f6a7ee063ce90c65e">&#9670;&nbsp;</a></span>type_attributes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> kudu::client::KuduColumnSchema::type_attributes </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="section return"><dt>Returns</dt><dd>Type attributes of the column schema. </dd></dl>
-
-</div>
-</div>
 <hr/>The documentation for this class was generated from the following file:<ul>
 <li>include/kudu/client/<a class="el" href="schema_8h_source.html">schema.h</a></li>
 </ul>
@@ -439,7 +306,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec-members.html
index ba0af69..e5fdbbd 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec-members.html
@@ -90,7 +90,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec.html b/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec.html
index e9a082c..e8a81b8 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec.html
@@ -138,7 +138,7 @@
 <dl class="section note"><dt>Note</dt><dd>The block size specified here corresponds to uncompressed data. The actual size of the unit read from disk may be smaller if compression is enabled.</dd>
 <dd>
 It's recommended that this not be set any lower than 4096 (4KB) or higher than 1048576 (1MB). </dd></dl>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000012">Todo:</a></b></dt><dd>KUDU-1107: move above info to docs</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000011">Todo:</a></b></dt><dd>KUDU-1107: move above info to docs</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">block_size</td><td>Block size (in bytes) to use. </td></tr>
@@ -480,7 +480,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes-members.html
index ff535e4..c1f518b 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes-members.html
@@ -96,7 +96,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes.html b/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes.html
index 23d7688..25f1e9c 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes.html
@@ -367,7 +367,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes-members.html
index a7cb209..06657cb 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes-members.html
@@ -86,7 +86,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes.html b/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes.html
index 7659bed..de404bc 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes.html
@@ -306,7 +306,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch-members.html
index caa5f88..0683d91 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch-members.html
@@ -82,7 +82,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch.html b/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch.html
index c56515b..c5753f9 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch.html
@@ -244,7 +244,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduDelete-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduDelete-members.html
index 47f1f5e..03fec41 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduDelete-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduDelete-members.html
@@ -89,7 +89,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduDelete.html b/cpp-client-api/classkudu_1_1client_1_1KuduDelete.html
index b75f491..c593be1 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduDelete.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduDelete.html
@@ -155,7 +155,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore-members.html
index 85f0222..9d6a5ad 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore-members.html
@@ -89,7 +89,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.html b/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.html
index 699f78e..0d13b8c 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.html
@@ -155,7 +155,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduError-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduError-members.html
index c667e08..baf2379 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduError-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduError-members.html
@@ -81,7 +81,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduError.html b/cpp-client-api/classkudu_1_1client_1_1KuduError.html
index b13bc8d..24823c8 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduError.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduError.html
@@ -176,7 +176,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduInsert-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduInsert-members.html
index 0dcc002..d6b024d 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduInsert-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduInsert-members.html
@@ -89,7 +89,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduInsert.html b/cpp-client-api/classkudu_1_1client_1_1KuduInsert.html
index 2b70b22..53ba50d 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduInsert.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduInsert.html
@@ -155,7 +155,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore-members.html
index 5b9ac06..787584a 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore-members.html
@@ -89,7 +89,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.html b/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.html
index e951e05..2b2f02d 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.html
@@ -155,7 +155,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback-members.html
index 77400fc..78e53a1 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback-members.html
@@ -79,7 +79,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.html b/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.html
index 001f6a3..222987e 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.html
@@ -178,7 +178,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback-members.html
index 9fdf81e..3245c19 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback-members.html
@@ -81,7 +81,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.html b/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.html
index 09bc71c..93d4a8f 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.html
@@ -241,7 +241,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback-members.html
index f219ae9..3d1aa0a 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback-members.html
@@ -81,7 +81,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.html b/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.html
index d23a49d..281a7fa 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.html
@@ -241,7 +241,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner-members.html
index 69a5b13..547de57 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner-members.html
@@ -79,7 +79,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner.html b/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner.html
index 108c482..392326c 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner.html
@@ -149,7 +149,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder-members.html
index 8d1e29d..8de3134 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder-members.html
@@ -80,7 +80,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder.html b/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder.html
index 9bb1d63..cdb7614 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder.html
@@ -185,7 +185,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduPredicate-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduPredicate-members.html
index 31d9ead..f9e85a3 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduPredicate-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduPredicate-members.html
@@ -85,7 +85,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduPredicate.html b/cpp-client-api/classkudu_1_1client_1_1KuduPredicate.html
index 8b4acb0..f5bb07c 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduPredicate.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduPredicate.html
@@ -152,7 +152,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduReplica-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduReplica-members.html
index 69694c0..14c8fac 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduReplica-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduReplica-members.html
@@ -79,7 +79,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduReplica.html b/cpp-client-api/classkudu_1_1client_1_1KuduReplica.html
index b4e54f4..7f623bf 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduReplica.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduReplica.html
@@ -132,7 +132,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch-members.html
index 5cd4cd4..9115919 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch-members.html
@@ -124,7 +124,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.html b/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.html
index 9072d74..9a81eda 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.html
@@ -1717,7 +1717,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduScanToken-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduScanToken-members.html
index 919c131..9258111 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduScanToken-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduScanToken-members.html
@@ -81,7 +81,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduScanToken.html b/cpp-client-api/classkudu_1_1client_1_1KuduScanToken.html
index 0ad37ba..5ab2e3d 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduScanToken.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduScanToken.html
@@ -231,7 +231,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder-members.html
index 1d7b012..fd79709 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder-members.html
@@ -94,7 +94,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder.html b/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder.html
index 3735be7..4023692 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder.html
@@ -596,7 +596,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduScanner-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduScanner-members.html
index 830455f..32d7d6b 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduScanner-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduScanner-members.html
@@ -122,7 +122,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduScanner.html b/cpp-client-api/classkudu_1_1client_1_1KuduScanner.html
index bb269ab..a48f6ba 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduScanner.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduScanner.html
@@ -977,8 +977,8 @@
 <div class="line">  ... <span class="comment">// Row data decoding and handling.</span></div>
 <div class="line">}</div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a2c621f778072a02f4092e96a0baf8180"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180">kudu::client::KuduScanner::KuduScanner</a></div><div class="ttdeci">KuduScanner(KuduTable *table)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a63cd270f3bc72f4197d2581ec8f8fc44"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44">kudu::client::KuduScanner::PAD_UNIXTIME_MICROS_TO_16_BYTES</a></div><div class="ttdeci">static const uint64_t PAD_UNIXTIME_MICROS_TO_16_BYTES</div><div class="ttdef"><b>Definition:</b> client.h:2760</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a68345956f3f4c7fd5e1665fd292f6a85"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85">kudu::client::KuduScanner::NO_FLAGS</a></div><div class="ttdeci">static const uint64_t NO_FLAGS</div><div class="ttdoc">No flags set.</div><div class="ttdef"><b>Definition:</b> client.h:2753</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a63cd270f3bc72f4197d2581ec8f8fc44"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44">kudu::client::KuduScanner::PAD_UNIXTIME_MICROS_TO_16_BYTES</a></div><div class="ttdeci">static const uint64_t PAD_UNIXTIME_MICROS_TO_16_BYTES</div><div class="ttdef"><b>Definition:</b> client.h:2856</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a68345956f3f4c7fd5e1665fd292f6a85"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85">kudu::client::KuduScanner::NO_FLAGS</a></div><div class="ttdeci">static const uint64_t NO_FLAGS</div><div class="ttdoc">No flags set.</div><div class="ttdef"><b>Definition:</b> client.h:2849</div></div>
 </div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Row format modifier flags to set. </td></tr>
@@ -1168,7 +1168,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduSchema-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduSchema-members.html
index 786ba29..38baec0 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduSchema-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduSchema-members.html
@@ -72,24 +72,17 @@
 
 <p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a>, including all inherited members.</p>
 <table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ac918de6adc1a15ad27e218664f308980">Column</a>(size_t idx) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">CopyFrom</a>(const KuduSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3db3761d3df18e12e45e3573bc182f47">Equals</a>(const KuduSchema &amp;other) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3bf9ce84b09d7ed9fb488433a5f322e9">GetPrimaryKeyColumnIndexes</a>(std::vector&lt; int &gt; *indexes) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3cbc77c6136806551c99bf84b94e691a">HasColumn</a>(const std::string &amp;col_name, KuduColumnSchema *col_schema) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">CopyFrom</a>(const KuduSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0"><td class="entry"><b>KuduSchema</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">KuduSchema</a>(const KuduSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a6988d1b2a64b9da6b2d013ce556726e1">NewRow</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab3b5137cd28ed0dbdfa5d064879baf74">num_columns</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">operator=</a>(const KuduSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">Reset</a>(const std::vector&lt; KuduColumnSchema &gt; &amp;columns, int key_columns) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab8386c4ceb1895ebf808096da3f9c614">ToString</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduSchema</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduSchema</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduSchema.html b/cpp-client-api/classkudu_1_1client_1_1KuduSchema.html
index ff756aa..54830d6 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduSchema.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduSchema.html
@@ -84,20 +84,6 @@
 <tr class="separator:a41a683f3d93357fe68531bf71df39d02"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a3f51ccf1a7e6f4a4fe4958073305dbab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">Reset</a> (const std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &gt; &amp;columns, int key_columns) WARN_UNUSED_RESULT</td></tr>
 <tr class="separator:a3f51ccf1a7e6f4a4fe4958073305dbab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3db3761d3df18e12e45e3573bc182f47"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3db3761d3df18e12e45e3573bc182f47">Equals</a> (const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;other) const</td></tr>
-<tr class="separator:a3db3761d3df18e12e45e3573bc182f47"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac918de6adc1a15ad27e218664f308980"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ac918de6adc1a15ad27e218664f308980">Column</a> (size_t idx) const</td></tr>
-<tr class="separator:ac918de6adc1a15ad27e218664f308980"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3cbc77c6136806551c99bf84b94e691a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3cbc77c6136806551c99bf84b94e691a">HasColumn</a> (const std::string &amp;col_name, <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> *col_schema) const</td></tr>
-<tr class="separator:a3cbc77c6136806551c99bf84b94e691a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab3b5137cd28ed0dbdfa5d064879baf74"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab3b5137cd28ed0dbdfa5d064879baf74">num_columns</a> () const</td></tr>
-<tr class="separator:ab3b5137cd28ed0dbdfa5d064879baf74"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3bf9ce84b09d7ed9fb488433a5f322e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3bf9ce84b09d7ed9fb488433a5f322e9">GetPrimaryKeyColumnIndexes</a> (std::vector&lt; int &gt; *indexes) const</td></tr>
-<tr class="separator:a3bf9ce84b09d7ed9fb488433a5f322e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6988d1b2a64b9da6b2d013ce556726e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a6988d1b2a64b9da6b2d013ce556726e1">NewRow</a> () const</td></tr>
-<tr class="separator:a6988d1b2a64b9da6b2d013ce556726e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab8386c4ceb1895ebf808096da3f9c614"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab8386c4ceb1895ebf808096da3f9c614">ToString</a> () const</td></tr>
-<tr class="separator:ab8386c4ceb1895ebf808096da3f9c614"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Assign/copy the schema</div></td></tr>
 <tr class="memitem:a7d8f49f184a94cee7993158baf6ae758"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">operator=</a> (const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;other)</td></tr>
 <tr class="separator:a7d8f49f184a94cee7993158baf6ae758"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -133,31 +119,6 @@
 </div>
 </div>
 <h2 class="groupheader">Member Function Documentation</h2>
-<a id="ac918de6adc1a15ad27e218664f308980"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac918de6adc1a15ad27e218664f308980">&#9670;&nbsp;</a></span>Column()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> kudu::client::KuduSchema::Column </td>
-          <td>(</td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>idx</em></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Column index. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Schema for the specified column. </dd></dl>
-
-</div>
-</div>
 <a id="ab146eab7c7fb9a5ea80a4466b5f68555"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ab146eab7c7fb9a5ea80a4466b5f68555">&#9670;&nbsp;</a></span>CopyFrom()</h2>
 
@@ -182,132 +143,6 @@
 
 </div>
 </div>
-<a id="a3db3761d3df18e12e45e3573bc182f47"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3db3761d3df18e12e45e3573bc182f47">&#9670;&nbsp;</a></span>Equals()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool kudu::client::KuduSchema::Equals </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;&#160;</td>
-          <td class="paramname"><em>other</em></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Check whether the schema is identical to the other one.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The other <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a> object to compare with. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff this <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a> object is identical to the specified one. </dd></dl>
-
-</div>
-</div>
-<a id="a3bf9ce84b09d7ed9fb488433a5f322e9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3bf9ce84b09d7ed9fb488433a5f322e9">&#9670;&nbsp;</a></span>GetPrimaryKeyColumnIndexes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void kudu::client::KuduSchema::GetPrimaryKeyColumnIndexes </td>
-          <td>(</td>
-          <td class="paramtype">std::vector&lt; int &gt; *&#160;</td>
-          <td class="paramname"><em>indexes</em></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the indexes of the primary key columns within this Schema.</p>
-<dl class="section attention"><dt>Attention</dt><dd>In current versions of Kudu, these will always be contiguous column indexes starting with 0. However, in future versions this assumption may not hold, so callers should not assume it is the case.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[out]</td><td class="paramname">indexes</td><td>The placeholder for the result. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a3cbc77c6136806551c99bf84b94e691a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3cbc77c6136806551c99bf84b94e691a">&#9670;&nbsp;</a></span>HasColumn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool kudu::client::KuduSchema::HasColumn </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&#160;</td>
-          <td class="paramname"><em>col_name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> *&#160;</td>
-          <td class="paramname"><em>col_schema</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Column name. </td></tr>
-    <tr><td class="paramdir">[out]</td><td class="paramname">col_schema</td><td>Schema for the specified column. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the specified column exists. </dd></dl>
-
-</div>
-</div>
-<a id="a6988d1b2a64b9da6b2d013ce556726e1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6988d1b2a64b9da6b2d013ce556726e1">&#9670;&nbsp;</a></span>NewRow()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a>* kudu::client::KuduSchema::NewRow </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Create a new row corresponding to this schema.</p>
-<dl class="section note"><dt>Note</dt><dd>The new row refers to this <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a> object, so it must be destroyed before the <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a> object to avoid dangling pointers.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the newly created row. The caller takes ownership of the created row. </dd></dl>
-
-</div>
-</div>
-<a id="ab3b5137cd28ed0dbdfa5d064879baf74"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab3b5137cd28ed0dbdfa5d064879baf74">&#9670;&nbsp;</a></span>num_columns()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">size_t kudu::client::KuduSchema::num_columns </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="section return"><dt>Returns</dt><dd>The number of columns in the schema. </dd></dl>
-
-</div>
-</div>
 <a id="a7d8f49f184a94cee7993158baf6ae758"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a7d8f49f184a94cee7993158baf6ae758">&#9670;&nbsp;</a></span>operator=()</h2>
 
@@ -358,8 +193,8 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000011">Deprecated:</a></b></dt><dd>This method will be removed soon.</dd></dl>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000013">Todo:</a></b></dt><dd>Remove <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">KuduSchema::Reset()</a>.</dd></dl>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000012">Deprecated:</a></b></dt><dd>This method will be removed soon.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000012">Todo:</a></b></dt><dd>Remove <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">KuduSchema::Reset()</a>.</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Per-column schema information. </td></tr>
@@ -371,25 +206,6 @@
 
 </div>
 </div>
-<a id="ab8386c4ceb1895ebf808096da3f9c614"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab8386c4ceb1895ebf808096da3f9c614">&#9670;&nbsp;</a></span>ToString()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">std::string kudu::client::KuduSchema::ToString </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Stringify this <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a>.</p>
-<dl class="section return"><dt>Returns</dt><dd>A string describing this schema. </dd></dl>
-
-</div>
-</div>
 <hr/>The documentation for this class was generated from the following file:<ul>
 <li>include/kudu/client/<a class="el" href="schema_8h_source.html">schema.h</a></li>
 </ul>
@@ -397,7 +213,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder-members.html
index 6283ef3..6ad57e4 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder-members.html
@@ -81,7 +81,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder.html b/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder.html
index b93df92..fc6bd3f 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder.html
@@ -187,7 +187,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduSession-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduSession-members.html
index 2a08a21..37ac2b5 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduSession-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduSession-members.html
@@ -101,7 +101,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduSession.html b/cpp-client-api/classkudu_1_1client_1_1KuduSession.html
index 4ff9f70..e69e682 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduSession.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduSession.html
@@ -334,7 +334,7 @@
       </table>
 </div><div class="memdoc">
 <p>Flush any pending writes.</p>
-<p>This method initiates flushing of the current batch of buffered write operations, if any, and then awaits for completion of all pending operations of the session. I.e., after successful return from this method no pending operations should be left in the session.</p>
+<p>This method initiates flushing of the current batch of buffered write operations, if any, and then waits for the completion of all pending operations of the session. I.e., after successful return from this method no pending operations should be left in the session.</p>
 <p>In <code>AUTO_FLUSH_SYNC</code> mode, calling this method has no effect, since every <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> call flushes itself inline.</p>
 <dl class="section return"><dt>Returns</dt><dd>Operation result status. In particular, returns a non-OK status if there are any pending errors after the rows have been flushed. Callers should then use GetPendingErrors to determine which specific operations failed. </dd></dl>
 
@@ -667,7 +667,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback-members.html
index 39f9853..91509e5 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback-members.html
@@ -79,7 +79,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.html b/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.html
index be26cb7..3baeb05 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.html
@@ -138,7 +138,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback-members.html
index fbd19d8..2d60b45 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback-members.html
@@ -81,7 +81,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.html b/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.html
index e8da840..d61099d 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.html
@@ -201,7 +201,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback-members.html
index c4d74cf..daf0c43 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback-members.html
@@ -81,7 +81,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.html b/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.html
index f00fb86..5cd0ade 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.html
@@ -201,7 +201,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTable-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduTable-members.html
index 748331de..6c60b75 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTable-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTable-members.html
@@ -73,32 +73,33 @@
 <p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a>, including all inherited members.</p>
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf">client</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec">extra_configs</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20">id</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">name</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">NewComparisonPredicate</a>(const Slice &amp;col_name, KuduPredicate::ComparisonOp op, KuduValue *value)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a">NewDelete</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094">NewDeleteIgnore</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">NewInBloomFilterPredicate</a>(const Slice &amp;col_name, std::vector&lt; KuduBloomFilter * &gt; *bloom_filters)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3">NewInBloomFilterPredicate</a>(const Slice &amp;col_name, const std::vector&lt; Slice &gt; &amp;bloom_filters)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9">NewInListPredicate</a>(const Slice &amp;col_name, std::vector&lt; KuduValue * &gt; *values)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">NewInsert</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103">NewInsertIgnore</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523">NewIsNotNullPredicate</a>(const Slice &amp;col_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">NewIsNullPredicate</a>(const Slice &amp;col_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8">NewUpdate</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3">NewUpdateIgnore</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc">NewUpsert</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed">num_replicas</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">owner</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2">partition_schema</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c">schema</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduTable</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b">comment</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec">extra_configs</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20">id</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">name</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">NewComparisonPredicate</a>(const Slice &amp;col_name, KuduPredicate::ComparisonOp op, KuduValue *value)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a">NewDelete</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094">NewDeleteIgnore</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">NewInBloomFilterPredicate</a>(const Slice &amp;col_name, std::vector&lt; KuduBloomFilter * &gt; *bloom_filters)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3">NewInBloomFilterPredicate</a>(const Slice &amp;col_name, const std::vector&lt; Slice &gt; &amp;bloom_filters)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9">NewInListPredicate</a>(const Slice &amp;col_name, std::vector&lt; KuduValue * &gt; *values)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">NewInsert</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103">NewInsertIgnore</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523">NewIsNotNullPredicate</a>(const Slice &amp;col_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">NewIsNullPredicate</a>(const Slice &amp;col_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8">NewUpdate</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3">NewUpdateIgnore</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc">NewUpsert</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed">num_replicas</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">owner</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2">partition_schema</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c">schema</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduTable</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTable.html b/cpp-client-api/classkudu_1_1client_1_1KuduTable.html
index e5d48b1..5985811 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTable.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTable.html
@@ -92,6 +92,8 @@
 <tr class="separator:ac5436bdd675d45de6c2980f3a05f5e20"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aefc75c9c36846675e4b8bd53075f6f5c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c">schema</a> () const</td></tr>
 <tr class="separator:aefc75c9c36846675e4b8bd53075f6f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f24cd5f89f247933976076fbeafec9b"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b">comment</a> () const</td></tr>
+<tr class="separator:a4f24cd5f89f247933976076fbeafec9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac8f62fdc5c12af06fc9cec0f1d006fed"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed">num_replicas</a> () const</td></tr>
 <tr class="separator:ac8f62fdc5c12af06fc9cec0f1d006fed"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a58abf46f2fe2cd2adab8c7a872cd0a3d"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">owner</a> () const</td></tr>
@@ -162,6 +164,24 @@
 
 </div>
 </div>
+<a id="a4f24cd5f89f247933976076fbeafec9b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4f24cd5f89f247933976076fbeafec9b">&#9670;&nbsp;</a></span>comment()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string&amp; kudu::client::KuduTable::comment </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Comment string for the table. </dd></dl>
+
+</div>
+</div>
 <a id="a79eae97f8828a50d0d21d85c623bd0ec"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a79eae97f8828a50d0d21d85c623bd0ec">&#9670;&nbsp;</a></span>extra_configs()</h2>
 
@@ -642,7 +662,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer-members.html
index e6ece47..9526bd9 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer-members.html
@@ -81,15 +81,18 @@
   <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7">DropColumn</a>(const std::string &amp;name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7">DropRangePartition</a>(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324">RenameTo</a>(const std::string &amp;new_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8">SetOwner</a>(const std::string &amp;new_owner)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">timeout</a>(const MonoDelta &amp;timeout)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">wait</a>(bool wait)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduTableAlterer</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6">SetComment</a>(const std::string &amp;new_comment)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8">SetOwner</a>(const std::string &amp;new_owner)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27">SetTableDiskSizeLimit</a>(int64_t disk_size_limit)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe">SetTableRowCountLimit</a>(int64_t row_count_limit)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">timeout</a>(const MonoDelta &amp;timeout)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">wait</a>(bool wait)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduTableAlterer</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer.html b/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer.html
index 49b0687..ca381a2 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer.html
@@ -84,6 +84,8 @@
 <tr class="separator:aca8ea8d7b65e6952c76fd97f12d5b324"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a2c97cc290258e86adaa2ea87393b93a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8">SetOwner</a> (const std::string &amp;new_owner)</td></tr>
 <tr class="separator:a2c97cc290258e86adaa2ea87393b93a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dc99957dac9029dd5ecd0f41b3d2fe6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6">SetComment</a> (const std::string &amp;new_comment)</td></tr>
+<tr class="separator:a9dc99957dac9029dd5ecd0f41b3d2fe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acb9406a6a254997dd584ce6c2cf51cd0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0">AddColumn</a> (const std::string &amp;name)</td></tr>
 <tr class="separator:acb9406a6a254997dd584ce6c2cf51cd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a6d62bfbcfab6b99dcb057e7f7a4cf742"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742">AlterColumn</a> (const std::string &amp;name)</td></tr>
@@ -98,6 +100,10 @@
 <tr class="separator:ab0f8abf78d35725198876aaa04b737a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a3eec4fd1b1c1d0245052599aa2692541"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541">AlterExtraConfig</a> (const std::map&lt; std::string, std::string &gt; &amp;extra_configs)</td></tr>
 <tr class="separator:a3eec4fd1b1c1d0245052599aa2692541"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af39c953344e62d09e0170c5371f2ab27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27">SetTableDiskSizeLimit</a> (int64_t disk_size_limit)</td></tr>
+<tr class="separator:af39c953344e62d09e0170c5371f2ab27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae5eedc7d2bf9c3f69073701444808fbe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe">SetTableRowCountLimit</a> (int64_t row_count_limit)</td></tr>
+<tr class="separator:ae5eedc7d2bf9c3f69073701444808fbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:add2961a41c37a6b0fd869e0f553a04a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">timeout</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;timeout)</td></tr>
 <tr class="separator:add2961a41c37a6b0fd869e0f553a04a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a86e6d55d0888d4bc99789b1dcd0e5646"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">wait</a> (bool wait)</td></tr>
@@ -442,6 +448,32 @@
 
 </div>
 </div>
+<a id="a9dc99957dac9029dd5ecd0f41b3d2fe6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9dc99957dac9029dd5ecd0f41b3d2fe6">&#9670;&nbsp;</a></span>SetComment()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::SetComment </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>new_comment</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the comment on the table.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">new_comment</td><td>The new comment on the table. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
 <a id="a2c97cc290258e86adaa2ea87393b93a8"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a2c97cc290258e86adaa2ea87393b93a8">&#9670;&nbsp;</a></span>SetOwner()</h2>
 
@@ -468,6 +500,64 @@
 
 </div>
 </div>
+<a id="af39c953344e62d09e0170c5371f2ab27"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af39c953344e62d09e0170c5371f2ab27">&#9670;&nbsp;</a></span>SetTableDiskSizeLimit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::SetTableDiskSizeLimit </td>
+          <td>(</td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>disk_size_limit</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the disk size limit of the table by the super user.</p>
+<dl class="section note"><dt>Note</dt><dd>The table limit alterations, including disk_size_limit and row_count_limit, cannot be changed in the same alteration request with other alterations, because the table 'limit' alteration needs the super user permission.</dd>
+<dd>
+It is experimental and may change or disappear in future. This feature currently applies size limit on a single table.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">disk_size_limit</td><td>The max table disk size, -1 is for no limit </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<a id="ae5eedc7d2bf9c3f69073701444808fbe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae5eedc7d2bf9c3f69073701444808fbe">&#9670;&nbsp;</a></span>SetTableRowCountLimit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::SetTableRowCountLimit </td>
+          <td>(</td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>row_count_limit</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the row count limit of the table by the super user.</p>
+<dl class="section note"><dt>Note</dt><dd>The table limit alterations, including disk_size_limit and row_count_limit, cannot be changed in the same alteration request with other alterations, because the table 'limit' alteration needs the super user permission.</dd>
+<dd>
+It is experimental and may change or disappear in future. This feature currently applies row count limit on a single table.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">row_count_limit</td><td>The max row count of the table, -1 is for no limit </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
 <a id="add2961a41c37a6b0fd869e0f553a04a1"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#add2961a41c37a6b0fd869e0f553a04a1">&#9670;&nbsp;</a></span>timeout()</h2>
 
@@ -529,7 +619,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator-members.html
index ba92619..b6a6276 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator-members.html
@@ -84,18 +84,19 @@
   <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139">num_replicas</a>(int n_replicas)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">schema</a>(const KuduSchema *schema)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">set_owner</a>(const std::string &amp;owner)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3">set_range_partition_columns</a>(const std::vector&lt; std::string &gt; &amp;columns)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">split_rows</a>(const std::vector&lt; const KuduPartialRow * &gt; &amp;split_rows) ATTRIBUTE_DEPRECATED(&quot;use add_range_partition_split() instead&quot;)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">table_name</a>(const std::string &amp;name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">timeout</a>(const MonoDelta &amp;timeout)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">wait</a>(bool wait)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduTableCreator</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f">set_comment</a>(const std::string &amp;comment)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">set_owner</a>(const std::string &amp;owner)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3">set_range_partition_columns</a>(const std::vector&lt; std::string &gt; &amp;columns)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">split_rows</a>(const std::vector&lt; const KuduPartialRow * &gt; &amp;split_rows) ATTRIBUTE_DEPRECATED(&quot;use add_range_partition_split() instead&quot;)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">table_name</a>(const std::string &amp;name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">timeout</a>(const MonoDelta &amp;timeout)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">wait</a>(bool wait)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduTableCreator</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator.html b/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator.html
index d412077..ec63880 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator.html
@@ -105,6 +105,8 @@
 <tr class="separator:adbdd2208d9ede696704fbecea15bea1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aadb48996ad9e16efbae069ee87174007"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">set_owner</a> (const std::string &amp;owner)</td></tr>
 <tr class="separator:aadb48996ad9e16efbae069ee87174007"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6b9911f943bee6c6840dab918d6652f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f">set_comment</a> (const std::string &amp;comment)</td></tr>
+<tr class="separator:af6b9911f943bee6c6840dab918d6652f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ae12cc7c72da40f25b079273a6169faf9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">split_rows</a> (const std::vector&lt; const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> * &gt; &amp;split_rows) ATTRIBUTE_DEPRECATED(&quot;use <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split</a>() instead&quot;)</td></tr>
 <tr class="separator:ae12cc7c72da40f25b079273a6169faf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9dd4673755ba242eab3f06b19182d139"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139">num_replicas</a> (int n_replicas)</td></tr>
@@ -441,6 +443,32 @@
 
 </div>
 </div>
+<a id="af6b9911f943bee6c6840dab918d6652f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af6b9911f943bee6c6840dab918d6652f">&#9670;&nbsp;</a></span>set_comment()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::set_comment </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>comment</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the table comment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">comment</td><td>The comment on the table. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
 <a id="aadb48996ad9e16efbae069ee87174007"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#aadb48996ad9e16efbae069ee87174007">&#9670;&nbsp;</a></span>set_owner()</h2>
 
@@ -610,7 +638,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics-members.html
index 5211553..7ce132c 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics-members.html
@@ -74,14 +74,16 @@
 <table class="directory">
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>KuduTableStatistics</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">live_row_count</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">on_disk_size</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd">live_row_count_limit</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">on_disk_size</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">on_disk_size_limit</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">ToString</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduTableStatistics</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics.html b/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics.html
index 5b67332..e8e4ecd 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics.html
@@ -84,6 +84,10 @@
 <tr class="separator:afe152cbb7f239618bfc4625cadba4484"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aaf8ca7f5f9f4640e517c1b33235450d1"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">live_row_count</a> () const</td></tr>
 <tr class="separator:aaf8ca7f5f9f4640e517c1b33235450d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a111ee4d90863b9e6c3619e712fe72b3a"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">on_disk_size_limit</a> () const</td></tr>
+<tr class="separator:a111ee4d90863b9e6c3619e712fe72b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec261d988a4083bdb74bf39d52bfc1dd"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd">live_row_count_limit</a> () const</td></tr>
+<tr class="separator:aec261d988a4083bdb74bf39d52bfc1dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab437c1e3cb382828eb32fea424bc25ff"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">ToString</a> () const</td></tr>
 <tr class="separator:ab437c1e3cb382828eb32fea424bc25ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
@@ -109,6 +113,25 @@
 
 </div>
 </div>
+<a id="aec261d988a4083bdb74bf39d52bfc1dd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aec261d988a4083bdb74bf39d52bfc1dd">&#9670;&nbsp;</a></span>live_row_count_limit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int64_t kudu::client::KuduTableStatistics::live_row_count_limit </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The table's live row count limit. -1 is returned if there is no row count limit on this table.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>It is experimental and may change or disappear in future. This feature currently applies row count limit on a single table, but it should also support database level row count limit. </dd></dl>
+
+</div>
+</div>
 <a id="afe152cbb7f239618bfc4625cadba4484"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#afe152cbb7f239618bfc4625cadba4484">&#9670;&nbsp;</a></span>on_disk_size()</h2>
 
@@ -128,6 +151,25 @@
 
 </div>
 </div>
+<a id="a111ee4d90863b9e6c3619e712fe72b3a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a111ee4d90863b9e6c3619e712fe72b3a">&#9670;&nbsp;</a></span>on_disk_size_limit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int64_t kudu::client::KuduTableStatistics::on_disk_size_limit </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The table's on disk size limit. -1 is returned if there is no disk size limit on this table.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>It is experimental and may change or disappear in future. This feature currently applies size limit on a single table, but it should also support database level size limit. </dd></dl>
+
+</div>
+</div>
 <a id="ab437c1e3cb382828eb32fea424bc25ff"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ab437c1e3cb382828eb32fea424bc25ff">&#9670;&nbsp;</a></span>ToString()</h2>
 
@@ -154,7 +196,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTablet-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduTablet-members.html
index 2c229cc..58e64ef 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTablet-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTablet-members.html
@@ -79,7 +79,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTablet.html b/cpp-client-api/classkudu_1_1client_1_1KuduTablet.html
index 90ac1f9..f429624 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTablet.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTablet.html
@@ -132,7 +132,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer-members.html
index b72927b..a93dcf1 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer-members.html
@@ -80,7 +80,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer.html b/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer.html
index 761866b..145a2d9 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer.html
@@ -151,7 +151,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTransaction-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduTransaction-members.html
index 3811678..67f93ea 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTransaction-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTransaction-members.html
@@ -72,18 +72,19 @@
 
 <p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a>, including all inherited members.</p>
 <table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a408faa78430a38314881ae51450893c2">Commit</a>(bool wait=true) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">Commit</a>() WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">CreateSession</a>(sp::shared_ptr&lt; KuduSession &gt; *session) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">Deserialize</a>(const sp::shared_ptr&lt; KuduClient &gt; &amp;client, const std::string &amp;serialized_txn, sp::shared_ptr&lt; KuduTransaction &gt; *txn) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">IsCommitComplete</a>(bool *is_complete, Status *completion_status) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">Rollback</a>() WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">Serialize</a>(std::string *serialized_txn, const SerializationOptions &amp;options=SerializationOptions()) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduTransaction</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce">StartCommit</a>() WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduTransaction</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.html b/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.html
index 93f47a0..5935770 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.html
@@ -92,8 +92,10 @@
 Public Member Functions</h2></td></tr>
 <tr class="memitem:ad79babbbd8bd296741fad2ed0adce55a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">CreateSession</a> (sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a> &gt; *session) WARN_UNUSED_RESULT</td></tr>
 <tr class="separator:ad79babbbd8bd296741fad2ed0adce55a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a408faa78430a38314881ae51450893c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a408faa78430a38314881ae51450893c2">Commit</a> (bool wait=true) WARN_UNUSED_RESULT</td></tr>
-<tr class="separator:a408faa78430a38314881ae51450893c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf0b693b1ff9a44399bea3ed1f22f495"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">Commit</a> () WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:aaf0b693b1ff9a44399bea3ed1f22f495"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4347410b4f7e6a70ebc2f66b06c569ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce">StartCommit</a> () WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a4347410b4f7e6a70ebc2f66b06c569ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a69b6da1caffdba1f0610f5b8ef00e4ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">IsCommitComplete</a> (bool *is_complete, <a class="el" href="classkudu_1_1Status.html">Status</a> *completion_status) WARN_UNUSED_RESULT</td></tr>
 <tr class="separator:a69b6da1caffdba1f0610f5b8ef00e4ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a68b5c532b44f84beabe7ae7ca46889f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">Rollback</a> () WARN_UNUSED_RESULT</td></tr>
@@ -113,8 +115,8 @@
 There isn't any automation to rollback or commit the underlying transaction upon destruction of an instance of this class.</dd></dl>
 <dl class="section warning"><dt>Warning</dt><dd>The set of methods in this class, their behavior, and signatures are experimental and may change or disappear in future. The class itself is experimental and may change its lineage, API status, or disappear in future. </dd></dl>
 </div><h2 class="groupheader">Member Function Documentation</h2>
-<a id="a408faa78430a38314881ae51450893c2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a408faa78430a38314881ae51450893c2">&#9670;&nbsp;</a></span>Commit()</h2>
+<a id="aaf0b693b1ff9a44399bea3ed1f22f495"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaf0b693b1ff9a44399bea3ed1f22f495">&#9670;&nbsp;</a></span>Commit()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -122,25 +124,14 @@
         <tr>
           <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::Commit </td>
           <td>(</td>
-          <td class="paramtype">bool&#160;</td>
-          <td class="paramname"><em>wait</em> = <code>true</code></td><td>)</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 <p>Commit the transaction.</p>
-<p>This method initiates committing the transaction, and, depending on the <code>wait</code> parameter, either returns right after that or awaits for the commit to finalize.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>This parameter controls the way how this method operates: <ul>
-<li><code>true</code> means synchronous operation mode </li>
-<li><code>false</code> means asynchronous operation mode In case of asynchronous mode, <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">KuduTransaction::IsCommitComplete()</a></code> can be used to detect whether the commit has successfully finalized. </li>
-</ul>
-</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+<p>This method automatically flushes all transactional sessions created off this transaction handle via <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">KuduTransaction::CreateSession()</a></code>, initiates committing the transaction, and then waits for the commit phase to finalize. The flushing of all the derivative transactional sessions helps avoiding unintentional data loss when those sessions are not flushed explicitly before committing. No new operations should be pushed into the derivative transactional sessions created off this handle once the method has been called.</p>
+<dl class="section return"><dt>Returns</dt><dd>Returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code> if all the stages of the transaction's commit sequence were successful, i.e. the status of various pre-commit work, the status of starting the commit phase, the status of the commit phase itself once it's completed. Returns non-OK status of the very first failed stage of the transaction's commit sequence. </dd></dl>
 
 </div>
 </div>
@@ -254,7 +245,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[out]</td><td class="paramname">is_complete</td><td>Whether the process of finalizing the commit of the transaction has ended, including both success and failure outcomes. In other words, the value of this out parameter indicates whether the finalization of the transaction's commit phase is no longer in progress: it already succeeded or failed by the time of processing the request. This parameter is assigned a meaningful value iff the method returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code>. </td></tr>
-    <tr><td class="paramdir">[out]</td><td class="paramname">commit_status</td><td>The status of finalization of the transaction's commit phase: <ul>
+    <tr><td class="paramdir">[out]</td><td class="paramname">completion_status</td><td>The status of finalization of the transaction's commit phase: <ul>
 <li><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a> if the commit phase successfully finalized </li>
 <li>non-OK status if the commit phase failed to finalize This parameter is assigned a meaningful value iff the method returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code>. </li>
 </ul>
@@ -325,6 +316,26 @@
 
 </div>
 </div>
+<a id="a4347410b4f7e6a70ebc2f66b06c569ce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4347410b4f7e6a70ebc2f66b06c569ce">&#9670;&nbsp;</a></span>StartCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::StartCommit </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Start committing this transaction, but don't wait for the commit phase to finalize.</p>
+<p>This method initiates the commit phase for this transaction, not waiting for the commit phase to finalize. It requires all the transactional sessions created off this handle via <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">KuduTransaction::CreateSession()</a></code> to be flushed already. No new operations should be pushed into the derivative transactional sessions created off this handle once the method has been called. To check for the transaction's commit status, use the <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">KuduTransaction::IsCommitComplete()</a></code> method.</p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> of starting the commit phase for this transaction if all the transactional sessions created off this handle are flushed, otherwise returns <code><a class="el" href="classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b">Status::IllegalState()</a></code>. </dd></dl>
+
+</div>
+</div>
 <hr/>The documentation for this class was generated from the following file:<ul>
 <li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
 </ul>
@@ -332,7 +343,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions-members.html
index 7744c3b..ba5aa7f 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions-members.html
@@ -80,7 +80,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html b/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html
index be308f2..b76b37e 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html
@@ -142,7 +142,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduUpdate-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduUpdate-members.html
index 4cbe05f..ed26155 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduUpdate-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduUpdate-members.html
@@ -89,7 +89,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.html b/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.html
index 3aae930..91bcb51 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.html
@@ -155,7 +155,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore-members.html
index 2f71747..66585cd 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore-members.html
@@ -89,7 +89,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.html b/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.html
index 0e8ac88..d5dbb2a 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.html
@@ -155,7 +155,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduUpsert-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduUpsert-members.html
index 8d6d1aa..8f622aa 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduUpsert-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduUpsert-members.html
@@ -89,7 +89,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.html b/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.html
index d200f78..384097e 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.html
@@ -155,7 +155,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduValue-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduValue-members.html
index 6ca3a59..246eafb 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduValue-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduValue-members.html
@@ -83,7 +83,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduValue.html b/cpp-client-api/classkudu_1_1client_1_1KuduValue.html
index d144fa9..e8a142d 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduValue.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduValue.html
@@ -296,7 +296,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation-members.html b/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation-members.html
index 1b709eb..6d05508 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation-members.html
@@ -88,7 +88,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.html b/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.html
index 00b4f7e..ff0d73d 100644
--- a/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.html
+++ b/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.html
@@ -219,7 +219,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics-members.html b/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics-members.html
index 2694b15..b38cfe7 100644
--- a/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics-members.html
+++ b/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics-members.html
@@ -81,7 +81,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics.html b/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics.html
index c01f488..690602b 100644
--- a/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics.html
+++ b/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics.html
@@ -177,7 +177,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html b/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html
index c7a18a3..c49e37b 100644
--- a/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html
+++ b/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html
@@ -76,7 +76,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html b/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html
index 2e65bf2..4e43050 100644
--- a/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html
+++ b/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html
@@ -76,7 +76,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog-members.html b/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog-members.html
index a8e2fcf..da15c7a 100644
--- a/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog-members.html
+++ b/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog-members.html
@@ -79,7 +79,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog.html b/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog.html
index f4bb15e..370e165 100644
--- a/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog.html
+++ b/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog.html
@@ -166,7 +166,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog-members.html b/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog-members.html
index 1d79699..82fe110 100644
--- a/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog-members.html
+++ b/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog-members.html
@@ -77,7 +77,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog.html b/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog.html
index b3004f4..36c892f 100644
--- a/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog.html
+++ b/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog.html
@@ -131,7 +131,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/client_8h_source.html b/cpp-client-api/client_8h_source.html
index 38491b4..11c531b 100644
--- a/cpp-client-api/client_8h_source.html
+++ b/cpp-client-api/client_8h_source.html
@@ -120,977 +120,999 @@
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">class </span>AuthzTokenTest;</div>
 <div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">class </span>ClientStressTest_TestUniqueClientIds_Test;</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">class </span><a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>;</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">class </span>MonoDelta;</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">class </span>Partition;</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">class </span>PartitionSchema;</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">class </span>SecurityUnknownTskTest;</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">class </span>TxnId;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">namespace </span>client {</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">class </span>KuduClient;</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">class </span>KuduTable;</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;} <span class="comment">// namespace client</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">namespace </span>tablet {</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">class </span>FuzzTest;</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;} <span class="comment">// namespace tablet</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">namespace </span>transactions {</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">class </span>CoordinatorRpc;</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">class </span>ParticipantRpc;</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">class </span>TxnSystemClient;</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;} <span class="comment">// namespace transactions</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160; </div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">namespace </span>tools {</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">class </span>LeaderMasterProxy;</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">class </span>RemoteKsckCluster;</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;} <span class="comment">// namespace tools</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160; </div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keyword">namespace </span>client {</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">class </span>KuduColumnarScanBatch;</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">class </span>KuduDelete;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">class </span>KuduDeleteIgnore;</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keyword">class </span>KuduInsert;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">class </span>KuduInsertIgnore;</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">class </span>KuduLoggingCallback;</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">class </span>KuduPartitioner;</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">class </span>KuduScanBatch;</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">class </span>KuduSession;</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">class </span>KuduStatusCallback;</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">class </span>KuduTableAlterer;</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">class </span>KuduTableCreator;</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">class </span>KuduTableStatistics;</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keyword">class </span>KuduTablet;</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keyword">class </span>KuduTabletServer;</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">class </span>KuduUpdate;</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">class </span>KuduUpdateIgnore;</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">class </span>KuduUpsert;</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keyword">class </span>KuduValue;</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">class </span>KuduWriteOperation;</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keyword">class </span>ResourceMetrics;</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">namespace </span>internal {</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keyword">class </span>Batcher;</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">class </span>ErrorCollector;</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">class </span>GetTableSchemaRpc;</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">class </span>LookupRpc;</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">class </span>MetaCache;</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">class </span>RemoteTablet;</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">class </span>RemoteTabletServer;</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keyword">class </span>ReplicaController;</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">class </span>RetrieveAuthzTokenRpc;</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keyword">class </span>ScanBatchDataInterface;</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">class </span>WriteRpc;</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> ReqClass, <span class="keyword">class</span> RespClass&gt;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html">  122</a></span>&#160;<span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html">AsyncLeaderMasterRpc</a>; <span class="comment">// IWYU pragma: keep</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> ReqClass, <span class="keyword">class</span> RespClass&gt;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html">  124</a></span>&#160;<span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html">AsyncRandomTxnManagerRpc</a>; <span class="comment">// IWYU pragma: keep</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;} <span class="comment">// namespace internal</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keywordtype">void</span> KUDU_EXPORT InstallLoggingCallback(<a class="code" href="classkudu_1_1client_1_1KuduLoggingCallback.html">KuduLoggingCallback</a>* cb);</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160; </div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="keywordtype">void</span> KUDU_EXPORT UninstallLoggingCallback();</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160; </div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keywordtype">void</span> KUDU_EXPORT SetVerboseLogLevel(<span class="keywordtype">int</span> level);</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160; </div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<a class="code" href="classkudu_1_1Status.html">Status</a> KUDU_EXPORT SetInternalSignalNumber(<span class="keywordtype">int</span> signum) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160; </div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<a class="code" href="classkudu_1_1Status.html">Status</a> KUDU_EXPORT DisableSaslInitialization() WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160; </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">class </span>DisableWriteWhenExceedingQuotaTest;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">class </span><a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">class </span>MonoDelta;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">class </span>Partition;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">class </span>PartitionSchema;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">class </span>SecurityUnknownTskTest;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">class </span>TxnId;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">class </span>KuduClient;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">class </span>KuduTable;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">namespace </span>tablet {</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">class </span>FuzzTest;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;} <span class="comment">// namespace tablet</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">namespace </span>transactions {</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">class </span>CoordinatorRpc;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">class </span>ParticipantRpc;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">class </span>TxnSystemClient;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;} <span class="comment">// namespace transactions</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">namespace </span>tools {</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">class </span>LeaderMasterProxy;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">class </span>RemoteKsckCluster;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;} <span class="comment">// namespace tools</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">class </span>KuduColumnarScanBatch;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">class </span>KuduDelete;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keyword">class </span>KuduDeleteIgnore;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">class </span>KuduInsert;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">class </span>KuduInsertIgnore;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">class </span>KuduLoggingCallback;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">class </span>KuduPartitioner;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">class </span>KuduScanBatch;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">class </span>KuduSession;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">class </span>KuduStatusCallback;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">class </span>KuduTableAlterer;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">class </span>KuduTableCreator;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keyword">class </span>KuduTableStatistics;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keyword">class </span>KuduTablet;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">class </span>KuduTabletServer;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">class </span>KuduUpdate;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">class </span>KuduUpdateIgnore;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keyword">class </span>KuduUpsert;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">class </span>KuduValue;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keyword">class </span>KuduWriteOperation;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">class </span>ResourceMetrics;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keyword">namespace </span>internal {</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">class </span>Batcher;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">class </span>ErrorCollector;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">class </span>GetTableSchemaRpc;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">class </span>LookupRpc;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">class </span>MetaCache;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">class </span>RemoteTablet;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keyword">class </span>RemoteTabletServer;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">class </span>ReplicaController;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keyword">class </span>RetrieveAuthzTokenRpc;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">class </span>ScanBatchDataInterface;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">class </span>WriteRpc;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> ReqClass, <span class="keyword">class</span> RespClass&gt;</div>
+<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html">  123</a></span>&#160;<span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html">AsyncLeaderMasterRpc</a>; <span class="comment">// IWYU pragma: keep</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> ReqClass, <span class="keyword">class</span> RespClass&gt;</div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html">  125</a></span>&#160;<span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html">AsyncRandomTxnManagerRpc</a>; <span class="comment">// IWYU pragma: keep</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;} <span class="comment">// namespace internal</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keywordtype">void</span> KUDU_EXPORT InstallLoggingCallback(<a class="code" href="classkudu_1_1client_1_1KuduLoggingCallback.html">KuduLoggingCallback</a>* cb);</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keywordtype">void</span> KUDU_EXPORT UninstallLoggingCallback();</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">void</span> KUDU_EXPORT SetVerboseLogLevel(<span class="keywordtype">int</span> level);</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160; </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<a class="code" href="classkudu_1_1Status.html">Status</a> KUDU_EXPORT SetInternalSignalNumber(<span class="keywordtype">int</span> signum) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160; </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<a class="code" href="classkudu_1_1Status.html">Status</a> KUDU_EXPORT DisableSaslInitialization() WARN_UNUSED_RESULT;</div>
 <div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160; </div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<a class="code" href="classkudu_1_1Status.html">Status</a> KUDU_EXPORT DisableOpenSSLInitialization() WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160; </div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;std::<span class="keywordtype">string</span> KUDU_EXPORT GetShortVersionString();</div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160; </div>
-<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;std::<span class="keywordtype">string</span> KUDU_EXPORT GetAllVersionInfo();</div>
-<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160; </div>
-<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html">  227</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> {</div>
-<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>();</div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>();</div>
-<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160; </div>
-<div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1">  235</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1">clear_master_server_addrs</a>();</div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; </div>
-<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">  242</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">master_server_addrs</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; addrs);</div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160; </div>
-<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c">  251</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c">add_master_server_addr</a>(<span class="keyword">const</span> std::string&amp; addr);</div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160; </div>
-<div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752">  262</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752">default_admin_operation_timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160; </div>
-<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df">  271</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df">default_rpc_timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
-<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160; </div>
-<div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f">  286</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f">connection_negotiation_timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
-<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160; </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<a class="code" href="classkudu_1_1Status.html">Status</a> KUDU_EXPORT DisableOpenSSLInitialization() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160; </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;std::<span class="keywordtype">string</span> KUDU_EXPORT GetShortVersionString();</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160; </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;std::<span class="keywordtype">string</span> KUDU_EXPORT GetAllVersionInfo();</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160; </div>
+<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html">  228</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> {</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>();</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>();</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160; </div>
+<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1">  236</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1">clear_master_server_addrs</a>();</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160; </div>
+<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">  243</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">master_server_addrs</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; addrs);</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160; </div>
+<div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c">  252</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c">add_master_server_addr</a>(<span class="keyword">const</span> std::string&amp; addr);</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160; </div>
+<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752">  263</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752">default_admin_operation_timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160; </div>
+<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df">  272</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df">default_rpc_timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160; </div>
+<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f">  287</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f">connection_negotiation_timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
 <div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160; </div>
-<div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">  296</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">import_authentication_credentials</a>(std::string authn_creds);</div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160; </div>
-<div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">  307</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">num_reactors</a>(<span class="keywordtype">int</span> num_reactors);</div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160; </div>
-<div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">  319</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">Build</a>(sp::shared_ptr&lt;KuduClient&gt;* client);</div>
-<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160; </div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160; </div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::ReplicaController;</div>
-<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160; </div>
-<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160; </div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>);</div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;};</div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160; </div>
-<div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html">  349</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> :</div>
-<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="keyword">public</span> sp::enable_shared_from_this&lt;KuduTransaction&gt; {</div>
-<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>();</div>
-<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160; </div>
-<div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">  366</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">CreateSession</a>(sp::shared_ptr&lt;KuduSession&gt;* session) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160; </div>
-<div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#a408faa78430a38314881ae51450893c2">  381</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html#a408faa78430a38314881ae51450893c2">Commit</a>(<span class="keywordtype">bool</span> wait = <span class="keyword">true</span>) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160; </div>
-<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">  410</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> IsCommitComplete(<span class="keywordtype">bool</span>* is_complete,</div>
-<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;                          <a class="code" href="classkudu_1_1Status.html">Status</a>* completion_status) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160; </div>
-<div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">  416</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> Rollback() WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160; </div>
-<div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">  427</a></span>&#160;  class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a> {</div>
-<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;   <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>();</div>
-<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    ~<a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>();</div>
-<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160; </div>
-<div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f">  473</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f">keepalive</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160; </div>
-<div class="line"><a name="l00486"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">  486</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">enable_keepalive</a>(<span class="keywordtype">bool</span> enable);</div>
-<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160; </div>
-<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;   <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>;</div>
-<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;    <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    Data* data_; <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160; </div>
-<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>);</div>
-<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;  };</div>
-<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160; </div>
-<div class="line"><a name="l00521"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">  521</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">Serialize</a>(</div>
-<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;      std::string* serialized_txn,</div>
-<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;      <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>&amp; options = <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>()) const WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160; </div>
+<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">  297</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">import_authentication_credentials</a>(std::string authn_creds);</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160; </div>
+<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">  308</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">num_reactors</a>(<span class="keywordtype">int</span> num_reactors);</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160; </div>
+<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">  320</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">sasl_protocol_name</a>(<span class="keyword">const</span> std::string&amp; sasl_protocol_name);</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160; </div>
+<div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">  332</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">Build</a>(sp::shared_ptr&lt;KuduClient&gt;* client);</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160; </div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160; </div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::ReplicaController;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160; </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160; </div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>);</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;};</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160; </div>
+<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html">  362</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> :</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <span class="keyword">public</span> sp::enable_shared_from_this&lt;KuduTransaction&gt; {</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>();</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160; </div>
+<div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">  379</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">CreateSession</a>(sp::shared_ptr&lt;KuduSession&gt;* session) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160; </div>
+<div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">  397</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">Commit</a>() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160; </div>
+<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce">  413</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> StartCommit() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160; </div>
+<div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">  442</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> IsCommitComplete(<span class="keywordtype">bool</span>* is_complete,</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;                          <a class="code" href="classkudu_1_1Status.html">Status</a>* completion_status) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160; </div>
+<div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">  448</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> Rollback() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160; </div>
+<div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">  459</a></span>&#160;  class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a> {</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>();</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    ~<a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>();</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160; </div>
+<div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f">  505</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f">keepalive</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160; </div>
+<div class="line"><a name="l00518"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">  518</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">enable_keepalive</a>(<span class="keywordtype">bool</span> enable);</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160; </div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;   <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>;</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    Data* data_; <span class="comment">// Owned.</span></div>
 <div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160; </div>
-<div class="line"><a name="l00540"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">  540</a></span>&#160;  static <a class="code" href="classkudu_1_1Status.html">Status</a> Deserialize(const sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt;&amp; client,</div>
-<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;                            const std::<span class="keywordtype">string</span>&amp; serialized_txn,</div>
-<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;                            sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>&gt;* txn) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160; private:</div>
-<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>);</div>
-<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160; </div>
-<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
-<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>;</div>
-<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;  FRIEND_TEST(ClientTest, TxnIdOfTransactionalSession);</div>
-<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;  FRIEND_TEST(ClientTest, TxnToken);</div>
-<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160; </div>
-<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;  class KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160; </div>
-<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;  explicit <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>(const sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt;&amp; client);</div>
-<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;  Data* data_; <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;};</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;    DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>);</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;  };</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160; </div>
+<div class="line"><a name="l00553"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">  553</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">Serialize</a>(</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;      std::string* serialized_txn,</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;      <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>&amp; options = <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>()) const WARN_UNUSED_RESULT;</div>
 <div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160; </div>
-<div class="line"><a name="l00583"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html">  583</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> : public sp::enable_shared_from_this&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt; {</div>
-<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>();</div>
-<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160; </div>
-<div class="line"><a name="l00591"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153">  591</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>* <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153">NewTableCreator</a>();</div>
-<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160; </div>
-<div class="line"><a name="l00601"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63">  601</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63">IsCreateTableInProgress</a>(<span class="keyword">const</span> std::string&amp; table_name,</div>
-<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;                                 <span class="keywordtype">bool</span>* create_in_progress);</div>
-<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160; </div>
-<div class="line"><a name="l00609"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d">  609</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d">DeleteTable</a>(<span class="keyword">const</span> std::string&amp; table_name);</div>
-<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160; </div>
-<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160; </div>
-<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> DeleteTableInCatalogs(<span class="keyword">const</span> std::string&amp; table_name,</div>
-<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;                               <span class="keywordtype">bool</span> modify_external_catalogs) KUDU_NO_EXPORT;</div>
-<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160; </div>
-<div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">  633</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">NewTableAlterer</a>(<span class="keyword">const</span> std::string&amp; table_name);</div>
-<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160; </div>
-<div class="line"><a name="l00643"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809">  643</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809">IsAlterTableInProgress</a>(<span class="keyword">const</span> std::string&amp; table_name,</div>
-<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;                                <span class="keywordtype">bool</span>* alter_in_progress);</div>
-<div class="line"><a name="l00652"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65">  652</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65">GetTableSchema</a>(<span class="keyword">const</span> std::string&amp; table_name,</div>
-<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;                        <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>* schema);</div>
-<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160; </div>
-<div class="line"><a name="l00661"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9">  661</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9">ListTabletServers</a>(std::vector&lt;KuduTabletServer*&gt;* tablet_servers);</div>
-<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160; </div>
-<div class="line"><a name="l00670"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d">  670</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d">ListTables</a>(std::vector&lt;std::string&gt;* tables,</div>
-<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;                    <span class="keyword">const</span> std::string&amp; filter = <span class="stringliteral">&quot;&quot;</span>);</div>
-<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160; </div>
-<div class="line"><a name="l00680"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818">  680</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818">TableExists</a>(<span class="keyword">const</span> std::string&amp; table_name, <span class="keywordtype">bool</span>* exists);</div>
-<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160; </div>
-<div class="line"><a name="l00698"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">  698</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">OpenTable</a>(<span class="keyword">const</span> std::string&amp; table_name,</div>
-<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;                   sp::shared_ptr&lt;KuduTable&gt;* table);</div>
-<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160; </div>
-<div class="line"><a name="l00706"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">  706</a></span>&#160;  sp::shared_ptr&lt;KuduSession&gt; <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">NewSession</a>();</div>
-<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160; </div>
-<div class="line"><a name="l00731"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345">  731</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345">NewTransaction</a>(sp::shared_ptr&lt;KuduTransaction&gt;* txn) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00572"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">  572</a></span>&#160;  static <a class="code" href="classkudu_1_1Status.html">Status</a> Deserialize(const sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt;&amp; client,</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;                            const std::<span class="keywordtype">string</span>&amp; serialized_txn,</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;                            sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>&gt;* txn) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160; private:</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>);</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160; </div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>;</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;  FRIEND_TEST(ClientTest, TxnIdOfTransactionalSession);</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;  FRIEND_TEST(ClientTest, TxnToken);</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160; </div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;  class KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160; </div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;  explicit <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>(const sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt;&amp; client);</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;  Data* data_; <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;};</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160; </div>
+<div class="line"><a name="l00615"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html">  615</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> : public sp::enable_shared_from_this&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt; {</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>();</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160; </div>
+<div class="line"><a name="l00623"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153">  623</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>* <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153">NewTableCreator</a>();</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160; </div>
+<div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63">  633</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63">IsCreateTableInProgress</a>(<span class="keyword">const</span> std::string&amp; table_name,</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;                                 <span class="keywordtype">bool</span>* create_in_progress);</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160; </div>
+<div class="line"><a name="l00641"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d">  641</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d">DeleteTable</a>(<span class="keyword">const</span> std::string&amp; table_name);</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160; </div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160; </div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> DeleteTableInCatalogs(<span class="keyword">const</span> std::string&amp; table_name,</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;                               <span class="keywordtype">bool</span> modify_external_catalogs) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160; </div>
+<div class="line"><a name="l00665"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">  665</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">NewTableAlterer</a>(<span class="keyword">const</span> std::string&amp; table_name);</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160; </div>
+<div class="line"><a name="l00675"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809">  675</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809">IsAlterTableInProgress</a>(<span class="keyword">const</span> std::string&amp; table_name,</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;                                <span class="keywordtype">bool</span>* alter_in_progress);</div>
+<div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65">  684</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65">GetTableSchema</a>(<span class="keyword">const</span> std::string&amp; table_name,</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;                        <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>* schema);</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160; </div>
+<div class="line"><a name="l00693"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9">  693</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9">ListTabletServers</a>(std::vector&lt;KuduTabletServer*&gt;* tablet_servers);</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160; </div>
+<div class="line"><a name="l00702"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d">  702</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d">ListTables</a>(std::vector&lt;std::string&gt;* tables,</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;                    <span class="keyword">const</span> std::string&amp; filter = <span class="stringliteral">&quot;&quot;</span>);</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160; </div>
+<div class="line"><a name="l00712"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818">  712</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818">TableExists</a>(<span class="keyword">const</span> std::string&amp; table_name, <span class="keywordtype">bool</span>* exists);</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160; </div>
+<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">  730</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">OpenTable</a>(<span class="keyword">const</span> std::string&amp; table_name,</div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;                   sp::shared_ptr&lt;KuduTable&gt;* table);</div>
 <div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160; </div>
-<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160; </div>
-<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> GetTablet(<span class="keyword">const</span> std::string&amp; tablet_id,</div>
-<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;                   <a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>** tablet) KUDU_NO_EXPORT;</div>
-<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160; </div>
-<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> GetTableStatistics(<span class="keyword">const</span> std::string&amp; table_name,</div>
-<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;                            <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a>** statistics);</div>
-<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160; </div>
-<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;  std::string GetMasterAddresses() const KUDU_NO_EXPORT;</div>
-<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160; </div>
-<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160; </div>
-<div class="line"><a name="l00772"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">  772</a></span>&#160;  enum <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">ReplicaSelection</a> {</div>
-<div class="line"><a name="l00773"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">  773</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">LEADER_ONLY</a>,      </div>
-<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160; </div>
-<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;    CLOSEST_REPLICA,  </div>
-<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160; </div>
-<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;    FIRST_REPLICA     </div>
-<div class="line"><a name="l00782"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f">  782</a></span>&#160;  };</div>
-<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160; </div>
-<div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433">  786</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433">IsMultiMaster</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160; </div>
-<div class="line"><a name="l00789"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838">  789</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838">default_admin_operation_timeout</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160; </div>
-<div class="line"><a name="l00792"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49">  792</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49">default_rpc_timeout</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160; </div>
-<div class="line"><a name="l00795"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac">  795</a></span>&#160;  <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac">connection_negotiation_timeout</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160; </div>
-<div class="line"><a name="l00799"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">  799</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> uint64_t <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">kNoTimestamp</a>;</div>
+<div class="line"><a name="l00738"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">  738</a></span>&#160;  sp::shared_ptr&lt;KuduSession&gt; <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">NewSession</a>();</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160; </div>
+<div class="line"><a name="l00763"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345">  763</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345">NewTransaction</a>(sp::shared_ptr&lt;KuduTransaction&gt;* txn) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160; </div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160; </div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> GetTablet(<span class="keyword">const</span> std::string&amp; tablet_id,</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;                   <a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>** tablet) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160; </div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> GetTableStatistics(<span class="keyword">const</span> std::string&amp; table_name,</div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;                            <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a>** statistics);</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160; </div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;  std::string GetMasterAddresses() const KUDU_NO_EXPORT;</div>
 <div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160; </div>
-<div class="line"><a name="l00811"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">  811</a></span>&#160;  uint64_t <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">GetLatestObservedTimestamp</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160; </div>
+<div class="line"><a name="l00804"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">  804</a></span>&#160;  enum <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">ReplicaSelection</a> {</div>
+<div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">  805</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">LEADER_ONLY</a>,      </div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160; </div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    CLOSEST_REPLICA,  </div>
 <div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160; </div>
-<div class="line"><a name="l00827"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">  827</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">SetLatestObservedTimestamp</a>(uint64_t ht_timestamp);</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;    FIRST_REPLICA     </div>
+<div class="line"><a name="l00814"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f">  814</a></span>&#160;  };</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160; </div>
+<div class="line"><a name="l00818"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433">  818</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433">IsMultiMaster</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160; </div>
+<div class="line"><a name="l00821"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838">  821</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838">default_admin_operation_timeout</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160; </div>
+<div class="line"><a name="l00824"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49">  824</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49">default_rpc_timeout</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160; </div>
+<div class="line"><a name="l00827"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac">  827</a></span>&#160;  <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac">connection_negotiation_timeout</a>() <span class="keyword">const</span>;</div>
 <div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160; </div>
-<div class="line"><a name="l00840"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">  840</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">ExportAuthenticationCredentials</a>(std::string* authn_creds) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160; </div>
-<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160; </div>
-<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;  std::string GetHiveMetastoreUris() const KUDU_NO_EXPORT;</div>
-<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160; </div>
-<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;  <span class="keywordtype">bool</span> GetHiveMetastoreSaslEnabled() const KUDU_NO_EXPORT;</div>
-<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160; </div>
-<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;  std::<span class="keywordtype">string</span> GetHiveMetastoreUuid() const KUDU_NO_EXPORT;</div>
-<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160; </div>
-<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;  std::<span class="keywordtype">string</span> location() const KUDU_NO_EXPORT;</div>
-<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160; </div>
-<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;  std::<span class="keywordtype">string</span> cluster_id() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00831"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">  831</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> uint64_t <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">kNoTimestamp</a>;</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160; </div>
+<div class="line"><a name="l00843"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">  843</a></span>&#160;  uint64_t <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">GetLatestObservedTimestamp</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160; </div>
+<div class="line"><a name="l00859"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">  859</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">SetLatestObservedTimestamp</a>(uint64_t ht_timestamp);</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160; </div>
+<div class="line"><a name="l00872"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">  872</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">ExportAuthenticationCredentials</a>(std::string* authn_creds) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160; </div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160; </div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;  std::string GetHiveMetastoreUris() const KUDU_NO_EXPORT;</div>
 <div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160; </div>
-<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160; private:</div>
-<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;  class KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160; </div>
-<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;  template &lt;class ReqClass, class RespClass&gt;</div>
-<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;  friend class internal::AsyncLeaderMasterRpc;</div>
-<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;  template &lt;class ReqClass, class RespClass&gt;</div>
-<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;  friend class internal::AsyncRandomTxnManagerRpc;</div>
-<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160; </div>
-<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;  friend class ClientTest;</div>
-<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;  friend class ConnectToClusterBaseTest;</div>
-<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>;</div>
-<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>;</div>
-<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>;</div>
-<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>;</div>
-<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
-<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>;</div>
-<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>;</div>
-<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>;</div>
-<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>;</div>
-<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>;</div>
-<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;  friend class internal::Batcher;</div>
-<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;  friend class internal::GetTableSchemaRpc;</div>
-<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;  friend class internal::LookupRpc;</div>
-<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;  friend class internal::MetaCache;</div>
-<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;  friend class internal::RemoteTablet;</div>
-<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;  friend class internal::RemoteTabletServer;</div>
-<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;  friend class internal::RetrieveAuthzTokenRpc;</div>
-<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;  friend class internal::WriteRpc;</div>
-<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;  friend class kudu::AuthzTokenTest;</div>
-<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;  friend class kudu::SecurityUnknownTskTest;</div>
-<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;  friend class transactions::CoordinatorRpc;</div>
-<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;  friend class transactions::ParticipantRpc;</div>
-<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;  friend class transactions::TxnSystemClient;</div>
-<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;  friend class tools::LeaderMasterProxy;</div>
-<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;  friend class tools::RemoteKsckCluster;</div>
-<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160; </div>
-<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;  FRIEND_TEST(kudu::ClientStressTest, TestUniqueClientIds);</div>
-<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;  FRIEND_TEST(ClientTest, ClearCacheAndConcurrentWorkload);</div>
-<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;  FRIEND_TEST(ClientTest, ConnectionNegotiationTimeout);</div>
-<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;  FRIEND_TEST(ClientTest, TestBasicIdBasedLookup);</div>
-<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;  FRIEND_TEST(ClientTest, TestCacheAuthzTokens);</div>
-<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;  FRIEND_TEST(ClientTest, TestGetSecurityInfoFromMaster);</div>
-<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;  FRIEND_TEST(ClientTest, TestGetTabletServerBlacklist);</div>
-<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;  FRIEND_TEST(ClientTest, TestMasterDown);</div>
-<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;  FRIEND_TEST(ClientTest, TestMasterLookupPermits);</div>
-<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheExpiry);</div>
-<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheExpiryById);</div>
-<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheExpiryWithKeysAndIds);</div>
-<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheLookupNoLeaders);</div>
-<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheWithKeysAndIds);</div>
-<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;  FRIEND_TEST(ClientTest, TestNonCoveringRangePartitions);</div>
-<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;  FRIEND_TEST(ClientTest, TestRetrieveAuthzTokenInParallel);</div>
-<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;  FRIEND_TEST(ClientTest, TestReplicatedTabletWritesWithLeaderElection);</div>
-<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;  FRIEND_TEST(ClientTest, TestScanFaultTolerance);</div>
-<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;  FRIEND_TEST(ClientTest, TestScanTimeout);</div>
-<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;  FRIEND_TEST(ClientTest, TestWriteWithDeadMaster);</div>
-<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;  FRIEND_TEST(MasterFailoverTest, TestPauseAfterCreateTableIssued);</div>
-<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160; </div>
-<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>();</div>
-<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160; </div>
-<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160; </div>
-<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>);</div>
-<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;};</div>
-<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160; </div>
-<div class="line"><a name="l00950"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTabletServer.html">  950</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a> {</div>
-<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>();</div>
-<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160; </div>
-<div class="line"><a name="l00956"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc">  956</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc">uuid</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160; </div>
-<div class="line"><a name="l00960"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1">  960</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1">hostname</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160; </div>
-<div class="line"><a name="l00964"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f">  964</a></span>&#160;  uint16_t <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f">port</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160; </div>
-<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160; </div>
-<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;  <span class="keyword">const</span> std::string&amp; location() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;  <span class="keywordtype">bool</span> GetHiveMetastoreSaslEnabled() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160; </div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;  std::<span class="keywordtype">string</span> GetHiveMetastoreUuid() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160; </div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;  std::<span class="keywordtype">string</span> location() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160; </div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;  std::<span class="keywordtype">string</span> cluster_id() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160; </div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160; private:</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;  class KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160; </div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;  template &lt;class ReqClass, class RespClass&gt;</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;  friend class internal::AsyncLeaderMasterRpc;</div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;  template &lt;class ReqClass, class RespClass&gt;</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;  friend class internal::AsyncRandomTxnManagerRpc;</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160; </div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;  friend class ClientTest;</div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;  friend class ConnectToClusterBaseTest;</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>;</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>;</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>;</div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>;</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>;</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>;</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>;</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>;</div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>;</div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;  friend class internal::Batcher;</div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;  friend class internal::GetTableSchemaRpc;</div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;  friend class internal::LookupRpc;</div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;  friend class internal::MetaCache;</div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;  friend class internal::RemoteTablet;</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;  friend class internal::RemoteTabletServer;</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;  friend class internal::RetrieveAuthzTokenRpc;</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;  friend class internal::WriteRpc;</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;  friend class kudu::AuthzTokenTest;</div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;  friend class kudu::DisableWriteWhenExceedingQuotaTest;</div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;  friend class kudu::SecurityUnknownTskTest;</div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;  friend class transactions::CoordinatorRpc;</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;  friend class transactions::ParticipantRpc;</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;  friend class transactions::TxnSystemClient;</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;  friend class tools::LeaderMasterProxy;</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;  friend class tools::RemoteKsckCluster;</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160; </div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;  FRIEND_TEST(kudu::ClientStressTest, TestUniqueClientIds);</div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;  FRIEND_TEST(ClientTest, ClearCacheAndConcurrentWorkload);</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;  FRIEND_TEST(ClientTest, ConnectionNegotiationTimeout);</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;  FRIEND_TEST(ClientTest, TestBasicIdBasedLookup);</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;  FRIEND_TEST(ClientTest, TestCacheAuthzTokens);</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;  FRIEND_TEST(ClientTest, TestGetSecurityInfoFromMaster);</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;  FRIEND_TEST(ClientTest, TestGetTabletServerBlacklist);</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;  FRIEND_TEST(ClientTest, TestGetTabletServerDeterministic);</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;  FRIEND_TEST(ClientTest, TestMasterDown);</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;  FRIEND_TEST(ClientTest, TestMasterLookupPermits);</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheExpiry);</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheExpiryById);</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheExpiryWithKeysAndIds);</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheLookupNoLeaders);</div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheWithKeysAndIds);</div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;  FRIEND_TEST(ClientTest, TestNonCoveringRangePartitions);</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;  FRIEND_TEST(ClientTest, TestRetrieveAuthzTokenInParallel);</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;  FRIEND_TEST(ClientTest, TestReplicatedTabletWritesWithLeaderElection);</div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;  FRIEND_TEST(ClientTest, TestScanFaultTolerance);</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;  FRIEND_TEST(ClientTest, TestScanTimeout);</div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;  FRIEND_TEST(ClientTest, TestWriteWithDeadMaster);</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;  FRIEND_TEST(MasterFailoverTest, TestPauseAfterCreateTableIssued);</div>
 <div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160; </div>
-<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160; private:</div>
-<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;  class KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160; </div>
-<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
-<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>;</div>
-<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
-<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160; </div>
-<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>();</div>
-<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160; </div>
-<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160; </div>
-<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>);</div>
-<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;};</div>
-<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160; </div>
-<div class="line"><a name="l00991"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduReplica.html">  991</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a> {</div>
-<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a>();</div>
-<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160; </div>
-<div class="line"><a name="l00999"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5">  999</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5">is_leader</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; </div>
-<div class="line"><a name="l01002"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627"> 1002</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627">ts</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; </div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::ReplicaController;</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>();</div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160; </div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160; </div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>);</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;};</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160; </div>
+<div class="line"><a name="l00984"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTabletServer.html">  984</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a> {</div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>();</div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160; </div>
+<div class="line"><a name="l00990"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc">  990</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc">uuid</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160; </div>
+<div class="line"><a name="l00994"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1">  994</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1">hostname</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160; </div>
+<div class="line"><a name="l00998"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f">  998</a></span>&#160;  uint16_t <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f">port</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160; </div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; </div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;  <span class="keyword">const</span> std::string&amp; location() const KUDU_NO_EXPORT;</div>
 <div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; </div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; </div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a>();</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; </div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; private:</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;  class KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; </div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>;</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
 <div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; </div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a>);</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;};</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; </div>
-<div class="line"><a name="l01020"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTablet.html"> 1020</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a> {</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>();</div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>();</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; </div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; </div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>);</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;};</div>
 <div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; </div>
-<div class="line"><a name="l01026"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837"> 1026</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837">id</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; </div>
-<div class="line"><a name="l01033"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19"> 1033</a></span>&#160;  <span class="keyword">const</span> std::vector&lt;const KuduReplica*&gt;&amp; <a class="code" href="classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19">replicas</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01025"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduReplica.html"> 1025</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a> {</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a>();</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; </div>
+<div class="line"><a name="l01033"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5"> 1033</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5">is_leader</a>() <span class="keyword">const</span>;</div>
 <div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; </div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; </div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; </div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>();</div>
+<div class="line"><a name="l01036"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627"> 1036</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627">ts</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; </div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::ReplicaController;</div>
 <div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; </div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; </div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>);</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;};</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; </div>
-<div class="line"><a name="l01050"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html"> 1050</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> {</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>();</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; </div>
-<div class="line"><a name="l01065"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93"> 1065</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">table_name</a>(<span class="keyword">const</span> std::string&amp; name);</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; </div>
-<div class="line"><a name="l01077"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7"> 1077</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">schema</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>* schema);</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; </div>
-<div class="line"><a name="l01095"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e"> 1095</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">add_hash_partitions</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; columns,</div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;                                        int32_t num_buckets);</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; </div>
-<div class="line"><a name="l01113"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24"> 1113</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24">add_hash_partitions</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; columns,</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;                                        int32_t num_buckets, int32_t seed);</div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160; </div>
-<div class="line"><a name="l01128"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3"> 1128</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3">set_range_partition_columns</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; columns);</div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160; </div>
-<div class="line"><a name="l01131"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b"> 1131</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> {</div>
-<div class="line"><a name="l01132"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601"> 1132</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">EXCLUSIVE_BOUND</a>, </div>
-<div class="line"><a name="l01133"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950"> 1133</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">INCLUSIVE_BOUND</a>, </div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;  };</div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160; </div>
-<div class="line"><a name="l01164"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a"> 1164</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a">add_range_partition</a>(<a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* lower_bound,</div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;                                        <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* upper_bound,</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;                                        <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> lower_bound_type = INCLUSIVE_BOUND,</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;                                        <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> upper_bound_type = EXCLUSIVE_BOUND);</div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160; </div>
-<div class="line"><a name="l01177"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f"> 1177</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split</a>(<a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* split_row);</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160; </div>
-<div class="line"><a name="l01186"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007"> 1186</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">set_owner</a>(<span class="keyword">const</span> std::string&amp; owner);</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; </div>
-<div class="line"><a name="l01193"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9"> 1193</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">split_rows</a>(<span class="keyword">const</span> std::vector&lt;const KuduPartialRow*&gt;&amp; split_rows)</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use add_range_partition_split() instead&quot;</span>);</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; </div>
-<div class="line"><a name="l01205"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139"> 1205</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139">num_replicas</a>(<span class="keywordtype">int</span> n_replicas);</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160; </div>
-<div class="line"><a name="l01218"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658"> 1218</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">dimension_label</a>(<span class="keyword">const</span> std::string&amp; dimension_label);</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; </div>
-<div class="line"><a name="l01227"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd"> 1227</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd">extra_configs</a>(<span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; extra_configs);</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; </div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a>();</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; </div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; </div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a>);</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;};</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; </div>
+<div class="line"><a name="l01054"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTablet.html"> 1054</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a> {</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>();</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; </div>
+<div class="line"><a name="l01060"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837"> 1060</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837">id</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; </div>
+<div class="line"><a name="l01067"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19"> 1067</a></span>&#160;  <span class="keyword">const</span> std::vector&lt;const KuduReplica*&gt;&amp; <a class="code" href="classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19">replicas</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; </div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; </div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; </div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>();</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; </div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; </div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>);</div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;};</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; </div>
+<div class="line"><a name="l01084"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html"> 1084</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> {</div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>();</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; </div>
+<div class="line"><a name="l01099"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93"> 1099</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">table_name</a>(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; </div>
+<div class="line"><a name="l01111"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7"> 1111</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">schema</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>* schema);</div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; </div>
+<div class="line"><a name="l01129"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e"> 1129</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">add_hash_partitions</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; columns,</div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;                                        int32_t num_buckets);</div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; </div>
+<div class="line"><a name="l01147"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24"> 1147</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24">add_hash_partitions</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; columns,</div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;                                        int32_t num_buckets, int32_t seed);</div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160; </div>
+<div class="line"><a name="l01162"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3"> 1162</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3">set_range_partition_columns</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; columns);</div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160; </div>
+<div class="line"><a name="l01165"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b"> 1165</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> {</div>
+<div class="line"><a name="l01166"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601"> 1166</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">EXCLUSIVE_BOUND</a>, </div>
+<div class="line"><a name="l01167"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950"> 1167</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">INCLUSIVE_BOUND</a>, </div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;  };</div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; </div>
+<div class="line"><a name="l01198"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a"> 1198</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a">add_range_partition</a>(<a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* lower_bound,</div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;                                        <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* upper_bound,</div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;                                        <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> lower_bound_type = INCLUSIVE_BOUND,</div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;                                        <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> upper_bound_type = EXCLUSIVE_BOUND);</div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160; </div>
+<div class="line"><a name="l01211"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f"> 1211</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split</a>(<a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* split_row);</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160; </div>
+<div class="line"><a name="l01220"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007"> 1220</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">set_owner</a>(<span class="keyword">const</span> std::string&amp; owner);</div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160; </div>
+<div class="line"><a name="l01227"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f"> 1227</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f">set_comment</a>(<span class="keyword">const</span> std::string&amp; comment);</div>
 <div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160; </div>
-<div class="line"><a name="l01238"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235"> 1238</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160; </div>
-<div class="line"><a name="l01247"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9"> 1247</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">wait</a>(<span class="keywordtype">bool</span> wait);</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160; </div>
-<div class="line"><a name="l01262"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc"> 1262</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">Create</a>();</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160; </div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160; </div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>transactions::TxnSystemClient;</div>
+<div class="line"><a name="l01234"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9"> 1234</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">split_rows</a>(<span class="keyword">const</span> std::vector&lt;const KuduPartialRow*&gt;&amp; split_rows)</div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use add_range_partition_split() instead&quot;</span>);</div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; </div>
+<div class="line"><a name="l01246"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139"> 1246</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139">num_replicas</a>(<span class="keywordtype">int</span> n_replicas);</div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; </div>
+<div class="line"><a name="l01259"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658"> 1259</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">dimension_label</a>(<span class="keyword">const</span> std::string&amp; dimension_label);</div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; </div>
+<div class="line"><a name="l01268"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd"> 1268</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd">extra_configs</a>(<span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; extra_configs);</div>
 <div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; </div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* client);</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; </div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; </div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>);</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;};</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; </div>
-<div class="line"><a name="l01279"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html"> 1279</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a> {</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a>();</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a>();</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160; </div>
-<div class="line"><a name="l01288"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484"> 1288</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">on_disk_size</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01279"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235"> 1279</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; </div>
+<div class="line"><a name="l01288"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9"> 1288</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">wait</a>(<span class="keywordtype">bool</span> wait);</div>
 <div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; </div>
-<div class="line"><a name="l01294"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1"> 1294</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">live_row_count</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160; </div>
-<div class="line"><a name="l01299"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff"> 1299</a></span>&#160;  std::string <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">ToString</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; </div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160; </div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; </div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; </div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a>);</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;};</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; </div>
-<div class="line"><a name="l01332"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html"> 1332</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> : <span class="keyword">public</span> sp::enable_shared_from_this&lt;KuduTable&gt; {</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>();</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; </div>
-<div class="line"><a name="l01337"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244"> 1337</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">name</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; </div>
-<div class="line"><a name="l01346"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20"> 1346</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20">id</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160; </div>
-<div class="line"><a name="l01349"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c"> 1349</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c">schema</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160; </div>
-<div class="line"><a name="l01352"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed"> 1352</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed">num_replicas</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; </div>
-<div class="line"><a name="l01355"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d"> 1355</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">owner</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; </div>
-<div class="line"><a name="l01360"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6"> 1360</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduInsert.html">KuduInsert</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">NewInsert</a>();</div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; </div>
-<div class="line"><a name="l01365"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103"> 1365</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduInsertIgnore.html">KuduInsertIgnore</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103">NewInsertIgnore</a>();</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; </div>
-<div class="line"><a name="l01370"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc"> 1370</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduUpsert.html">KuduUpsert</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc">NewUpsert</a>();</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160; </div>
-<div class="line"><a name="l01375"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8"> 1375</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduUpdate.html">KuduUpdate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8">NewUpdate</a>();</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160; </div>
-<div class="line"><a name="l01380"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3"> 1380</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">KuduUpdateIgnore</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3">NewUpdateIgnore</a>();</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160; </div>
-<div class="line"><a name="l01385"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a"> 1385</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduDelete.html">KuduDelete</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a">NewDelete</a>();</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; </div>
-<div class="line"><a name="l01390"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094"> 1390</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">KuduDeleteIgnore</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094">NewDeleteIgnore</a>();</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; </div>
-<div class="line"><a name="l01415"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea"> 1415</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">NewComparisonPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;                                        <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">KuduPredicate::ComparisonOp</a> op,</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;                                        <a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* value);</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; </div>
-<div class="line"><a name="l01450"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94"> 1450</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">NewInBloomFilterPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;                                           std::vector&lt;KuduBloomFilter*&gt;* bloom_filters);</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160; </div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160; </div>
-<div class="line"><a name="l01493"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3"> 1493</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3">NewInBloomFilterPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
-<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;                                           <span class="keyword">const</span> std::vector&lt;Slice&gt;&amp; bloom_filters);</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160; </div>
-<div class="line"><a name="l01520"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9"> 1520</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9">NewInListPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;                                    std::vector&lt;KuduValue*&gt;* values);</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160; </div>
-<div class="line"><a name="l01533"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523"> 1533</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523">NewIsNotNullPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name);</div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160; </div>
-<div class="line"><a name="l01545"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466"> 1545</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">NewIsNullPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name);</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160; </div>
-<div class="line"><a name="l01549"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf"> 1549</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf">client</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160; </div>
-<div class="line"><a name="l01552"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2"> 1552</a></span>&#160;  <span class="keyword">const</span> PartitionSchema&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2">partition_schema</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160; </div>
-<div class="line"><a name="l01555"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec"> 1555</a></span>&#160;  <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec">extra_configs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01303"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc"> 1303</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">Create</a>();</div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; </div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160; </div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>transactions::TxnSystemClient;</div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; </div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* client);</div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160; </div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160; </div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>);</div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;};</div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; </div>
+<div class="line"><a name="l01320"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html"> 1320</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a> {</div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a>();</div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a>();</div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; </div>
+<div class="line"><a name="l01329"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484"> 1329</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">on_disk_size</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160; </div>
+<div class="line"><a name="l01335"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1"> 1335</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">live_row_count</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; </div>
+<div class="line"><a name="l01343"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a"> 1343</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">on_disk_size_limit</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; </div>
+<div class="line"><a name="l01351"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd"> 1351</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd">live_row_count_limit</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; </div>
+<div class="line"><a name="l01356"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff"> 1356</a></span>&#160;  std::string <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">ToString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; </div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; </div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; </div>
+<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; </div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a>);</div>
+<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;};</div>
+<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160; </div>
+<div class="line"><a name="l01389"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html"> 1389</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> : <span class="keyword">public</span> sp::enable_shared_from_this&lt;KuduTable&gt; {</div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>();</div>
+<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; </div>
+<div class="line"><a name="l01394"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244"> 1394</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">name</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160; </div>
+<div class="line"><a name="l01403"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20"> 1403</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20">id</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; </div>
+<div class="line"><a name="l01406"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c"> 1406</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c">schema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160; </div>
+<div class="line"><a name="l01409"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b"> 1409</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b">comment</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160; </div>
+<div class="line"><a name="l01412"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed"> 1412</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed">num_replicas</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; </div>
+<div class="line"><a name="l01415"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d"> 1415</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">owner</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; </div>
+<div class="line"><a name="l01420"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6"> 1420</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduInsert.html">KuduInsert</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">NewInsert</a>();</div>
+<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; </div>
+<div class="line"><a name="l01425"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103"> 1425</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduInsertIgnore.html">KuduInsertIgnore</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103">NewInsertIgnore</a>();</div>
+<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160; </div>
+<div class="line"><a name="l01430"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc"> 1430</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduUpsert.html">KuduUpsert</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc">NewUpsert</a>();</div>
+<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; </div>
+<div class="line"><a name="l01435"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8"> 1435</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduUpdate.html">KuduUpdate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8">NewUpdate</a>();</div>
+<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; </div>
+<div class="line"><a name="l01440"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3"> 1440</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">KuduUpdateIgnore</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3">NewUpdateIgnore</a>();</div>
+<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160; </div>
+<div class="line"><a name="l01445"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a"> 1445</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduDelete.html">KuduDelete</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a">NewDelete</a>();</div>
+<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160; </div>
+<div class="line"><a name="l01450"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094"> 1450</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">KuduDeleteIgnore</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094">NewDeleteIgnore</a>();</div>
+<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160; </div>
+<div class="line"><a name="l01475"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea"> 1475</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">NewComparisonPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
+<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;                                        <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">KuduPredicate::ComparisonOp</a> op,</div>
+<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;                                        <a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* value);</div>
+<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160; </div>
+<div class="line"><a name="l01510"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94"> 1510</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">NewInBloomFilterPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
+<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;                                           std::vector&lt;KuduBloomFilter*&gt;* bloom_filters);</div>
+<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160; </div>
+<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160; </div>
+<div class="line"><a name="l01553"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3"> 1553</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3">NewInBloomFilterPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
+<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160;                                           <span class="keyword">const</span> std::vector&lt;Slice&gt;&amp; bloom_filters);</div>
 <div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160; </div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160; </div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> ListPartitions(std::vector&lt;Partition&gt;* partitions) KUDU_NO_EXPORT;</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; </div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; </div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160; </div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a>;</div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>;</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160; </div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>(<span class="keyword">const</span> sp::shared_ptr&lt;KuduClient&gt;&amp; client,</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;            <span class="keyword">const</span> std::string&amp; name,</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;            <span class="keyword">const</span> std::string&amp; <span class="keywordtype">id</span>,</div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;            <span class="keywordtype">int</span> num_replicas,</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;            <span class="keyword">const</span> std::string&amp; owner,</div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;            <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; schema,</div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;            <span class="keyword">const</span> PartitionSchema&amp; partition_schema,</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;            <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; extra_configs);</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160; </div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160; </div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>);</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160;};</div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160; </div>
-<div class="line"><a name="l01605"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html"> 1605</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> {</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>();</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; </div>
-<div class="line"><a name="l01614"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324"> 1614</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324">RenameTo</a>(<span class="keyword">const</span> std::string&amp; new_name);</div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160; </div>
-<div class="line"><a name="l01621"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8"> 1621</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8">SetOwner</a>(<span class="keyword">const</span> std::string&amp; new_owner);</div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160; </div>
-<div class="line"><a name="l01632"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0"> 1632</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0">AddColumn</a>(<span class="keyword">const</span> std::string&amp; name);</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160; </div>
-<div class="line"><a name="l01642"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742"> 1642</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742">AlterColumn</a>(<span class="keyword">const</span> std::string&amp; name);</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160; </div>
-<div class="line"><a name="l01651"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7"> 1651</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7">DropColumn</a>(<span class="keyword">const</span> std::string&amp; name);</div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160; </div>
-<div class="line"><a name="l01684"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793"> 1684</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793">AddRangePartition</a>(</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* lower_bound,</div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* upper_bound,</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>,</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>);</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; </div>
-<div class="line"><a name="l01724"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006"> 1724</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006">AddRangePartitionWithDimension</a>(</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* lower_bound,</div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* upper_bound,</div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;      <span class="keyword">const</span> std::string&amp; dimension_label,</div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>,</div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>);</div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160; </div>
-<div class="line"><a name="l01758"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7"> 1758</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7">DropRangePartition</a>(</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* lower_bound,</div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* upper_bound,</div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>,</div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>);</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160; </div>
-<div class="line"><a name="l01773"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541"> 1773</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541">AlterExtraConfig</a>(<span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; extra_configs);</div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160; </div>
-<div class="line"><a name="l01784"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1"> 1784</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160; </div>
-<div class="line"><a name="l01797"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646"> 1797</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">wait</a>(<span class="keywordtype">bool</span> wait);</div>
+<div class="line"><a name="l01580"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9"> 1580</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9">NewInListPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
+<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;                                    std::vector&lt;KuduValue*&gt;* values);</div>
+<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160; </div>
+<div class="line"><a name="l01593"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523"> 1593</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523">NewIsNotNullPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name);</div>
+<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; </div>
+<div class="line"><a name="l01605"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466"> 1605</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">NewIsNullPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name);</div>
+<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; </div>
+<div class="line"><a name="l01609"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf"> 1609</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf">client</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; </div>
+<div class="line"><a name="l01612"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2"> 1612</a></span>&#160;  <span class="keyword">const</span> PartitionSchema&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2">partition_schema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160; </div>
+<div class="line"><a name="l01615"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec"> 1615</a></span>&#160;  <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec">extra_configs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; </div>
+<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; </div>
+<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> ListPartitions(std::vector&lt;Partition&gt;* partitions) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160; </div>
+<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160; </div>
+<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160; </div>
+<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a>;</div>
+<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>;</div>
+<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160; </div>
+<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>(<span class="keyword">const</span> sp::shared_ptr&lt;KuduClient&gt;&amp; client,</div>
+<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;            <span class="keyword">const</span> std::string&amp; name,</div>
+<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;            <span class="keyword">const</span> std::string&amp; <span class="keywordtype">id</span>,</div>
+<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;            <span class="keywordtype">int</span> num_replicas,</div>
+<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160;            <span class="keyword">const</span> std::string&amp; owner,</div>
+<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;            <span class="keyword">const</span> std::string&amp; comment,</div>
+<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160;            <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; schema,</div>
+<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;            <span class="keyword">const</span> PartitionSchema&amp; partition_schema,</div>
+<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;            <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; extra_configs);</div>
+<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; </div>
+<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; </div>
+<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>);</div>
+<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160;};</div>
+<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; </div>
+<div class="line"><a name="l01666"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html"> 1666</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> {</div>
+<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>();</div>
+<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; </div>
+<div class="line"><a name="l01675"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324"> 1675</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324">RenameTo</a>(<span class="keyword">const</span> std::string&amp; new_name);</div>
+<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160; </div>
+<div class="line"><a name="l01682"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8"> 1682</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8">SetOwner</a>(<span class="keyword">const</span> std::string&amp; new_owner);</div>
+<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; </div>
+<div class="line"><a name="l01689"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6"> 1689</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6">SetComment</a>(<span class="keyword">const</span> std::string&amp; new_comment);</div>
+<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; </div>
+<div class="line"><a name="l01700"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0"> 1700</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0">AddColumn</a>(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; </div>
+<div class="line"><a name="l01710"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742"> 1710</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742">AlterColumn</a>(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; </div>
+<div class="line"><a name="l01719"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7"> 1719</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7">DropColumn</a>(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; </div>
+<div class="line"><a name="l01752"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793"> 1752</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793">AddRangePartition</a>(</div>
+<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* lower_bound,</div>
+<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* upper_bound,</div>
+<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>,</div>
+<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>);</div>
+<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160; </div>
+<div class="line"><a name="l01792"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006"> 1792</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006">AddRangePartitionWithDimension</a>(</div>
+<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* lower_bound,</div>
+<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* upper_bound,</div>
+<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160;      <span class="keyword">const</span> std::string&amp; dimension_label,</div>
+<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>,</div>
+<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>);</div>
 <div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160; </div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160; </div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* modify_external_catalogs(<span class="keywordtype">bool</span> modify_external_catalogs) KUDU_NO_EXPORT;</div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160; </div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160; </div>
-<div class="line"><a name="l01817"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c"> 1817</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">Alter</a>();</div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160; </div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160; </div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160; </div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* client,</div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;                   <span class="keyword">const</span> std::string&amp; name);</div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160; </div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; </div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>);</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;};</div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160; </div>
-<div class="line"><a name="l01838"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html"> 1838</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a> {</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a>();</div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160; </div>
-<div class="line"><a name="l01843"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7"> 1843</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7">status</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160; </div>
-<div class="line"><a name="l01846"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea"> 1846</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea">failed_op</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160; </div>
-<div class="line"><a name="l01855"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a"> 1855</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>* <a class="code" href="classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a">release_failed_op</a>();</div>
+<div class="line"><a name="l01826"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7"> 1826</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7">DropRangePartition</a>(</div>
+<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* lower_bound,</div>
+<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* upper_bound,</div>
+<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>,</div>
+<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>);</div>
+<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160; </div>
+<div class="line"><a name="l01841"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541"> 1841</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541">AlterExtraConfig</a>(<span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; extra_configs);</div>
+<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160; </div>
+<div class="line"><a name="l01855"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27"> 1855</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27">SetTableDiskSizeLimit</a>(int64_t disk_size_limit);</div>
 <div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160; </div>
-<div class="line"><a name="l01867"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4"> 1867</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4">was_possibly_successful</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160; </div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160; </div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::Batcher;</div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::ErrorCollector;</div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>;</div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160; </div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a>(<a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>* failed_op, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; error);</div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160; </div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160; </div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a>);</div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160;};</div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160; </div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160; </div>
-<div class="line"><a name="l01943"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html"> 1943</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a> : <span class="keyword">public</span> sp::enable_shared_from_this&lt;KuduSession&gt; {</div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>();</div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160; </div>
-<div class="line"><a name="l01948"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19"> 1948</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">FlushMode</a> {</div>
-<div class="line"><a name="l01953"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b"> 1953</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b">AUTO_FLUSH_SYNC</a>,</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160; </div>
-<div class="line"><a name="l01981"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1"> 1981</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">AUTO_FLUSH_BACKGROUND</a>,</div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160; </div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;    MANUAL_FLUSH</div>
-<div class="line"><a name="l01996"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a"> 1996</a></span>&#160;  };</div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160; </div>
-<div class="line"><a name="l02006"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f"> 2006</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f">SetFlushMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">FlushMode</a> m) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>&#160; </div>
-<div class="line"><a name="l02009"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22"> 2009</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">ExternalConsistencyMode</a> {</div>
-<div class="line"><a name="l02028"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c"> 2028</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">CLIENT_PROPAGATED</a>,</div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160; </div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;    COMMIT_WAIT</div>
-<div class="line"><a name="l02045"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9"> 2045</a></span>&#160;  };</div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160; </div>
-<div class="line"><a name="l02052"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca"> 2052</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca">SetExternalConsistencyMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">ExternalConsistencyMode</a> m)</div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;    WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160; </div>
-<div class="line"><a name="l02072"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf"> 2072</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf">SetMutationBufferSpace</a>(<span class="keywordtype">size_t</span> size_bytes) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160; </div>
-<div class="line"><a name="l02097"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf"> 2097</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf">SetMutationBufferFlushWatermark</a>(<span class="keywordtype">double</span> watermark_pct)</div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;      WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>&#160; </div>
-<div class="line"><a name="l02121"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941"> 2121</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941">SetMutationBufferFlushInterval</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> millis) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160; </div>
-<div class="line"><a name="l02147"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4"> 2147</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4">SetMutationBufferMaxNum</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_num) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span>&#160; </div>
-<div class="line"><a name="l02154"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79"> 2154</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79">SetTimeoutMillis</a>(<span class="keywordtype">int</span> millis);</div>
-<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>&#160; </div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>&#160; </div>
-<div class="line"><a name="l02183"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943"> 2183</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply</a>(<a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>* write_op) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>&#160; </div>
-<div class="line"><a name="l02199"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84"> 2199</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">Flush</a>() WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span>&#160; </div>
-<div class="line"><a name="l02241"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731"> 2241</a></span>&#160;  <span class="keywordtype">void</span> FlushAsync(<a class="code" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a>* cb);</div>
-<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span>&#160; </div>
-<div class="line"><a name="l02245"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436"> 2245</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> Close() WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span>&#160; </div>
-<div class="line"><a name="l02255"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578"> 2255</a></span>&#160;  <span class="keywordtype">bool</span> HasPendingOperations() const;</div>
-<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span>&#160; </div>
-<div class="line"><a name="l02278"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112"> 2278</a></span>&#160;  <span class="keywordtype">int</span> CountBufferedOperations() const</div>
-<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span>&#160;      ATTRIBUTE_DEPRECATED(&quot;this method is experimental and will disappear &quot;</div>
-<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span>&#160;                           &quot;in a future release&quot;);</div>
-<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span>&#160; </div>
-<div class="line"><a name="l02306"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5"> 2306</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetErrorBufferSpace(<span class="keywordtype">size_t</span> size_bytes);</div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span>&#160; </div>
-<div class="line"><a name="l02317"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913"> 2317</a></span>&#160;  <span class="keywordtype">int</span> CountPendingErrors() const;</div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span>&#160; </div>
-<div class="line"><a name="l02329"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7"> 2329</a></span>&#160;  <span class="keywordtype">void</span> GetPendingErrors(std::vector&lt;<a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a>*&gt;* errors, <span class="keywordtype">bool</span>* overflowed);</div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span>&#160; </div>
-<div class="line"><a name="l02332"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1"> 2332</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* client() const;</div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span>&#160; </div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span>&#160; private:</div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span>&#160;  class KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span>&#160; </div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span>&#160;  friend class ClientTest;</div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>;</div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span>&#160;  friend class internal::Batcher;</div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span>&#160;  friend class tablet::FuzzTest;</div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span>&#160;  FRIEND_TEST(ClientTest, TestAutoFlushBackgroundAndErrorCollector);</div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span>&#160;  FRIEND_TEST(ClientTest, TestAutoFlushBackgroundApplyBlocks);</div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span>&#160;  FRIEND_TEST(ClientTest, TxnIdOfTransactionalSession);</div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span>&#160; </div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span>&#160;  explicit <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>(const sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt;&amp; client);</div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>(const sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt;&amp; client, const TxnId&amp; txn_id);</div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span>&#160; </div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span>&#160; </div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>);</div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span>&#160;};</div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span>&#160; </div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span>&#160; </div>
-<div class="line"><a name="l02360"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html"> 2360</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a> {</div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l02363"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348"> 2363</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">ReadMode</a> {</div>
-<div class="line"><a name="l02371"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8"> 2371</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8">READ_LATEST</a>,</div>
-<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span>&#160; </div>
-<div class="line"><a name="l02392"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2"> 2392</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2">READ_AT_SNAPSHOT</a>,</div>
-<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span>&#160; </div>
-<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span>&#160;    READ_YOUR_WRITES</div>
-<div class="line"><a name="l02405"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567"> 2405</a></span>&#160;  };</div>
-<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span>&#160; </div>
-<div class="line"><a name="l02410"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9"> 2410</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">OrderMode</a> {</div>
-<div class="line"><a name="l02416"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3"> 2416</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3">UNORDERED</a>,</div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span>&#160; </div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span>&#160;    ORDERED</div>
-<div class="line"><a name="l02423"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a"> 2423</a></span>&#160;  };</div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span>&#160; </div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span>&#160;  <span class="keyword">enum</span> { kScanTimeoutMillis = 30000 };</div>
+<div class="line"><a name="l01869"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe"> 1869</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe">SetTableRowCountLimit</a>(int64_t row_count_limit);</div>
+<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160; </div>
+<div class="line"><a name="l01880"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1"> 1880</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
+<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160; </div>
+<div class="line"><a name="l01893"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646"> 1893</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">wait</a>(<span class="keywordtype">bool</span> wait);</div>
+<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160; </div>
+<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160; </div>
+<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* modify_external_catalogs(<span class="keywordtype">bool</span> modify_external_catalogs) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160; </div>
+<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160; </div>
+<div class="line"><a name="l01913"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c"> 1913</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">Alter</a>();</div>
+<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160; </div>
+<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160; </div>
+<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160; </div>
+<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* client,</div>
+<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;                   <span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160; </div>
+<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160; </div>
+<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>);</div>
+<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;};</div>
+<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160; </div>
+<div class="line"><a name="l01934"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html"> 1934</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a> {</div>
+<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a>();</div>
+<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160; </div>
+<div class="line"><a name="l01939"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7"> 1939</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7">status</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160; </div>
+<div class="line"><a name="l01942"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea"> 1942</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea">failed_op</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160; </div>
+<div class="line"><a name="l01951"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a"> 1951</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>* <a class="code" href="classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a">release_failed_op</a>();</div>
+<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160; </div>
+<div class="line"><a name="l01963"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4"> 1963</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4">was_possibly_successful</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160; </div>
+<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160; </div>
+<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::Batcher;</div>
+<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::ErrorCollector;</div>
+<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>;</div>
+<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160; </div>
+<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a>(<a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>* failed_op, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; error);</div>
+<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160; </div>
+<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160; </div>
+<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a>);</div>
+<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160;};</div>
+<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160; </div>
+<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160; </div>
+<div class="line"><a name="l02039"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html"> 2039</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a> : <span class="keyword">public</span> sp::enable_shared_from_this&lt;KuduSession&gt; {</div>
+<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>();</div>
+<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160; </div>
+<div class="line"><a name="l02044"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19"> 2044</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">FlushMode</a> {</div>
+<div class="line"><a name="l02049"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b"> 2049</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b">AUTO_FLUSH_SYNC</a>,</div>
+<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160; </div>
+<div class="line"><a name="l02077"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1"> 2077</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">AUTO_FLUSH_BACKGROUND</a>,</div>
+<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160; </div>
+<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;    MANUAL_FLUSH</div>
+<div class="line"><a name="l02092"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a"> 2092</a></span>&#160;  };</div>
+<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160; </div>
+<div class="line"><a name="l02102"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f"> 2102</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f">SetFlushMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">FlushMode</a> m) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160; </div>
+<div class="line"><a name="l02105"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22"> 2105</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">ExternalConsistencyMode</a> {</div>
+<div class="line"><a name="l02124"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c"> 2124</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">CLIENT_PROPAGATED</a>,</div>
+<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>&#160; </div>
+<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>&#160;    COMMIT_WAIT</div>
+<div class="line"><a name="l02141"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9"> 2141</a></span>&#160;  };</div>
+<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160; </div>
+<div class="line"><a name="l02148"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca"> 2148</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca">SetExternalConsistencyMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">ExternalConsistencyMode</a> m)</div>
+<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>&#160; </div>
+<div class="line"><a name="l02168"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf"> 2168</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf">SetMutationBufferSpace</a>(<span class="keywordtype">size_t</span> size_bytes) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160; </div>
+<div class="line"><a name="l02193"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf"> 2193</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf">SetMutationBufferFlushWatermark</a>(<span class="keywordtype">double</span> watermark_pct)</div>
+<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160;      WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160; </div>
+<div class="line"><a name="l02217"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941"> 2217</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941">SetMutationBufferFlushInterval</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> millis) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160; </div>
+<div class="line"><a name="l02243"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4"> 2243</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4">SetMutationBufferMaxNum</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_num) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span>&#160; </div>
+<div class="line"><a name="l02250"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79"> 2250</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79">SetTimeoutMillis</a>(<span class="keywordtype">int</span> millis);</div>
+<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span>&#160; </div>
+<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span>&#160; </div>
+<div class="line"><a name="l02279"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943"> 2279</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply</a>(<a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>* write_op) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span>&#160; </div>
+<div class="line"><a name="l02295"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84"> 2295</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">Flush</a>() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span>&#160; </div>
+<div class="line"><a name="l02337"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731"> 2337</a></span>&#160;  <span class="keywordtype">void</span> FlushAsync(<a class="code" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a>* cb);</div>
+<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span>&#160; </div>
+<div class="line"><a name="l02341"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436"> 2341</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> Close() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span>&#160; </div>
+<div class="line"><a name="l02351"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578"> 2351</a></span>&#160;  <span class="keywordtype">bool</span> HasPendingOperations() const;</div>
+<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span>&#160; </div>
+<div class="line"><a name="l02374"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112"> 2374</a></span>&#160;  <span class="keywordtype">int</span> CountBufferedOperations() const</div>
+<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span>&#160;      ATTRIBUTE_DEPRECATED(&quot;this method is experimental and will disappear &quot;</div>
+<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span>&#160;                           &quot;in a future release&quot;);</div>
+<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span>&#160; </div>
+<div class="line"><a name="l02402"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5"> 2402</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetErrorBufferSpace(<span class="keywordtype">size_t</span> size_bytes);</div>
+<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span>&#160; </div>
+<div class="line"><a name="l02413"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913"> 2413</a></span>&#160;  <span class="keywordtype">int</span> CountPendingErrors() const;</div>
+<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span>&#160; </div>
+<div class="line"><a name="l02425"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7"> 2425</a></span>&#160;  <span class="keywordtype">void</span> GetPendingErrors(std::vector&lt;<a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a>*&gt;* errors, <span class="keywordtype">bool</span>* overflowed);</div>
+<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span>&#160; </div>
+<div class="line"><a name="l02428"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1"> 2428</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* client() const;</div>
 <div class="line"><a name="l02429"></a><span class="lineno"> 2429</span>&#160; </div>
-<div class="line"><a name="l02435"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180"> 2435</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180">KuduScanner</a>(<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>* table);</div>
-<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>();</div>
-<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span>&#160; </div>
-<div class="line"><a name="l02447"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01"> 2447</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">SetProjectedColumnNames</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; col_names)</div>
-<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span>&#160;    WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span>&#160; </div>
-<div class="line"><a name="l02459"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d"> 2459</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d">SetProjectedColumnIndexes</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; col_indexes)</div>
-<div class="line"><a name="l02460"></a><span class="lineno"> 2460</span>&#160;    WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02461"></a><span class="lineno"> 2461</span>&#160; </div>
-<div class="line"><a name="l02467"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad"> 2467</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad">SetProjectedColumns</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; col_names)</div>
-<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span>&#160;      WARN_UNUSED_RESULT</div>
-<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use SetProjectedColumnNames() instead&quot;</span>);</div>
-<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span>&#160; </div>
-<div class="line"><a name="l02479"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74"> 2479</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">AddConjunctPredicate</a>(<a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* pred) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span>&#160; </div>
-<div class="line"><a name="l02489"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86"> 2489</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86">AddLowerBound</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; key);</div>
-<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span>&#160; </div>
-<div class="line"><a name="l02498"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e"> 2498</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e">AddLowerBoundRaw</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; key)</div>
-<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use AddLowerBound() instead&quot;</span>);</div>
-<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span>&#160; </div>
-<div class="line"><a name="l02509"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d"> 2509</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d">AddExclusiveUpperBound</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; key);</div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span>&#160; </div>
-<div class="line"><a name="l02518"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe"> 2518</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe">AddExclusiveUpperBoundRaw</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; key)</div>
-<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use AddExclusiveUpperBound() instead&quot;</span>);</div>
+<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span>&#160; private:</div>
+<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span>&#160;  class KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span>&#160; </div>
+<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span>&#160;  friend class ClientTest;</div>
+<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>;</div>
+<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span>&#160;  friend class internal::Batcher;</div>
+<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span>&#160;  friend class tablet::FuzzTest;</div>
+<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span>&#160;  FRIEND_TEST(ClientTest, TestAutoFlushBackgroundAndErrorCollector);</div>
+<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span>&#160;  FRIEND_TEST(ClientTest, TestAutoFlushBackgroundApplyBlocks);</div>
+<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span>&#160;  FRIEND_TEST(ClientTest, TxnIdOfTransactionalSession);</div>
+<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span>&#160; </div>
+<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span>&#160;  explicit <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>(const sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt;&amp; client);</div>
+<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>(const sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt;&amp; client, const TxnId&amp; txn_id);</div>
+<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span>&#160; </div>
+<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span>&#160; </div>
+<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>);</div>
+<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span>&#160;};</div>
+<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span>&#160; </div>
+<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span>&#160; </div>
+<div class="line"><a name="l02456"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html"> 2456</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a> {</div>
+<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l02459"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348"> 2459</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">ReadMode</a> {</div>
+<div class="line"><a name="l02467"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8"> 2467</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8">READ_LATEST</a>,</div>
+<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span>&#160; </div>
+<div class="line"><a name="l02488"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2"> 2488</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2">READ_AT_SNAPSHOT</a>,</div>
+<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span>&#160; </div>
+<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span>&#160;    READ_YOUR_WRITES</div>
+<div class="line"><a name="l02501"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567"> 2501</a></span>&#160;  };</div>
+<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span>&#160; </div>
+<div class="line"><a name="l02506"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9"> 2506</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">OrderMode</a> {</div>
+<div class="line"><a name="l02512"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3"> 2512</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3">UNORDERED</a>,</div>
+<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span>&#160; </div>
+<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span>&#160;    ORDERED</div>
+<div class="line"><a name="l02519"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a"> 2519</a></span>&#160;  };</div>
 <div class="line"><a name="l02520"></a><span class="lineno"> 2520</span>&#160; </div>
-<div class="line"><a name="l02529"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e"> 2529</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e">AddLowerBoundPartitionKeyRaw</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; partition_key);</div>
-<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span>&#160; </div>
-<div class="line"><a name="l02539"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9"> 2539</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9">AddExclusiveUpperBoundPartitionKeyRaw</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; partition_key);</div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160; </div>
-<div class="line"><a name="l02547"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310"> 2547</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310">SetCacheBlocks</a>(<span class="keywordtype">bool</span> cache_blocks);</div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160; </div>
-<div class="line"><a name="l02550"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1"> 2550</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">Open</a>();</div>
-<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span>&#160; </div>
-<div class="line"><a name="l02570"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21"> 2570</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21">KeepAlive</a>();</div>
-<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span>&#160; </div>
-<div class="line"><a name="l02580"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874"> 2580</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874">Close</a>();</div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span>&#160; </div>
-<div class="line"><a name="l02590"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94"> 2590</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94">HasMoreRows</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span>&#160; </div>
-<div class="line"><a name="l02603"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067"> 2603</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">NextBatch</a>(std::vector&lt;KuduRowResult&gt;* rows)</div>
-<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use NextBatch(KuduScanBatch*) instead&quot;</span>);</div>
-<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span>&#160; </div>
-<div class="line"><a name="l02617"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487"> 2617</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487">NextBatch</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a>* batch);</div>
-<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span>&#160; </div>
-<div class="line"><a name="l02630"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81"> 2630</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81">NextBatch</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">KuduColumnarScanBatch</a>* batch);</div>
-<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span>&#160; </div>
-<div class="line"><a name="l02640"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10"> 2640</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10">GetCurrentServer</a>(<a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>** server);</div>
-<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span>&#160; </div>
-<div class="line"><a name="l02643"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337"> 2643</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1ResourceMetrics.html">ResourceMetrics</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337">GetResourceMetrics</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span>&#160;  <span class="keyword">enum</span> { kScanTimeoutMillis = 30000 };</div>
+<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span>&#160; </div>
+<div class="line"><a name="l02531"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180"> 2531</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180">KuduScanner</a>(<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>* table);</div>
+<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>();</div>
+<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span>&#160; </div>
+<div class="line"><a name="l02543"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01"> 2543</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">SetProjectedColumnNames</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; col_names)</div>
+<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160; </div>
+<div class="line"><a name="l02555"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d"> 2555</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d">SetProjectedColumnIndexes</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; col_indexes)</div>
+<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160; </div>
+<div class="line"><a name="l02563"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad"> 2563</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad">SetProjectedColumns</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; col_names)</div>
+<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160;      WARN_UNUSED_RESULT</div>
+<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use SetProjectedColumnNames() instead&quot;</span>);</div>
+<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160; </div>
+<div class="line"><a name="l02575"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74"> 2575</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">AddConjunctPredicate</a>(<a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* pred) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160; </div>
+<div class="line"><a name="l02585"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86"> 2585</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86">AddLowerBound</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; key);</div>
+<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span>&#160; </div>
+<div class="line"><a name="l02594"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e"> 2594</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e">AddLowerBoundRaw</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; key)</div>
+<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use AddLowerBound() instead&quot;</span>);</div>
+<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span>&#160; </div>
+<div class="line"><a name="l02605"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d"> 2605</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d">AddExclusiveUpperBound</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; key);</div>
+<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span>&#160; </div>
+<div class="line"><a name="l02614"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe"> 2614</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe">AddExclusiveUpperBoundRaw</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; key)</div>
+<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use AddExclusiveUpperBound() instead&quot;</span>);</div>
+<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span>&#160; </div>
+<div class="line"><a name="l02625"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e"> 2625</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e">AddLowerBoundPartitionKeyRaw</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; partition_key);</div>
+<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span>&#160; </div>
+<div class="line"><a name="l02635"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9"> 2635</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9">AddExclusiveUpperBoundPartitionKeyRaw</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; partition_key);</div>
+<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160; </div>
+<div class="line"><a name="l02643"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310"> 2643</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310">SetCacheBlocks</a>(<span class="keywordtype">bool</span> cache_blocks);</div>
 <div class="line"><a name="l02644"></a><span class="lineno"> 2644</span>&#160; </div>
-<div class="line"><a name="l02651"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c"> 2651</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c">SetBatchSizeBytes</a>(uint32_t batch_size);</div>
-<div class="line"><a name="l02652"></a><span class="lineno"> 2652</span>&#160; </div>
-<div class="line"><a name="l02660"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8"> 2660</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8">SetSelection</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a> selection)</div>
-<div class="line"><a name="l02661"></a><span class="lineno"> 2661</span>&#160;    WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02662"></a><span class="lineno"> 2662</span>&#160; </div>
-<div class="line"><a name="l02668"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e"> 2668</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e">SetReadMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">ReadMode</a> read_mode) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02669"></a><span class="lineno"> 2669</span>&#160; </div>
-<div class="line"><a name="l02675"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc"> 2675</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc">SetOrderMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">OrderMode</a> order_mode) WARN_UNUSED_RESULT</div>
-<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use SetFaultTolerant() instead&quot;</span>);</div>
+<div class="line"><a name="l02646"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1"> 2646</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">Open</a>();</div>
+<div class="line"><a name="l02647"></a><span class="lineno"> 2647</span>&#160; </div>
+<div class="line"><a name="l02666"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21"> 2666</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21">KeepAlive</a>();</div>
+<div class="line"><a name="l02667"></a><span class="lineno"> 2667</span>&#160; </div>
+<div class="line"><a name="l02676"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874"> 2676</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874">Close</a>();</div>
 <div class="line"><a name="l02677"></a><span class="lineno"> 2677</span>&#160; </div>
-<div class="line"><a name="l02690"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f"> 2690</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f">SetFaultTolerant</a>() WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02691"></a><span class="lineno"> 2691</span>&#160; </div>
-<div class="line"><a name="l02697"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f"> 2697</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetSnapshotMicros(uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02698"></a><span class="lineno"> 2698</span>&#160; </div>
-<div class="line"><a name="l02708"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae"> 2708</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetSnapshotRaw(uint64_t snapshot_timestamp) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span>&#160; </div>
-<div class="line"><a name="l02711"></a><span class="lineno"> 2711</span>&#160; </div>
-<div class="line"><a name="l02726"></a><span class="lineno"> 2726</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetDiffScan(uint64_t start_timestamp, uint64_t end_timestamp)</div>
-<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span>&#160;      WARN_UNUSED_RESULT KUDU_NO_EXPORT;</div>
-<div class="line"><a name="l02728"></a><span class="lineno"> 2728</span>&#160; </div>
-<div class="line"><a name="l02730"></a><span class="lineno"> 2730</span>&#160; </div>
-<div class="line"><a name="l02736"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6"> 2736</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetTimeoutMillis(<span class="keywordtype">int</span> millis);</div>
+<div class="line"><a name="l02686"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94"> 2686</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94">HasMoreRows</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l02687"></a><span class="lineno"> 2687</span>&#160; </div>
+<div class="line"><a name="l02699"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067"> 2699</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">NextBatch</a>(std::vector&lt;KuduRowResult&gt;* rows)</div>
+<div class="line"><a name="l02700"></a><span class="lineno"> 2700</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use NextBatch(KuduScanBatch*) instead&quot;</span>);</div>
+<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span>&#160; </div>
+<div class="line"><a name="l02713"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487"> 2713</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487">NextBatch</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a>* batch);</div>
+<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span>&#160; </div>
+<div class="line"><a name="l02726"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81"> 2726</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81">NextBatch</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">KuduColumnarScanBatch</a>* batch);</div>
+<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span>&#160; </div>
+<div class="line"><a name="l02736"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10"> 2736</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10">GetCurrentServer</a>(<a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>** server);</div>
 <div class="line"><a name="l02737"></a><span class="lineno"> 2737</span>&#160; </div>
-<div class="line"><a name="l02739"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82"> 2739</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> GetProjectionSchema() const;</div>
+<div class="line"><a name="l02739"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337"> 2739</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1ResourceMetrics.html">ResourceMetrics</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337">GetResourceMetrics</a>() <span class="keyword">const</span>;</div>
 <div class="line"><a name="l02740"></a><span class="lineno"> 2740</span>&#160; </div>
-<div class="line"><a name="l02742"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a"> 2742</a></span>&#160;  sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>&gt; GetKuduTable();</div>
-<div class="line"><a name="l02743"></a><span class="lineno"> 2743</span>&#160; </div>
-<div class="line"><a name="l02751"></a><span class="lineno"> 2751</span>&#160; </div>
-<div class="line"><a name="l02753"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85"> 2753</a></span>&#160;  static const uint64_t NO_FLAGS = 0;</div>
-<div class="line"><a name="l02760"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44"> 2760</a></span>&#160;  static const uint64_t PAD_UNIXTIME_MICROS_TO_16_BYTES = 1 &lt;&lt; 0;</div>
-<div class="line"><a name="l02761"></a><span class="lineno"> 2761</span>&#160; </div>
-<div class="line"><a name="l02769"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10"> 2769</a></span>&#160;  static const uint64_t COLUMNAR_LAYOUT = 1 &lt;&lt; 1;</div>
-<div class="line"><a name="l02770"></a><span class="lineno"> 2770</span>&#160; </div>
-<div class="line"><a name="l02798"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11"> 2798</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetRowFormatFlags(uint64_t flags);</div>
-<div class="line"><a name="l02800"></a><span class="lineno"> 2800</span>&#160; </div>
-<div class="line"><a name="l02806"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac"> 2806</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetLimit(int64_t limit) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02747"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c"> 2747</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c">SetBatchSizeBytes</a>(uint32_t batch_size);</div>
+<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span>&#160; </div>
+<div class="line"><a name="l02756"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8"> 2756</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8">SetSelection</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a> selection)</div>
+<div class="line"><a name="l02757"></a><span class="lineno"> 2757</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02758"></a><span class="lineno"> 2758</span>&#160; </div>
+<div class="line"><a name="l02764"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e"> 2764</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e">SetReadMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">ReadMode</a> read_mode) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02765"></a><span class="lineno"> 2765</span>&#160; </div>
+<div class="line"><a name="l02771"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc"> 2771</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc">SetOrderMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">OrderMode</a> order_mode) WARN_UNUSED_RESULT</div>
+<div class="line"><a name="l02772"></a><span class="lineno"> 2772</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use SetFaultTolerant() instead&quot;</span>);</div>
+<div class="line"><a name="l02773"></a><span class="lineno"> 2773</span>&#160; </div>
+<div class="line"><a name="l02786"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f"> 2786</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f">SetFaultTolerant</a>() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02787"></a><span class="lineno"> 2787</span>&#160; </div>
+<div class="line"><a name="l02793"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f"> 2793</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetSnapshotMicros(uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02794"></a><span class="lineno"> 2794</span>&#160; </div>
+<div class="line"><a name="l02804"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae"> 2804</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetSnapshotRaw(uint64_t snapshot_timestamp) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02805"></a><span class="lineno"> 2805</span>&#160; </div>
 <div class="line"><a name="l02807"></a><span class="lineno"> 2807</span>&#160; </div>
-<div class="line"><a name="l02813"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae"> 2813</a></span>&#160;  std::<span class="keywordtype">string</span> ToString() const;</div>
-<div class="line"><a name="l02814"></a><span class="lineno"> 2814</span>&#160; </div>
-<div class="line"><a name="l02815"></a><span class="lineno"> 2815</span>&#160; private:</div>
-<div class="line"><a name="l02816"></a><span class="lineno"> 2816</span>&#160;  class KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l02817"></a><span class="lineno"> 2817</span>&#160; </div>
-<div class="line"><a name="l02818"></a><span class="lineno"> 2818</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> NextBatch(internal::ScanBatchDataInterface* batch);</div>
-<div class="line"><a name="l02819"></a><span class="lineno"> 2819</span>&#160; </div>
-<div class="line"><a name="l02820"></a><span class="lineno"> 2820</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>;</div>
-<div class="line"><a name="l02821"></a><span class="lineno"> 2821</span>&#160;  FRIEND_TEST(ClientTest, TestBlockScannerHijackingAttempts);</div>
-<div class="line"><a name="l02822"></a><span class="lineno"> 2822</span>&#160;  FRIEND_TEST(ClientTest, TestScanCloseProxy);</div>
-<div class="line"><a name="l02823"></a><span class="lineno"> 2823</span>&#160;  FRIEND_TEST(ClientTest, TestScanFaultTolerance);</div>
-<div class="line"><a name="l02824"></a><span class="lineno"> 2824</span>&#160;  FRIEND_TEST(ClientTest, TestScanNoBlockCaching);</div>
-<div class="line"><a name="l02825"></a><span class="lineno"> 2825</span>&#160;  FRIEND_TEST(ClientTest, TestScanTimeout);</div>
-<div class="line"><a name="l02826"></a><span class="lineno"> 2826</span>&#160;  FRIEND_TEST(ClientTest, TestReadAtSnapshotNoTimestampSet);</div>
-<div class="line"><a name="l02827"></a><span class="lineno"> 2827</span>&#160;  FRIEND_TEST(ConsistencyITest, TestSnapshotScanTimestampReuse);</div>
-<div class="line"><a name="l02828"></a><span class="lineno"> 2828</span>&#160;  FRIEND_TEST(ScanTokenTest, TestScanTokens);</div>
-<div class="line"><a name="l02829"></a><span class="lineno"> 2829</span>&#160; </div>
-<div class="line"><a name="l02830"></a><span class="lineno"> 2830</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l02831"></a><span class="lineno"> 2831</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l02832"></a><span class="lineno"> 2832</span>&#160; </div>
-<div class="line"><a name="l02833"></a><span class="lineno"> 2833</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>);</div>
-<div class="line"><a name="l02834"></a><span class="lineno"> 2834</span>&#160;};</div>
-<div class="line"><a name="l02835"></a><span class="lineno"> 2835</span>&#160; </div>
-<div class="line"><a name="l02856"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html"> 2856</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a> {</div>
-<div class="line"><a name="l02857"></a><span class="lineno"> 2857</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l02858"></a><span class="lineno"> 2858</span>&#160; </div>
-<div class="line"><a name="l02859"></a><span class="lineno"> 2859</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>();</div>
-<div class="line"><a name="l02860"></a><span class="lineno"> 2860</span>&#160; </div>
-<div class="line"><a name="l02871"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292"> 2871</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292">IntoKuduScanner</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>** scanner) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02872"></a><span class="lineno"> 2872</span>&#160; </div>
-<div class="line"><a name="l02874"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96"> 2874</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96">tablet</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l02875"></a><span class="lineno"> 2875</span>&#160; </div>
-<div class="line"><a name="l02884"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008"> 2884</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008">Serialize</a>(std::string* buf) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02885"></a><span class="lineno"> 2885</span>&#160; </div>
-<div class="line"><a name="l02897"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867"> 2897</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867">DeserializeIntoScanner</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* client,</div>
-<div class="line"><a name="l02898"></a><span class="lineno"> 2898</span>&#160;                                       <span class="keyword">const</span> std::string&amp; serialized_token,</div>
-<div class="line"><a name="l02899"></a><span class="lineno"> 2899</span>&#160;                                       <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>** scanner) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02900"></a><span class="lineno"> 2900</span>&#160; </div>
-<div class="line"><a name="l02901"></a><span class="lineno"> 2901</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l02902"></a><span class="lineno"> 2902</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l02822"></a><span class="lineno"> 2822</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetDiffScan(uint64_t start_timestamp, uint64_t end_timestamp)</div>
+<div class="line"><a name="l02823"></a><span class="lineno"> 2823</span>&#160;      WARN_UNUSED_RESULT KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l02824"></a><span class="lineno"> 2824</span>&#160; </div>
+<div class="line"><a name="l02826"></a><span class="lineno"> 2826</span>&#160; </div>
+<div class="line"><a name="l02832"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6"> 2832</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetTimeoutMillis(<span class="keywordtype">int</span> millis);</div>
+<div class="line"><a name="l02833"></a><span class="lineno"> 2833</span>&#160; </div>
+<div class="line"><a name="l02835"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82"> 2835</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> GetProjectionSchema() const;</div>
+<div class="line"><a name="l02836"></a><span class="lineno"> 2836</span>&#160; </div>
+<div class="line"><a name="l02838"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a"> 2838</a></span>&#160;  sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>&gt; GetKuduTable();</div>
+<div class="line"><a name="l02839"></a><span class="lineno"> 2839</span>&#160; </div>
+<div class="line"><a name="l02847"></a><span class="lineno"> 2847</span>&#160; </div>
+<div class="line"><a name="l02849"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85"> 2849</a></span>&#160;  static const uint64_t NO_FLAGS = 0;</div>
+<div class="line"><a name="l02856"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44"> 2856</a></span>&#160;  static const uint64_t PAD_UNIXTIME_MICROS_TO_16_BYTES = 1 &lt;&lt; 0;</div>
+<div class="line"><a name="l02857"></a><span class="lineno"> 2857</span>&#160; </div>
+<div class="line"><a name="l02865"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10"> 2865</a></span>&#160;  static const uint64_t COLUMNAR_LAYOUT = 1 &lt;&lt; 1;</div>
+<div class="line"><a name="l02866"></a><span class="lineno"> 2866</span>&#160; </div>
+<div class="line"><a name="l02894"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11"> 2894</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetRowFormatFlags(uint64_t flags);</div>
+<div class="line"><a name="l02896"></a><span class="lineno"> 2896</span>&#160; </div>
+<div class="line"><a name="l02902"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac"> 2902</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetLimit(int64_t limit) WARN_UNUSED_RESULT;</div>
 <div class="line"><a name="l02903"></a><span class="lineno"> 2903</span>&#160; </div>
-<div class="line"><a name="l02904"></a><span class="lineno"> 2904</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
-<div class="line"><a name="l02905"></a><span class="lineno"> 2905</span>&#160; </div>
-<div class="line"><a name="l02906"></a><span class="lineno"> 2906</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>();</div>
-<div class="line"><a name="l02907"></a><span class="lineno"> 2907</span>&#160; </div>
-<div class="line"><a name="l02908"></a><span class="lineno"> 2908</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l02909"></a><span class="lineno"> 2909</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l02909"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae"> 2909</a></span>&#160;  std::<span class="keywordtype">string</span> ToString() const;</div>
 <div class="line"><a name="l02910"></a><span class="lineno"> 2910</span>&#160; </div>
-<div class="line"><a name="l02911"></a><span class="lineno"> 2911</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>);</div>
-<div class="line"><a name="l02912"></a><span class="lineno"> 2912</span>&#160;};</div>
+<div class="line"><a name="l02911"></a><span class="lineno"> 2911</span>&#160; private:</div>
+<div class="line"><a name="l02912"></a><span class="lineno"> 2912</span>&#160;  class KUDU_NO_EXPORT Data;</div>
 <div class="line"><a name="l02913"></a><span class="lineno"> 2913</span>&#160; </div>
-<div class="line"><a name="l02917"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html"> 2917</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a> {</div>
-<div class="line"><a name="l02918"></a><span class="lineno"> 2918</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span>&#160; </div>
-<div class="line"><a name="l02925"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484"> 2925</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484">KuduScanTokenBuilder</a>(<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>* table);</div>
-<div class="line"><a name="l02926"></a><span class="lineno"> 2926</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>();</div>
-<div class="line"><a name="l02927"></a><span class="lineno"> 2927</span>&#160; </div>
-<div class="line"><a name="l02937"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad"> 2937</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; col_names)</div>
-<div class="line"><a name="l02938"></a><span class="lineno"> 2938</span>&#160;    WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02939"></a><span class="lineno"> 2939</span>&#160; </div>
-<div class="line"><a name="l02941"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8"> 2941</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8">SetProjectedColumnIndexes</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; col_indexes)</div>
-<div class="line"><a name="l02942"></a><span class="lineno"> 2942</span>&#160;    WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02943"></a><span class="lineno"> 2943</span>&#160; </div>
-<div class="line"><a name="l02945"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e"> 2945</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e">AddConjunctPredicate</a>(<a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* pred) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02946"></a><span class="lineno"> 2946</span>&#160; </div>
-<div class="line"><a name="l02948"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf"> 2948</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf">AddLowerBound</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; key) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02949"></a><span class="lineno"> 2949</span>&#160; </div>
-<div class="line"><a name="l02958"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a"> 2958</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a">AddUpperBound</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; key) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02959"></a><span class="lineno"> 2959</span>&#160; </div>
-<div class="line"><a name="l02961"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475"> 2961</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">SetCacheBlocks</a>(<span class="keywordtype">bool</span> cache_blocks) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02962"></a><span class="lineno"> 2962</span>&#160; </div>
-<div class="line"><a name="l02969"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c"> 2969</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c">SetBatchSizeBytes</a>(uint32_t batch_size) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02970"></a><span class="lineno"> 2970</span>&#160; </div>
-<div class="line"><a name="l02978"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88"> 2978</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88">SetSelection</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a> selection)</div>
-<div class="line"><a name="l02979"></a><span class="lineno"> 2979</span>&#160;    WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02980"></a><span class="lineno"> 2980</span>&#160; </div>
-<div class="line"><a name="l02982"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892"> 2982</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892">SetReadMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">KuduScanner::ReadMode</a> read_mode) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02983"></a><span class="lineno"> 2983</span>&#160; </div>
-<div class="line"><a name="l02985"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe"> 2985</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe">SetFaultTolerant</a>() WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02986"></a><span class="lineno"> 2986</span>&#160; </div>
-<div class="line"><a name="l02988"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5"> 2988</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetSnapshotMicros(uint64_t snapshot_timestamp_micros)</div>
-<div class="line"><a name="l02989"></a><span class="lineno"> 2989</span>&#160;    WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02990"></a><span class="lineno"> 2990</span>&#160; </div>
-<div class="line"><a name="l02992"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7"> 2992</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetSnapshotRaw(uint64_t snapshot_timestamp) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l02993"></a><span class="lineno"> 2993</span>&#160; </div>
-<div class="line"><a name="l02995"></a><span class="lineno"> 2995</span>&#160; </div>
-<div class="line"><a name="l02997"></a><span class="lineno"> 2997</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetDiffScan(uint64_t start_timestamp, uint64_t end_timestamp)</div>
-<div class="line"><a name="l02998"></a><span class="lineno"> 2998</span>&#160;      WARN_UNUSED_RESULT KUDU_NO_EXPORT;</div>
-<div class="line"><a name="l03000"></a><span class="lineno"> 3000</span>&#160; </div>
-<div class="line"><a name="l03002"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445"> 3002</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetTimeoutMillis(<span class="keywordtype">int</span> millis) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02914"></a><span class="lineno"> 2914</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> NextBatch(internal::ScanBatchDataInterface* batch);</div>
+<div class="line"><a name="l02915"></a><span class="lineno"> 2915</span>&#160; </div>
+<div class="line"><a name="l02916"></a><span class="lineno"> 2916</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>;</div>
+<div class="line"><a name="l02917"></a><span class="lineno"> 2917</span>&#160;  FRIEND_TEST(ClientTest, TestBlockScannerHijackingAttempts);</div>
+<div class="line"><a name="l02918"></a><span class="lineno"> 2918</span>&#160;  FRIEND_TEST(ClientTest, TestScanCloseProxy);</div>
+<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span>&#160;  FRIEND_TEST(ClientTest, TestScanFaultTolerance);</div>
+<div class="line"><a name="l02920"></a><span class="lineno"> 2920</span>&#160;  FRIEND_TEST(ClientTest, TestScanNoBlockCaching);</div>
+<div class="line"><a name="l02921"></a><span class="lineno"> 2921</span>&#160;  FRIEND_TEST(ClientTest, TestScanTimeout);</div>
+<div class="line"><a name="l02922"></a><span class="lineno"> 2922</span>&#160;  FRIEND_TEST(ClientTest, TestReadAtSnapshotNoTimestampSet);</div>
+<div class="line"><a name="l02923"></a><span class="lineno"> 2923</span>&#160;  FRIEND_TEST(ConsistencyITest, TestSnapshotScanTimestampReuse);</div>
+<div class="line"><a name="l02924"></a><span class="lineno"> 2924</span>&#160;  FRIEND_TEST(ScanTokenTest, TestScanTokens);</div>
+<div class="line"><a name="l02925"></a><span class="lineno"> 2925</span>&#160; </div>
+<div class="line"><a name="l02926"></a><span class="lineno"> 2926</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l02927"></a><span class="lineno"> 2927</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l02928"></a><span class="lineno"> 2928</span>&#160; </div>
+<div class="line"><a name="l02929"></a><span class="lineno"> 2929</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>);</div>
+<div class="line"><a name="l02930"></a><span class="lineno"> 2930</span>&#160;};</div>
+<div class="line"><a name="l02931"></a><span class="lineno"> 2931</span>&#160; </div>
+<div class="line"><a name="l02952"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html"> 2952</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a> {</div>
+<div class="line"><a name="l02953"></a><span class="lineno"> 2953</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l02954"></a><span class="lineno"> 2954</span>&#160; </div>
+<div class="line"><a name="l02955"></a><span class="lineno"> 2955</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>();</div>
+<div class="line"><a name="l02956"></a><span class="lineno"> 2956</span>&#160; </div>
+<div class="line"><a name="l02967"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292"> 2967</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292">IntoKuduScanner</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>** scanner) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02968"></a><span class="lineno"> 2968</span>&#160; </div>
+<div class="line"><a name="l02970"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96"> 2970</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96">tablet</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l02971"></a><span class="lineno"> 2971</span>&#160; </div>
+<div class="line"><a name="l02980"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008"> 2980</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008">Serialize</a>(std::string* buf) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02981"></a><span class="lineno"> 2981</span>&#160; </div>
+<div class="line"><a name="l02993"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867"> 2993</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867">DeserializeIntoScanner</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* client,</div>
+<div class="line"><a name="l02994"></a><span class="lineno"> 2994</span>&#160;                                       <span class="keyword">const</span> std::string&amp; serialized_token,</div>
+<div class="line"><a name="l02995"></a><span class="lineno"> 2995</span>&#160;                                       <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>** scanner) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02996"></a><span class="lineno"> 2996</span>&#160; </div>
+<div class="line"><a name="l02997"></a><span class="lineno"> 2997</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l02998"></a><span class="lineno"> 2998</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l02999"></a><span class="lineno"> 2999</span>&#160; </div>
+<div class="line"><a name="l03000"></a><span class="lineno"> 3000</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
+<div class="line"><a name="l03001"></a><span class="lineno"> 3001</span>&#160; </div>
+<div class="line"><a name="l03002"></a><span class="lineno"> 3002</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>();</div>
 <div class="line"><a name="l03003"></a><span class="lineno"> 3003</span>&#160; </div>
-<div class="line"><a name="l03011"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3"> 3011</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> IncludeTableMetadata(<span class="keywordtype">bool</span> include_metadata) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l03012"></a><span class="lineno"> 3012</span>&#160; </div>
-<div class="line"><a name="l03020"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843"> 3020</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> IncludeTabletMetadata(<span class="keywordtype">bool</span> include_metadata) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l03021"></a><span class="lineno"> 3021</span>&#160; </div>
-<div class="line"><a name="l03030"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb"> 3030</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> Build(std::vector&lt;<a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>*&gt;* tokens) WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l03031"></a><span class="lineno"> 3031</span>&#160; </div>
-<div class="line"><a name="l03032"></a><span class="lineno"> 3032</span>&#160; private:</div>
-<div class="line"><a name="l03033"></a><span class="lineno"> 3033</span>&#160;  class KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l03034"></a><span class="lineno"> 3034</span>&#160; </div>
-<div class="line"><a name="l03035"></a><span class="lineno"> 3035</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l03036"></a><span class="lineno"> 3036</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l03037"></a><span class="lineno"> 3037</span>&#160; </div>
-<div class="line"><a name="l03038"></a><span class="lineno"> 3038</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>);</div>
-<div class="line"><a name="l03039"></a><span class="lineno"> 3039</span>&#160;};</div>
-<div class="line"><a name="l03040"></a><span class="lineno"> 3040</span>&#160; </div>
-<div class="line"><a name="l03042"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html"> 3042</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a> {</div>
-<div class="line"><a name="l03043"></a><span class="lineno"> 3043</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l03048"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba"> 3048</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba">KuduPartitionerBuilder</a>(sp::shared_ptr&lt;KuduTable&gt; table);</div>
-<div class="line"><a name="l03049"></a><span class="lineno"> 3049</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>();</div>
-<div class="line"><a name="l03050"></a><span class="lineno"> 3050</span>&#160; </div>
-<div class="line"><a name="l03056"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14"> 3056</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>* <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14">SetBuildTimeout</a>(<a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> timeout);</div>
-<div class="line"><a name="l03057"></a><span class="lineno"> 3057</span>&#160; </div>
-<div class="line"><a name="l03076"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba"> 3076</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba">Build</a>(<a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a>** partitioner);</div>
-<div class="line"><a name="l03077"></a><span class="lineno"> 3077</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l03078"></a><span class="lineno"> 3078</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l03004"></a><span class="lineno"> 3004</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l03005"></a><span class="lineno"> 3005</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l03006"></a><span class="lineno"> 3006</span>&#160; </div>
+<div class="line"><a name="l03007"></a><span class="lineno"> 3007</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>);</div>
+<div class="line"><a name="l03008"></a><span class="lineno"> 3008</span>&#160;};</div>
+<div class="line"><a name="l03009"></a><span class="lineno"> 3009</span>&#160; </div>
+<div class="line"><a name="l03013"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html"> 3013</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a> {</div>
+<div class="line"><a name="l03014"></a><span class="lineno"> 3014</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l03015"></a><span class="lineno"> 3015</span>&#160; </div>
+<div class="line"><a name="l03021"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484"> 3021</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484">KuduScanTokenBuilder</a>(<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>* table);</div>
+<div class="line"><a name="l03022"></a><span class="lineno"> 3022</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>();</div>
+<div class="line"><a name="l03023"></a><span class="lineno"> 3023</span>&#160; </div>
+<div class="line"><a name="l03033"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad"> 3033</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; col_names)</div>
+<div class="line"><a name="l03034"></a><span class="lineno"> 3034</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03035"></a><span class="lineno"> 3035</span>&#160; </div>
+<div class="line"><a name="l03037"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8"> 3037</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8">SetProjectedColumnIndexes</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; col_indexes)</div>
+<div class="line"><a name="l03038"></a><span class="lineno"> 3038</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03039"></a><span class="lineno"> 3039</span>&#160; </div>
+<div class="line"><a name="l03041"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e"> 3041</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e">AddConjunctPredicate</a>(<a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* pred) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03042"></a><span class="lineno"> 3042</span>&#160; </div>
+<div class="line"><a name="l03044"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf"> 3044</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf">AddLowerBound</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; key) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03045"></a><span class="lineno"> 3045</span>&#160; </div>
+<div class="line"><a name="l03054"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a"> 3054</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a">AddUpperBound</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; key) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03055"></a><span class="lineno"> 3055</span>&#160; </div>
+<div class="line"><a name="l03057"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475"> 3057</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">SetCacheBlocks</a>(<span class="keywordtype">bool</span> cache_blocks) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03058"></a><span class="lineno"> 3058</span>&#160; </div>
+<div class="line"><a name="l03065"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c"> 3065</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c">SetBatchSizeBytes</a>(uint32_t batch_size) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03066"></a><span class="lineno"> 3066</span>&#160; </div>
+<div class="line"><a name="l03074"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88"> 3074</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88">SetSelection</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a> selection)</div>
+<div class="line"><a name="l03075"></a><span class="lineno"> 3075</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03076"></a><span class="lineno"> 3076</span>&#160; </div>
+<div class="line"><a name="l03078"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892"> 3078</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892">SetReadMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">KuduScanner::ReadMode</a> read_mode) WARN_UNUSED_RESULT;</div>
 <div class="line"><a name="l03079"></a><span class="lineno"> 3079</span>&#160; </div>
-<div class="line"><a name="l03080"></a><span class="lineno"> 3080</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l03081"></a><span class="lineno"> 3081</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l03081"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe"> 3081</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe">SetFaultTolerant</a>() WARN_UNUSED_RESULT;</div>
 <div class="line"><a name="l03082"></a><span class="lineno"> 3082</span>&#160; </div>
-<div class="line"><a name="l03083"></a><span class="lineno"> 3083</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>);</div>
-<div class="line"><a name="l03084"></a><span class="lineno"> 3084</span>&#160;};</div>
-<div class="line"><a name="l03085"></a><span class="lineno"> 3085</span>&#160; </div>
-<div class="line"><a name="l03096"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitioner.html"> 3096</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a> {</div>
-<div class="line"><a name="l03097"></a><span class="lineno"> 3097</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l03098"></a><span class="lineno"> 3098</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a>();</div>
+<div class="line"><a name="l03084"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5"> 3084</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetSnapshotMicros(uint64_t snapshot_timestamp_micros)</div>
+<div class="line"><a name="l03085"></a><span class="lineno"> 3085</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03086"></a><span class="lineno"> 3086</span>&#160; </div>
+<div class="line"><a name="l03088"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7"> 3088</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetSnapshotRaw(uint64_t snapshot_timestamp) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03089"></a><span class="lineno"> 3089</span>&#160; </div>
+<div class="line"><a name="l03091"></a><span class="lineno"> 3091</span>&#160; </div>
+<div class="line"><a name="l03093"></a><span class="lineno"> 3093</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetDiffScan(uint64_t start_timestamp, uint64_t end_timestamp)</div>
+<div class="line"><a name="l03094"></a><span class="lineno"> 3094</span>&#160;      WARN_UNUSED_RESULT KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l03096"></a><span class="lineno"> 3096</span>&#160; </div>
+<div class="line"><a name="l03098"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445"> 3098</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetTimeoutMillis(<span class="keywordtype">int</span> millis) WARN_UNUSED_RESULT;</div>
 <div class="line"><a name="l03099"></a><span class="lineno"> 3099</span>&#160; </div>
-<div class="line"><a name="l03103"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a"> 3103</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a">NumPartitions</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l03104"></a><span class="lineno"> 3104</span>&#160; </div>
-<div class="line"><a name="l03116"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369"> 3116</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369">PartitionRow</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; row, <span class="keywordtype">int</span>* partition);</div>
-<div class="line"><a name="l03117"></a><span class="lineno"> 3117</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l03118"></a><span class="lineno"> 3118</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l03119"></a><span class="lineno"> 3119</span>&#160; </div>
-<div class="line"><a name="l03120"></a><span class="lineno"> 3120</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>;</div>
-<div class="line"><a name="l03121"></a><span class="lineno"> 3121</span>&#160; </div>
-<div class="line"><a name="l03122"></a><span class="lineno"> 3122</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a>(Data* data);</div>
-<div class="line"><a name="l03123"></a><span class="lineno"> 3123</span>&#160;  Data* data_; <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l03124"></a><span class="lineno"> 3124</span>&#160;};</div>
-<div class="line"><a name="l03125"></a><span class="lineno"> 3125</span>&#160; </div>
-<div class="line"><a name="l03126"></a><span class="lineno"> 3126</span>&#160; </div>
-<div class="line"><a name="l03127"></a><span class="lineno"> 3127</span>&#160;} <span class="comment">// namespace client</span></div>
-<div class="line"><a name="l03128"></a><span class="lineno"> 3128</span>&#160;} <span class="comment">// namespace kudu</span></div>
-<div class="line"><a name="l03129"></a><span class="lineno"> 3129</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l03107"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3"> 3107</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> IncludeTableMetadata(<span class="keywordtype">bool</span> include_metadata) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03108"></a><span class="lineno"> 3108</span>&#160; </div>
+<div class="line"><a name="l03116"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843"> 3116</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> IncludeTabletMetadata(<span class="keywordtype">bool</span> include_metadata) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03117"></a><span class="lineno"> 3117</span>&#160; </div>
+<div class="line"><a name="l03126"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb"> 3126</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> Build(std::vector&lt;<a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>*&gt;* tokens) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03127"></a><span class="lineno"> 3127</span>&#160; </div>
+<div class="line"><a name="l03128"></a><span class="lineno"> 3128</span>&#160; private:</div>
+<div class="line"><a name="l03129"></a><span class="lineno"> 3129</span>&#160;  class KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l03130"></a><span class="lineno"> 3130</span>&#160; </div>
+<div class="line"><a name="l03131"></a><span class="lineno"> 3131</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l03132"></a><span class="lineno"> 3132</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l03133"></a><span class="lineno"> 3133</span>&#160; </div>
+<div class="line"><a name="l03134"></a><span class="lineno"> 3134</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>);</div>
+<div class="line"><a name="l03135"></a><span class="lineno"> 3135</span>&#160;};</div>
+<div class="line"><a name="l03136"></a><span class="lineno"> 3136</span>&#160; </div>
+<div class="line"><a name="l03138"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html"> 3138</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a> {</div>
+<div class="line"><a name="l03139"></a><span class="lineno"> 3139</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l03144"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba"> 3144</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba">KuduPartitionerBuilder</a>(sp::shared_ptr&lt;KuduTable&gt; table);</div>
+<div class="line"><a name="l03145"></a><span class="lineno"> 3145</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>();</div>
+<div class="line"><a name="l03146"></a><span class="lineno"> 3146</span>&#160; </div>
+<div class="line"><a name="l03152"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14"> 3152</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>* <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14">SetBuildTimeout</a>(<a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> timeout);</div>
+<div class="line"><a name="l03153"></a><span class="lineno"> 3153</span>&#160; </div>
+<div class="line"><a name="l03172"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba"> 3172</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba">Build</a>(<a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a>** partitioner);</div>
+<div class="line"><a name="l03173"></a><span class="lineno"> 3173</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l03174"></a><span class="lineno"> 3174</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l03175"></a><span class="lineno"> 3175</span>&#160; </div>
+<div class="line"><a name="l03176"></a><span class="lineno"> 3176</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l03177"></a><span class="lineno"> 3177</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l03178"></a><span class="lineno"> 3178</span>&#160; </div>
+<div class="line"><a name="l03179"></a><span class="lineno"> 3179</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>);</div>
+<div class="line"><a name="l03180"></a><span class="lineno"> 3180</span>&#160;};</div>
+<div class="line"><a name="l03181"></a><span class="lineno"> 3181</span>&#160; </div>
+<div class="line"><a name="l03192"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitioner.html"> 3192</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a> {</div>
+<div class="line"><a name="l03193"></a><span class="lineno"> 3193</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l03194"></a><span class="lineno"> 3194</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a>();</div>
+<div class="line"><a name="l03195"></a><span class="lineno"> 3195</span>&#160; </div>
+<div class="line"><a name="l03199"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a"> 3199</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a">NumPartitions</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l03200"></a><span class="lineno"> 3200</span>&#160; </div>
+<div class="line"><a name="l03212"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369"> 3212</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369">PartitionRow</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; row, <span class="keywordtype">int</span>* partition);</div>
+<div class="line"><a name="l03213"></a><span class="lineno"> 3213</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l03214"></a><span class="lineno"> 3214</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l03215"></a><span class="lineno"> 3215</span>&#160; </div>
+<div class="line"><a name="l03216"></a><span class="lineno"> 3216</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>;</div>
+<div class="line"><a name="l03217"></a><span class="lineno"> 3217</span>&#160; </div>
+<div class="line"><a name="l03218"></a><span class="lineno"> 3218</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a>(Data* data);</div>
+<div class="line"><a name="l03219"></a><span class="lineno"> 3219</span>&#160;  Data* data_; <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l03220"></a><span class="lineno"> 3220</span>&#160;};</div>
+<div class="line"><a name="l03221"></a><span class="lineno"> 3221</span>&#160; </div>
+<div class="line"><a name="l03222"></a><span class="lineno"> 3222</span>&#160; </div>
+<div class="line"><a name="l03223"></a><span class="lineno"> 3223</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l03224"></a><span class="lineno"> 3224</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l03225"></a><span class="lineno"> 3225</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="ttc" id="aclassKuduPartialRow_html"><div class="ttname"><a href="classKuduPartialRow.html">KuduPartialRow</a></div><div class="ttdoc">A row which may only contain values for a subset of the columns.</div><div class="ttdef"><b>Definition:</b> partial_row.h:72</div></div>
 <div class="ttc" id="aclasskudu_1_1MonoDelta_html"><div class="ttname"><a href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></div><div class="ttdoc">A representation of a time interval.</div><div class="ttdef"><b>Definition:</b> monotime.h:57</div></div>
 <div class="ttc" id="aclasskudu_1_1Slice_html"><div class="ttname"><a href="classkudu_1_1Slice.html">kudu::Slice</a></div><div class="ttdoc">A wrapper around externally allocated data.</div><div class="ttdef"><b>Definition:</b> slice.h:51</div></div>
 <div class="ttc" id="aclasskudu_1_1Status_html"><div class="ttname"><a href="classkudu_1_1Status.html">kudu::Status</a></div><div class="ttdoc">A representation of an operation's outcome.</div><div class="ttdef"><b>Definition:</b> status.h:165</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></div><div class="ttdoc">A &quot;factory&quot; for KuduClient objects.</div><div class="ttdef"><b>Definition:</b> client.h:227</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></div><div class="ttdoc">A &quot;factory&quot; for KuduClient objects.</div><div class="ttdef"><b>Definition:</b> client.h:228</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a08f4d2bf7053c6336e625ee2e6eeddd1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1">kudu::client::KuduClientBuilder::clear_master_server_addrs</a></div><div class="ttdeci">KuduClientBuilder &amp; clear_master_server_addrs()</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a0c1b92afad7a6e21c5ea781fb7d42114"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">kudu::client::KuduClientBuilder::master_server_addrs</a></div><div class="ttdeci">KuduClientBuilder &amp; master_server_addrs(const std::vector&lt; std::string &gt; &amp;addrs)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a1585dd6eff82519fe81088d1cfd35b77"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">kudu::client::KuduClientBuilder::Build</a></div><div class="ttdeci">Status Build(sp::shared_ptr&lt; KuduClient &gt; *client)</div></div>
@@ -1098,14 +1120,15 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a5c411bc4638cbf77e5d318f5049b0b7e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">kudu::client::KuduClientBuilder::import_authentication_credentials</a></div><div class="ttdeci">KuduClientBuilder &amp; import_authentication_credentials(std::string authn_creds)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a6114bb56e4d9d1231df0ef73c9aec752"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752">kudu::client::KuduClientBuilder::default_admin_operation_timeout</a></div><div class="ttdeci">KuduClientBuilder &amp; default_admin_operation_timeout(const MonoDelta &amp;timeout)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a66ba0fb68608ebc4a6c7e9148848cddb"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">kudu::client::KuduClientBuilder::num_reactors</a></div><div class="ttdeci">KuduClientBuilder &amp; num_reactors(int num_reactors)</div><div class="ttdoc">Set the number of reactors for the RPC messenger.</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_ab5b297f792b8e4142e913ceee2f5f3de"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">kudu::client::KuduClientBuilder::sasl_protocol_name</a></div><div class="ttdeci">KuduClientBuilder &amp; sasl_protocol_name(const std::string &amp;sasl_protocol_name)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_add149f1c1c2d3653e6a6cae4f44fa90c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c">kudu::client::KuduClientBuilder::add_master_server_addr</a></div><div class="ttdeci">KuduClientBuilder &amp; add_master_server_addr(const std::string &amp;addr)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_af2dcfb700c52d531f0da7146f331521f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f">kudu::client::KuduClientBuilder::connection_negotiation_timeout</a></div><div class="ttdeci">KuduClientBuilder &amp; connection_negotiation_timeout(const MonoDelta &amp;timeout)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></div><div class="ttdoc">A handle for a connection to a cluster.</div><div class="ttdef"><b>Definition:</b> client.h:583</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></div><div class="ttdoc">A handle for a connection to a cluster.</div><div class="ttdef"><b>Definition:</b> client.h:615</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a003f13604b4fb378f61e133a9b49d153"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153">kudu::client::KuduClient::NewTableCreator</a></div><div class="ttdeci">KuduTableCreator * NewTableCreator()</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a0646b1b93edeb92cf7ea46a1bb433838"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838">kudu::client::KuduClient::default_admin_operation_timeout</a></div><div class="ttdeci">const MonoDelta &amp; default_admin_operation_timeout() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a0809b055eda76fd68988462f2a9791dd"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">kudu::client::KuduClient::SetLatestObservedTimestamp</a></div><div class="ttdeci">void SetLatestObservedTimestamp(uint64_t ht_timestamp)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a116bbcf13dc0991ad2a3129630075aea"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">kudu::client::KuduClient::NewTableAlterer</a></div><div class="ttdeci">KuduTableAlterer * NewTableAlterer(const std::string &amp;table_name)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a196f1a18c000cdca309d05161caaddaa"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">kudu::client::KuduClient::kNoTimestamp</a></div><div class="ttdeci">static const uint64_t kNoTimestamp</div><div class="ttdef"><b>Definition:</b> client.h:799</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a196f1a18c000cdca309d05161caaddaa"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">kudu::client::KuduClient::kNoTimestamp</a></div><div class="ttdeci">static const uint64_t kNoTimestamp</div><div class="ttdef"><b>Definition:</b> client.h:831</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a1e1363d5dfab959b0d9ca98bfd390433"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433">kudu::client::KuduClient::IsMultiMaster</a></div><div class="ttdeci">bool IsMultiMaster() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a1f5b9bf8767b44f03f4d3220dfd5f925"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">kudu::client::KuduClient::NewSession</a></div><div class="ttdeci">sp::shared_ptr&lt; KuduSession &gt; NewSession()</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a2aa649e05e0cfb0e10ebce98fb4d7a65"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65">kudu::client::KuduClient::GetTableSchema</a></div><div class="ttdeci">Status GetTableSchema(const std::string &amp;table_name, KuduSchema *schema)</div></div>
@@ -1121,13 +1144,13 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_acce5fd87acb241d2ce2686545f423345"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345">kudu::client::KuduClient::NewTransaction</a></div><div class="ttdeci">Status NewTransaction(sp::shared_ptr&lt; KuduTransaction &gt; *txn) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_ae283a49551a081524b41f5d8e51e68d9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9">kudu::client::KuduClient::ListTabletServers</a></div><div class="ttdeci">Status ListTabletServers(std::vector&lt; KuduTabletServer * &gt; *tablet_servers)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_ae932971967e58a8a7b85f6a56ee44cd0"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">kudu::client::KuduClient::ExportAuthenticationCredentials</a></div><div class="ttdeci">Status ExportAuthenticationCredentials(std::string *authn_creds) const</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_aef70c7f3a596ecda4040f9d46514b11a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">kudu::client::KuduClient::ReplicaSelection</a></div><div class="ttdeci">ReplicaSelection</div><div class="ttdoc">Policy with which to choose amongst multiple replicas.</div><div class="ttdef"><b>Definition:</b> client.h:772</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">kudu::client::KuduClient::LEADER_ONLY</a></div><div class="ttdeci">@ LEADER_ONLY</div><div class="ttdoc">Select the LEADER replica.</div><div class="ttdef"><b>Definition:</b> client.h:773</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></div><div class="ttdoc">Builder API for specifying or altering a column within a table schema.</div><div class="ttdef"><b>Definition:</b> schema.h:341</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_aef70c7f3a596ecda4040f9d46514b11a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">kudu::client::KuduClient::ReplicaSelection</a></div><div class="ttdeci">ReplicaSelection</div><div class="ttdoc">Policy with which to choose amongst multiple replicas.</div><div class="ttdef"><b>Definition:</b> client.h:804</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">kudu::client::KuduClient::LEADER_ONLY</a></div><div class="ttdeci">@ LEADER_ONLY</div><div class="ttdoc">Select the LEADER replica.</div><div class="ttdef"><b>Definition:</b> client.h:805</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></div><div class="ttdoc">Builder API for specifying or altering a column within a table schema.</div><div class="ttdef"><b>Definition:</b> schema.h:360</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnarScanBatch_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">kudu::client::KuduColumnarScanBatch</a></div><div class="ttdoc">A batch of columnar data returned from a scanner.</div><div class="ttdef"><b>Definition:</b> columnar_scan_batch.h:51</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduDeleteIgnore_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduDeleteIgnore.html">kudu::client::KuduDeleteIgnore</a></div><div class="ttdoc">A single row delete ignore to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:297</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduDelete_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduDelete.html">kudu::client::KuduDelete</a></div><div class="ttdoc">A single row delete to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:271</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduError_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduError.html">kudu::client::KuduError</a></div><div class="ttdoc">This class represents an error which occurred in a write operation.</div><div class="ttdef"><b>Definition:</b> client.h:1838</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduError_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduError.html">kudu::client::KuduError</a></div><div class="ttdoc">This class represents an error which occurred in a write operation.</div><div class="ttdef"><b>Definition:</b> client.h:1934</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduError_html_a6d8adf94782868d081cff223664257a7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7">kudu::client::KuduError::status</a></div><div class="ttdeci">const Status &amp; status() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduError_html_a8f20b590e9da321abc624480c62262ea"><div class="ttname"><a href="classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea">kudu::client::KuduError::failed_op</a></div><div class="ttdeci">const KuduWriteOperation &amp; failed_op() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduError_html_ac8729b8c113b3d44035b0193013844a4"><div class="ttname"><a href="classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4">kudu::client::KuduError::was_possibly_successful</a></div><div class="ttdeci">bool was_possibly_successful() const</div></div>
@@ -1135,20 +1158,20 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduInsertIgnore_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduInsertIgnore.html">kudu::client::KuduInsertIgnore</a></div><div class="ttdoc">A single row insert ignore to be sent to the cluster, duplicate row errors are ignored.</div><div class="ttdef"><b>Definition:</b> write_op.h:166</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduInsert_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduInsert.html">kudu::client::KuduInsert</a></div><div class="ttdoc">A single row insert to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:139</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduLoggingCallback_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a></div><div class="ttdoc">The interface for all logging callbacks.</div><div class="ttdef"><b>Definition:</b> callbacks.h:44</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitionerBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">kudu::client::KuduPartitionerBuilder</a></div><div class="ttdoc">Builder for Partitioner instances.</div><div class="ttdef"><b>Definition:</b> client.h:3042</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitionerBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">kudu::client::KuduPartitionerBuilder</a></div><div class="ttdoc">Builder for Partitioner instances.</div><div class="ttdef"><b>Definition:</b> client.h:3138</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitionerBuilder_html_a11e28b7ad87a53a92d2ad5494f2c5f14"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14">kudu::client::KuduPartitionerBuilder::SetBuildTimeout</a></div><div class="ttdeci">KuduPartitionerBuilder * SetBuildTimeout(MonoDelta timeout)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitionerBuilder_html_a27d130235be1c2691779e1d97732a4ba"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba">kudu::client::KuduPartitionerBuilder::KuduPartitionerBuilder</a></div><div class="ttdeci">KuduPartitionerBuilder(sp::shared_ptr&lt; KuduTable &gt; table)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitionerBuilder_html_aa8859050484de2d367781ce6ec41d0ba"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba">kudu::client::KuduPartitionerBuilder::Build</a></div><div class="ttdeci">Status Build(KuduPartitioner **partitioner)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitioner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitioner.html">kudu::client::KuduPartitioner</a></div><div class="ttdef"><b>Definition:</b> client.h:3096</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitioner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitioner.html">kudu::client::KuduPartitioner</a></div><div class="ttdef"><b>Definition:</b> client.h:3192</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitioner_html_a05d816ba08d85d5c0c95025e12d2e369"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369">kudu::client::KuduPartitioner::PartitionRow</a></div><div class="ttdeci">Status PartitionRow(const KuduPartialRow &amp;row, int *partition)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitioner_html_a73fa744430a09ba8c75410f07882714a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a">kudu::client::KuduPartitioner::NumPartitions</a></div><div class="ttdeci">int NumPartitions() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduPredicate_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></div><div class="ttdoc">A representation of comparison predicate for Kudu queries.</div><div class="ttdef"><b>Definition:</b> scan_predicate.h:43</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduPredicate_html_ad58e80ced596d7738f99b5b83ba24eb4"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">kudu::client::KuduPredicate::ComparisonOp</a></div><div class="ttdeci">ComparisonOp</div><div class="ttdoc">Supported comparison operators.</div><div class="ttdef"><b>Definition:</b> scan_predicate.h:46</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduReplica_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduReplica.html">kudu::client::KuduReplica</a></div><div class="ttdoc">In-memory representation of a remote tablet's replica.</div><div class="ttdef"><b>Definition:</b> client.h:991</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduReplica_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduReplica.html">kudu::client::KuduReplica</a></div><div class="ttdoc">In-memory representation of a remote tablet's replica.</div><div class="ttdef"><b>Definition:</b> client.h:1025</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduReplica_html_a0423ce10a541c5e1a38fbcaebbb50627"><div class="ttname"><a href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627">kudu::client::KuduReplica::ts</a></div><div class="ttdeci">const KuduTabletServer &amp; ts() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduReplica_html_a383c26df7f94bca3acffddda1a7d12f5"><div class="ttname"><a href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5">kudu::client::KuduReplica::is_leader</a></div><div class="ttdeci">bool is_leader() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></div><div class="ttdoc">A batch of zero or more rows returned by a scan operation.</div><div class="ttdef"><b>Definition:</b> scan_batch.h:84</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></div><div class="ttdoc">Builds scan tokens for a table.</div><div class="ttdef"><b>Definition:</b> client.h:2917</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></div><div class="ttdoc">Builds scan tokens for a table.</div><div class="ttdef"><b>Definition:</b> client.h:3013</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_a01d990e024632c7749cca96b4f857be8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8">kudu::client::KuduScanTokenBuilder::SetProjectedColumnIndexes</a></div><div class="ttdeci">Status SetProjectedColumnIndexes(const std::vector&lt; int &gt; &amp;col_indexes) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_a0dbb58301fc0e48ce44f41215d32f0ad"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">kudu::client::KuduScanTokenBuilder::SetProjectedColumnNames</a></div><div class="ttdeci">Status SetProjectedColumnNames(const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_a168bfed43dcd754a17d4c82293dade88"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88">kudu::client::KuduScanTokenBuilder::SetSelection</a></div><div class="ttdeci">Status SetSelection(KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT</div></div>
@@ -1160,20 +1183,20 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_ac4d0fa934e4c705ac76c424a5431566a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a">kudu::client::KuduScanTokenBuilder::AddUpperBound</a></div><div class="ttdeci">Status AddUpperBound(const KuduPartialRow &amp;key) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_adb34f01a9bc52a9e23ce49124bab3892"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892">kudu::client::KuduScanTokenBuilder::SetReadMode</a></div><div class="ttdeci">Status SetReadMode(KuduScanner::ReadMode read_mode) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_ae11ca3d00d15138e957a2c2e89b05fcf"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf">kudu::client::KuduScanTokenBuilder::AddLowerBound</a></div><div class="ttdeci">Status AddLowerBound(const KuduPartialRow &amp;key) WARN_UNUSED_RESULT</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a></div><div class="ttdoc">A scan descriptor limited to a single physical contiguous location.</div><div class="ttdef"><b>Definition:</b> client.h:2856</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a></div><div class="ttdoc">A scan descriptor limited to a single physical contiguous location.</div><div class="ttdef"><b>Definition:</b> client.h:2952</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html_a63abcf53607bdc4346b86b98a3d0ec96"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96">kudu::client::KuduScanToken::tablet</a></div><div class="ttdeci">const KuduTablet &amp; tablet() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html_a6eb749ddf0a1434596d86df88341a008"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008">kudu::client::KuduScanToken::Serialize</a></div><div class="ttdeci">Status Serialize(std::string *buf) const WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html_adb95c9538bb1fc4c83963557ce487292"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292">kudu::client::KuduScanToken::IntoKuduScanner</a></div><div class="ttdeci">Status IntoKuduScanner(KuduScanner **scanner) const WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html_ae90d9422476cf6eee5c33afb41d1f867"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867">kudu::client::KuduScanToken::DeserializeIntoScanner</a></div><div class="ttdeci">static Status DeserializeIntoScanner(KuduClient *client, const std::string &amp;serialized_token, KuduScanner **scanner) WARN_UNUSED_RESULT</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2360</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2456</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a107a8a682c0977272e0ae47746d39e6f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f">kudu::client::KuduScanner::SetFaultTolerant</a></div><div class="ttdeci">Status SetFaultTolerant() WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a248e0a05e7bfdc31b5b8d363a937e81e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e">kudu::client::KuduScanner::SetReadMode</a></div><div class="ttdeci">Status SetReadMode(ReadMode read_mode) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a2c621f778072a02f4092e96a0baf8180"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180">kudu::client::KuduScanner::KuduScanner</a></div><div class="ttdeci">KuduScanner(KuduTable *table)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a36fdb59d6488618363331269d3f58348"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">kudu::client::KuduScanner::ReadMode</a></div><div class="ttdeci">ReadMode</div><div class="ttdoc">The read modes for scanners.</div><div class="ttdef"><b>Definition:</b> client.h:2363</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2">kudu::client::KuduScanner::READ_AT_SNAPSHOT</a></div><div class="ttdeci">@ READ_AT_SNAPSHOT</div><div class="ttdef"><b>Definition:</b> client.h:2392</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8">kudu::client::KuduScanner::READ_LATEST</a></div><div class="ttdeci">@ READ_LATEST</div><div class="ttdef"><b>Definition:</b> client.h:2371</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a3d6c79325c9da9741d0accf1b43bf7f9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">kudu::client::KuduScanner::OrderMode</a></div><div class="ttdeci">OrderMode</div><div class="ttdef"><b>Definition:</b> client.h:2410</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3">kudu::client::KuduScanner::UNORDERED</a></div><div class="ttdeci">@ UNORDERED</div><div class="ttdef"><b>Definition:</b> client.h:2416</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a36fdb59d6488618363331269d3f58348"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">kudu::client::KuduScanner::ReadMode</a></div><div class="ttdeci">ReadMode</div><div class="ttdoc">The read modes for scanners.</div><div class="ttdef"><b>Definition:</b> client.h:2459</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2">kudu::client::KuduScanner::READ_AT_SNAPSHOT</a></div><div class="ttdeci">@ READ_AT_SNAPSHOT</div><div class="ttdef"><b>Definition:</b> client.h:2488</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8">kudu::client::KuduScanner::READ_LATEST</a></div><div class="ttdeci">@ READ_LATEST</div><div class="ttdef"><b>Definition:</b> client.h:2467</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a3d6c79325c9da9741d0accf1b43bf7f9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">kudu::client::KuduScanner::OrderMode</a></div><div class="ttdeci">OrderMode</div><div class="ttdef"><b>Definition:</b> client.h:2506</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3">kudu::client::KuduScanner::UNORDERED</a></div><div class="ttdeci">@ UNORDERED</div><div class="ttdef"><b>Definition:</b> client.h:2512</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a3e51a978f3e54237fa60f7447ef3436e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e">kudu::client::KuduScanner::AddLowerBoundRaw</a></div><div class="ttdeci">Status AddLowerBoundRaw(const Slice &amp;key) ATTRIBUTE_DEPRECATED(&quot;use AddLowerBound() instead&quot;)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a47b0fcd30f8002cb4fdcf69351896b74"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">kudu::client::KuduScanner::AddConjunctPredicate</a></div><div class="ttdeci">Status AddConjunctPredicate(KuduPredicate *pred) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a4a4a2e354b3113561758b9bf4095d310"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310">kudu::client::KuduScanner::SetCacheBlocks</a></div><div class="ttdeci">Status SetCacheBlocks(bool cache_blocks)</div></div>
@@ -1197,24 +1220,24 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_af1db3f372fe3d0f30cd0b6a36b783cc8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8">kudu::client::KuduScanner::SetSelection</a></div><div class="ttdeci">Status SetSelection(KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_af365f1d3b3b34aeb7d016727a9019067"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">kudu::client::KuduScanner::NextBatch</a></div><div class="ttdeci">Status NextBatch(std::vector&lt; KuduRowResult &gt; *rows) ATTRIBUTE_DEPRECATED(&quot;use NextBatch(KuduScanBatch*) instead&quot;)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_af82c4ccb442c222033841dd65cf5a67c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c">kudu::client::KuduScanner::SetBatchSizeBytes</a></div><div class="ttdeci">Status SetBatchSizeBytes(uint32_t batch_size)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></div><div class="ttdoc">A representation of a table's schema.</div><div class="ttdef"><b>Definition:</b> schema.h:597</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></div><div class="ttdoc">Representation of a Kudu client session.</div><div class="ttdef"><b>Definition:</b> client.h:1943</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></div><div class="ttdoc">A representation of a table's schema.</div><div class="ttdef"><b>Definition:</b> schema.h:616</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></div><div class="ttdoc">Representation of a Kudu client session.</div><div class="ttdef"><b>Definition:</b> client.h:2039</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_a25b22362650d7120f59cc1025e40bd79"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79">kudu::client::KuduSession::SetTimeoutMillis</a></div><div class="ttdeci">void SetTimeoutMillis(int millis)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_a56d1c7f47dfcaf5121b15a4435a8eeca"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca">kudu::client::KuduSession::SetExternalConsistencyMode</a></div><div class="ttdeci">Status SetExternalConsistencyMode(ExternalConsistencyMode m) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_a64955abb5f5cc821b6e56354f733ce84"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">kudu::client::KuduSession::Flush</a></div><div class="ttdeci">Status Flush() WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_a7311344cec37b3847217197c35467cdf"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf">kudu::client::KuduSession::SetMutationBufferFlushWatermark</a></div><div class="ttdeci">Status SetMutationBufferFlushWatermark(double watermark_pct) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_a83555781b5a037f87c215e565ecf1a8f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f">kudu::client::KuduSession::SetFlushMode</a></div><div class="ttdeci">Status SetFlushMode(FlushMode m) WARN_UNUSED_RESULT</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aabd55109ba3b086bbe33b277cdd40d22"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">kudu::client::KuduSession::ExternalConsistencyMode</a></div><div class="ttdeci">ExternalConsistencyMode</div><div class="ttdoc">The possible external consistency modes on which Kudu operates.</div><div class="ttdef"><b>Definition:</b> client.h:2009</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">kudu::client::KuduSession::CLIENT_PROPAGATED</a></div><div class="ttdeci">@ CLIENT_PROPAGATED</div><div class="ttdef"><b>Definition:</b> client.h:2028</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aabd55109ba3b086bbe33b277cdd40d22"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">kudu::client::KuduSession::ExternalConsistencyMode</a></div><div class="ttdeci">ExternalConsistencyMode</div><div class="ttdoc">The possible external consistency modes on which Kudu operates.</div><div class="ttdef"><b>Definition:</b> client.h:2105</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">kudu::client::KuduSession::CLIENT_PROPAGATED</a></div><div class="ttdeci">@ CLIENT_PROPAGATED</div><div class="ttdef"><b>Definition:</b> client.h:2124</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aabe75f0688f992dbdb2694a50d07f941"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941">kudu::client::KuduSession::SetMutationBufferFlushInterval</a></div><div class="ttdeci">Status SetMutationBufferFlushInterval(unsigned int millis) WARN_UNUSED_RESULT</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aaec3956e642610d703f3b83b78e24e19"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">kudu::client::KuduSession::FlushMode</a></div><div class="ttdeci">FlushMode</div><div class="ttdoc">Modes of flush operations.</div><div class="ttdef"><b>Definition:</b> client.h:1948</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">kudu::client::KuduSession::AUTO_FLUSH_BACKGROUND</a></div><div class="ttdeci">@ AUTO_FLUSH_BACKGROUND</div><div class="ttdef"><b>Definition:</b> client.h:1981</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b">kudu::client::KuduSession::AUTO_FLUSH_SYNC</a></div><div class="ttdeci">@ AUTO_FLUSH_SYNC</div><div class="ttdef"><b>Definition:</b> client.h:1953</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aaec3956e642610d703f3b83b78e24e19"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">kudu::client::KuduSession::FlushMode</a></div><div class="ttdeci">FlushMode</div><div class="ttdoc">Modes of flush operations.</div><div class="ttdef"><b>Definition:</b> client.h:2044</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">kudu::client::KuduSession::AUTO_FLUSH_BACKGROUND</a></div><div class="ttdeci">@ AUTO_FLUSH_BACKGROUND</div><div class="ttdef"><b>Definition:</b> client.h:2077</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b">kudu::client::KuduSession::AUTO_FLUSH_SYNC</a></div><div class="ttdeci">@ AUTO_FLUSH_SYNC</div><div class="ttdef"><b>Definition:</b> client.h:2049</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_ac9a96017f86bfb6348fca9bfa0b8b5a4"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4">kudu::client::KuduSession::SetMutationBufferMaxNum</a></div><div class="ttdeci">Status SetMutationBufferMaxNum(unsigned int max_num) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_ad3f7324b27fca298c5ca3d07b4741943"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">kudu::client::KuduSession::Apply</a></div><div class="ttdeci">Status Apply(KuduWriteOperation *write_op) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aefa9bbc51c27104ce103b9ecda3b8abf"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf">kudu::client::KuduSession::SetMutationBufferSpace</a></div><div class="ttdeci">Status SetMutationBufferSpace(size_t size_bytes) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduStatusCallback_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a></div><div class="ttdoc">The interface for all status callbacks.</div><div class="ttdef"><b>Definition:</b> callbacks.h:161</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></div><div class="ttdoc">Alters an existing table based on the provided steps.</div><div class="ttdef"><b>Definition:</b> client.h:1605</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></div><div class="ttdoc">Alters an existing table based on the provided steps.</div><div class="ttdef"><b>Definition:</b> client.h:1666</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a14768f28048355d997e0ed4fa82e218c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">kudu::client::KuduTableAlterer::Alter</a></div><div class="ttdeci">Status Alter()</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a2c97cc290258e86adaa2ea87393b93a8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8">kudu::client::KuduTableAlterer::SetOwner</a></div><div class="ttdeci">KuduTableAlterer * SetOwner(const std::string &amp;new_owner)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a3eec4fd1b1c1d0245052599aa2692541"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541">kudu::client::KuduTableAlterer::AlterExtraConfig</a></div><div class="ttdeci">KuduTableAlterer * AlterExtraConfig(const std::map&lt; std::string, std::string &gt; &amp;extra_configs)</div></div>
@@ -1222,15 +1245,18 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a6d62bfbcfab6b99dcb057e7f7a4cf742"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742">kudu::client::KuduTableAlterer::AlterColumn</a></div><div class="ttdeci">KuduColumnSpec * AlterColumn(const std::string &amp;name)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a86e6d55d0888d4bc99789b1dcd0e5646"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">kudu::client::KuduTableAlterer::wait</a></div><div class="ttdeci">KuduTableAlterer * wait(bool wait)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a8a82d41c8e7181875c6a29bd3ce6f006"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006">kudu::client::KuduTableAlterer::AddRangePartitionWithDimension</a></div><div class="ttdeci">KuduTableAlterer * AddRangePartitionWithDimension(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, const std::string &amp;dimension_label, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a9dc99957dac9029dd5ecd0f41b3d2fe6"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6">kudu::client::KuduTableAlterer::SetComment</a></div><div class="ttdeci">KuduTableAlterer * SetComment(const std::string &amp;new_comment)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_ab0f8abf78d35725198876aaa04b737a7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7">kudu::client::KuduTableAlterer::DropRangePartition</a></div><div class="ttdeci">KuduTableAlterer * DropRangePartition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_ac5a4ec376ec53ba912b85ea0057d10a7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7">kudu::client::KuduTableAlterer::DropColumn</a></div><div class="ttdeci">KuduTableAlterer * DropColumn(const std::string &amp;name)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_aca8ea8d7b65e6952c76fd97f12d5b324"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324">kudu::client::KuduTableAlterer::RenameTo</a></div><div class="ttdeci">KuduTableAlterer * RenameTo(const std::string &amp;new_name)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_acb9406a6a254997dd584ce6c2cf51cd0"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0">kudu::client::KuduTableAlterer::AddColumn</a></div><div class="ttdeci">KuduColumnSpec * AddColumn(const std::string &amp;name)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_add2961a41c37a6b0fd869e0f553a04a1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">kudu::client::KuduTableAlterer::timeout</a></div><div class="ttdeci">KuduTableAlterer * timeout(const MonoDelta &amp;timeout)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></div><div class="ttdoc">A helper class to create a new table with the desired options.</div><div class="ttdef"><b>Definition:</b> client.h:1050</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a0a63fdc58e8062e505f4fa71d6f2343b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">kudu::client::KuduTableCreator::RangePartitionBound</a></div><div class="ttdeci">RangePartitionBound</div><div class="ttdoc">Range partition bound type.</div><div class="ttdef"><b>Definition:</b> client.h:1131</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">kudu::client::KuduTableCreator::INCLUSIVE_BOUND</a></div><div class="ttdeci">@ INCLUSIVE_BOUND</div><div class="ttdoc">An inclusive bound.</div><div class="ttdef"><b>Definition:</b> client.h:1133</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">kudu::client::KuduTableCreator::EXCLUSIVE_BOUND</a></div><div class="ttdeci">@ EXCLUSIVE_BOUND</div><div class="ttdoc">An exclusive bound.</div><div class="ttdef"><b>Definition:</b> client.h:1132</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_ae5eedc7d2bf9c3f69073701444808fbe"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe">kudu::client::KuduTableAlterer::SetTableRowCountLimit</a></div><div class="ttdeci">KuduTableAlterer * SetTableRowCountLimit(int64_t row_count_limit)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_af39c953344e62d09e0170c5371f2ab27"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27">kudu::client::KuduTableAlterer::SetTableDiskSizeLimit</a></div><div class="ttdeci">KuduTableAlterer * SetTableDiskSizeLimit(int64_t disk_size_limit)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></div><div class="ttdoc">A helper class to create a new table with the desired options.</div><div class="ttdef"><b>Definition:</b> client.h:1084</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a0a63fdc58e8062e505f4fa71d6f2343b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">kudu::client::KuduTableCreator::RangePartitionBound</a></div><div class="ttdeci">RangePartitionBound</div><div class="ttdoc">Range partition bound type.</div><div class="ttdef"><b>Definition:</b> client.h:1165</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">kudu::client::KuduTableCreator::INCLUSIVE_BOUND</a></div><div class="ttdeci">@ INCLUSIVE_BOUND</div><div class="ttdoc">An inclusive bound.</div><div class="ttdef"><b>Definition:</b> client.h:1167</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">kudu::client::KuduTableCreator::EXCLUSIVE_BOUND</a></div><div class="ttdeci">@ EXCLUSIVE_BOUND</div><div class="ttdoc">An exclusive bound.</div><div class="ttdef"><b>Definition:</b> client.h:1166</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a0fe4f05dab63be87058b81f1b380f2cd"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd">kudu::client::KuduTableCreator::extra_configs</a></div><div class="ttdeci">KuduTableCreator &amp; extra_configs(const std::map&lt; std::string, std::string &gt; &amp;extra_configs)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a15126b62437fc1741b41249080376f93"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">kudu::client::KuduTableCreator::table_name</a></div><div class="ttdeci">KuduTableCreator &amp; table_name(const std::string &amp;name)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a30efad5c256dae0af7bb43599403b1cc"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">kudu::client::KuduTableCreator::Create</a></div><div class="ttdeci">Status Create()</div></div>
@@ -1246,11 +1272,14 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_adbdd2208d9ede696704fbecea15bea1f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">kudu::client::KuduTableCreator::add_range_partition_split</a></div><div class="ttdeci">KuduTableCreator &amp; add_range_partition_split(KuduPartialRow *split_row)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_ae12cc7c72da40f25b079273a6169faf9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">kudu::client::KuduTableCreator::split_rows</a></div><div class="ttdeci">KuduTableCreator &amp; split_rows(const std::vector&lt; const KuduPartialRow * &gt; &amp;split_rows) ATTRIBUTE_DEPRECATED(&quot;use add_range_partition_split() instead&quot;)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_af0e832f6d358f9572ee1cf7f755e1658"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">kudu::client::KuduTableCreator::dimension_label</a></div><div class="ttdeci">KuduTableCreator &amp; dimension_label(const std::string &amp;dimension_label)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></div><div class="ttdoc">In-memory statistics of table.</div><div class="ttdef"><b>Definition:</b> client.h:1279</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_af6b9911f943bee6c6840dab918d6652f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f">kudu::client::KuduTableCreator::set_comment</a></div><div class="ttdeci">KuduTableCreator &amp; set_comment(const std::string &amp;comment)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></div><div class="ttdoc">In-memory statistics of table.</div><div class="ttdef"><b>Definition:</b> client.h:1320</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html_a111ee4d90863b9e6c3619e712fe72b3a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">kudu::client::KuduTableStatistics::on_disk_size_limit</a></div><div class="ttdeci">int64_t on_disk_size_limit() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html_aaf8ca7f5f9f4640e517c1b33235450d1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">kudu::client::KuduTableStatistics::live_row_count</a></div><div class="ttdeci">int64_t live_row_count() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html_ab437c1e3cb382828eb32fea424bc25ff"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">kudu::client::KuduTableStatistics::ToString</a></div><div class="ttdeci">std::string ToString() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html_aec261d988a4083bdb74bf39d52bfc1dd"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd">kudu::client::KuduTableStatistics::live_row_count_limit</a></div><div class="ttdeci">int64_t live_row_count_limit() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html_afe152cbb7f239618bfc4625cadba4484"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">kudu::client::KuduTableStatistics::on_disk_size</a></div><div class="ttdeci">int64_t on_disk_size() const</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></div><div class="ttdoc">A representation of a table on a particular cluster.</div><div class="ttdef"><b>Definition:</b> client.h:1332</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></div><div class="ttdoc">A representation of a table on a particular cluster.</div><div class="ttdef"><b>Definition:</b> client.h:1389</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a0c78f86c5d0fbf53437c2c9db26f92b6"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">kudu::client::KuduTable::NewInsert</a></div><div class="ttdeci">KuduInsert * NewInsert()</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a0f3728fb6eab9e1d099f02e378c27af2"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2">kudu::client::KuduTable::partition_schema</a></div><div class="ttdeci">const PartitionSchema &amp; partition_schema() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a19e92dbaeeff86c5d707b15b2a7051fc"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc">kudu::client::KuduTable::NewUpsert</a></div><div class="ttdeci">KuduUpsert * NewUpsert()</div></div>
@@ -1258,6 +1287,7 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a2cc4b8f9fcbff1450d0a056e8f9a8103"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103">kudu::client::KuduTable::NewInsertIgnore</a></div><div class="ttdeci">KuduInsertIgnore * NewInsertIgnore()</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a356e8d0d10491d4d8540adefac86be94"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">kudu::client::KuduTable::NewInBloomFilterPredicate</a></div><div class="ttdeci">KuduPredicate * NewInBloomFilterPredicate(const Slice &amp;col_name, std::vector&lt; KuduBloomFilter * &gt; *bloom_filters)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a453ffb83cf7c12541caba5ea182fadd9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9">kudu::client::KuduTable::NewInListPredicate</a></div><div class="ttdeci">KuduPredicate * NewInListPredicate(const Slice &amp;col_name, std::vector&lt; KuduValue * &gt; *values)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a4f24cd5f89f247933976076fbeafec9b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b">kudu::client::KuduTable::comment</a></div><div class="ttdeci">const std::string &amp; comment() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a58abf46f2fe2cd2adab8c7a872cd0a3d"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">kudu::client::KuduTable::owner</a></div><div class="ttdeci">const std::string &amp; owner() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a5f453909cdeda167ad15506358470466"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">kudu::client::KuduTable::NewIsNullPredicate</a></div><div class="ttdeci">KuduPredicate * NewIsNullPredicate(const Slice &amp;col_name)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a79eae97f8828a50d0d21d85c623bd0ec"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec">kudu::client::KuduTable::extra_configs</a></div><div class="ttdeci">const std::map&lt; std::string, std::string &gt; &amp; extra_configs() const</div></div>
@@ -1272,18 +1302,18 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_aefc75c9c36846675e4b8bd53075f6f5c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c">kudu::client::KuduTable::schema</a></div><div class="ttdeci">const KuduSchema &amp; schema() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_af6e70f115cf3c0359b1c170533a2d523"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523">kudu::client::KuduTable::NewIsNotNullPredicate</a></div><div class="ttdeci">KuduPredicate * NewIsNotNullPredicate(const Slice &amp;col_name)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_aff0381dcf80981edfa7182618b9fc7a3"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3">kudu::client::KuduTable::NewInBloomFilterPredicate</a></div><div class="ttdeci">KuduPredicate * NewInBloomFilterPredicate(const Slice &amp;col_name, const std::vector&lt; Slice &gt; &amp;bloom_filters)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTabletServer_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTabletServer.html">kudu::client::KuduTabletServer</a></div><div class="ttdoc">In-memory representation of a remote tablet server.</div><div class="ttdef"><b>Definition:</b> client.h:950</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTabletServer_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTabletServer.html">kudu::client::KuduTabletServer</a></div><div class="ttdoc">In-memory representation of a remote tablet server.</div><div class="ttdef"><b>Definition:</b> client.h:984</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTabletServer_html_a16f7afb807b569d73c54b5b7feda2c9f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f">kudu::client::KuduTabletServer::port</a></div><div class="ttdeci">uint16_t port() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTabletServer_html_a2b25121a16e203f2fa673644950da1d1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1">kudu::client::KuduTabletServer::hostname</a></div><div class="ttdeci">const std::string &amp; hostname() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTabletServer_html_a5de30699fb086485d44b14469234bbfc"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc">kudu::client::KuduTabletServer::uuid</a></div><div class="ttdeci">const std::string &amp; uuid() const</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTablet_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTablet.html">kudu::client::KuduTablet</a></div><div class="ttdoc">In-memory representation of a remote tablet.</div><div class="ttdef"><b>Definition:</b> client.h:1020</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTablet_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTablet.html">kudu::client::KuduTablet</a></div><div class="ttdoc">In-memory representation of a remote tablet.</div><div class="ttdef"><b>Definition:</b> client.h:1054</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTablet_html_a3d38d4bb09f0c135e999290d03dea837"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837">kudu::client::KuduTablet::id</a></div><div class="ttdeci">const std::string &amp; id() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTablet_html_a738839e72d0a3d87686d06c43238bf19"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19">kudu::client::KuduTablet::replicas</a></div><div class="ttdeci">const std::vector&lt; const KuduReplica * &gt; &amp; replicas() const</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_1_1SerializationOptions_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">kudu::client::KuduTransaction::SerializationOptions</a></div><div class="ttdef"><b>Definition:</b> client.h:427</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_1_1SerializationOptions_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">kudu::client::KuduTransaction::SerializationOptions</a></div><div class="ttdef"><b>Definition:</b> client.h:459</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_1_1SerializationOptions_html_a7c296a5bb34839e0be7c9191d595f24f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f">kudu::client::KuduTransaction::SerializationOptions::keepalive</a></div><div class="ttdeci">bool keepalive() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_1_1SerializationOptions_html_af1349e70e599bb44e47fcfc548c6b9df"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">kudu::client::KuduTransaction::SerializationOptions::enable_keepalive</a></div><div class="ttdeci">SerializationOptions &amp; enable_keepalive(bool enable)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></div><div class="ttdef"><b>Definition:</b> client.h:350</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_html_a408faa78430a38314881ae51450893c2"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction.html#a408faa78430a38314881ae51450893c2">kudu::client::KuduTransaction::Commit</a></div><div class="ttdeci">Status Commit(bool wait=true) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></div><div class="ttdef"><b>Definition:</b> client.h:363</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_html_aaf0b693b1ff9a44399bea3ed1f22f495"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">kudu::client::KuduTransaction::Commit</a></div><div class="ttdeci">Status Commit() WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_html_ad55ec331c2e0471dca2e73b30750b5f5"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">kudu::client::KuduTransaction::Serialize</a></div><div class="ttdeci">Status Serialize(std::string *serialized_txn, const SerializationOptions &amp;options=SerializationOptions()) const WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_html_ad79babbbd8bd296741fad2ed0adce55a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">kudu::client::KuduTransaction::CreateSession</a></div><div class="ttdeci">Status CreateSession(sp::shared_ptr&lt; KuduSession &gt; *session) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduUpdateIgnore_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpdateIgnore.html">kudu::client::KuduUpdateIgnore</a></div><div class="ttdoc">A single row update ignore to be sent to the cluster, missing row errors are ignored.</div><div class="ttdef"><b>Definition:</b> write_op.h:245</div></div>
@@ -1292,15 +1322,15 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></div><div class="ttdoc">A constant cell value with a specific type.</div><div class="ttdef"><b>Definition:</b> value.h:35</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduWriteOperation_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></div><div class="ttdoc">A single-row write operation to be sent to a Kudu table.</div><div class="ttdef"><b>Definition:</b> write_op.h:64</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1ResourceMetrics_html"><div class="ttname"><a href="classkudu_1_1client_1_1ResourceMetrics.html">kudu::client::ResourceMetrics</a></div><div class="ttdoc">A generic catalog of simple metrics.</div><div class="ttdef"><b>Definition:</b> resource_metrics.h:39</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc_html"><div class="ttname"><a href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html">kudu::client::internal::AsyncLeaderMasterRpc</a></div><div class="ttdef"><b>Definition:</b> client.h:122</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc_html"><div class="ttname"><a href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html">kudu::client::internal::AsyncRandomTxnManagerRpc</a></div><div class="ttdef"><b>Definition:</b> client.h:124</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc_html"><div class="ttname"><a href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html">kudu::client::internal::AsyncLeaderMasterRpc</a></div><div class="ttdef"><b>Definition:</b> client.h:123</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc_html"><div class="ttname"><a href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html">kudu::client::internal::AsyncRandomTxnManagerRpc</a></div><div class="ttdef"><b>Definition:</b> client.h:125</div></div>
 <div class="ttc" id="ashared__ptr_8h_html"><div class="ttname"><a href="shared__ptr_8h.html">shared_ptr.h</a></div><div class="ttdoc">Smart pointer typedefs for externally-faced code.</div></div>
 <div class="ttc" id="astatus_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/columnar__scan__batch_8h_source.html b/cpp-client-api/columnar__scan__batch_8h_source.html
index 5bf6753..8a3de93 100644
--- a/cpp-client-api/columnar__scan__batch_8h_source.html
+++ b/cpp-client-api/columnar__scan__batch_8h_source.html
@@ -136,13 +136,13 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnarScanBatch_html_a407f9f0dfe0e7f489ef015a422055300"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300">kudu::client::KuduColumnarScanBatch::GetFixedLengthColumn</a></div><div class="ttdeci">Status GetFixedLengthColumn(int idx, Slice *data) const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnarScanBatch_html_acd1c9a1f894dc35fdb3e9e04ecb100e7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7">kudu::client::KuduColumnarScanBatch::NumRows</a></div><div class="ttdeci">int NumRows() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnarScanBatch_html_aeab3521399ba6aa8672cc9fa6e626312"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312">kudu::client::KuduColumnarScanBatch::GetNonNullBitmapForColumn</a></div><div class="ttdeci">Status GetNonNullBitmapForColumn(int idx, Slice *data) const</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2360</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2456</div></div>
 <div class="ttc" id="astatus_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/deprecated.html b/cpp-client-api/deprecated.html
index da00da8..ddd5159 100644
--- a/cpp-client-api/deprecated.html
+++ b/cpp-client-api/deprecated.html
@@ -81,7 +81,7 @@
 <dt>Member <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad">kudu::client::KuduScanner::SetProjectedColumns</a>  (const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT ATTRIBUTE_DEPRECATED("use SetProjectedColumnNames() instead")</dt>
 <dd><a class="anchor" id="_deprecated000003"></a>Use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">SetProjectedColumnNames()</a> instead. </dd>
 <dt>Member <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">kudu::client::KuduSchema::Reset</a>  (const std::vector&lt; KuduColumnSchema &gt; &amp;columns, int key_columns) WARN_UNUSED_RESULT</dt>
-<dd><a class="anchor" id="_deprecated000011"></a>This method will be removed soon. </dd>
+<dd><a class="anchor" id="_deprecated000012"></a>This method will be removed soon. </dd>
 <dt>Member <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112">kudu::client::KuduSession::CountBufferedOperations</a>  () const ATTRIBUTE_DEPRECATED("this method is experimental and will disappear " "in a future release")</dt>
 <dd><a class="anchor" id="_deprecated000002"></a>This method is experimental and will disappear in a future release. </dd>
 <dt>Member <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">kudu::client::KuduTableCreator::split_rows</a>  (const std::vector&lt; const KuduPartialRow * &gt; &amp;split_rows) ATTRIBUTE_DEPRECATED("use add_range_partition_split() instead")</dt>
@@ -92,7 +92,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/dir_4eb331d85bb84eae27db9d0af49f6f99.html b/cpp-client-api/dir_4eb331d85bb84eae27db9d0af49f6f99.html
index 5d239a6..57cb0d6 100644
--- a/cpp-client-api/dir_4eb331d85bb84eae27db9d0af49f6f99.html
+++ b/cpp-client-api/dir_4eb331d85bb84eae27db9d0af49f6f99.html
@@ -80,7 +80,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/dir_58b01e52e53886b8d78ab5060a2cd2bd.html b/cpp-client-api/dir_58b01e52e53886b8d78ab5060a2cd2bd.html
index 6f07b30..955a2d3 100644
--- a/cpp-client-api/dir_58b01e52e53886b8d78ab5060a2cd2bd.html
+++ b/cpp-client-api/dir_58b01e52e53886b8d78ab5060a2cd2bd.html
@@ -77,7 +77,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html b/cpp-client-api/dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html
index 4057c93..ea0c4ff 100644
--- a/cpp-client-api/dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html
+++ b/cpp-client-api/dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html
@@ -73,7 +73,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/dir_d44c64559bbebec7f509842c48db8b23.html b/cpp-client-api/dir_d44c64559bbebec7f509842c48db8b23.html
index 62c1cfd..752f692 100644
--- a/cpp-client-api/dir_d44c64559bbebec7f509842c48db8b23.html
+++ b/cpp-client-api/dir_d44c64559bbebec7f509842c48db8b23.html
@@ -73,7 +73,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html b/cpp-client-api/dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html
index 5df8915..8234522 100644
--- a/cpp-client-api/dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html
+++ b/cpp-client-api/dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html
@@ -79,7 +79,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/files.html b/cpp-client-api/files.html
index c8da9ac..843d27d 100644
--- a/cpp-client-api/files.html
+++ b/cpp-client-api/files.html
@@ -97,7 +97,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions.html b/cpp-client-api/functions.html
index 5dab150..50be710 100644
--- a/cpp-client-api/functions.html
+++ b/cpp-client-api/functions.html
@@ -144,7 +144,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_b.html b/cpp-client-api/functions_b.html
index 96d6016..4d1b19f 100644
--- a/cpp-client-api/functions_b.html
+++ b/cpp-client-api/functions_b.html
@@ -82,7 +82,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_c.html b/cpp-client-api/functions_c.html
index e8b30ee..8788117 100644
--- a/cpp-client-api/functions_c.html
+++ b/cpp-client-api/functions_c.html
@@ -106,20 +106,17 @@
 <li>CodeAsString()
 : <a class="el" href="classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5">kudu::Status</a>
 </li>
-<li>Column()
-: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ac918de6adc1a15ad27e218664f308980">kudu::client::KuduSchema</a>
-</li>
 <li>COLUMNAR_LAYOUT
 : <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10">kudu::client::KuduScanner</a>
 </li>
-<li>comment()
-: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a04b9d65ed5d347bf3cffa5419a756c9f">kudu::client::KuduColumnSchema</a>
-</li>
 <li>Comment()
 : <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">kudu::client::KuduColumnSpec</a>
 </li>
+<li>comment()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b">kudu::client::KuduTable</a>
+</li>
 <li>Commit()
-: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a408faa78430a38314881ae51450893c2">kudu::client::KuduTransaction</a>
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">kudu::client::KuduTransaction</a>
 </li>
 <li>COMMIT_WAIT
 : <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9">kudu::client::KuduSession</a>
@@ -174,7 +171,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_d.html b/cpp-client-api/functions_d.html
index 42c5edf..2ecee48 100644
--- a/cpp-client-api/functions_d.html
+++ b/cpp-client-api/functions_d.html
@@ -113,7 +113,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_e.html b/cpp-client-api/functions_e.html
index 76faed0..a9a8865 100644
--- a/cpp-client-api/functions_e.html
+++ b/cpp-client-api/functions_e.html
@@ -89,9 +89,7 @@
 : <a class="el" href="classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b">kudu::Status</a>
 </li>
 <li>Equals()
-: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aaf2cdb1424600e420601b68b8dd05c3a">kudu::client::KuduColumnSchema</a>
-, <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3db3761d3df18e12e45e3573bc182f47">kudu::client::KuduSchema</a>
-, <a class="el" href="classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc">kudu::MonoDelta</a>
+: <a class="el" href="classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc">kudu::MonoDelta</a>
 </li>
 <li>EXCLUSIVE_BOUND
 : <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">kudu::client::KuduTableCreator</a>
@@ -111,7 +109,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_enum.html b/cpp-client-api/functions_enum.html
index 8ce2551..d84401a 100644
--- a/cpp-client-api/functions_enum.html
+++ b/cpp-client-api/functions_enum.html
@@ -100,7 +100,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_eval.html b/cpp-client-api/functions_eval.html
index 823b070..b84056a 100644
--- a/cpp-client-api/functions_eval.html
+++ b/cpp-client-api/functions_eval.html
@@ -118,7 +118,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_f.html b/cpp-client-api/functions_f.html
index 879ab28..2399fe8 100644
--- a/cpp-client-api/functions_f.html
+++ b/cpp-client-api/functions_f.html
@@ -115,7 +115,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func.html b/cpp-client-api/functions_func.html
index 507c90d..7738c5f 100644
--- a/cpp-client-api/functions_func.html
+++ b/cpp-client-api/functions_func.html
@@ -138,7 +138,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_b.html b/cpp-client-api/functions_func_b.html
index 029b87a..d171ce7 100644
--- a/cpp-client-api/functions_func_b.html
+++ b/cpp-client-api/functions_func_b.html
@@ -82,7 +82,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_c.html b/cpp-client-api/functions_func_c.html
index 403bcf5..b149a18 100644
--- a/cpp-client-api/functions_func_c.html
+++ b/cpp-client-api/functions_func_c.html
@@ -100,17 +100,14 @@
 <li>CodeAsString()
 : <a class="el" href="classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5">kudu::Status</a>
 </li>
-<li>Column()
-: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ac918de6adc1a15ad27e218664f308980">kudu::client::KuduSchema</a>
-</li>
-<li>comment()
-: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a04b9d65ed5d347bf3cffa5419a756c9f">kudu::client::KuduColumnSchema</a>
-</li>
 <li>Comment()
 : <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">kudu::client::KuduColumnSpec</a>
 </li>
+<li>comment()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b">kudu::client::KuduTable</a>
+</li>
 <li>Commit()
-: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a408faa78430a38314881ae51450893c2">kudu::client::KuduTransaction</a>
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">kudu::client::KuduTransaction</a>
 </li>
 <li>compare()
 : <a class="el" href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">kudu::Slice</a>
@@ -156,7 +153,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_d.html b/cpp-client-api/functions_func_d.html
index 839b01d..52dc393 100644
--- a/cpp-client-api/functions_func_d.html
+++ b/cpp-client-api/functions_func_d.html
@@ -107,7 +107,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_e.html b/cpp-client-api/functions_func_e.html
index f68284c..e88dfed 100644
--- a/cpp-client-api/functions_func_e.html
+++ b/cpp-client-api/functions_func_e.html
@@ -86,9 +86,7 @@
 : <a class="el" href="classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b">kudu::Status</a>
 </li>
 <li>Equals()
-: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aaf2cdb1424600e420601b68b8dd05c3a">kudu::client::KuduColumnSchema</a>
-, <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3db3761d3df18e12e45e3573bc182f47">kudu::client::KuduSchema</a>
-, <a class="el" href="classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc">kudu::MonoDelta</a>
+: <a class="el" href="classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc">kudu::MonoDelta</a>
 </li>
 <li>ExportAuthenticationCredentials()
 : <a class="el" href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">kudu::client::KuduClient</a>
@@ -102,7 +100,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_f.html b/cpp-client-api/functions_func_f.html
index bfc83f4..569f8af 100644
--- a/cpp-client-api/functions_func_f.html
+++ b/cpp-client-api/functions_func_f.html
@@ -105,7 +105,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_g.html b/cpp-client-api/functions_func_g.html
index d06bd53..3e3d2ca 100644
--- a/cpp-client-api/functions_func_g.html
+++ b/cpp-client-api/functions_func_g.html
@@ -124,9 +124,6 @@
 <li>GetPendingErrors()
 : <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7">kudu::client::KuduSession</a>
 </li>
-<li>GetPrimaryKeyColumnIndexes()
-: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3bf9ce84b09d7ed9fb488433a5f322e9">kudu::client::KuduSchema</a>
-</li>
 <li>GetProjectionSchema()
 : <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82">kudu::client::KuduScanner</a>
 </li>
@@ -156,7 +153,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_h.html b/cpp-client-api/functions_func_h.html
index fd7668e..515774b 100644
--- a/cpp-client-api/functions_func_h.html
+++ b/cpp-client-api/functions_func_h.html
@@ -64,9 +64,6 @@
 &#160;
 
 <h3><a id="index_h"></a>- h -</h3><ul>
-<li>HasColumn()
-: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3cbc77c6136806551c99bf84b94e691a">kudu::client::KuduSchema</a>
-</li>
 <li>hash_algorithm()
 : <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57">kudu::client::KuduBloomFilterBuilder</a>
 </li>
@@ -87,7 +84,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_i.html b/cpp-client-api/functions_func_i.html
index 8801d86..8fa6305 100644
--- a/cpp-client-api/functions_func_i.html
+++ b/cpp-client-api/functions_func_i.html
@@ -107,9 +107,6 @@
 <li>is_leader()
 : <a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5">kudu::client::KuduReplica</a>
 </li>
-<li>is_nullable()
-: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a3f8197dd468546ce83e21481a361c1ec">kudu::client::KuduColumnSchema</a>
-</li>
 <li>IsAborted()
 : <a class="el" href="classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874">kudu::Status</a>
 </li>
@@ -197,7 +194,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_k.html b/cpp-client-api/functions_func_k.html
index 4d3057e..5b2d1c5 100644
--- a/cpp-client-api/functions_func_k.html
+++ b/cpp-client-api/functions_func_k.html
@@ -114,7 +114,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_l.html b/cpp-client-api/functions_func_l.html
index c85da6f..2ca92f5 100644
--- a/cpp-client-api/functions_func_l.html
+++ b/cpp-client-api/functions_func_l.html
@@ -82,12 +82,15 @@
 <li>live_row_count()
 : <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">kudu::client::KuduTableStatistics</a>
 </li>
+<li>live_row_count_limit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd">kudu::client::KuduTableStatistics</a>
+</li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_m.html b/cpp-client-api/functions_func_m.html
index 6cfbf47..18dd3cc 100644
--- a/cpp-client-api/functions_func_m.html
+++ b/cpp-client-api/functions_func_m.html
@@ -99,7 +99,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_n.html b/cpp-client-api/functions_func_n.html
index 840d708..e3bd088 100644
--- a/cpp-client-api/functions_func_n.html
+++ b/cpp-client-api/functions_func_n.html
@@ -65,8 +65,7 @@
 
 <h3><a id="index_n"></a>- n -</h3><ul>
 <li>name()
-: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a1cda4c693af7226ddde29bf70da4cfcf">kudu::client::KuduColumnSchema</a>
-, <a class="el" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">kudu::client::KuduTable</a>
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">kudu::client::KuduTable</a>
 </li>
 <li>NanosToTimeSpec()
 : <a class="el" href="classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22">kudu::MonoDelta</a>
@@ -101,9 +100,6 @@
 <li>NewIsNullPredicate()
 : <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">kudu::client::KuduTable</a>
 </li>
-<li>NewRow()
-: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a6988d1b2a64b9da6b2d013ce556726e1">kudu::client::KuduSchema</a>
-</li>
 <li>NewSession()
 : <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">kudu::client::KuduClient</a>
 </li>
@@ -146,9 +142,6 @@
 <li>Nullable()
 : <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">kudu::client::KuduColumnSpec</a>
 </li>
-<li>num_columns()
-: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab3b5137cd28ed0dbdfa5d064879baf74">kudu::client::KuduSchema</a>
-</li>
 <li>num_reactors()
 : <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">kudu::client::KuduClientBuilder</a>
 </li>
@@ -168,7 +161,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_o.html b/cpp-client-api/functions_func_o.html
index 239f597..a030ea7 100644
--- a/cpp-client-api/functions_func_o.html
+++ b/cpp-client-api/functions_func_o.html
@@ -73,6 +73,9 @@
 <li>on_disk_size()
 : <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">kudu::client::KuduTableStatistics</a>
 </li>
+<li>on_disk_size_limit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">kudu::client::KuduTableStatistics</a>
+</li>
 <li>Open()
 : <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">kudu::client::KuduScanner</a>
 </li>
@@ -125,7 +128,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_p.html b/cpp-client-api/functions_func_p.html
index 70ef1b1..c5c4f82 100644
--- a/cpp-client-api/functions_func_p.html
+++ b/cpp-client-api/functions_func_p.html
@@ -93,7 +93,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_r.html b/cpp-client-api/functions_func_r.html
index 4f3d6d9..95fae56 100644
--- a/cpp-client-api/functions_func_r.html
+++ b/cpp-client-api/functions_func_r.html
@@ -117,7 +117,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_s.html b/cpp-client-api/functions_func_s.html
index 2c2ea3f..a3515f6 100644
--- a/cpp-client-api/functions_func_s.html
+++ b/cpp-client-api/functions_func_s.html
@@ -64,6 +64,9 @@
 &#160;
 
 <h3><a id="index_s"></a>- s -</h3><ul>
+<li>sasl_protocol_name()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">kudu::client::KuduClientBuilder</a>
+</li>
 <li>Scale()
 : <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">kudu::client::KuduColumnSpec</a>
 </li>
@@ -82,6 +85,9 @@
 <li>ServiceUnavailable()
 : <a class="el" href="classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568">kudu::Status</a>
 </li>
+<li>set_comment()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f">kudu::client::KuduTableCreator</a>
+</li>
 <li>set_owner()
 : <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">kudu::client::KuduTableCreator</a>
 </li>
@@ -96,7 +102,7 @@
 : <a class="el" href="classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3">KuduPartialRow</a>
 </li>
 <li>SetBinaryCopy()
-: <a class="el" href="classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35">KuduPartialRow</a>
+: <a class="el" href="classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78">KuduPartialRow</a>
 </li>
 <li>SetBinaryNoCopy()
 : <a class="el" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">KuduPartialRow</a>
@@ -111,8 +117,11 @@
 : <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310">kudu::client::KuduScanner</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">kudu::client::KuduScanTokenBuilder</a>
 </li>
+<li>SetComment()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6">kudu::client::KuduTableAlterer</a>
+</li>
 <li>SetDate()
-: <a class="el" href="classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4">KuduPartialRow</a>
+: <a class="el" href="classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a">KuduPartialRow</a>
 </li>
 <li>SetDouble()
 : <a class="el" href="classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20">KuduPartialRow</a>
@@ -137,7 +146,7 @@
 : <a class="el" href="classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810">KuduPartialRow</a>
 </li>
 <li>SetInt32()
-: <a class="el" href="classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad">KuduPartialRow</a>
+: <a class="el" href="classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887">KuduPartialRow</a>
 </li>
 <li>SetInt64()
 : <a class="el" href="classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4">KuduPartialRow</a>
@@ -212,7 +221,13 @@
 : <a class="el" href="classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199">KuduPartialRow</a>
 </li>
 <li>SetStringNoCopy()
-: <a class="el" href="classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd">KuduPartialRow</a>
+: <a class="el" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">KuduPartialRow</a>
+</li>
+<li>SetTableDiskSizeLimit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27">kudu::client::KuduTableAlterer</a>
+</li>
+<li>SetTableRowCountLimit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe">kudu::client::KuduTableAlterer</a>
 </li>
 <li>SetTimeoutMillis()
 : <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6">kudu::client::KuduScanner</a>
@@ -232,11 +247,14 @@
 : <a class="el" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">kudu::Slice</a>
 </li>
 <li>Slice()
-: <a class="el" href="classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c">kudu::Slice</a>
+: <a class="el" href="classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5">kudu::Slice</a>
 </li>
 <li>split_rows()
 : <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">kudu::client::KuduTableCreator</a>
 </li>
+<li>StartCommit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce">kudu::client::KuduTransaction</a>
+</li>
 <li>starts_with()
 : <a class="el" href="classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d">kudu::Slice</a>
 </li>
@@ -260,7 +278,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_t.html b/cpp-client-api/functions_func_t.html
index 3f58efb..2aa4d74 100644
--- a/cpp-client-api/functions_func_t.html
+++ b/cpp-client-api/functions_func_t.html
@@ -106,7 +106,6 @@
 , <a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83">kudu::client::KuduInsertIgnore</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3">kudu::client::KuduScanBatch</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae">kudu::client::KuduScanner</a>
-, <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab8386c4ceb1895ebf808096da3f9c614">kudu::client::KuduSchema</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">kudu::client::KuduTableStatistics</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718">kudu::client::KuduUpdate</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261">kudu::client::KuduUpdateIgnore</a>
@@ -129,21 +128,15 @@
 <li>ts()
 : <a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627">kudu::client::KuduReplica</a>
 </li>
-<li>type()
-: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29">kudu::client::KuduColumnSchema</a>
-</li>
 <li>Type()
 : <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">kudu::client::KuduColumnSpec</a>
 </li>
-<li>type_attributes()
-: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a328c76411dd00f5f6a7ee063ce90c65e">kudu::client::KuduColumnSchema</a>
-</li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_u.html b/cpp-client-api/functions_func_u.html
index d6377c6..ac54e13 100644
--- a/cpp-client-api/functions_func_u.html
+++ b/cpp-client-api/functions_func_u.html
@@ -78,7 +78,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_func_w.html b/cpp-client-api/functions_func_w.html
index 8a3c596..6a449ba 100644
--- a/cpp-client-api/functions_func_w.html
+++ b/cpp-client-api/functions_func_w.html
@@ -76,7 +76,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_g.html b/cpp-client-api/functions_g.html
index e9366b6..c95a471 100644
--- a/cpp-client-api/functions_g.html
+++ b/cpp-client-api/functions_g.html
@@ -84,7 +84,7 @@
 </li>
 <li>GetDouble()
 : <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0">kudu::client::KuduScanBatch</a>
-, <a class="el" href="classKuduPartialRow.html#a4b4fae6f8be68e97b0e7145ea55fae9f">KuduPartialRow</a>
+, <a class="el" href="classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd">KuduPartialRow</a>
 </li>
 <li>GetFixedLengthColumn()
 : <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300">kudu::client::KuduColumnarScanBatch</a>
@@ -99,7 +99,7 @@
 </li>
 <li>GetInt32()
 : <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2">kudu::client::KuduScanBatch</a>
-, <a class="el" href="classKuduPartialRow.html#a9956360f9208549aab03d9284ff80b46">KuduPartialRow</a>
+, <a class="el" href="classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc">KuduPartialRow</a>
 </li>
 <li>GetInt64()
 : <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0">kudu::client::KuduScanBatch</a>
@@ -124,9 +124,6 @@
 <li>GetPendingErrors()
 : <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7">kudu::client::KuduSession</a>
 </li>
-<li>GetPrimaryKeyColumnIndexes()
-: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3bf9ce84b09d7ed9fb488433a5f322e9">kudu::client::KuduSchema</a>
-</li>
 <li>GetProjectionSchema()
 : <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82">kudu::client::KuduScanner</a>
 </li>
@@ -159,7 +156,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_h.html b/cpp-client-api/functions_h.html
index 3284d2a..152f044 100644
--- a/cpp-client-api/functions_h.html
+++ b/cpp-client-api/functions_h.html
@@ -64,9 +64,6 @@
 <div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
 <h3><a id="index_h"></a>- h -</h3><ul>
-<li>HasColumn()
-: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3cbc77c6136806551c99bf84b94e691a">kudu::client::KuduSchema</a>
-</li>
 <li>hash_algorithm()
 : <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57">kudu::client::KuduBloomFilterBuilder</a>
 </li>
@@ -87,7 +84,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_i.html b/cpp-client-api/functions_i.html
index e472ff4..219f9e7 100644
--- a/cpp-client-api/functions_i.html
+++ b/cpp-client-api/functions_i.html
@@ -110,9 +110,6 @@
 <li>is_leader()
 : <a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5">kudu::client::KuduReplica</a>
 </li>
-<li>is_nullable()
-: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a3f8197dd468546ce83e21481a361c1ec">kudu::client::KuduColumnSchema</a>
-</li>
 <li>IsAborted()
 : <a class="el" href="classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874">kudu::Status</a>
 </li>
@@ -200,7 +197,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_k.html b/cpp-client-api/functions_k.html
index 133a96a..d76f472 100644
--- a/cpp-client-api/functions_k.html
+++ b/cpp-client-api/functions_k.html
@@ -129,7 +129,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_l.html b/cpp-client-api/functions_l.html
index 827add7..275591d 100644
--- a/cpp-client-api/functions_l.html
+++ b/cpp-client-api/functions_l.html
@@ -85,12 +85,15 @@
 <li>live_row_count()
 : <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">kudu::client::KuduTableStatistics</a>
 </li>
+<li>live_row_count_limit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd">kudu::client::KuduTableStatistics</a>
+</li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_m.html b/cpp-client-api/functions_m.html
index f76281e..3f76a09 100644
--- a/cpp-client-api/functions_m.html
+++ b/cpp-client-api/functions_m.html
@@ -106,7 +106,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_n.html b/cpp-client-api/functions_n.html
index 8ccc72c..4063e82 100644
--- a/cpp-client-api/functions_n.html
+++ b/cpp-client-api/functions_n.html
@@ -65,8 +65,7 @@
 
 <h3><a id="index_n"></a>- n -</h3><ul>
 <li>name()
-: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a1cda4c693af7226ddde29bf70da4cfcf">kudu::client::KuduColumnSchema</a>
-, <a class="el" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">kudu::client::KuduTable</a>
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">kudu::client::KuduTable</a>
 </li>
 <li>NanosToTimeSpec()
 : <a class="el" href="classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22">kudu::MonoDelta</a>
@@ -101,9 +100,6 @@
 <li>NewIsNullPredicate()
 : <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">kudu::client::KuduTable</a>
 </li>
-<li>NewRow()
-: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a6988d1b2a64b9da6b2d013ce556726e1">kudu::client::KuduSchema</a>
-</li>
 <li>NewSession()
 : <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">kudu::client::KuduClient</a>
 </li>
@@ -149,9 +145,6 @@
 <li>Nullable()
 : <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">kudu::client::KuduColumnSpec</a>
 </li>
-<li>num_columns()
-: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab3b5137cd28ed0dbdfa5d064879baf74">kudu::client::KuduSchema</a>
-</li>
 <li>num_reactors()
 : <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">kudu::client::KuduClientBuilder</a>
 </li>
@@ -171,7 +164,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_o.html b/cpp-client-api/functions_o.html
index 680f441..af76043 100644
--- a/cpp-client-api/functions_o.html
+++ b/cpp-client-api/functions_o.html
@@ -73,6 +73,9 @@
 <li>on_disk_size()
 : <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">kudu::client::KuduTableStatistics</a>
 </li>
+<li>on_disk_size_limit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">kudu::client::KuduTableStatistics</a>
+</li>
 <li>Open()
 : <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">kudu::client::KuduScanner</a>
 </li>
@@ -138,7 +141,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_p.html b/cpp-client-api/functions_p.html
index b17ace6..c1f124b 100644
--- a/cpp-client-api/functions_p.html
+++ b/cpp-client-api/functions_p.html
@@ -96,7 +96,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_r.html b/cpp-client-api/functions_r.html
index c7bb881..4a81e05 100644
--- a/cpp-client-api/functions_r.html
+++ b/cpp-client-api/functions_r.html
@@ -135,7 +135,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_rela.html b/cpp-client-api/functions_rela.html
index 47e8503..a56f169 100644
--- a/cpp-client-api/functions_rela.html
+++ b/cpp-client-api/functions_rela.html
@@ -76,7 +76,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_s.html b/cpp-client-api/functions_s.html
index 825d42a..5cd4bf7 100644
--- a/cpp-client-api/functions_s.html
+++ b/cpp-client-api/functions_s.html
@@ -64,6 +64,9 @@
 <div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
 <h3><a id="index_s"></a>- s -</h3><ul>
+<li>sasl_protocol_name()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">kudu::client::KuduClientBuilder</a>
+</li>
 <li>Scale()
 : <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">kudu::client::KuduColumnSpec</a>
 </li>
@@ -82,6 +85,9 @@
 <li>ServiceUnavailable()
 : <a class="el" href="classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568">kudu::Status</a>
 </li>
+<li>set_comment()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f">kudu::client::KuduTableCreator</a>
+</li>
 <li>set_owner()
 : <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">kudu::client::KuduTableCreator</a>
 </li>
@@ -96,7 +102,7 @@
 : <a class="el" href="classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3">KuduPartialRow</a>
 </li>
 <li>SetBinaryCopy()
-: <a class="el" href="classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35">KuduPartialRow</a>
+: <a class="el" href="classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78">KuduPartialRow</a>
 </li>
 <li>SetBinaryNoCopy()
 : <a class="el" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">KuduPartialRow</a>
@@ -111,8 +117,11 @@
 : <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310">kudu::client::KuduScanner</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">kudu::client::KuduScanTokenBuilder</a>
 </li>
+<li>SetComment()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6">kudu::client::KuduTableAlterer</a>
+</li>
 <li>SetDate()
-: <a class="el" href="classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4">KuduPartialRow</a>
+: <a class="el" href="classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a">KuduPartialRow</a>
 </li>
 <li>SetDouble()
 : <a class="el" href="classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20">KuduPartialRow</a>
@@ -137,7 +146,7 @@
 : <a class="el" href="classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810">KuduPartialRow</a>
 </li>
 <li>SetInt32()
-: <a class="el" href="classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad">KuduPartialRow</a>
+: <a class="el" href="classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887">KuduPartialRow</a>
 </li>
 <li>SetInt64()
 : <a class="el" href="classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4">KuduPartialRow</a>
@@ -212,7 +221,13 @@
 : <a class="el" href="classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199">KuduPartialRow</a>
 </li>
 <li>SetStringNoCopy()
-: <a class="el" href="classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd">KuduPartialRow</a>
+: <a class="el" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">KuduPartialRow</a>
+</li>
+<li>SetTableDiskSizeLimit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27">kudu::client::KuduTableAlterer</a>
+</li>
+<li>SetTableRowCountLimit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe">kudu::client::KuduTableAlterer</a>
 </li>
 <li>SetTimeoutMillis()
 : <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6">kudu::client::KuduScanner</a>
@@ -232,11 +247,14 @@
 : <a class="el" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">kudu::Slice</a>
 </li>
 <li>Slice()
-: <a class="el" href="classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c">kudu::Slice</a>
+: <a class="el" href="classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5">kudu::Slice</a>
 </li>
 <li>split_rows()
 : <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">kudu::client::KuduTableCreator</a>
 </li>
+<li>StartCommit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce">kudu::client::KuduTransaction</a>
+</li>
 <li>starts_with()
 : <a class="el" href="classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d">kudu::Slice</a>
 </li>
@@ -260,7 +278,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_t.html b/cpp-client-api/functions_t.html
index ecc64d6..cb91abe 100644
--- a/cpp-client-api/functions_t.html
+++ b/cpp-client-api/functions_t.html
@@ -109,7 +109,6 @@
 , <a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83">kudu::client::KuduInsertIgnore</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3">kudu::client::KuduScanBatch</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae">kudu::client::KuduScanner</a>
-, <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab8386c4ceb1895ebf808096da3f9c614">kudu::client::KuduSchema</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">kudu::client::KuduTableStatistics</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718">kudu::client::KuduUpdate</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261">kudu::client::KuduUpdateIgnore</a>
@@ -132,9 +131,6 @@
 <li>ts()
 : <a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627">kudu::client::KuduReplica</a>
 </li>
-<li>type()
-: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29">kudu::client::KuduColumnSchema</a>
-</li>
 <li>Type()
 : <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">kudu::client::KuduColumnSpec</a>
 , <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">kudu::client::KuduWriteOperation</a>
@@ -142,15 +138,12 @@
 <li>type
 : <a class="el" href="structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6">kudu::SliceMap&lt; T &gt;</a>
 </li>
-<li>type_attributes()
-: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a328c76411dd00f5f6a7ee063ce90c65e">kudu::client::KuduColumnSchema</a>
-</li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_type.html b/cpp-client-api/functions_type.html
index c18ed23..43b0e92 100644
--- a/cpp-client-api/functions_type.html
+++ b/cpp-client-api/functions_type.html
@@ -81,7 +81,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_u.html b/cpp-client-api/functions_u.html
index a8675f6..7ebf8d0 100644
--- a/cpp-client-api/functions_u.html
+++ b/cpp-client-api/functions_u.html
@@ -81,7 +81,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_v.html b/cpp-client-api/functions_v.html
index 24c03f1..617ff14 100644
--- a/cpp-client-api/functions_v.html
+++ b/cpp-client-api/functions_v.html
@@ -72,7 +72,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_vars.html b/cpp-client-api/functions_vars.html
index 9cbff3f..e295c1a 100644
--- a/cpp-client-api/functions_vars.html
+++ b/cpp-client-api/functions_vars.html
@@ -94,7 +94,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/functions_w.html b/cpp-client-api/functions_w.html
index 176de51..77149b0 100644
--- a/cpp-client-api/functions_w.html
+++ b/cpp-client-api/functions_w.html
@@ -76,7 +76,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/globals.html b/cpp-client-api/globals.html
index 3cd44e0..460c00e 100644
--- a/cpp-client-api/globals.html
+++ b/cpp-client-api/globals.html
@@ -103,7 +103,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/globals_defs.html b/cpp-client-api/globals_defs.html
index b671e0c..4562e0e 100644
--- a/cpp-client-api/globals_defs.html
+++ b/cpp-client-api/globals_defs.html
@@ -103,7 +103,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/hash_8h_source.html b/cpp-client-api/hash_8h_source.html
index 6961f26..23b62dd 100644
--- a/cpp-client-api/hash_8h_source.html
+++ b/cpp-client-api/hash_8h_source.html
@@ -105,7 +105,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/hierarchy.html b/cpp-client-api/hierarchy.html
index 0a0fa02..b4623e3 100644
--- a/cpp-client-api/hierarchy.html
+++ b/cpp-client-api/hierarchy.html
@@ -133,7 +133,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/index.html b/cpp-client-api/index.html
index ffa109f..d651533 100644
--- a/cpp-client-api/index.html
+++ b/cpp-client-api/index.html
@@ -71,7 +71,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/int128_8h_source.html b/cpp-client-api/int128_8h_source.html
index 74af0b0..19f7d71 100644
--- a/cpp-client-api/int128_8h_source.html
+++ b/cpp-client-api/int128_8h_source.html
@@ -119,7 +119,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/kudu__export_8h_source.html b/cpp-client-api/kudu__export_8h_source.html
index f10a326..f8cc6c4 100644
--- a/cpp-client-api/kudu__export_8h_source.html
+++ b/cpp-client-api/kudu__export_8h_source.html
@@ -115,7 +115,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/monotime_8h_source.html b/cpp-client-api/monotime_8h_source.html
index eeb04a0..994fb6f 100644
--- a/cpp-client-api/monotime_8h_source.html
+++ b/cpp-client-api/monotime_8h_source.html
@@ -302,7 +302,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/pages.html b/cpp-client-api/pages.html
index 1b9ed2f..bfd2654 100644
--- a/cpp-client-api/pages.html
+++ b/cpp-client-api/pages.html
@@ -75,7 +75,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/partial__row_8h_source.html b/cpp-client-api/partial__row_8h_source.html
index 8bd372e..05a84a2 100644
--- a/cpp-client-api/partial__row_8h_source.html
+++ b/cpp-client-api/partial__row_8h_source.html
@@ -448,7 +448,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/resource__metrics_8h_source.html b/cpp-client-api/resource__metrics_8h_source.html
index a59f615..af84672 100644
--- a/cpp-client-api/resource__metrics_8h_source.html
+++ b/cpp-client-api/resource__metrics_8h_source.html
@@ -129,14 +129,14 @@
 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;} <span class="comment">// namespace kudu</span></div>
 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
 <div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2360</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2456</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1ResourceMetrics_html"><div class="ttname"><a href="classkudu_1_1client_1_1ResourceMetrics.html">kudu::client::ResourceMetrics</a></div><div class="ttdoc">A generic catalog of simple metrics.</div><div class="ttdef"><b>Definition:</b> resource_metrics.h:39</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1ResourceMetrics_html_ae46eb43e391c642b521fb6febcaea936"><div class="ttname"><a href="classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936">kudu::client::ResourceMetrics::Get</a></div><div class="ttdeci">std::map&lt; std::string, int64_t &gt; Get() const</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/row__result_8h_source.html b/cpp-client-api/row__result_8h_source.html
index e9cde70..ced2e68 100644
--- a/cpp-client-api/row__result_8h_source.html
+++ b/cpp-client-api/row__result_8h_source.html
@@ -104,7 +104,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/scan__batch_8h_source.html b/cpp-client-api/scan__batch_8h_source.html
index ff2a855..36abc11 100644
--- a/cpp-client-api/scan__batch_8h_source.html
+++ b/cpp-client-api/scan__batch_8h_source.html
@@ -338,14 +338,14 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_ae41dd0f1e2b4bf074ded210382b825bd"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#ae41dd0f1e2b4bf074ded210382b825bd">kudu::client::KuduScanBatch::GetFloat</a></div><div class="ttdeci">Status GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_afbaff6bf597df2fa0696bdc5cbdfb037"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037">kudu::client::KuduScanBatch::GetInt16</a></div><div class="ttdeci">Status GetInt16(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_afed25c9aadd0c6314aa3dd0acee9da54"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#afed25c9aadd0c6314aa3dd0acee9da54">kudu::client::KuduScanBatch::GetDate</a></div><div class="ttdeci">Status GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2360</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></div><div class="ttdoc">A representation of a table's schema.</div><div class="ttdef"><b>Definition:</b> schema.h:597</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2456</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></div><div class="ttdoc">A representation of a table's schema.</div><div class="ttdef"><b>Definition:</b> schema.h:616</div></div>
 <div class="ttc" id="astatus_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/scan__predicate_8h_source.html b/cpp-client-api/scan__predicate_8h_source.html
index deaf42f..32d63b8 100644
--- a/cpp-client-api/scan__predicate_8h_source.html
+++ b/cpp-client-api/scan__predicate_8h_source.html
@@ -201,13 +201,13 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduPredicate_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></div><div class="ttdoc">A representation of comparison predicate for Kudu queries.</div><div class="ttdef"><b>Definition:</b> scan_predicate.h:43</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduPredicate_html_a04cb09a481c3b94f249d81d2fd3d7670"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670">kudu::client::KuduPredicate::Clone</a></div><div class="ttdeci">KuduPredicate * Clone() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduPredicate_html_ad58e80ced596d7738f99b5b83ba24eb4"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">kudu::client::KuduPredicate::ComparisonOp</a></div><div class="ttdeci">ComparisonOp</div><div class="ttdoc">Supported comparison operators.</div><div class="ttdef"><b>Definition:</b> scan_predicate.h:46</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></div><div class="ttdoc">A representation of a table on a particular cluster.</div><div class="ttdef"><b>Definition:</b> client.h:1332</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></div><div class="ttdoc">A representation of a table on a particular cluster.</div><div class="ttdef"><b>Definition:</b> client.h:1389</div></div>
 <div class="ttc" id="astatus_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/schema_8h_source.html b/cpp-client-api/schema_8h_source.html
index 57c83a7..6c972d9 100644
--- a/cpp-client-api/schema_8h_source.html
+++ b/cpp-client-api/schema_8h_source.html
@@ -254,218 +254,222 @@
 <div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160; </div>
 <div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">  264</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">CopyFrom</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; other);</div>
 <div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160; </div>
-<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#aaf2cdb1424600e420601b68b8dd05c3a">  271</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aaf2cdb1424600e420601b68b8dd05c3a">Equals</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; other) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160; </div>
-<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#a1cda4c693af7226ddde29bf70da4cfcf">  279</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#a1cda4c693af7226ddde29bf70da4cfcf">name</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160; </div>
-<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29">  282</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29">type</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="keywordtype">bool</span> Equals(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; other) <span class="keyword">const</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use operator==(const KuduColumnSchema&amp;) instead&quot;</span>);</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160; </div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; rhs) <span class="keyword">const</span>;</div>
 <div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160; </div>
-<div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#a3f8197dd468546ce83e21481a361c1ec">  285</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#a3f8197dd468546ce83e21481a361c1ec">is_nullable</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
-<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#a328c76411dd00f5f6a7ee063ce90c65e">  289</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#a328c76411dd00f5f6a7ee063ce90c65e">type_attributes</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160; </div>
-<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#a04b9d65ed5d347bf3cffa5419a756c9f">  294</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#a04b9d65ed5d347bf3cffa5419a756c9f">comment</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160; </div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>;</div>
-<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>;</div>
-<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>;</div>
-<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;  <span class="comment">// KuduTableAlterer::Data needs to be a friend. Friending the parent class</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  <span class="comment">// is transitive to nested classes. See https://s.apache.org/inner-class-friends</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>;</div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160; </div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  FRIEND_TEST(KuduColumnSchemaTest, TestEquals);</div>
-<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160; </div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>();</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;  <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; rhs) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160; </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  <span class="keyword">const</span> std::string&amp; name() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160; </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> type() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;  <span class="keywordtype">bool</span> is_nullable() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160; </div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> type_attributes() <span class="keyword">const</span>;</div>
 <div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160; </div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor">#if defined(__clang__) || \</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor">  (defined(__GNUC__) &amp;&amp; (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) &gt;= 40600)</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">#pragma GCC diagnostic push</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="preprocessor">#pragma GCC diagnostic ignored &quot;-Wdeprecated-declarations&quot;</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>(</div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;      <span class="keyword">const</span> std::string &amp;name,</div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> type,</div>
-<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;      <span class="keywordtype">bool</span> is_nullable = <span class="keyword">false</span>,</div>
-<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">void</span>* default_value = NULL, <span class="comment">//NOLINT(modernize-use-nullptr)</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;      <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">KuduColumnStorageAttributes</a>&amp; storage_attributes = <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">KuduColumnStorageAttributes</a>(),</div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;      <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>&amp; type_attributes = <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>(),</div>
-<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;      <span class="keyword">const</span> std::string&amp; comment = <span class="stringliteral">&quot;&quot;</span>);</div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="preprocessor">#if defined(__clang__) || \</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">  (defined(__GNUC__) &amp;&amp; (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) &gt;= 40600)</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="preprocessor">#pragma GCC diagnostic pop</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;  <span class="keyword">const</span> std::string&amp; comment() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160; </div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>;</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>;</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>;</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;  <span class="comment">// KuduTableAlterer::Data needs to be a friend. Friending the parent class</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  <span class="comment">// is transitive to nested classes. See https://s.apache.org/inner-class-friends</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>;</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160; </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  FRIEND_TEST(KuduColumnSchemaTest, TestEquals);</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160; </div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>();</div>
 <div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160; </div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  ColumnSchema* col_;</div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;};</div>
-<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160; </div>
-<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html">  341</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> {</div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7">  354</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7">Default</a>(<a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* value);</div>
-<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160; </div>
-<div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b">  361</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b">Compression</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">KuduColumnStorageAttributes::CompressionType</a> compression);</div>
-<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160; </div>
-<div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97">  370</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97">Encoding</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">KuduColumnStorageAttributes::EncodingType</a> encoding);</div>
-<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160; </div>
-<div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">  391</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">BlockSize</a>(int32_t block_size);</div>
-<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160; </div>
-<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160; </div>
-<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb">  411</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb">Precision</a>(int8_t precision);</div>
-<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160; </div>
-<div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">  428</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">Scale</a>(int8_t scale);</div>
-<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160; </div>
-<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160; </div>
-<div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd">  446</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd">Length</a>(uint16_t length);</div>
-<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160; </div>
-<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160; </div>
-<div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">  461</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">PrimaryKey</a>();</div>
-<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160; </div>
-<div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca">  468</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca">NotNull</a>();</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor">#if defined(__clang__) || \</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="preprocessor">  (defined(__GNUC__) &amp;&amp; (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) &gt;= 40600)</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">#pragma GCC diagnostic push</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor">#pragma GCC diagnostic ignored &quot;-Wdeprecated-declarations&quot;</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>(</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;      <span class="keyword">const</span> std::string &amp;name,</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> type,</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;      <span class="keywordtype">bool</span> is_nullable = <span class="keyword">false</span>,</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">void</span>* default_value = NULL, <span class="comment">//NOLINT(modernize-use-nullptr)</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;      <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">KuduColumnStorageAttributes</a>&amp; storage_attributes = <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">KuduColumnStorageAttributes</a>(),</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;      <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>&amp; type_attributes = <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>(),</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;      <span class="keyword">const</span> std::string&amp; comment = <span class="stringliteral">&quot;&quot;</span>);</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor">#if defined(__clang__) || \</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">  (defined(__GNUC__) &amp;&amp; (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) &gt;= 40600)</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">#pragma GCC diagnostic pop</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160; </div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  ColumnSchema* col_;</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;};</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160; </div>
+<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html">  360</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> {</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7">  373</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7">Default</a>(<a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* value);</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160; </div>
+<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b">  380</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b">Compression</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">KuduColumnStorageAttributes::CompressionType</a> compression);</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160; </div>
+<div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97">  389</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97">Encoding</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">KuduColumnStorageAttributes::EncodingType</a> encoding);</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160; </div>
+<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">  410</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">BlockSize</a>(int32_t block_size);</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160; </div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160; </div>
+<div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb">  430</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb">Precision</a>(int8_t precision);</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160; </div>
+<div class="line"><a name="l00447"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">  447</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">Scale</a>(int8_t scale);</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160; </div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160; </div>
+<div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd">  465</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd">Length</a>(uint16_t length);</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160; </div>
 <div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160; </div>
-<div class="line"><a name="l00475"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">  475</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">Nullable</a>();</div>
-<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160; </div>
-<div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">  484</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">Type</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">KuduColumnSchema::DataType</a> type);</div>
-<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160; </div>
+<div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">  480</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">PrimaryKey</a>();</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160; </div>
+<div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca">  487</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca">NotNull</a>();</div>
 <div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160; </div>
-<div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82">  496</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82">RemoveDefault</a>();</div>
-<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160; </div>
-<div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4">  503</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4">RenameTo</a>(<span class="keyword">const</span> std::string&amp; new_name);</div>
+<div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">  494</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">Nullable</a>();</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160; </div>
+<div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">  503</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">Type</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">KuduColumnSchema::DataType</a> type);</div>
 <div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160; </div>
-<div class="line"><a name="l00511"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">  511</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">Comment</a>(<span class="keyword">const</span> std::string&amp; comment);</div>
-<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160; </div>
-<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160; </div>
-<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>;</div>
-<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>;</div>
-<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160; </div>
-<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;  <span class="comment">// This class should always be owned and deleted by one of its friends,</span></div>
-<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;  <span class="comment">// not the user.</span></div>
-<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>();</div>
-<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160; </div>
-<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>(<span class="keyword">const</span> std::string&amp; col_name);</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160; </div>
+<div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82">  515</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82">RemoveDefault</a>();</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160; </div>
+<div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4">  522</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4">RenameTo</a>(<span class="keyword">const</span> std::string&amp; new_name);</div>
 <div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160; </div>
-<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> ToColumnSchema(<a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>* col) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160; </div>
-<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> ToColumnSchemaDelta(ColumnSchemaDelta* col_delta) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160; </div>
-<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;  <a class="code" href="classkudu_1_1Slice.html">Slice</a> DefaultValueAsSlice() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160; </div>
-<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;};</div>
+<div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">  530</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">Comment</a>(<span class="keyword">const</span> std::string&amp; comment);</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160; </div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
 <div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160; </div>
-<div class="line"><a name="l00556"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">  556</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a> {</div>
-<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>();</div>
-<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>();</div>
-<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160; </div>
-<div class="line"><a name="l00567"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">  567</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">AddColumn</a>(<span class="keyword">const</span> std::string&amp; name);</div>
-<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160; </div>
-<div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">  576</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>* <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">SetPrimaryKey</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; key_col_names);</div>
-<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160; </div>
-<div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15">  587</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15">Build</a>(<a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>* schema);</div>
-<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160; </div>
-<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160; <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
-<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160; </div>
-<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;  Data* data_;</div>
-<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;};</div>
-<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160; </div>
-<div class="line"><a name="l00597"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html">  597</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> {</div>
-<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>();</div>
-<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160; </div>
-<div class="line"><a name="l00605"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">  605</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">KuduSchema</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; other);</div>
-<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>();</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>;</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>;</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160; </div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;  <span class="comment">// This class should always be owned and deleted by one of its friends,</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;  <span class="comment">// not the user.</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>();</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160; </div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>(<span class="keyword">const</span> std::string&amp; col_name);</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160; </div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> ToColumnSchema(<a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>* col) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160; </div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> ToColumnSchemaDelta(ColumnSchemaDelta* col_delta) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160; </div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;  <a class="code" href="classkudu_1_1Slice.html">Slice</a> DefaultValueAsSlice() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160; </div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;};</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160; </div>
+<div class="line"><a name="l00575"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">  575</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a> {</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>();</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>();</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160; </div>
+<div class="line"><a name="l00586"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">  586</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">AddColumn</a>(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160; </div>
+<div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">  595</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>* <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">SetPrimaryKey</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; key_col_names);</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160; </div>
+<div class="line"><a name="l00606"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15">  606</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15">Build</a>(<a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>* schema);</div>
 <div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160; </div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
 <div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160; </div>
-<div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">  614</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">operator=</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; other);</div>
-<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160; </div>
-<div class="line"><a name="l00618"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">  618</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">CopyFrom</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; other);</div>
-<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160; </div>
-<div class="line"><a name="l00630"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">  630</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">Reset</a>(<span class="keyword">const</span> std::vector&lt;KuduColumnSchema&gt;&amp; columns, <span class="keywordtype">int</span> key_columns)</div>
-<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;this method will be removed in a future release&quot;</span>)</div>
-<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;      WARN_UNUSED_RESULT;</div>
-<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160; </div>
-<div class="line"><a name="l00640"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a3db3761d3df18e12e45e3573bc182f47">  640</a></span>&#160;  <span class="keywordtype">bool</span> Equals(const <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; other) const;</div>
-<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160; </div>
-<div class="line"><a name="l00645"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#ac918de6adc1a15ad27e218664f308980">  645</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> Column(<span class="keywordtype">size_t</span> idx) const;</div>
-<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160; </div>
-<div class="line"><a name="l00652"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a3cbc77c6136806551c99bf84b94e691a">  652</a></span>&#160;  <span class="keywordtype">bool</span> HasColumn(const std::<span class="keywordtype">string</span>&amp; col_name, <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>* col_schema) const;</div>
-<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160; </div>
-<div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#ab3b5137cd28ed0dbdfa5d064879baf74">  655</a></span>&#160;  <span class="keywordtype">size_t</span> num_columns() const;</div>
-<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160; </div>
-<div class="line"><a name="l00665"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a3bf9ce84b09d7ed9fb488433a5f322e9">  665</a></span>&#160;  <span class="keywordtype">void</span> GetPrimaryKeyColumnIndexes(std::vector&lt;<span class="keywordtype">int</span>&gt;* indexes) const;</div>
-<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160; </div>
-<div class="line"><a name="l00674"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a6988d1b2a64b9da6b2d013ce556726e1">  674</a></span>&#160;  <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* NewRow() const;</div>
-<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160; </div>
-<div class="line"><a name="l00679"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#ab8386c4ceb1895ebf808096da3f9c614">  679</a></span>&#160;  std::<span class="keywordtype">string</span> ToString() const;</div>
-<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160; </div>
-<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160; </div>
-<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;  static <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> FromSchema(const Schema&amp; schema) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;};</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160; </div>
+<div class="line"><a name="l00616"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html">  616</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> {</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>();</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160; </div>
+<div class="line"><a name="l00624"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">  624</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">KuduSchema</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; other);</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>();</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160; </div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160; </div>
+<div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">  633</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">operator=</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; other);</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160; </div>
+<div class="line"><a name="l00637"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">  637</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">CopyFrom</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; other);</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160; </div>
+<div class="line"><a name="l00649"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">  649</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">Reset</a>(<span class="keyword">const</span> std::vector&lt;KuduColumnSchema&gt;&amp; columns, <span class="keywordtype">int</span> key_columns)</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;this method will be removed in a future release&quot;</span>)</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;      WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160; </div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;  <span class="keywordtype">bool</span> Equals(const <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; other) const</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;      ATTRIBUTE_DEPRECATED(&quot;use operator==(const <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp;) instead&quot;);</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160; </div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;  <span class="keywordtype">bool</span> operator==(const <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; rhs) const;</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160; </div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;  <span class="keywordtype">bool</span> operator!=(const <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; rhs) const;</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160; </div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> Column(<span class="keywordtype">size_t</span> idx) const;</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160; </div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;  <span class="keywordtype">bool</span> HasColumn(const std::<span class="keywordtype">string</span>&amp; col_name, <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>* col_schema) const;</div>
 <div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160; </div>
-<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;  static Schema ToSchema(const <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; kudu_schema) KUDU_NO_EXPORT;</div>
-<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160; </div>
-<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160; </div>
-<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160; private:</div>
-<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;  friend class ClientTest;</div>
-<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
-<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>;</div>
-<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>;</div>
-<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
-<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>;</div>
-<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>;</div>
-<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>;</div>
-<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>;</div>
-<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;  friend class ScanConfiguration;</div>
-<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;  friend class internal::GetTableSchemaRpc;</div>
-<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;  friend class internal::LookupRpc;</div>
-<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;  friend class internal::MetaCache;</div>
-<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;  friend class internal::MetaCacheEntry;</div>
-<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;  friend class internal::WriteRpc;</div>
-<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;  friend class tools::RemoteKsckCluster;</div>
-<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;  friend class tools::ReplicaDumper;</div>
-<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160; </div>
-<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;  <span class="comment">// For use by KuduSchema::FromSchema.</span></div>
-<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;  explicit <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>(const Schema&amp; schema);</div>
-<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<span class="preprocessor">#if __cplusplus &gt;= 201103</span></div>
-<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>(Schema&amp;&amp; schema);</div>
-<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160; </div>
-<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;  <span class="comment">// Private since we don&#39;t want users to rely on the first N columns</span></div>
-<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;  <span class="comment">// being the keys.</span></div>
-<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;  <span class="keywordtype">size_t</span> num_key_columns() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160; </div>
-<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;  <span class="comment">// Owned.</span></div>
-<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;  Schema* schema_;</div>
-<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;};</div>
-<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160; </div>
-<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;} <span class="comment">// namespace client</span></div>
-<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;} <span class="comment">// namespace kudu</span></div>
-<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// KUDU_CLIENT_SCHEMA_H</span></div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;  <span class="keywordtype">size_t</span> num_columns() const;</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160; </div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;  <span class="keywordtype">void</span> GetPrimaryKeyColumnIndexes(std::vector&lt;<span class="keywordtype">int</span>&gt;* indexes) const;</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160; </div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;  <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* NewRow() const;</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160; </div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;  std::<span class="keywordtype">string</span> ToString() const;</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160; </div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160; </div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;  static <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> FromSchema(const Schema&amp; schema) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160; </div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;  static Schema ToSchema(const <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; kudu_schema) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160; </div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160; </div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160; private:</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;  friend class ClientTest;</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>;</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>;</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>;</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>;</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>;</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>;</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;  friend class ScanConfiguration;</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;  friend class internal::GetTableSchemaRpc;</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;  friend class internal::LookupRpc;</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;  friend class internal::MetaCache;</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;  friend class internal::MetaCacheEntry;</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;  friend class internal::WriteRpc;</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;  friend class tools::RemoteKsckCluster;</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;  friend class tools::ReplicaDumper;</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160; </div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;  <span class="comment">// For use by KuduSchema::FromSchema.</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;  explicit <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>(const Schema&amp; schema);</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;<span class="preprocessor">#if __cplusplus &gt;= 201103</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>(Schema&amp;&amp; schema);</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160; </div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;  <span class="comment">// Private since we don&#39;t want users to rely on the first N columns</span></div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;  <span class="comment">// being the keys.</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;  <span class="keywordtype">size_t</span> num_key_columns() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160; </div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;  Schema* schema_;</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;};</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160; </div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// KUDU_CLIENT_SCHEMA_H</span></div>
 <div class="ttc" id="aclassKuduPartialRow_html"><div class="ttname"><a href="classKuduPartialRow.html">KuduPartialRow</a></div><div class="ttdoc">A row which may only contain values for a subset of the columns.</div><div class="ttdef"><b>Definition:</b> partial_row.h:72</div></div>
 <div class="ttc" id="aclasskudu_1_1Slice_html"><div class="ttname"><a href="classkudu_1_1Slice.html">kudu::Slice</a></div><div class="ttdoc">A wrapper around externally allocated data.</div><div class="ttdef"><b>Definition:</b> slice.h:51</div></div>
 <div class="ttc" id="aclasskudu_1_1Status_html"><div class="ttname"><a href="classkudu_1_1Status.html">kudu::Status</a></div><div class="ttdoc">A representation of an operation's outcome.</div><div class="ttdef"><b>Definition:</b> status.h:165</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></div><div class="ttdoc">A handle for a connection to a cluster.</div><div class="ttdef"><b>Definition:</b> client.h:583</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></div><div class="ttdoc">A handle for a connection to a cluster.</div><div class="ttdef"><b>Definition:</b> client.h:615</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></div><div class="ttdoc">Representation of the column schema.</div><div class="ttdef"><b>Definition:</b> schema.h:214</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_a04b9d65ed5d347bf3cffa5419a756c9f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#a04b9d65ed5d347bf3cffa5419a756c9f">kudu::client::KuduColumnSchema::comment</a></div><div class="ttdeci">const std::string &amp; comment() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_a11234db43eb8b758a65ba1b08f6b65b0"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">kudu::client::KuduColumnSchema::CopyFrom</a></div><div class="ttdeci">void CopyFrom(const KuduColumnSchema &amp;other)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_a1cda4c693af7226ddde29bf70da4cfcf"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#a1cda4c693af7226ddde29bf70da4cfcf">kudu::client::KuduColumnSchema::name</a></div><div class="ttdeci">const std::string &amp; name() const</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_a328c76411dd00f5f6a7ee063ce90c65e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#a328c76411dd00f5f6a7ee063ce90c65e">kudu::client::KuduColumnSchema::type_attributes</a></div><div class="ttdeci">KuduColumnTypeAttributes type_attributes() const</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_a3f8197dd468546ce83e21481a361c1ec"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#a3f8197dd468546ce83e21481a361c1ec">kudu::client::KuduColumnSchema::is_nullable</a></div><div class="ttdeci">bool is_nullable() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_a4b58da787c8e7dc14987aa74a54f199e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e">kudu::client::KuduColumnSchema::operator=</a></div><div class="ttdeci">KuduColumnSchema &amp; operator=(const KuduColumnSchema &amp;other)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_aaf2cdb1424600e420601b68b8dd05c3a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#aaf2cdb1424600e420601b68b8dd05c3a">kudu::client::KuduColumnSchema::Equals</a></div><div class="ttdeci">bool Equals(const KuduColumnSchema &amp;other) const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_aba69238e70af5c887a4fb11fa2a120c5"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">kudu::client::KuduColumnSchema::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Supported data types for columns.</div><div class="ttdef"><b>Definition:</b> schema.h:217</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_abd89b94b581cc09387921c476ccb56b8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8">kudu::client::KuduColumnSchema::StringToDataType</a></div><div class="ttdeci">static Status StringToDataType(const std::string &amp;type_str, DataType *type)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_af362af4f9c937c2b7fa90ef284cfbd1c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c">kudu::client::KuduColumnSchema::DataTypeToString</a></div><div class="ttdeci">static std::string DataTypeToString(DataType type)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_af790ddd7fa63b208a55da4afc0b3dc29"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29">kudu::client::KuduColumnSchema::type</a></div><div class="ttdeci">DataType type() const</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_afc82e98af83ba61079ba5d30401b5872"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872">kudu::client::KuduColumnSchema::KuduColumnSchema</a></div><div class="ttdeci">KuduColumnSchema(const KuduColumnSchema &amp;other)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></div><div class="ttdoc">Builder API for specifying or altering a column within a table schema.</div><div class="ttdef"><b>Definition:</b> schema.h:341</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></div><div class="ttdoc">Builder API for specifying or altering a column within a table schema.</div><div class="ttdef"><b>Definition:</b> schema.h:360</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_a48a1457d2f4379a59c29280907c7f3c2"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">kudu::client::KuduColumnSpec::PrimaryKey</a></div><div class="ttdeci">KuduColumnSpec * PrimaryKey()</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_a67e794a08387e17ba430d6942419a2c2"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">kudu::client::KuduColumnSpec::Type</a></div><div class="ttdeci">KuduColumnSpec * Type(KuduColumnSchema::DataType type)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_a8502dd68c6743c7c66b2b6a02d41a4e6"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">kudu::client::KuduColumnSpec::BlockSize</a></div><div class="ttdeci">KuduColumnSpec * BlockSize(int32_t block_size)</div></div>
@@ -498,21 +502,21 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnTypeAttributes_html_abbdc4a2daa6ee10ee57cb6258bc996f4"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4">kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes</a></div><div class="ttdeci">KuduColumnTypeAttributes(int8_t precision, int8_t scale)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnTypeAttributes_html_adf37f333f1828e722d1f3f19e98685a7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7">kudu::client::KuduColumnTypeAttributes::operator=</a></div><div class="ttdeci">KuduColumnTypeAttributes &amp; operator=(const KuduColumnTypeAttributes &amp;other)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnTypeAttributes_html_afdfe9a35df0360457583e303fdfe3eae"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae">kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes</a></div><div class="ttdeci">KuduColumnTypeAttributes(const KuduColumnTypeAttributes &amp;other)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></div><div class="ttdoc">Builds scan tokens for a table.</div><div class="ttdef"><b>Definition:</b> client.h:2917</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a></div><div class="ttdoc">A scan descriptor limited to a single physical contiguous location.</div><div class="ttdef"><b>Definition:</b> client.h:2856</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2360</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchemaBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchemaBuilder.html">kudu::client::KuduSchemaBuilder</a></div><div class="ttdoc">Builder API for constructing a KuduSchema object.</div><div class="ttdef"><b>Definition:</b> schema.h:556</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></div><div class="ttdoc">Builds scan tokens for a table.</div><div class="ttdef"><b>Definition:</b> client.h:3013</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a></div><div class="ttdoc">A scan descriptor limited to a single physical contiguous location.</div><div class="ttdef"><b>Definition:</b> client.h:2952</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2456</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchemaBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchemaBuilder.html">kudu::client::KuduSchemaBuilder</a></div><div class="ttdoc">Builder API for constructing a KuduSchema object.</div><div class="ttdef"><b>Definition:</b> schema.h:575</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSchemaBuilder_html_a0fdf28d49cc05ba4f3182f7398ddf600"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">kudu::client::KuduSchemaBuilder::AddColumn</a></div><div class="ttdeci">KuduColumnSpec * AddColumn(const std::string &amp;name)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSchemaBuilder_html_ad4c1619445fea575a775f23752b6bfb9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">kudu::client::KuduSchemaBuilder::SetPrimaryKey</a></div><div class="ttdeci">KuduSchemaBuilder * SetPrimaryKey(const std::vector&lt; std::string &gt; &amp;key_col_names)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSchemaBuilder_html_af117e347a7d0910dda2695997859db15"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15">kudu::client::KuduSchemaBuilder::Build</a></div><div class="ttdeci">Status Build(KuduSchema *schema)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></div><div class="ttdoc">A representation of a table's schema.</div><div class="ttdef"><b>Definition:</b> schema.h:597</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></div><div class="ttdoc">A representation of a table's schema.</div><div class="ttdef"><b>Definition:</b> schema.h:616</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html_a3f51ccf1a7e6f4a4fe4958073305dbab"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">kudu::client::KuduSchema::Reset</a></div><div class="ttdeci">Status Reset(const std::vector&lt; KuduColumnSchema &gt; &amp;columns, int key_columns) WARN_UNUSED_RESULT</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html_a41a683f3d93357fe68531bf71df39d02"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">kudu::client::KuduSchema::KuduSchema</a></div><div class="ttdeci">KuduSchema(const KuduSchema &amp;other)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html_a7d8f49f184a94cee7993158baf6ae758"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">kudu::client::KuduSchema::operator=</a></div><div class="ttdeci">KuduSchema &amp; operator=(const KuduSchema &amp;other)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html_ab146eab7c7fb9a5ea80a4466b5f68555"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">kudu::client::KuduSchema::CopyFrom</a></div><div class="ttdeci">void CopyFrom(const KuduSchema &amp;other)</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></div><div class="ttdoc">Alters an existing table based on the provided steps.</div><div class="ttdef"><b>Definition:</b> client.h:1605</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></div><div class="ttdoc">A helper class to create a new table with the desired options.</div><div class="ttdef"><b>Definition:</b> client.h:1050</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></div><div class="ttdoc">A representation of a table on a particular cluster.</div><div class="ttdef"><b>Definition:</b> client.h:1332</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></div><div class="ttdoc">Alters an existing table based on the provided steps.</div><div class="ttdef"><b>Definition:</b> client.h:1666</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></div><div class="ttdoc">A helper class to create a new table with the desired options.</div><div class="ttdef"><b>Definition:</b> client.h:1084</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></div><div class="ttdoc">A representation of a table on a particular cluster.</div><div class="ttdef"><b>Definition:</b> client.h:1389</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></div><div class="ttdoc">A constant cell value with a specific type.</div><div class="ttdef"><b>Definition:</b> value.h:35</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduWriteOperation_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></div><div class="ttdoc">A single-row write operation to be sent to a Kudu table.</div><div class="ttdef"><b>Definition:</b> write_op.h:64</div></div>
 <div class="ttc" id="astatus_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
@@ -520,7 +524,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/search/all_10.js b/cpp-client-api/search/all_10.js
index 52b33ad..225a539 100644
--- a/cpp-client-api/search/all_10.js
+++ b/cpp-client-api/search/all_10.js
@@ -1,66 +1,72 @@
 var searchData=
 [
-  ['scale_350',['Scale',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777',1,'kudu::client::KuduColumnSpec']]],
-  ['scale_351',['scale',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567',1,'kudu::client::KuduColumnTypeAttributes']]],
-  ['schema_352',['schema',['../classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7',1,'kudu::client::KuduTableCreator::schema()'],['../classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c',1,'kudu::client::KuduTable::schema()'],['../classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8',1,'KuduPartialRow::schema()']]],
-  ['serializationoptions_353',['SerializationOptions',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html',1,'kudu::client::KuduTransaction']]],
-  ['serialize_354',['Serialize',['../classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5',1,'kudu::client::KuduTransaction::Serialize()'],['../classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008',1,'kudu::client::KuduScanToken::Serialize()']]],
-  ['serviceunavailable_355',['ServiceUnavailable',['../classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568',1,'kudu::Status']]],
-  ['set_5fowner_356',['set_owner',['../classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007',1,'kudu::client::KuduTableCreator']]],
-  ['set_5frange_5fpartition_5fcolumns_357',['set_range_partition_columns',['../classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3',1,'kudu::client::KuduTableCreator']]],
-  ['setbatchsizebytes_358',['SetBatchSizeBytes',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c',1,'kudu::client::KuduScanTokenBuilder::SetBatchSizeBytes()'],['../classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c',1,'kudu::client::KuduScanner::SetBatchSizeBytes()']]],
-  ['setbinary_359',['SetBinary',['../classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c',1,'KuduPartialRow::SetBinary(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3',1,'KuduPartialRow::SetBinary(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['setbinarycopy_360',['SetBinaryCopy',['../classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78',1,'KuduPartialRow::SetBinaryCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35',1,'KuduPartialRow::SetBinaryCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['setbinarynocopy_361',['SetBinaryNoCopy',['../classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f',1,'KuduPartialRow::SetBinaryNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793',1,'KuduPartialRow::SetBinaryNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['setbool_362',['SetBool',['../classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d',1,'KuduPartialRow::SetBool(const Slice &amp;col_name, bool val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8500986269930b88336c36bc50328768',1,'KuduPartialRow::SetBool(int col_idx, bool val) WARN_UNUSED_RESULT']]],
-  ['setbuildtimeout_363',['SetBuildTimeout',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14',1,'kudu::client::KuduPartitionerBuilder']]],
-  ['setcacheblocks_364',['SetCacheBlocks',['../classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310',1,'kudu::client::KuduScanner::SetCacheBlocks()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475',1,'kudu::client::KuduScanTokenBuilder::SetCacheBlocks()']]],
-  ['setdate_365',['SetDate',['../classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a',1,'KuduPartialRow::SetDate(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4',1,'KuduPartialRow::SetDate(const Slice &amp;col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT']]],
-  ['setdouble_366',['SetDouble',['../classKuduPartialRow.html#a7ee7f7a17437d338e58dd6a82431729d',1,'KuduPartialRow::SetDouble(int col_idx, double val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20',1,'KuduPartialRow::SetDouble(const Slice &amp;col_name, double val) WARN_UNUSED_RESULT']]],
-  ['seterrorbufferspace_367',['SetErrorBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5',1,'kudu::client::KuduSession']]],
-  ['setexternalconsistencymode_368',['SetExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca',1,'kudu::client::KuduSession']]],
-  ['setfaulttolerant_369',['SetFaultTolerant',['../classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f',1,'kudu::client::KuduScanner::SetFaultTolerant()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe',1,'kudu::client::KuduScanTokenBuilder::SetFaultTolerant()']]],
-  ['setfloat_370',['SetFloat',['../classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b',1,'KuduPartialRow::SetFloat(const Slice &amp;col_name, float val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad0b76030c919b941997ffd047b12f40e',1,'KuduPartialRow::SetFloat(int col_idx, float val) WARN_UNUSED_RESULT']]],
-  ['setflushmode_371',['SetFlushMode',['../classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f',1,'kudu::client::KuduSession']]],
-  ['setint16_372',['SetInt16',['../classKuduPartialRow.html#adb92cc301cbcc89ef46e9bebbe86c508',1,'KuduPartialRow::SetInt16(int col_idx, int16_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810',1,'KuduPartialRow::SetInt16(const Slice &amp;col_name, int16_t val) WARN_UNUSED_RESULT']]],
-  ['setint32_373',['SetInt32',['../classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad',1,'KuduPartialRow::SetInt32(int col_idx, int32_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887',1,'KuduPartialRow::SetInt32(const Slice &amp;col_name, int32_t val) WARN_UNUSED_RESULT']]],
-  ['setint64_374',['SetInt64',['../classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4',1,'KuduPartialRow::SetInt64(const Slice &amp;col_name, int64_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a62224148c353a9eba4e19574a61fe369',1,'KuduPartialRow::SetInt64(int col_idx, int64_t val) WARN_UNUSED_RESULT']]],
-  ['setint8_375',['SetInt8',['../classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f',1,'KuduPartialRow::SetInt8(const Slice &amp;col_name, int8_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af6d10997e70e776eb353ad67abc78d79',1,'KuduPartialRow::SetInt8(int col_idx, int8_t val) WARN_UNUSED_RESULT']]],
-  ['setlatestobservedtimestamp_376',['SetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd',1,'kudu::client::KuduClient']]],
-  ['setlimit_377',['SetLimit',['../classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac',1,'kudu::client::KuduScanner']]],
-  ['setmutationbufferflushinterval_378',['SetMutationBufferFlushInterval',['../classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941',1,'kudu::client::KuduSession']]],
-  ['setmutationbufferflushwatermark_379',['SetMutationBufferFlushWatermark',['../classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf',1,'kudu::client::KuduSession']]],
-  ['setmutationbuffermaxnum_380',['SetMutationBufferMaxNum',['../classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4',1,'kudu::client::KuduSession']]],
-  ['setmutationbufferspace_381',['SetMutationBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf',1,'kudu::client::KuduSession']]],
-  ['setnull_382',['SetNull',['../classKuduPartialRow.html#abeaa8d438650b7796e30e9865bb83d2f',1,'KuduPartialRow::SetNull(int col_idx) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5',1,'KuduPartialRow::SetNull(const Slice &amp;col_name) WARN_UNUSED_RESULT']]],
-  ['setordermode_383',['SetOrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc',1,'kudu::client::KuduScanner']]],
-  ['setowner_384',['SetOwner',['../classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8',1,'kudu::client::KuduTableAlterer']]],
-  ['setprimarykey_385',['SetPrimaryKey',['../classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9',1,'kudu::client::KuduSchemaBuilder']]],
-  ['setprojectedcolumnindexes_386',['SetProjectedColumnIndexes',['../classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d',1,'kudu::client::KuduScanner::SetProjectedColumnIndexes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8',1,'kudu::client::KuduScanTokenBuilder::SetProjectedColumnIndexes()']]],
-  ['setprojectedcolumnnames_387',['SetProjectedColumnNames',['../classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01',1,'kudu::client::KuduScanner::SetProjectedColumnNames()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad',1,'kudu::client::KuduScanTokenBuilder::SetProjectedColumnNames()']]],
-  ['setprojectedcolumns_388',['SetProjectedColumns',['../classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad',1,'kudu::client::KuduScanner']]],
-  ['setreadmode_389',['SetReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e',1,'kudu::client::KuduScanner::SetReadMode()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892',1,'kudu::client::KuduScanTokenBuilder::SetReadMode()']]],
-  ['setrowformatflags_390',['SetRowFormatFlags',['../classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11',1,'kudu::client::KuduScanner']]],
-  ['setselection_391',['SetSelection',['../classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8',1,'kudu::client::KuduScanner::SetSelection()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88',1,'kudu::client::KuduScanTokenBuilder::SetSelection()']]],
-  ['setsnapshotmicros_392',['SetSnapshotMicros',['../classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f',1,'kudu::client::KuduScanner::SetSnapshotMicros()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotMicros()']]],
-  ['setsnapshotraw_393',['SetSnapshotRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae',1,'kudu::client::KuduScanner::SetSnapshotRaw()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotRaw()']]],
-  ['setstring_394',['SetString',['../classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab',1,'KuduPartialRow::SetString(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0e606cb958eab0db1b12289aca255819',1,'KuduPartialRow::SetString(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['setstringcopy_395',['SetStringCopy',['../classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199',1,'KuduPartialRow::SetStringCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9da30ad760f428b2d5f70a1fe4eba827',1,'KuduPartialRow::SetStringCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['setstringnocopy_396',['SetStringNoCopy',['../classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73',1,'KuduPartialRow::SetStringNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd',1,'KuduPartialRow::SetStringNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['settimeoutmillis_397',['SetTimeoutMillis',['../classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79',1,'kudu::client::KuduSession::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6',1,'kudu::client::KuduScanner::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445',1,'kudu::client::KuduScanTokenBuilder::SetTimeoutMillis()']]],
-  ['setunixtimemicros_398',['SetUnixTimeMicros',['../classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a',1,'KuduPartialRow::SetUnixTimeMicros(const Slice &amp;col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536',1,'KuduPartialRow::SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT']]],
-  ['setvarchar_399',['SetVarchar',['../classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c',1,'KuduPartialRow::SetVarchar(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1',1,'KuduPartialRow::SetVarchar(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['setvarcharnocopyunsafe_400',['SetVarcharNoCopyUnsafe',['../classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['shared_5fptr_2eh_401',['shared_ptr.h',['../shared__ptr_8h.html',1,'']]],
-  ['size_402',['size',['../classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433',1,'kudu::Slice']]],
-  ['slice_403',['Slice',['../classkudu_1_1Slice.html',1,'kudu::Slice'],['../classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66',1,'kudu::Slice::Slice()'],['../classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c',1,'kudu::Slice::Slice(const uint8_t *d, size_t n)'],['../classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5',1,'kudu::Slice::Slice(const char *d, size_t n)'],['../classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd',1,'kudu::Slice::Slice(const std::string &amp;s)'],['../classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345',1,'kudu::Slice::Slice(const char *s)']]],
-  ['slicemap_404',['SliceMap',['../structkudu_1_1SliceMap.html',1,'kudu']]],
-  ['split_5frows_405',['split_rows',['../classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9',1,'kudu::client::KuduTableCreator']]],
-  ['starts_5fwith_406',['starts_with',['../classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d',1,'kudu::Slice']]],
-  ['status_407',['Status',['../classkudu_1_1Status.html',1,'kudu::Status'],['../classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0',1,'kudu::Status::Status()'],['../classkudu_1_1Status.html#affca5639a3341212bb23ae7f5c701803',1,'kudu::Status::Status(const Status &amp;s)']]],
-  ['status_408',['status',['../classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7',1,'kudu::client::KuduError']]],
-  ['status_2eh_409',['status.h',['../status_8h.html',1,'']]],
-  ['stringtocompressiontype_410',['StringToCompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af',1,'kudu::client::KuduColumnStorageAttributes']]],
-  ['stringtodatatype_411',['StringToDataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8',1,'kudu::client::KuduColumnSchema']]],
-  ['stringtoencodingtype_412',['StringToEncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db',1,'kudu::client::KuduColumnStorageAttributes']]]
+  ['sasl_5fprotocol_5fname_346',['sasl_protocol_name',['../classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de',1,'kudu::client::KuduClientBuilder']]],
+  ['scale_347',['Scale',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777',1,'kudu::client::KuduColumnSpec']]],
+  ['scale_348',['scale',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567',1,'kudu::client::KuduColumnTypeAttributes']]],
+  ['schema_349',['schema',['../classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8',1,'KuduPartialRow::schema()'],['../classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c',1,'kudu::client::KuduTable::schema()'],['../classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7',1,'kudu::client::KuduTableCreator::schema()']]],
+  ['serializationoptions_350',['SerializationOptions',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html',1,'kudu::client::KuduTransaction']]],
+  ['serialize_351',['Serialize',['../classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5',1,'kudu::client::KuduTransaction::Serialize()'],['../classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008',1,'kudu::client::KuduScanToken::Serialize()']]],
+  ['serviceunavailable_352',['ServiceUnavailable',['../classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568',1,'kudu::Status']]],
+  ['set_5fcomment_353',['set_comment',['../classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f',1,'kudu::client::KuduTableCreator']]],
+  ['set_5fowner_354',['set_owner',['../classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007',1,'kudu::client::KuduTableCreator']]],
+  ['set_5frange_5fpartition_5fcolumns_355',['set_range_partition_columns',['../classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3',1,'kudu::client::KuduTableCreator']]],
+  ['setbatchsizebytes_356',['SetBatchSizeBytes',['../classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c',1,'kudu::client::KuduScanner::SetBatchSizeBytes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c',1,'kudu::client::KuduScanTokenBuilder::SetBatchSizeBytes()']]],
+  ['setbinary_357',['SetBinary',['../classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3',1,'KuduPartialRow::SetBinary(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c',1,'KuduPartialRow::SetBinary(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setbinarycopy_358',['SetBinaryCopy',['../classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78',1,'KuduPartialRow::SetBinaryCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35',1,'KuduPartialRow::SetBinaryCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setbinarynocopy_359',['SetBinaryNoCopy',['../classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f',1,'KuduPartialRow::SetBinaryNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793',1,'KuduPartialRow::SetBinaryNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setbool_360',['SetBool',['../classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d',1,'KuduPartialRow::SetBool(const Slice &amp;col_name, bool val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8500986269930b88336c36bc50328768',1,'KuduPartialRow::SetBool(int col_idx, bool val) WARN_UNUSED_RESULT']]],
+  ['setbuildtimeout_361',['SetBuildTimeout',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14',1,'kudu::client::KuduPartitionerBuilder']]],
+  ['setcacheblocks_362',['SetCacheBlocks',['../classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310',1,'kudu::client::KuduScanner::SetCacheBlocks()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475',1,'kudu::client::KuduScanTokenBuilder::SetCacheBlocks()']]],
+  ['setcomment_363',['SetComment',['../classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6',1,'kudu::client::KuduTableAlterer']]],
+  ['setdate_364',['SetDate',['../classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a',1,'KuduPartialRow::SetDate(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4',1,'KuduPartialRow::SetDate(const Slice &amp;col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT']]],
+  ['setdouble_365',['SetDouble',['../classKuduPartialRow.html#a7ee7f7a17437d338e58dd6a82431729d',1,'KuduPartialRow::SetDouble(int col_idx, double val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20',1,'KuduPartialRow::SetDouble(const Slice &amp;col_name, double val) WARN_UNUSED_RESULT']]],
+  ['seterrorbufferspace_366',['SetErrorBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5',1,'kudu::client::KuduSession']]],
+  ['setexternalconsistencymode_367',['SetExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca',1,'kudu::client::KuduSession']]],
+  ['setfaulttolerant_368',['SetFaultTolerant',['../classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f',1,'kudu::client::KuduScanner::SetFaultTolerant()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe',1,'kudu::client::KuduScanTokenBuilder::SetFaultTolerant()']]],
+  ['setfloat_369',['SetFloat',['../classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b',1,'KuduPartialRow::SetFloat(const Slice &amp;col_name, float val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad0b76030c919b941997ffd047b12f40e',1,'KuduPartialRow::SetFloat(int col_idx, float val) WARN_UNUSED_RESULT']]],
+  ['setflushmode_370',['SetFlushMode',['../classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f',1,'kudu::client::KuduSession']]],
+  ['setint16_371',['SetInt16',['../classKuduPartialRow.html#adb92cc301cbcc89ef46e9bebbe86c508',1,'KuduPartialRow::SetInt16(int col_idx, int16_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810',1,'KuduPartialRow::SetInt16(const Slice &amp;col_name, int16_t val) WARN_UNUSED_RESULT']]],
+  ['setint32_372',['SetInt32',['../classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887',1,'KuduPartialRow::SetInt32(const Slice &amp;col_name, int32_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad',1,'KuduPartialRow::SetInt32(int col_idx, int32_t val) WARN_UNUSED_RESULT']]],
+  ['setint64_373',['SetInt64',['../classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4',1,'KuduPartialRow::SetInt64(const Slice &amp;col_name, int64_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a62224148c353a9eba4e19574a61fe369',1,'KuduPartialRow::SetInt64(int col_idx, int64_t val) WARN_UNUSED_RESULT']]],
+  ['setint8_374',['SetInt8',['../classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f',1,'KuduPartialRow::SetInt8(const Slice &amp;col_name, int8_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af6d10997e70e776eb353ad67abc78d79',1,'KuduPartialRow::SetInt8(int col_idx, int8_t val) WARN_UNUSED_RESULT']]],
+  ['setlatestobservedtimestamp_375',['SetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd',1,'kudu::client::KuduClient']]],
+  ['setlimit_376',['SetLimit',['../classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac',1,'kudu::client::KuduScanner']]],
+  ['setmutationbufferflushinterval_377',['SetMutationBufferFlushInterval',['../classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941',1,'kudu::client::KuduSession']]],
+  ['setmutationbufferflushwatermark_378',['SetMutationBufferFlushWatermark',['../classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf',1,'kudu::client::KuduSession']]],
+  ['setmutationbuffermaxnum_379',['SetMutationBufferMaxNum',['../classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4',1,'kudu::client::KuduSession']]],
+  ['setmutationbufferspace_380',['SetMutationBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf',1,'kudu::client::KuduSession']]],
+  ['setnull_381',['SetNull',['../classKuduPartialRow.html#abeaa8d438650b7796e30e9865bb83d2f',1,'KuduPartialRow::SetNull(int col_idx) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5',1,'KuduPartialRow::SetNull(const Slice &amp;col_name) WARN_UNUSED_RESULT']]],
+  ['setordermode_382',['SetOrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc',1,'kudu::client::KuduScanner']]],
+  ['setowner_383',['SetOwner',['../classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8',1,'kudu::client::KuduTableAlterer']]],
+  ['setprimarykey_384',['SetPrimaryKey',['../classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9',1,'kudu::client::KuduSchemaBuilder']]],
+  ['setprojectedcolumnindexes_385',['SetProjectedColumnIndexes',['../classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d',1,'kudu::client::KuduScanner::SetProjectedColumnIndexes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8',1,'kudu::client::KuduScanTokenBuilder::SetProjectedColumnIndexes()']]],
+  ['setprojectedcolumnnames_386',['SetProjectedColumnNames',['../classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01',1,'kudu::client::KuduScanner::SetProjectedColumnNames()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad',1,'kudu::client::KuduScanTokenBuilder::SetProjectedColumnNames()']]],
+  ['setprojectedcolumns_387',['SetProjectedColumns',['../classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad',1,'kudu::client::KuduScanner']]],
+  ['setreadmode_388',['SetReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e',1,'kudu::client::KuduScanner::SetReadMode()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892',1,'kudu::client::KuduScanTokenBuilder::SetReadMode()']]],
+  ['setrowformatflags_389',['SetRowFormatFlags',['../classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11',1,'kudu::client::KuduScanner']]],
+  ['setselection_390',['SetSelection',['../classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8',1,'kudu::client::KuduScanner::SetSelection()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88',1,'kudu::client::KuduScanTokenBuilder::SetSelection()']]],
+  ['setsnapshotmicros_391',['SetSnapshotMicros',['../classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f',1,'kudu::client::KuduScanner::SetSnapshotMicros()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotMicros()']]],
+  ['setsnapshotraw_392',['SetSnapshotRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae',1,'kudu::client::KuduScanner::SetSnapshotRaw()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotRaw()']]],
+  ['setstring_393',['SetString',['../classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab',1,'KuduPartialRow::SetString(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0e606cb958eab0db1b12289aca255819',1,'KuduPartialRow::SetString(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setstringcopy_394',['SetStringCopy',['../classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199',1,'KuduPartialRow::SetStringCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9da30ad760f428b2d5f70a1fe4eba827',1,'KuduPartialRow::SetStringCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setstringnocopy_395',['SetStringNoCopy',['../classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73',1,'KuduPartialRow::SetStringNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd',1,'KuduPartialRow::SetStringNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['settabledisksizelimit_396',['SetTableDiskSizeLimit',['../classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27',1,'kudu::client::KuduTableAlterer']]],
+  ['settablerowcountlimit_397',['SetTableRowCountLimit',['../classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe',1,'kudu::client::KuduTableAlterer']]],
+  ['settimeoutmillis_398',['SetTimeoutMillis',['../classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79',1,'kudu::client::KuduSession::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6',1,'kudu::client::KuduScanner::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445',1,'kudu::client::KuduScanTokenBuilder::SetTimeoutMillis()']]],
+  ['setunixtimemicros_399',['SetUnixTimeMicros',['../classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a',1,'KuduPartialRow::SetUnixTimeMicros(const Slice &amp;col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536',1,'KuduPartialRow::SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT']]],
+  ['setvarchar_400',['SetVarchar',['../classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c',1,'KuduPartialRow::SetVarchar(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1',1,'KuduPartialRow::SetVarchar(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setvarcharnocopyunsafe_401',['SetVarcharNoCopyUnsafe',['../classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['shared_5fptr_2eh_402',['shared_ptr.h',['../shared__ptr_8h.html',1,'']]],
+  ['size_403',['size',['../classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433',1,'kudu::Slice']]],
+  ['slice_404',['Slice',['../classkudu_1_1Slice.html',1,'kudu::Slice'],['../classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66',1,'kudu::Slice::Slice()'],['../classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c',1,'kudu::Slice::Slice(const uint8_t *d, size_t n)'],['../classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5',1,'kudu::Slice::Slice(const char *d, size_t n)'],['../classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd',1,'kudu::Slice::Slice(const std::string &amp;s)'],['../classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345',1,'kudu::Slice::Slice(const char *s)']]],
+  ['slicemap_405',['SliceMap',['../structkudu_1_1SliceMap.html',1,'kudu']]],
+  ['split_5frows_406',['split_rows',['../classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9',1,'kudu::client::KuduTableCreator']]],
+  ['startcommit_407',['StartCommit',['../classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce',1,'kudu::client::KuduTransaction']]],
+  ['starts_5fwith_408',['starts_with',['../classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d',1,'kudu::Slice']]],
+  ['status_409',['Status',['../classkudu_1_1Status.html',1,'kudu::Status'],['../classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0',1,'kudu::Status::Status()'],['../classkudu_1_1Status.html#affca5639a3341212bb23ae7f5c701803',1,'kudu::Status::Status(const Status &amp;s)']]],
+  ['status_410',['status',['../classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7',1,'kudu::client::KuduError']]],
+  ['status_2eh_411',['status.h',['../status_8h.html',1,'']]],
+  ['stringtocompressiontype_412',['StringToCompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['stringtodatatype_413',['StringToDataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8',1,'kudu::client::KuduColumnSchema']]],
+  ['stringtoencodingtype_414',['StringToEncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db',1,'kudu::client::KuduColumnStorageAttributes']]]
 ];
diff --git a/cpp-client-api/search/all_11.js b/cpp-client-api/search/all_11.js
index 634abff..5f41bf4 100644
--- a/cpp-client-api/search/all_11.js
+++ b/cpp-client-api/search/all_11.js
@@ -1,24 +1,23 @@
 var searchData=
 [
-  ['table_5fname_413',['table_name',['../classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93',1,'kudu::client::KuduTableCreator']]],
-  ['tableexists_414',['TableExists',['../classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818',1,'kudu::client::KuduClient']]],
-  ['tablet_415',['tablet',['../classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96',1,'kudu::client::KuduScanToken']]],
-  ['timedout_416',['TimedOut',['../classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe',1,'kudu::Status']]],
-  ['timeout_417',['timeout',['../classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235',1,'kudu::client::KuduTableCreator::timeout()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1',1,'kudu::client::KuduTableAlterer::timeout()']]],
-  ['timestamp_418',['TIMESTAMP',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505',1,'kudu::client::KuduColumnSchema']]],
-  ['todebugstring_419',['ToDebugString',['../classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7',1,'kudu::Slice']]],
-  ['todo_20list_420',['Todo List',['../todo.html',1,'']]],
-  ['toencodedrowkeyordie_421',['ToEncodedRowKeyOrDie',['../classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469',1,'KuduPartialRow']]],
-  ['tomicroseconds_422',['ToMicroseconds',['../classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491',1,'kudu::MonoDelta']]],
-  ['tomilliseconds_423',['ToMilliseconds',['../classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591',1,'kudu::MonoDelta']]],
-  ['tonanoseconds_424',['ToNanoseconds',['../classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c',1,'kudu::MonoDelta']]],
-  ['toseconds_425',['ToSeconds',['../classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c',1,'kudu::MonoDelta']]],
-  ['tostring_426',['ToString',['../classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70',1,'KuduPartialRow::ToString()'],['../classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99',1,'kudu::Status::ToString()'],['../classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03',1,'kudu::Slice::ToString()'],['../classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c',1,'kudu::MonoDelta::ToString()'],['../classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763',1,'kudu::client::KuduDeleteIgnore::ToString()'],['../classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0',1,'kudu::client::KuduDelete::ToString()'],['../classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261',1,'kudu::client::KuduUpdateIgnore::ToString()'],['../classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718',1,'kudu::client::KuduUpdate::ToString()'],['../classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83',1,'kudu::client::KuduInsertIgnore::ToString()'],['../classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff',1,'kudu::client::KuduTableStatistics::ToString()'],['../classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae',1,'kudu::client::KuduScanner::ToString()'],['../classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3',1,'kudu::client::KuduScanBatch::ToString()'],['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11',1,'kudu::client::KuduColumnStorageAttributes::ToString()'],['../classkudu_1_1client_1_1KuduSchema.html#ab8386c4ceb1895ebf808096da3f9c614',1,'kudu::client::KuduSchema::ToString()'],['../classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19',1,'kudu::client::KuduWriteOperation::ToString()'],['../classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240',1,'kudu::client::KuduInsert::ToString()'],['../classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8',1,'kudu::client::KuduUpsert::ToString()']]],
-  ['totimespec_427',['ToTimeSpec',['../classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862',1,'kudu::MonoDelta']]],
-  ['totimeval_428',['ToTimeVal',['../classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e',1,'kudu::MonoDelta']]],
-  ['truncate_429',['truncate',['../classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44',1,'kudu::Slice']]],
-  ['ts_430',['ts',['../classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627',1,'kudu::client::KuduReplica']]],
-  ['type_431',['Type',['../classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357',1,'kudu::client::KuduWriteOperation::Type()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2',1,'kudu::client::KuduColumnSpec::Type()']]],
-  ['type_432',['type',['../structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6',1,'kudu::SliceMap::type()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29',1,'kudu::client::KuduColumnSchema::type() const']]],
-  ['type_5fattributes_433',['type_attributes',['../classkudu_1_1client_1_1KuduColumnSchema.html#a328c76411dd00f5f6a7ee063ce90c65e',1,'kudu::client::KuduColumnSchema']]]
+  ['table_5fname_415',['table_name',['../classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93',1,'kudu::client::KuduTableCreator']]],
+  ['tableexists_416',['TableExists',['../classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818',1,'kudu::client::KuduClient']]],
+  ['tablet_417',['tablet',['../classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96',1,'kudu::client::KuduScanToken']]],
+  ['timedout_418',['TimedOut',['../classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe',1,'kudu::Status']]],
+  ['timeout_419',['timeout',['../classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235',1,'kudu::client::KuduTableCreator::timeout()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1',1,'kudu::client::KuduTableAlterer::timeout()']]],
+  ['timestamp_420',['TIMESTAMP',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505',1,'kudu::client::KuduColumnSchema']]],
+  ['todebugstring_421',['ToDebugString',['../classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7',1,'kudu::Slice']]],
+  ['todo_20list_422',['Todo List',['../todo.html',1,'']]],
+  ['toencodedrowkeyordie_423',['ToEncodedRowKeyOrDie',['../classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469',1,'KuduPartialRow']]],
+  ['tomicroseconds_424',['ToMicroseconds',['../classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491',1,'kudu::MonoDelta']]],
+  ['tomilliseconds_425',['ToMilliseconds',['../classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591',1,'kudu::MonoDelta']]],
+  ['tonanoseconds_426',['ToNanoseconds',['../classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c',1,'kudu::MonoDelta']]],
+  ['toseconds_427',['ToSeconds',['../classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c',1,'kudu::MonoDelta']]],
+  ['tostring_428',['ToString',['../classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763',1,'kudu::client::KuduDeleteIgnore::ToString()'],['../classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99',1,'kudu::Status::ToString()'],['../classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03',1,'kudu::Slice::ToString()'],['../classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c',1,'kudu::MonoDelta::ToString()'],['../classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70',1,'KuduPartialRow::ToString()'],['../classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0',1,'kudu::client::KuduDelete::ToString()'],['../classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261',1,'kudu::client::KuduUpdateIgnore::ToString()'],['../classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718',1,'kudu::client::KuduUpdate::ToString()'],['../classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8',1,'kudu::client::KuduUpsert::ToString()'],['../classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83',1,'kudu::client::KuduInsertIgnore::ToString()'],['../classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240',1,'kudu::client::KuduInsert::ToString()'],['../classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19',1,'kudu::client::KuduWriteOperation::ToString()'],['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11',1,'kudu::client::KuduColumnStorageAttributes::ToString()'],['../classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3',1,'kudu::client::KuduScanBatch::ToString()'],['../classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae',1,'kudu::client::KuduScanner::ToString()'],['../classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff',1,'kudu::client::KuduTableStatistics::ToString()']]],
+  ['totimespec_429',['ToTimeSpec',['../classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862',1,'kudu::MonoDelta']]],
+  ['totimeval_430',['ToTimeVal',['../classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e',1,'kudu::MonoDelta']]],
+  ['truncate_431',['truncate',['../classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44',1,'kudu::Slice']]],
+  ['ts_432',['ts',['../classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627',1,'kudu::client::KuduReplica']]],
+  ['type_433',['type',['../structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6',1,'kudu::SliceMap']]],
+  ['type_434',['Type',['../classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357',1,'kudu::client::KuduWriteOperation::Type()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2',1,'kudu::client::KuduColumnSpec::Type()']]]
 ];
diff --git a/cpp-client-api/search/all_12.js b/cpp-client-api/search/all_12.js
index 43c8941..736025c 100644
--- a/cpp-client-api/search/all_12.js
+++ b/cpp-client-api/search/all_12.js
@@ -1,7 +1,7 @@
 var searchData=
 [
-  ['uninitialized_434',['Uninitialized',['../classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15',1,'kudu::Status']]],
-  ['unordered_435',['UNORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3',1,'kudu::client::KuduScanner']]],
-  ['unset_436',['Unset',['../classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23',1,'KuduPartialRow::Unset(const Slice &amp;col_name) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394',1,'KuduPartialRow::Unset(int col_idx) WARN_UNUSED_RESULT']]],
-  ['uuid_437',['uuid',['../classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc',1,'kudu::client::KuduTabletServer']]]
+  ['uninitialized_435',['Uninitialized',['../classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15',1,'kudu::Status']]],
+  ['unordered_436',['UNORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3',1,'kudu::client::KuduScanner']]],
+  ['unset_437',['Unset',['../classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23',1,'KuduPartialRow::Unset(const Slice &amp;col_name) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394',1,'KuduPartialRow::Unset(int col_idx) WARN_UNUSED_RESULT']]],
+  ['uuid_438',['uuid',['../classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc',1,'kudu::client::KuduTabletServer']]]
 ];
diff --git a/cpp-client-api/search/all_13.js b/cpp-client-api/search/all_13.js
index d1a31cb..82bd879 100644
--- a/cpp-client-api/search/all_13.js
+++ b/cpp-client-api/search/all_13.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['value_5ftype_438',['value_type',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467',1,'kudu::client::KuduScanBatch']]]
+  ['value_5ftype_439',['value_type',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467',1,'kudu::client::KuduScanBatch']]]
 ];
diff --git a/cpp-client-api/search/all_14.js b/cpp-client-api/search/all_14.js
index 29396c1..fd90a5c 100644
--- a/cpp-client-api/search/all_14.js
+++ b/cpp-client-api/search/all_14.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['wait_439',['wait',['../classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9',1,'kudu::client::KuduTableCreator::wait()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646',1,'kudu::client::KuduTableAlterer::wait()']]],
-  ['was_5fpossibly_5fsuccessful_440',['was_possibly_successful',['../classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4',1,'kudu::client::KuduError']]]
+  ['wait_440',['wait',['../classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9',1,'kudu::client::KuduTableCreator::wait()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646',1,'kudu::client::KuduTableAlterer::wait()']]],
+  ['was_5fpossibly_5fsuccessful_441',['was_possibly_successful',['../classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4',1,'kudu::client::KuduError']]]
 ];
diff --git a/cpp-client-api/search/all_2.js b/cpp-client-api/search/all_2.js
index 42dbab9..e3633a8 100644
--- a/cpp-client-api/search/all_2.js
+++ b/cpp-client-api/search/all_2.js
@@ -7,31 +7,30 @@
   ['clear_5fmaster_5fserver_5faddrs_33',['clear_master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1',1,'kudu::client::KuduClientBuilder']]],
   ['client_34',['client',['../classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf',1,'kudu::client::KuduTable::client()'],['../classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1',1,'kudu::client::KuduSession::client() const']]],
   ['client_5fpropagated_35',['CLIENT_PROPAGATED',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c',1,'kudu::client::KuduSession']]],
-  ['clone_36',['Clone',['../classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670',1,'kudu::client::KuduPredicate::Clone()'],['../classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569',1,'kudu::client::KuduValue::Clone()']]],
+  ['clone_36',['Clone',['../classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569',1,'kudu::client::KuduValue::Clone()'],['../classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670',1,'kudu::client::KuduPredicate::Clone()']]],
   ['cloneandappend_37',['CloneAndAppend',['../classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7',1,'kudu::Status']]],
   ['cloneandprepend_38',['CloneAndPrepend',['../classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de',1,'kudu::Status']]],
   ['close_39',['Close',['../classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436',1,'kudu::client::KuduSession::Close()'],['../classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874',1,'kudu::client::KuduScanner::Close()']]],
   ['closest_5freplica_40',['CLOSEST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8',1,'kudu::client::KuduClient']]],
   ['codeasstring_41',['CodeAsString',['../classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5',1,'kudu::Status']]],
-  ['column_42',['Column',['../classkudu_1_1client_1_1KuduSchema.html#ac918de6adc1a15ad27e218664f308980',1,'kudu::client::KuduSchema']]],
-  ['columnar_5flayout_43',['COLUMNAR_LAYOUT',['../classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10',1,'kudu::client::KuduScanner']]],
-  ['comment_44',['comment',['../classkudu_1_1client_1_1KuduColumnSchema.html#a04b9d65ed5d347bf3cffa5419a756c9f',1,'kudu::client::KuduColumnSchema']]],
-  ['comment_45',['Comment',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6',1,'kudu::client::KuduColumnSpec']]],
-  ['commit_46',['Commit',['../classkudu_1_1client_1_1KuduTransaction.html#a408faa78430a38314881ae51450893c2',1,'kudu::client::KuduTransaction']]],
-  ['commit_5fwait_47',['COMMIT_WAIT',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9',1,'kudu::client::KuduSession']]],
-  ['comparator_48',['Comparator',['../structkudu_1_1Slice_1_1Comparator.html',1,'kudu::Slice']]],
-  ['compare_49',['compare',['../classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2',1,'kudu::Slice']]],
-  ['comparisonop_50',['ComparisonOp',['../classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4',1,'kudu::client::KuduPredicate']]],
-  ['compression_51',['Compression',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b',1,'kudu::client::KuduColumnSpec']]],
-  ['compression_52',['compression',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554',1,'kudu::client::KuduColumnStorageAttributes']]],
-  ['compressiontype_53',['CompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78',1,'kudu::client::KuduColumnStorageAttributes']]],
-  ['configurationerror_54',['ConfigurationError',['../classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801',1,'kudu::Status']]],
-  ['connection_5fnegotiation_5ftimeout_55',['connection_negotiation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f',1,'kudu::client::KuduClientBuilder::connection_negotiation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac',1,'kudu::client::KuduClient::connection_negotiation_timeout()']]],
-  ['copyfrom_56',['CopyFrom',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c',1,'kudu::client::KuduColumnTypeAttributes::CopyFrom()'],['../classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555',1,'kudu::client::KuduSchema::CopyFrom()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0',1,'kudu::client::KuduColumnSchema::CopyFrom()']]],
-  ['copystring_57',['CopyString',['../classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe',1,'kudu::client::KuduValue']]],
-  ['corruption_58',['Corruption',['../classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee',1,'kudu::Status']]],
-  ['countbufferedoperations_59',['CountBufferedOperations',['../classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112',1,'kudu::client::KuduSession']]],
-  ['countpendingerrors_60',['CountPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913',1,'kudu::client::KuduSession']]],
-  ['create_61',['Create',['../classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc',1,'kudu::client::KuduTableCreator']]],
-  ['createsession_62',['CreateSession',['../classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a',1,'kudu::client::KuduTransaction']]]
+  ['columnar_5flayout_42',['COLUMNAR_LAYOUT',['../classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10',1,'kudu::client::KuduScanner']]],
+  ['comment_43',['comment',['../classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b',1,'kudu::client::KuduTable']]],
+  ['comment_44',['Comment',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6',1,'kudu::client::KuduColumnSpec']]],
+  ['commit_45',['Commit',['../classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495',1,'kudu::client::KuduTransaction']]],
+  ['commit_5fwait_46',['COMMIT_WAIT',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9',1,'kudu::client::KuduSession']]],
+  ['comparator_47',['Comparator',['../structkudu_1_1Slice_1_1Comparator.html',1,'kudu::Slice']]],
+  ['compare_48',['compare',['../classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2',1,'kudu::Slice']]],
+  ['comparisonop_49',['ComparisonOp',['../classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4',1,'kudu::client::KuduPredicate']]],
+  ['compression_50',['Compression',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b',1,'kudu::client::KuduColumnSpec']]],
+  ['compression_51',['compression',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['compressiontype_52',['CompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['configurationerror_53',['ConfigurationError',['../classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801',1,'kudu::Status']]],
+  ['connection_5fnegotiation_5ftimeout_54',['connection_negotiation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f',1,'kudu::client::KuduClientBuilder::connection_negotiation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac',1,'kudu::client::KuduClient::connection_negotiation_timeout()']]],
+  ['copyfrom_55',['CopyFrom',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c',1,'kudu::client::KuduColumnTypeAttributes::CopyFrom()'],['../classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555',1,'kudu::client::KuduSchema::CopyFrom()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0',1,'kudu::client::KuduColumnSchema::CopyFrom()']]],
+  ['copystring_56',['CopyString',['../classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe',1,'kudu::client::KuduValue']]],
+  ['corruption_57',['Corruption',['../classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee',1,'kudu::Status']]],
+  ['countbufferedoperations_58',['CountBufferedOperations',['../classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112',1,'kudu::client::KuduSession']]],
+  ['countpendingerrors_59',['CountPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913',1,'kudu::client::KuduSession']]],
+  ['create_60',['Create',['../classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc',1,'kudu::client::KuduTableCreator']]],
+  ['createsession_61',['CreateSession',['../classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a',1,'kudu::client::KuduTransaction']]]
 ];
diff --git a/cpp-client-api/search/all_3.js b/cpp-client-api/search/all_3.js
index 4ff84c9..88bfd0d 100644
--- a/cpp-client-api/search/all_3.js
+++ b/cpp-client-api/search/all_3.js
@@ -1,18 +1,18 @@
 var searchData=
 [
+  ['data_62',['data',['../classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d',1,'kudu::Slice']]],
   ['data_63',['Data',['../classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0',1,'kudu::client::KuduPredicate']]],
-  ['data_64',['data',['../classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d',1,'kudu::Slice']]],
-  ['datatype_65',['DataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5',1,'kudu::client::KuduColumnSchema']]],
-  ['datatypetostring_66',['DataTypeToString',['../classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c',1,'kudu::client::KuduColumnSchema']]],
-  ['default_67',['Default',['../classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7',1,'kudu::client::KuduColumnSpec']]],
-  ['default_5fadmin_5foperation_5ftimeout_68',['default_admin_operation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752',1,'kudu::client::KuduClientBuilder::default_admin_operation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838',1,'kudu::client::KuduClient::default_admin_operation_timeout() const']]],
-  ['default_5frpc_5ftimeout_69',['default_rpc_timeout',['../classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49',1,'kudu::client::KuduClient::default_rpc_timeout()'],['../classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df',1,'kudu::client::KuduClientBuilder::default_rpc_timeout()']]],
-  ['deletetable_70',['DeleteTable',['../classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d',1,'kudu::client::KuduClient']]],
-  ['deprecated_20list_71',['Deprecated List',['../deprecated.html',1,'']]],
-  ['deserialize_72',['Deserialize',['../classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52',1,'kudu::client::KuduTransaction']]],
-  ['deserializeintoscanner_73',['DeserializeIntoScanner',['../classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867',1,'kudu::client::KuduScanToken']]],
-  ['dimension_5flabel_74',['dimension_label',['../classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658',1,'kudu::client::KuduTableCreator']]],
-  ['direct_5fdata_75',['direct_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992',1,'kudu::client::KuduScanBatch']]],
-  ['dropcolumn_76',['DropColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7',1,'kudu::client::KuduTableAlterer']]],
-  ['droprangepartition_77',['DropRangePartition',['../classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7',1,'kudu::client::KuduTableAlterer']]]
+  ['datatype_64',['DataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5',1,'kudu::client::KuduColumnSchema']]],
+  ['datatypetostring_65',['DataTypeToString',['../classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c',1,'kudu::client::KuduColumnSchema']]],
+  ['default_66',['Default',['../classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7',1,'kudu::client::KuduColumnSpec']]],
+  ['default_5fadmin_5foperation_5ftimeout_67',['default_admin_operation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752',1,'kudu::client::KuduClientBuilder::default_admin_operation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838',1,'kudu::client::KuduClient::default_admin_operation_timeout() const']]],
+  ['default_5frpc_5ftimeout_68',['default_rpc_timeout',['../classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49',1,'kudu::client::KuduClient::default_rpc_timeout()'],['../classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df',1,'kudu::client::KuduClientBuilder::default_rpc_timeout()']]],
+  ['deletetable_69',['DeleteTable',['../classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d',1,'kudu::client::KuduClient']]],
+  ['deprecated_20list_70',['Deprecated List',['../deprecated.html',1,'']]],
+  ['deserialize_71',['Deserialize',['../classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52',1,'kudu::client::KuduTransaction']]],
+  ['deserializeintoscanner_72',['DeserializeIntoScanner',['../classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867',1,'kudu::client::KuduScanToken']]],
+  ['dimension_5flabel_73',['dimension_label',['../classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658',1,'kudu::client::KuduTableCreator']]],
+  ['direct_5fdata_74',['direct_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992',1,'kudu::client::KuduScanBatch']]],
+  ['dropcolumn_75',['DropColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7',1,'kudu::client::KuduTableAlterer']]],
+  ['droprangepartition_76',['DropRangePartition',['../classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7',1,'kudu::client::KuduTableAlterer']]]
 ];
diff --git a/cpp-client-api/search/all_4.js b/cpp-client-api/search/all_4.js
index 8cc5343..5087b7c 100644
--- a/cpp-client-api/search/all_4.js
+++ b/cpp-client-api/search/all_4.js
@@ -1,16 +1,16 @@
 var searchData=
 [
-  ['empty_78',['empty',['../classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523',1,'kudu::Slice']]],
-  ['enable_5fkeepalive_79',['enable_keepalive',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df',1,'kudu::client::KuduTransaction::SerializationOptions']]],
-  ['encoderowkey_80',['EncodeRowKey',['../classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2',1,'KuduPartialRow']]],
-  ['encoding_81',['encoding',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b',1,'kudu::client::KuduColumnStorageAttributes']]],
-  ['encoding_82',['Encoding',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97',1,'kudu::client::KuduColumnSpec']]],
-  ['encodingtype_83',['EncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d',1,'kudu::client::KuduColumnStorageAttributes']]],
-  ['end_84',['end',['../classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c',1,'kudu::client::KuduScanBatch']]],
-  ['endoffile_85',['EndOfFile',['../classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b',1,'kudu::Status']]],
-  ['equals_86',['Equals',['../classkudu_1_1client_1_1KuduColumnSchema.html#aaf2cdb1424600e420601b68b8dd05c3a',1,'kudu::client::KuduColumnSchema::Equals()'],['../classkudu_1_1client_1_1KuduSchema.html#a3db3761d3df18e12e45e3573bc182f47',1,'kudu::client::KuduSchema::Equals()'],['../classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc',1,'kudu::MonoDelta::Equals()']]],
-  ['exclusive_5fbound_87',['EXCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601',1,'kudu::client::KuduTableCreator']]],
-  ['exportauthenticationcredentials_88',['ExportAuthenticationCredentials',['../classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0',1,'kudu::client::KuduClient']]],
-  ['externalconsistencymode_89',['ExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22',1,'kudu::client::KuduSession']]],
-  ['extra_5fconfigs_90',['extra_configs',['../classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd',1,'kudu::client::KuduTableCreator::extra_configs()'],['../classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec',1,'kudu::client::KuduTable::extra_configs()']]]
+  ['empty_77',['empty',['../classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523',1,'kudu::Slice']]],
+  ['enable_5fkeepalive_78',['enable_keepalive',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df',1,'kudu::client::KuduTransaction::SerializationOptions']]],
+  ['encoderowkey_79',['EncodeRowKey',['../classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2',1,'KuduPartialRow']]],
+  ['encoding_80',['encoding',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['encoding_81',['Encoding',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97',1,'kudu::client::KuduColumnSpec']]],
+  ['encodingtype_82',['EncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['end_83',['end',['../classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c',1,'kudu::client::KuduScanBatch']]],
+  ['endoffile_84',['EndOfFile',['../classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b',1,'kudu::Status']]],
+  ['equals_85',['Equals',['../classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc',1,'kudu::MonoDelta']]],
+  ['exclusive_5fbound_86',['EXCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601',1,'kudu::client::KuduTableCreator']]],
+  ['exportauthenticationcredentials_87',['ExportAuthenticationCredentials',['../classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0',1,'kudu::client::KuduClient']]],
+  ['externalconsistencymode_88',['ExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22',1,'kudu::client::KuduSession']]],
+  ['extra_5fconfigs_89',['extra_configs',['../classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd',1,'kudu::client::KuduTableCreator::extra_configs()'],['../classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec',1,'kudu::client::KuduTable::extra_configs()']]]
 ];
diff --git a/cpp-client-api/search/all_5.js b/cpp-client-api/search/all_5.js
index 88fcfc0..32ec76b 100644
--- a/cpp-client-api/search/all_5.js
+++ b/cpp-client-api/search/all_5.js
@@ -1,18 +1,18 @@
 var searchData=
 [
-  ['failed_5fop_91',['failed_op',['../classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea',1,'kudu::client::KuduError']]],
-  ['false_5fpositive_5fprobability_92',['false_positive_probability',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7',1,'kudu::client::KuduBloomFilterBuilder']]],
-  ['first_5freplica_93',['FIRST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f',1,'kudu::client::KuduClient']]],
-  ['flush_94',['Flush',['../classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84',1,'kudu::client::KuduSession']]],
-  ['flushasync_95',['FlushAsync',['../classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731',1,'kudu::client::KuduSession']]],
-  ['flushmode_96',['FlushMode',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19',1,'kudu::client::KuduSession']]],
-  ['frombool_97',['FromBool',['../classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10',1,'kudu::client::KuduValue']]],
-  ['fromdouble_98',['FromDouble',['../classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5',1,'kudu::client::KuduValue']]],
-  ['fromfloat_99',['FromFloat',['../classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a',1,'kudu::client::KuduValue']]],
-  ['fromint_100',['FromInt',['../classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302',1,'kudu::client::KuduValue']]],
-  ['frommicroseconds_101',['FromMicroseconds',['../classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d',1,'kudu::MonoDelta']]],
-  ['frommilliseconds_102',['FromMilliseconds',['../classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a',1,'kudu::MonoDelta']]],
-  ['fromnanoseconds_103',['FromNanoseconds',['../classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819',1,'kudu::MonoDelta']]],
-  ['fromseconds_104',['FromSeconds',['../classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1',1,'kudu::MonoDelta']]],
-  ['functiontype_105',['FunctionType',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d',1,'kudu::client::KuduLoggingFunctionCallback::FunctionType()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910',1,'kudu::client::KuduStatusFunctionCallback::FunctionType()']]]
+  ['failed_5fop_90',['failed_op',['../classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea',1,'kudu::client::KuduError']]],
+  ['false_5fpositive_5fprobability_91',['false_positive_probability',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['first_5freplica_92',['FIRST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f',1,'kudu::client::KuduClient']]],
+  ['flush_93',['Flush',['../classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84',1,'kudu::client::KuduSession']]],
+  ['flushasync_94',['FlushAsync',['../classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731',1,'kudu::client::KuduSession']]],
+  ['flushmode_95',['FlushMode',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19',1,'kudu::client::KuduSession']]],
+  ['frombool_96',['FromBool',['../classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10',1,'kudu::client::KuduValue']]],
+  ['fromdouble_97',['FromDouble',['../classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5',1,'kudu::client::KuduValue']]],
+  ['fromfloat_98',['FromFloat',['../classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a',1,'kudu::client::KuduValue']]],
+  ['fromint_99',['FromInt',['../classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302',1,'kudu::client::KuduValue']]],
+  ['frommicroseconds_100',['FromMicroseconds',['../classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d',1,'kudu::MonoDelta']]],
+  ['frommilliseconds_101',['FromMilliseconds',['../classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a',1,'kudu::MonoDelta']]],
+  ['fromnanoseconds_102',['FromNanoseconds',['../classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819',1,'kudu::MonoDelta']]],
+  ['fromseconds_103',['FromSeconds',['../classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1',1,'kudu::MonoDelta']]],
+  ['functiontype_104',['FunctionType',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d',1,'kudu::client::KuduLoggingFunctionCallback::FunctionType()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910',1,'kudu::client::KuduStatusFunctionCallback::FunctionType()']]]
 ];
diff --git a/cpp-client-api/search/all_6.js b/cpp-client-api/search/all_6.js
index 4ceefa0..ab91530 100644
--- a/cpp-client-api/search/all_6.js
+++ b/cpp-client-api/search/all_6.js
@@ -1,29 +1,28 @@
 var searchData=
 [
-  ['get_106',['Get',['../classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936',1,'kudu::client::ResourceMetrics']]],
-  ['getbinary_107',['GetBinary',['../classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b',1,'kudu::client::KuduScanBatch::GetBinary(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a921dfdeba21588f7a3c2d5e360d3268e',1,'kudu::client::KuduScanBatch::GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e',1,'KuduPartialRow::GetBinary(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1c6b9c1cdf9f80ddeea53117ddc5545d',1,'KuduPartialRow::GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
-  ['getbool_108',['GetBool',['../classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8',1,'kudu::client::KuduScanBatch::GetBool(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1044c3b78e5a6407c2a797005b0e21',1,'kudu::client::KuduScanBatch::GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2',1,'KuduPartialRow::GetBool(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#afd863a5f5a4803a89f6a2db06ba54931',1,'KuduPartialRow::GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT']]],
-  ['getcurrentserver_109',['GetCurrentServer',['../classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10',1,'kudu::client::KuduScanner']]],
-  ['getdate_110',['GetDate',['../classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb',1,'kudu::client::KuduScanBatch::GetDate(const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#afed25c9aadd0c6314aa3dd0acee9da54',1,'kudu::client::KuduScanBatch::GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97',1,'KuduPartialRow::GetDate(const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af0a4c7c7b575a9349195f4f2a8882428',1,'KuduPartialRow::GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT']]],
-  ['getdouble_111',['GetDouble',['../classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd',1,'KuduPartialRow::GetDouble(const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a4b4fae6f8be68e97b0e7145ea55fae9f',1,'KuduPartialRow::GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab2b7fb17cac4571139b2eaca761a99c0',1,'kudu::client::KuduScanBatch::GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0',1,'kudu::client::KuduScanBatch::GetDouble(const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT']]],
-  ['getfixedlengthcolumn_112',['GetFixedLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300',1,'kudu::client::KuduColumnarScanBatch']]],
-  ['getfloat_113',['GetFloat',['../classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3',1,'kudu::client::KuduScanBatch::GetFloat(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ae41dd0f1e2b4bf074ded210382b825bd',1,'kudu::client::KuduScanBatch::GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc',1,'KuduPartialRow::GetFloat(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1a53cf17ad2cd746b7512ae3ecd6131f',1,'KuduPartialRow::GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT']]],
-  ['getint16_114',['GetInt16',['../classkudu_1_1client_1_1KuduScanBatch.html#ab5f35c107dc26165546065189dd53dfa',1,'kudu::client::KuduScanBatch::GetInt16()'],['../classKuduPartialRow.html#a918cb01437d863fa0a35a9a72b7bac1a',1,'KuduPartialRow::GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93',1,'KuduPartialRow::GetInt16(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037',1,'kudu::client::KuduScanBatch::GetInt16(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT']]],
-  ['getint32_115',['GetInt32',['../classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2',1,'kudu::client::KuduScanBatch::GetInt32(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab321b8c245cc1748c3b3ecdf507b08fb',1,'kudu::client::KuduScanBatch::GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9956360f9208549aab03d9284ff80b46',1,'KuduPartialRow::GetInt32(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc',1,'KuduPartialRow::GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT']]],
-  ['getint64_116',['GetInt64',['../classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0',1,'kudu::client::KuduScanBatch::GetInt64()'],['../classKuduPartialRow.html#a9ded00965652dde7d94769f01df01dc9',1,'KuduPartialRow::GetInt64()'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab59039c6f073df0b57ddc16fb8d8c432',1,'kudu::client::KuduScanBatch::GetInt64()'],['../classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc',1,'KuduPartialRow::GetInt64()']]],
-  ['getint8_117',['GetInt8',['../classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b',1,'kudu::client::KuduScanBatch::GetInt8(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a81a30b5b89f6fa106b5d8575c3fb62b9',1,'kudu::client::KuduScanBatch::GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4',1,'KuduPartialRow::GetInt8(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ada872affe8163dfa6420c0f191f9c650',1,'KuduPartialRow::GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT']]],
-  ['getkudutable_118',['GetKuduTable',['../classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a',1,'kudu::client::KuduScanner']]],
-  ['getlatestobservedtimestamp_119',['GetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9',1,'kudu::client::KuduClient']]],
-  ['getmetric_120',['GetMetric',['../classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc',1,'kudu::client::ResourceMetrics']]],
-  ['getnonnullbitmapforcolumn_121',['GetNonNullBitmapForColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312',1,'kudu::client::KuduColumnarScanBatch']]],
-  ['getpendingerrors_122',['GetPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7',1,'kudu::client::KuduSession']]],
-  ['getprimarykeycolumnindexes_123',['GetPrimaryKeyColumnIndexes',['../classkudu_1_1client_1_1KuduSchema.html#a3bf9ce84b09d7ed9fb488433a5f322e9',1,'kudu::client::KuduSchema']]],
-  ['getprojectionschema_124',['GetProjectionSchema',['../classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82',1,'kudu::client::KuduScanner']]],
-  ['getresourcemetrics_125',['GetResourceMetrics',['../classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337',1,'kudu::client::KuduScanner']]],
-  ['getstring_126',['GetString',['../classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7',1,'kudu::client::KuduScanBatch::GetString()'],['../classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd',1,'KuduPartialRow::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee',1,'KuduPartialRow::GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56',1,'kudu::client::KuduScanBatch::GetString()']]],
-  ['gettableschema_127',['GetTableSchema',['../classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65',1,'kudu::client::KuduClient']]],
-  ['getunixtimemicros_128',['GetUnixTimeMicros',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8',1,'KuduPartialRow::GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246',1,'KuduPartialRow::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT']]],
-  ['getvarchar_129',['GetVarchar',['../classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb',1,'kudu::client::KuduScanBatch::GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b',1,'kudu::client::KuduScanBatch::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d',1,'KuduPartialRow::GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b',1,'KuduPartialRow::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
-  ['getvariablelengthcolumn_130',['GetVariableLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1',1,'kudu::client::KuduColumnarScanBatch']]],
-  ['group_5fvarint_131',['GROUP_VARINT',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82',1,'kudu::client::KuduColumnStorageAttributes']]]
+  ['get_105',['Get',['../classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936',1,'kudu::client::ResourceMetrics']]],
+  ['getbinary_106',['GetBinary',['../classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b',1,'kudu::client::KuduScanBatch::GetBinary(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a921dfdeba21588f7a3c2d5e360d3268e',1,'kudu::client::KuduScanBatch::GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e',1,'KuduPartialRow::GetBinary(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1c6b9c1cdf9f80ddeea53117ddc5545d',1,'KuduPartialRow::GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
+  ['getbool_107',['GetBool',['../classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8',1,'kudu::client::KuduScanBatch::GetBool(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1044c3b78e5a6407c2a797005b0e21',1,'kudu::client::KuduScanBatch::GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2',1,'KuduPartialRow::GetBool(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#afd863a5f5a4803a89f6a2db06ba54931',1,'KuduPartialRow::GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT']]],
+  ['getcurrentserver_108',['GetCurrentServer',['../classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10',1,'kudu::client::KuduScanner']]],
+  ['getdate_109',['GetDate',['../classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb',1,'kudu::client::KuduScanBatch::GetDate(const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#afed25c9aadd0c6314aa3dd0acee9da54',1,'kudu::client::KuduScanBatch::GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97',1,'KuduPartialRow::GetDate(const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af0a4c7c7b575a9349195f4f2a8882428',1,'KuduPartialRow::GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT']]],
+  ['getdouble_110',['GetDouble',['../classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0',1,'kudu::client::KuduScanBatch::GetDouble()'],['../classKuduPartialRow.html#a4b4fae6f8be68e97b0e7145ea55fae9f',1,'KuduPartialRow::GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd',1,'KuduPartialRow::GetDouble(const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab2b7fb17cac4571139b2eaca761a99c0',1,'kudu::client::KuduScanBatch::GetDouble()']]],
+  ['getfixedlengthcolumn_111',['GetFixedLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300',1,'kudu::client::KuduColumnarScanBatch']]],
+  ['getfloat_112',['GetFloat',['../classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3',1,'kudu::client::KuduScanBatch::GetFloat(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ae41dd0f1e2b4bf074ded210382b825bd',1,'kudu::client::KuduScanBatch::GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc',1,'KuduPartialRow::GetFloat(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1a53cf17ad2cd746b7512ae3ecd6131f',1,'KuduPartialRow::GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT']]],
+  ['getint16_113',['GetInt16',['../classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037',1,'kudu::client::KuduScanBatch::GetInt16(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab5f35c107dc26165546065189dd53dfa',1,'kudu::client::KuduScanBatch::GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93',1,'KuduPartialRow::GetInt16(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a918cb01437d863fa0a35a9a72b7bac1a',1,'KuduPartialRow::GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT']]],
+  ['getint32_114',['GetInt32',['../classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc',1,'KuduPartialRow::GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9956360f9208549aab03d9284ff80b46',1,'KuduPartialRow::GetInt32(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2',1,'kudu::client::KuduScanBatch::GetInt32(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab321b8c245cc1748c3b3ecdf507b08fb',1,'kudu::client::KuduScanBatch::GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT']]],
+  ['getint64_115',['GetInt64',['../classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0',1,'kudu::client::KuduScanBatch::GetInt64(const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab59039c6f073df0b57ddc16fb8d8c432',1,'kudu::client::KuduScanBatch::GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc',1,'KuduPartialRow::GetInt64(const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9ded00965652dde7d94769f01df01dc9',1,'KuduPartialRow::GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT']]],
+  ['getint8_116',['GetInt8',['../classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b',1,'kudu::client::KuduScanBatch::GetInt8(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a81a30b5b89f6fa106b5d8575c3fb62b9',1,'kudu::client::KuduScanBatch::GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4',1,'KuduPartialRow::GetInt8(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ada872affe8163dfa6420c0f191f9c650',1,'KuduPartialRow::GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT']]],
+  ['getkudutable_117',['GetKuduTable',['../classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a',1,'kudu::client::KuduScanner']]],
+  ['getlatestobservedtimestamp_118',['GetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9',1,'kudu::client::KuduClient']]],
+  ['getmetric_119',['GetMetric',['../classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc',1,'kudu::client::ResourceMetrics']]],
+  ['getnonnullbitmapforcolumn_120',['GetNonNullBitmapForColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312',1,'kudu::client::KuduColumnarScanBatch']]],
+  ['getpendingerrors_121',['GetPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7',1,'kudu::client::KuduSession']]],
+  ['getprojectionschema_122',['GetProjectionSchema',['../classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82',1,'kudu::client::KuduScanner']]],
+  ['getresourcemetrics_123',['GetResourceMetrics',['../classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337',1,'kudu::client::KuduScanner']]],
+  ['getstring_124',['GetString',['../classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7',1,'kudu::client::KuduScanBatch::GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56',1,'kudu::client::KuduScanBatch::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee',1,'KuduPartialRow::GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd',1,'KuduPartialRow::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
+  ['gettableschema_125',['GetTableSchema',['../classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65',1,'kudu::client::KuduClient']]],
+  ['getunixtimemicros_126',['GetUnixTimeMicros',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8',1,'KuduPartialRow::GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246',1,'KuduPartialRow::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT']]],
+  ['getvarchar_127',['GetVarchar',['../classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb',1,'kudu::client::KuduScanBatch::GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b',1,'kudu::client::KuduScanBatch::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d',1,'KuduPartialRow::GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b',1,'KuduPartialRow::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
+  ['getvariablelengthcolumn_128',['GetVariableLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1',1,'kudu::client::KuduColumnarScanBatch']]],
+  ['group_5fvarint_129',['GROUP_VARINT',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82',1,'kudu::client::KuduColumnStorageAttributes']]]
 ];
diff --git a/cpp-client-api/search/all_7.js b/cpp-client-api/search/all_7.js
index b3f7a4d..12ffefd 100644
--- a/cpp-client-api/search/all_7.js
+++ b/cpp-client-api/search/all_7.js
@@ -1,9 +1,8 @@
 var searchData=
 [
-  ['hascolumn_132',['HasColumn',['../classkudu_1_1client_1_1KuduSchema.html#a3cbc77c6136806551c99bf84b94e691a',1,'kudu::client::KuduSchema']]],
-  ['hash_5falgorithm_133',['hash_algorithm',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57',1,'kudu::client::KuduBloomFilterBuilder']]],
-  ['hash_5fseed_134',['hash_seed',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356',1,'kudu::client::KuduBloomFilterBuilder']]],
-  ['hasmorerows_135',['HasMoreRows',['../classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94',1,'kudu::client::KuduScanner']]],
-  ['haspendingoperations_136',['HasPendingOperations',['../classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578',1,'kudu::client::KuduSession']]],
-  ['hostname_137',['hostname',['../classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1',1,'kudu::client::KuduTabletServer']]]
+  ['hash_5falgorithm_130',['hash_algorithm',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['hash_5fseed_131',['hash_seed',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['hasmorerows_132',['HasMoreRows',['../classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94',1,'kudu::client::KuduScanner']]],
+  ['haspendingoperations_133',['HasPendingOperations',['../classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578',1,'kudu::client::KuduSession']]],
+  ['hostname_134',['hostname',['../classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1',1,'kudu::client::KuduTabletServer']]]
 ];
diff --git a/cpp-client-api/search/all_8.js b/cpp-client-api/search/all_8.js
index 9bd1a3d..9f54b36 100644
--- a/cpp-client-api/search/all_8.js
+++ b/cpp-client-api/search/all_8.js
@@ -1,46 +1,45 @@
 var searchData=
 [
-  ['id_138',['id',['../classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20',1,'kudu::client::KuduTable::id()'],['../classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837',1,'kudu::client::KuduTablet::id()']]],
-  ['illegalstate_139',['IllegalState',['../classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b',1,'kudu::Status']]],
-  ['import_5fauthentication_5fcredentials_140',['import_authentication_credentials',['../classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e',1,'kudu::client::KuduClientBuilder']]],
-  ['includetablemetadata_141',['IncludeTableMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3',1,'kudu::client::KuduScanTokenBuilder']]],
-  ['includetabletmetadata_142',['IncludeTabletMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843',1,'kudu::client::KuduScanTokenBuilder']]],
-  ['inclusive_5fbound_143',['INCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950',1,'kudu::client::KuduTableCreator']]],
-  ['incomplete_144',['Incomplete',['../classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b',1,'kudu::Status']]],
-  ['increment_145',['Increment',['../classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a',1,'kudu::client::ResourceMetrics']]],
-  ['indirect_5fdata_146',['indirect_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989',1,'kudu::client::KuduScanBatch']]],
-  ['initialized_147',['Initialized',['../classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a',1,'kudu::MonoDelta']]],
-  ['insert_148',['Insert',['../classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678',1,'kudu::client::KuduBloomFilter']]],
-  ['intokuduscanner_149',['IntoKuduScanner',['../classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292',1,'kudu::client::KuduScanToken']]],
-  ['invalidargument_150',['InvalidArgument',['../classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4',1,'kudu::Status']]],
-  ['ioerror_151',['IOError',['../classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862',1,'kudu::Status']]],
-  ['is_5fleader_152',['is_leader',['../classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5',1,'kudu::client::KuduReplica']]],
-  ['is_5fnullable_153',['is_nullable',['../classkudu_1_1client_1_1KuduColumnSchema.html#a3f8197dd468546ce83e21481a361c1ec',1,'kudu::client::KuduColumnSchema']]],
-  ['isaborted_154',['IsAborted',['../classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874',1,'kudu::Status']]],
-  ['isalreadypresent_155',['IsAlreadyPresent',['../classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282',1,'kudu::Status']]],
-  ['isaltertableinprogress_156',['IsAlterTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809',1,'kudu::client::KuduClient']]],
-  ['iscolumnset_157',['IsColumnSet',['../classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8',1,'KuduPartialRow::IsColumnSet(const Slice &amp;col_name) const'],['../classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf',1,'KuduPartialRow::IsColumnSet(int col_idx) const']]],
-  ['iscommitcomplete_158',['IsCommitComplete',['../classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee',1,'kudu::client::KuduTransaction']]],
-  ['isconfigurationerror_159',['IsConfigurationError',['../classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef',1,'kudu::Status']]],
-  ['iscorruption_160',['IsCorruption',['../classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4',1,'kudu::Status']]],
-  ['iscreatetableinprogress_161',['IsCreateTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63',1,'kudu::client::KuduClient']]],
-  ['isdeleted_162',['IsDeleted',['../classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3',1,'kudu::client::KuduScanBatch']]],
-  ['isdiskfailure_163',['IsDiskFailure',['../classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c',1,'kudu::Status']]],
-  ['isendoffile_164',['IsEndOfFile',['../classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6',1,'kudu::Status']]],
-  ['isillegalstate_165',['IsIllegalState',['../classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24',1,'kudu::Status']]],
-  ['isincomplete_166',['IsIncomplete',['../classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7',1,'kudu::Status']]],
-  ['isinvalidargument_167',['IsInvalidArgument',['../classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b',1,'kudu::Status']]],
-  ['isioerror_168',['IsIOError',['../classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250',1,'kudu::Status']]],
-  ['iskeyset_169',['IsKeySet',['../classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1',1,'KuduPartialRow']]],
-  ['ismultimaster_170',['IsMultiMaster',['../classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433',1,'kudu::client::KuduClient']]],
-  ['isnetworkerror_171',['IsNetworkError',['../classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431',1,'kudu::Status']]],
-  ['isnotauthorized_172',['IsNotAuthorized',['../classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171',1,'kudu::Status']]],
-  ['isnotfound_173',['IsNotFound',['../classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd',1,'kudu::Status']]],
-  ['isnotsupported_174',['IsNotSupported',['../classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea',1,'kudu::Status']]],
-  ['isnull_175',['IsNull',['../classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047',1,'kudu::client::KuduScanBatch::IsNull(const Slice &amp;col_name) const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520',1,'kudu::client::KuduScanBatch::IsNull(int col_idx) const'],['../classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186',1,'KuduPartialRow::IsNull(const Slice &amp;col_name) const'],['../classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648',1,'KuduPartialRow::IsNull(int col_idx) const']]],
-  ['isremoteerror_176',['IsRemoteError',['../classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6',1,'kudu::Status']]],
-  ['isruntimeerror_177',['IsRuntimeError',['../classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8',1,'kudu::Status']]],
-  ['isserviceunavailable_178',['IsServiceUnavailable',['../classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668',1,'kudu::Status']]],
-  ['istimedout_179',['IsTimedOut',['../classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03',1,'kudu::Status']]],
-  ['isuninitialized_180',['IsUninitialized',['../classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b',1,'kudu::Status']]]
+  ['id_135',['id',['../classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20',1,'kudu::client::KuduTable::id()'],['../classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837',1,'kudu::client::KuduTablet::id()']]],
+  ['illegalstate_136',['IllegalState',['../classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b',1,'kudu::Status']]],
+  ['import_5fauthentication_5fcredentials_137',['import_authentication_credentials',['../classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e',1,'kudu::client::KuduClientBuilder']]],
+  ['includetablemetadata_138',['IncludeTableMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['includetabletmetadata_139',['IncludeTabletMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['inclusive_5fbound_140',['INCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950',1,'kudu::client::KuduTableCreator']]],
+  ['incomplete_141',['Incomplete',['../classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b',1,'kudu::Status']]],
+  ['increment_142',['Increment',['../classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a',1,'kudu::client::ResourceMetrics']]],
+  ['indirect_5fdata_143',['indirect_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989',1,'kudu::client::KuduScanBatch']]],
+  ['initialized_144',['Initialized',['../classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a',1,'kudu::MonoDelta']]],
+  ['insert_145',['Insert',['../classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678',1,'kudu::client::KuduBloomFilter']]],
+  ['intokuduscanner_146',['IntoKuduScanner',['../classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292',1,'kudu::client::KuduScanToken']]],
+  ['invalidargument_147',['InvalidArgument',['../classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4',1,'kudu::Status']]],
+  ['ioerror_148',['IOError',['../classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862',1,'kudu::Status']]],
+  ['is_5fleader_149',['is_leader',['../classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5',1,'kudu::client::KuduReplica']]],
+  ['isaborted_150',['IsAborted',['../classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874',1,'kudu::Status']]],
+  ['isalreadypresent_151',['IsAlreadyPresent',['../classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282',1,'kudu::Status']]],
+  ['isaltertableinprogress_152',['IsAlterTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809',1,'kudu::client::KuduClient']]],
+  ['iscolumnset_153',['IsColumnSet',['../classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8',1,'KuduPartialRow::IsColumnSet(const Slice &amp;col_name) const'],['../classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf',1,'KuduPartialRow::IsColumnSet(int col_idx) const']]],
+  ['iscommitcomplete_154',['IsCommitComplete',['../classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee',1,'kudu::client::KuduTransaction']]],
+  ['isconfigurationerror_155',['IsConfigurationError',['../classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef',1,'kudu::Status']]],
+  ['iscorruption_156',['IsCorruption',['../classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4',1,'kudu::Status']]],
+  ['iscreatetableinprogress_157',['IsCreateTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63',1,'kudu::client::KuduClient']]],
+  ['isdeleted_158',['IsDeleted',['../classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3',1,'kudu::client::KuduScanBatch']]],
+  ['isdiskfailure_159',['IsDiskFailure',['../classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c',1,'kudu::Status']]],
+  ['isendoffile_160',['IsEndOfFile',['../classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6',1,'kudu::Status']]],
+  ['isillegalstate_161',['IsIllegalState',['../classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24',1,'kudu::Status']]],
+  ['isincomplete_162',['IsIncomplete',['../classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7',1,'kudu::Status']]],
+  ['isinvalidargument_163',['IsInvalidArgument',['../classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b',1,'kudu::Status']]],
+  ['isioerror_164',['IsIOError',['../classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250',1,'kudu::Status']]],
+  ['iskeyset_165',['IsKeySet',['../classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1',1,'KuduPartialRow']]],
+  ['ismultimaster_166',['IsMultiMaster',['../classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433',1,'kudu::client::KuduClient']]],
+  ['isnetworkerror_167',['IsNetworkError',['../classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431',1,'kudu::Status']]],
+  ['isnotauthorized_168',['IsNotAuthorized',['../classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171',1,'kudu::Status']]],
+  ['isnotfound_169',['IsNotFound',['../classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd',1,'kudu::Status']]],
+  ['isnotsupported_170',['IsNotSupported',['../classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea',1,'kudu::Status']]],
+  ['isnull_171',['IsNull',['../classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047',1,'kudu::client::KuduScanBatch::IsNull(const Slice &amp;col_name) const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520',1,'kudu::client::KuduScanBatch::IsNull(int col_idx) const'],['../classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186',1,'KuduPartialRow::IsNull(const Slice &amp;col_name) const'],['../classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648',1,'KuduPartialRow::IsNull(int col_idx) const']]],
+  ['isremoteerror_172',['IsRemoteError',['../classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6',1,'kudu::Status']]],
+  ['isruntimeerror_173',['IsRuntimeError',['../classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8',1,'kudu::Status']]],
+  ['isserviceunavailable_174',['IsServiceUnavailable',['../classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668',1,'kudu::Status']]],
+  ['istimedout_175',['IsTimedOut',['../classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03',1,'kudu::Status']]],
+  ['isuninitialized_176',['IsUninitialized',['../classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b',1,'kudu::Status']]]
 ];
diff --git a/cpp-client-api/search/all_9.js b/cpp-client-api/search/all_9.js
index b5ea1a6..281a1cc 100644
--- a/cpp-client-api/search/all_9.js
+++ b/cpp-client-api/search/all_9.js
@@ -1,67 +1,67 @@
 var searchData=
 [
-  ['keepalive_181',['keepalive',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f',1,'kudu::client::KuduTransaction::SerializationOptions']]],
-  ['keepalive_182',['KeepAlive',['../classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21',1,'kudu::client::KuduScanner']]],
-  ['kmicrosecondspersecond_183',['kMicrosecondsPerSecond',['../classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f',1,'kudu::MonoTime']]],
-  ['knanosecondspermicrosecond_184',['kNanosecondsPerMicrosecond',['../classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583',1,'kudu::MonoTime']]],
-  ['knanosecondspermillisecond_185',['kNanosecondsPerMillisecond',['../classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7',1,'kudu::MonoTime']]],
-  ['knanosecondspersecond_186',['kNanosecondsPerSecond',['../classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18',1,'kudu::MonoTime']]],
-  ['knotimestamp_187',['kNoTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa',1,'kudu::client::KuduClient']]],
-  ['kudu_20c_2b_2b_20client_20api_20documentation_188',['Kudu C++ client API documentation',['../index.html',1,'']]],
-  ['kudu_5fcheck_5fok_189',['KUDU_CHECK_OK',['../status_8h.html#ac503ba85e942147294cdc82087da60f6',1,'status.h']]],
-  ['kudu_5fcheck_5fok_5fprepend_190',['KUDU_CHECK_OK_PREPEND',['../status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f',1,'status.h']]],
-  ['kudu_5fdcheck_5fok_191',['KUDU_DCHECK_OK',['../status_8h.html#a99332afa18f00de3c7fcf3e76949df9d',1,'status.h']]],
-  ['kudu_5fdcheck_5fok_5fprepend_192',['KUDU_DCHECK_OK_PREPEND',['../status_8h.html#a2b360b53025724bb97d1dc21e25e26cc',1,'status.h']]],
-  ['kudu_5flog_5fand_5freturn_193',['KUDU_LOG_AND_RETURN',['../status_8h.html#abbd85cc2c5535627091bb06a21918150',1,'status.h']]],
-  ['kudu_5freturn_5fmain_5fnot_5fok_194',['KUDU_RETURN_MAIN_NOT_OK',['../status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba',1,'status.h']]],
-  ['kudu_5freturn_5fnot_5fok_195',['KUDU_RETURN_NOT_OK',['../status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab',1,'status.h']]],
-  ['kudu_5freturn_5fnot_5fok_5feval_196',['KUDU_RETURN_NOT_OK_EVAL',['../status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e',1,'status.h']]],
-  ['kudu_5freturn_5fnot_5fok_5flog_197',['KUDU_RETURN_NOT_OK_LOG',['../status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce',1,'status.h']]],
-  ['kudu_5freturn_5fnot_5fok_5fprepend_198',['KUDU_RETURN_NOT_OK_PREPEND',['../status_8h.html#af66b8458f1d3f1264c1da86744e29e46',1,'status.h']]],
-  ['kudu_5freturn_5fnot_5fok_5fret_199',['KUDU_RETURN_NOT_OK_RET',['../status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223',1,'status.h']]],
-  ['kudu_5fwarn_5fnot_5fok_200',['KUDU_WARN_NOT_OK',['../status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e',1,'status.h']]],
-  ['kudubloomfilter_201',['KuduBloomFilter',['../classkudu_1_1client_1_1KuduBloomFilter.html',1,'kudu::client']]],
-  ['kudubloomfilterbuilder_202',['KuduBloomFilterBuilder',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html',1,'kudu::client::KuduBloomFilterBuilder'],['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4',1,'kudu::client::KuduBloomFilterBuilder::KuduBloomFilterBuilder()']]],
-  ['kuduclient_203',['KuduClient',['../classkudu_1_1client_1_1KuduClient.html',1,'kudu::client']]],
-  ['kuduclientbuilder_204',['KuduClientBuilder',['../classkudu_1_1client_1_1KuduClientBuilder.html',1,'kudu::client']]],
-  ['kuducolumnarscanbatch_205',['KuduColumnarScanBatch',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html',1,'kudu::client']]],
-  ['kuducolumnschema_206',['KuduColumnSchema',['../classkudu_1_1client_1_1KuduColumnSchema.html',1,'kudu::client::KuduColumnSchema'],['../classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872',1,'kudu::client::KuduColumnSchema::KuduColumnSchema()']]],
-  ['kuducolumnspec_207',['KuduColumnSpec',['../classkudu_1_1client_1_1KuduColumnSpec.html',1,'kudu::client']]],
-  ['kuducolumnstorageattributes_208',['KuduColumnStorageAttributes',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html',1,'kudu::client::KuduColumnStorageAttributes'],['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab',1,'kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes()']]],
-  ['kuducolumntypeattributes_209',['KuduColumnTypeAttributes',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html',1,'kudu::client::KuduColumnTypeAttributes'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(const KuduColumnTypeAttributes &amp;other)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(int8_t precision, int8_t scale)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(uint16_t length)']]],
-  ['kududelete_210',['KuduDelete',['../classkudu_1_1client_1_1KuduDelete.html',1,'kudu::client']]],
-  ['kududeleteignore_211',['KuduDeleteIgnore',['../classkudu_1_1client_1_1KuduDeleteIgnore.html',1,'kudu::client']]],
-  ['kuduerror_212',['KuduError',['../classkudu_1_1client_1_1KuduError.html',1,'kudu::client']]],
-  ['kuduinsert_213',['KuduInsert',['../classkudu_1_1client_1_1KuduInsert.html',1,'kudu::client']]],
-  ['kuduinsertignore_214',['KuduInsertIgnore',['../classkudu_1_1client_1_1KuduInsertIgnore.html',1,'kudu::client']]],
-  ['kuduloggingcallback_215',['KuduLoggingCallback',['../classkudu_1_1client_1_1KuduLoggingCallback.html',1,'kudu::client']]],
-  ['kuduloggingfunctioncallback_216',['KuduLoggingFunctionCallback',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html',1,'kudu::client::KuduLoggingFunctionCallback&lt; T &gt;'],['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c',1,'kudu::client::KuduLoggingFunctionCallback::KuduLoggingFunctionCallback()']]],
-  ['kuduloggingmembercallback_217',['KuduLoggingMemberCallback',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html',1,'kudu::client::KuduLoggingMemberCallback&lt; T &gt;'],['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8',1,'kudu::client::KuduLoggingMemberCallback::KuduLoggingMemberCallback()']]],
-  ['kudupartialrow_218',['KuduPartialRow',['../classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1',1,'KuduPartialRow::KuduPartialRow(const KuduPartialRow &amp;other)'],['../classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4',1,'KuduPartialRow::KuduPartialRow(const Schema *schema)'],['../classKuduPartialRow.html',1,'KuduPartialRow']]],
-  ['kudupartitioner_219',['KuduPartitioner',['../classkudu_1_1client_1_1KuduPartitioner.html',1,'kudu::client']]],
-  ['kudupartitionerbuilder_220',['KuduPartitionerBuilder',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html',1,'kudu::client::KuduPartitionerBuilder'],['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba',1,'kudu::client::KuduPartitionerBuilder::KuduPartitionerBuilder()']]],
-  ['kudupredicate_221',['KuduPredicate',['../classkudu_1_1client_1_1KuduPredicate.html',1,'kudu::client']]],
-  ['kudureplica_222',['KuduReplica',['../classkudu_1_1client_1_1KuduReplica.html',1,'kudu::client']]],
-  ['kuduscanbatch_223',['KuduScanBatch',['../classkudu_1_1client_1_1KuduScanBatch.html',1,'kudu::client']]],
-  ['kuduscanner_224',['KuduScanner',['../classkudu_1_1client_1_1KuduScanner.html',1,'kudu::client::KuduScanner'],['../classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180',1,'kudu::client::KuduScanner::KuduScanner()']]],
-  ['kuduscantoken_225',['KuduScanToken',['../classkudu_1_1client_1_1KuduScanToken.html',1,'kudu::client']]],
-  ['kuduscantokenbuilder_226',['KuduScanTokenBuilder',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html',1,'kudu::client::KuduScanTokenBuilder'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484',1,'kudu::client::KuduScanTokenBuilder::KuduScanTokenBuilder()']]],
-  ['kuduschema_227',['KuduSchema',['../classkudu_1_1client_1_1KuduSchema.html',1,'kudu::client::KuduSchema'],['../classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02',1,'kudu::client::KuduSchema::KuduSchema()']]],
-  ['kuduschemabuilder_228',['KuduSchemaBuilder',['../classkudu_1_1client_1_1KuduSchemaBuilder.html',1,'kudu::client']]],
-  ['kudusession_229',['KuduSession',['../classkudu_1_1client_1_1KuduSession.html',1,'kudu::client']]],
-  ['kudustatuscallback_230',['KuduStatusCallback',['../classkudu_1_1client_1_1KuduStatusCallback.html',1,'kudu::client']]],
-  ['kudustatusfunctioncallback_231',['KuduStatusFunctionCallback',['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html',1,'kudu::client::KuduStatusFunctionCallback&lt; T &gt;'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b',1,'kudu::client::KuduStatusFunctionCallback::KuduStatusFunctionCallback()']]],
-  ['kudustatusmembercallback_232',['KuduStatusMemberCallback',['../classkudu_1_1client_1_1KuduStatusMemberCallback.html',1,'kudu::client::KuduStatusMemberCallback&lt; T &gt;'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa',1,'kudu::client::KuduStatusMemberCallback::KuduStatusMemberCallback()']]],
-  ['kudutable_233',['KuduTable',['../classkudu_1_1client_1_1KuduTable.html',1,'kudu::client']]],
-  ['kudutablealterer_234',['KuduTableAlterer',['../classkudu_1_1client_1_1KuduTableAlterer.html',1,'kudu::client']]],
-  ['kudutablecreator_235',['KuduTableCreator',['../classkudu_1_1client_1_1KuduTableCreator.html',1,'kudu::client']]],
-  ['kudutablestatistics_236',['KuduTableStatistics',['../classkudu_1_1client_1_1KuduTableStatistics.html',1,'kudu::client']]],
-  ['kudutablet_237',['KuduTablet',['../classkudu_1_1client_1_1KuduTablet.html',1,'kudu::client']]],
-  ['kudutabletserver_238',['KuduTabletServer',['../classkudu_1_1client_1_1KuduTabletServer.html',1,'kudu::client']]],
-  ['kudutransaction_239',['KuduTransaction',['../classkudu_1_1client_1_1KuduTransaction.html',1,'kudu::client']]],
-  ['kuduupdate_240',['KuduUpdate',['../classkudu_1_1client_1_1KuduUpdate.html',1,'kudu::client']]],
-  ['kuduupdateignore_241',['KuduUpdateIgnore',['../classkudu_1_1client_1_1KuduUpdateIgnore.html',1,'kudu::client']]],
-  ['kuduupsert_242',['KuduUpsert',['../classkudu_1_1client_1_1KuduUpsert.html',1,'kudu::client']]],
-  ['kuduvalue_243',['KuduValue',['../classkudu_1_1client_1_1KuduValue.html',1,'kudu::client']]],
-  ['kuduwriteoperation_244',['KuduWriteOperation',['../classkudu_1_1client_1_1KuduWriteOperation.html',1,'kudu::client']]]
+  ['keepalive_177',['keepalive',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f',1,'kudu::client::KuduTransaction::SerializationOptions']]],
+  ['keepalive_178',['KeepAlive',['../classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21',1,'kudu::client::KuduScanner']]],
+  ['kmicrosecondspersecond_179',['kMicrosecondsPerSecond',['../classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f',1,'kudu::MonoTime']]],
+  ['knanosecondspermicrosecond_180',['kNanosecondsPerMicrosecond',['../classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583',1,'kudu::MonoTime']]],
+  ['knanosecondspermillisecond_181',['kNanosecondsPerMillisecond',['../classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7',1,'kudu::MonoTime']]],
+  ['knanosecondspersecond_182',['kNanosecondsPerSecond',['../classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18',1,'kudu::MonoTime']]],
+  ['knotimestamp_183',['kNoTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa',1,'kudu::client::KuduClient']]],
+  ['kudu_20c_2b_2b_20client_20api_20documentation_184',['Kudu C++ client API documentation',['../index.html',1,'']]],
+  ['kudu_5fcheck_5fok_185',['KUDU_CHECK_OK',['../status_8h.html#ac503ba85e942147294cdc82087da60f6',1,'status.h']]],
+  ['kudu_5fcheck_5fok_5fprepend_186',['KUDU_CHECK_OK_PREPEND',['../status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f',1,'status.h']]],
+  ['kudu_5fdcheck_5fok_187',['KUDU_DCHECK_OK',['../status_8h.html#a99332afa18f00de3c7fcf3e76949df9d',1,'status.h']]],
+  ['kudu_5fdcheck_5fok_5fprepend_188',['KUDU_DCHECK_OK_PREPEND',['../status_8h.html#a2b360b53025724bb97d1dc21e25e26cc',1,'status.h']]],
+  ['kudu_5flog_5fand_5freturn_189',['KUDU_LOG_AND_RETURN',['../status_8h.html#abbd85cc2c5535627091bb06a21918150',1,'status.h']]],
+  ['kudu_5freturn_5fmain_5fnot_5fok_190',['KUDU_RETURN_MAIN_NOT_OK',['../status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_191',['KUDU_RETURN_NOT_OK',['../status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5feval_192',['KUDU_RETURN_NOT_OK_EVAL',['../status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5flog_193',['KUDU_RETURN_NOT_OK_LOG',['../status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5fprepend_194',['KUDU_RETURN_NOT_OK_PREPEND',['../status_8h.html#af66b8458f1d3f1264c1da86744e29e46',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5fret_195',['KUDU_RETURN_NOT_OK_RET',['../status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223',1,'status.h']]],
+  ['kudu_5fwarn_5fnot_5fok_196',['KUDU_WARN_NOT_OK',['../status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e',1,'status.h']]],
+  ['kudubloomfilter_197',['KuduBloomFilter',['../classkudu_1_1client_1_1KuduBloomFilter.html',1,'kudu::client']]],
+  ['kudubloomfilterbuilder_198',['KuduBloomFilterBuilder',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html',1,'kudu::client::KuduBloomFilterBuilder'],['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4',1,'kudu::client::KuduBloomFilterBuilder::KuduBloomFilterBuilder()']]],
+  ['kuduclient_199',['KuduClient',['../classkudu_1_1client_1_1KuduClient.html',1,'kudu::client']]],
+  ['kuduclientbuilder_200',['KuduClientBuilder',['../classkudu_1_1client_1_1KuduClientBuilder.html',1,'kudu::client']]],
+  ['kuducolumnarscanbatch_201',['KuduColumnarScanBatch',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html',1,'kudu::client']]],
+  ['kuducolumnschema_202',['KuduColumnSchema',['../classkudu_1_1client_1_1KuduColumnSchema.html',1,'kudu::client::KuduColumnSchema'],['../classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872',1,'kudu::client::KuduColumnSchema::KuduColumnSchema()']]],
+  ['kuducolumnspec_203',['KuduColumnSpec',['../classkudu_1_1client_1_1KuduColumnSpec.html',1,'kudu::client']]],
+  ['kuducolumnstorageattributes_204',['KuduColumnStorageAttributes',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html',1,'kudu::client::KuduColumnStorageAttributes'],['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab',1,'kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes()']]],
+  ['kuducolumntypeattributes_205',['KuduColumnTypeAttributes',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html',1,'kudu::client::KuduColumnTypeAttributes'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(const KuduColumnTypeAttributes &amp;other)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(int8_t precision, int8_t scale)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(uint16_t length)']]],
+  ['kududelete_206',['KuduDelete',['../classkudu_1_1client_1_1KuduDelete.html',1,'kudu::client']]],
+  ['kududeleteignore_207',['KuduDeleteIgnore',['../classkudu_1_1client_1_1KuduDeleteIgnore.html',1,'kudu::client']]],
+  ['kuduerror_208',['KuduError',['../classkudu_1_1client_1_1KuduError.html',1,'kudu::client']]],
+  ['kuduinsert_209',['KuduInsert',['../classkudu_1_1client_1_1KuduInsert.html',1,'kudu::client']]],
+  ['kuduinsertignore_210',['KuduInsertIgnore',['../classkudu_1_1client_1_1KuduInsertIgnore.html',1,'kudu::client']]],
+  ['kuduloggingcallback_211',['KuduLoggingCallback',['../classkudu_1_1client_1_1KuduLoggingCallback.html',1,'kudu::client']]],
+  ['kuduloggingfunctioncallback_212',['KuduLoggingFunctionCallback',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html',1,'kudu::client::KuduLoggingFunctionCallback&lt; T &gt;'],['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c',1,'kudu::client::KuduLoggingFunctionCallback::KuduLoggingFunctionCallback()']]],
+  ['kuduloggingmembercallback_213',['KuduLoggingMemberCallback',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html',1,'kudu::client::KuduLoggingMemberCallback&lt; T &gt;'],['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8',1,'kudu::client::KuduLoggingMemberCallback::KuduLoggingMemberCallback()']]],
+  ['kudupartialrow_214',['KuduPartialRow',['../classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1',1,'KuduPartialRow::KuduPartialRow(const KuduPartialRow &amp;other)'],['../classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4',1,'KuduPartialRow::KuduPartialRow(const Schema *schema)'],['../classKuduPartialRow.html',1,'KuduPartialRow']]],
+  ['kudupartitioner_215',['KuduPartitioner',['../classkudu_1_1client_1_1KuduPartitioner.html',1,'kudu::client']]],
+  ['kudupartitionerbuilder_216',['KuduPartitionerBuilder',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html',1,'kudu::client::KuduPartitionerBuilder'],['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba',1,'kudu::client::KuduPartitionerBuilder::KuduPartitionerBuilder()']]],
+  ['kudupredicate_217',['KuduPredicate',['../classkudu_1_1client_1_1KuduPredicate.html',1,'kudu::client']]],
+  ['kudureplica_218',['KuduReplica',['../classkudu_1_1client_1_1KuduReplica.html',1,'kudu::client']]],
+  ['kuduscanbatch_219',['KuduScanBatch',['../classkudu_1_1client_1_1KuduScanBatch.html',1,'kudu::client']]],
+  ['kuduscanner_220',['KuduScanner',['../classkudu_1_1client_1_1KuduScanner.html',1,'kudu::client::KuduScanner'],['../classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180',1,'kudu::client::KuduScanner::KuduScanner()']]],
+  ['kuduscantoken_221',['KuduScanToken',['../classkudu_1_1client_1_1KuduScanToken.html',1,'kudu::client']]],
+  ['kuduscantokenbuilder_222',['KuduScanTokenBuilder',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html',1,'kudu::client::KuduScanTokenBuilder'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484',1,'kudu::client::KuduScanTokenBuilder::KuduScanTokenBuilder()']]],
+  ['kuduschema_223',['KuduSchema',['../classkudu_1_1client_1_1KuduSchema.html',1,'kudu::client::KuduSchema'],['../classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02',1,'kudu::client::KuduSchema::KuduSchema()']]],
+  ['kuduschemabuilder_224',['KuduSchemaBuilder',['../classkudu_1_1client_1_1KuduSchemaBuilder.html',1,'kudu::client']]],
+  ['kudusession_225',['KuduSession',['../classkudu_1_1client_1_1KuduSession.html',1,'kudu::client']]],
+  ['kudustatuscallback_226',['KuduStatusCallback',['../classkudu_1_1client_1_1KuduStatusCallback.html',1,'kudu::client']]],
+  ['kudustatusfunctioncallback_227',['KuduStatusFunctionCallback',['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html',1,'kudu::client::KuduStatusFunctionCallback&lt; T &gt;'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b',1,'kudu::client::KuduStatusFunctionCallback::KuduStatusFunctionCallback()']]],
+  ['kudustatusmembercallback_228',['KuduStatusMemberCallback',['../classkudu_1_1client_1_1KuduStatusMemberCallback.html',1,'kudu::client::KuduStatusMemberCallback&lt; T &gt;'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa',1,'kudu::client::KuduStatusMemberCallback::KuduStatusMemberCallback()']]],
+  ['kudutable_229',['KuduTable',['../classkudu_1_1client_1_1KuduTable.html',1,'kudu::client']]],
+  ['kudutablealterer_230',['KuduTableAlterer',['../classkudu_1_1client_1_1KuduTableAlterer.html',1,'kudu::client']]],
+  ['kudutablecreator_231',['KuduTableCreator',['../classkudu_1_1client_1_1KuduTableCreator.html',1,'kudu::client']]],
+  ['kudutablestatistics_232',['KuduTableStatistics',['../classkudu_1_1client_1_1KuduTableStatistics.html',1,'kudu::client']]],
+  ['kudutablet_233',['KuduTablet',['../classkudu_1_1client_1_1KuduTablet.html',1,'kudu::client']]],
+  ['kudutabletserver_234',['KuduTabletServer',['../classkudu_1_1client_1_1KuduTabletServer.html',1,'kudu::client']]],
+  ['kudutransaction_235',['KuduTransaction',['../classkudu_1_1client_1_1KuduTransaction.html',1,'kudu::client']]],
+  ['kuduupdate_236',['KuduUpdate',['../classkudu_1_1client_1_1KuduUpdate.html',1,'kudu::client']]],
+  ['kuduupdateignore_237',['KuduUpdateIgnore',['../classkudu_1_1client_1_1KuduUpdateIgnore.html',1,'kudu::client']]],
+  ['kuduupsert_238',['KuduUpsert',['../classkudu_1_1client_1_1KuduUpsert.html',1,'kudu::client']]],
+  ['kuduvalue_239',['KuduValue',['../classkudu_1_1client_1_1KuduValue.html',1,'kudu::client']]],
+  ['kuduwriteoperation_240',['KuduWriteOperation',['../classkudu_1_1client_1_1KuduWriteOperation.html',1,'kudu::client']]]
 ];
diff --git a/cpp-client-api/search/all_a.js b/cpp-client-api/search/all_a.js
index ba8c003..24a14f7 100644
--- a/cpp-client-api/search/all_a.js
+++ b/cpp-client-api/search/all_a.js
@@ -1,10 +1,11 @@
 var searchData=
 [
-  ['leader_5fonly_245',['LEADER_ONLY',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239',1,'kudu::client::KuduClient']]],
-  ['length_246',['Length',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd',1,'kudu::client::KuduColumnSpec']]],
-  ['length_247',['length',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04',1,'kudu::client::KuduColumnTypeAttributes']]],
-  ['lessthan_248',['LessThan',['../classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79',1,'kudu::MonoDelta']]],
-  ['listtables_249',['ListTables',['../classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d',1,'kudu::client::KuduClient']]],
-  ['listtabletservers_250',['ListTabletServers',['../classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9',1,'kudu::client::KuduClient']]],
-  ['live_5frow_5fcount_251',['live_row_count',['../classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1',1,'kudu::client::KuduTableStatistics']]]
+  ['leader_5fonly_241',['LEADER_ONLY',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239',1,'kudu::client::KuduClient']]],
+  ['length_242',['Length',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd',1,'kudu::client::KuduColumnSpec']]],
+  ['length_243',['length',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04',1,'kudu::client::KuduColumnTypeAttributes']]],
+  ['lessthan_244',['LessThan',['../classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79',1,'kudu::MonoDelta']]],
+  ['listtables_245',['ListTables',['../classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d',1,'kudu::client::KuduClient']]],
+  ['listtabletservers_246',['ListTabletServers',['../classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9',1,'kudu::client::KuduClient']]],
+  ['live_5frow_5fcount_247',['live_row_count',['../classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1',1,'kudu::client::KuduTableStatistics']]],
+  ['live_5frow_5fcount_5flimit_248',['live_row_count_limit',['../classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd',1,'kudu::client::KuduTableStatistics']]]
 ];
diff --git a/cpp-client-api/search/all_b.js b/cpp-client-api/search/all_b.js
index 1c07d1f..b5d69da 100644
--- a/cpp-client-api/search/all_b.js
+++ b/cpp-client-api/search/all_b.js
@@ -1,16 +1,16 @@
 var searchData=
 [
-  ['manual_5fflush_252',['MANUAL_FLUSH',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a',1,'kudu::client::KuduSession']]],
-  ['master_5fserver_5faddrs_253',['master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114',1,'kudu::client::KuduClientBuilder']]],
-  ['max_254',['Max',['../classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9',1,'kudu::MonoTime']]],
-  ['membertype_255',['MemberType',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d',1,'kudu::client::KuduLoggingMemberCallback::MemberType()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a',1,'kudu::client::KuduStatusMemberCallback::MemberType()']]],
-  ['memory_5ffootprint_5fexcluding_5fthis_256',['memory_footprint_excluding_this',['../classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9',1,'kudu::Status']]],
-  ['memory_5ffootprint_5fincluding_5fthis_257',['memory_footprint_including_this',['../classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c',1,'kudu::Status']]],
-  ['message_258',['message',['../classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796',1,'kudu::Status']]],
-  ['min_259',['Min',['../classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99',1,'kudu::MonoTime']]],
-  ['monodelta_260',['MonoDelta',['../classkudu_1_1MonoDelta.html',1,'kudu::MonoDelta'],['../classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f',1,'kudu::MonoDelta::MonoDelta()']]],
-  ['monotime_261',['MonoTime',['../classkudu_1_1MonoTime.html',1,'kudu']]],
-  ['morethan_262',['MoreThan',['../classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02',1,'kudu::MonoDelta']]],
-  ['mutable_5fdata_263',['mutable_data',['../classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164',1,'kudu::Slice']]],
-  ['mutable_5frow_264',['mutable_row',['../classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc',1,'kudu::client::KuduWriteOperation']]]
+  ['manual_5fflush_249',['MANUAL_FLUSH',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a',1,'kudu::client::KuduSession']]],
+  ['master_5fserver_5faddrs_250',['master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114',1,'kudu::client::KuduClientBuilder']]],
+  ['max_251',['Max',['../classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9',1,'kudu::MonoTime']]],
+  ['membertype_252',['MemberType',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d',1,'kudu::client::KuduLoggingMemberCallback::MemberType()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a',1,'kudu::client::KuduStatusMemberCallback::MemberType()']]],
+  ['memory_5ffootprint_5fexcluding_5fthis_253',['memory_footprint_excluding_this',['../classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9',1,'kudu::Status']]],
+  ['memory_5ffootprint_5fincluding_5fthis_254',['memory_footprint_including_this',['../classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c',1,'kudu::Status']]],
+  ['message_255',['message',['../classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796',1,'kudu::Status']]],
+  ['min_256',['Min',['../classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99',1,'kudu::MonoTime']]],
+  ['monodelta_257',['MonoDelta',['../classkudu_1_1MonoDelta.html',1,'kudu::MonoDelta'],['../classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f',1,'kudu::MonoDelta::MonoDelta()']]],
+  ['monotime_258',['MonoTime',['../classkudu_1_1MonoTime.html',1,'kudu']]],
+  ['morethan_259',['MoreThan',['../classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02',1,'kudu::MonoDelta']]],
+  ['mutable_5fdata_260',['mutable_data',['../classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164',1,'kudu::Slice']]],
+  ['mutable_5frow_261',['mutable_row',['../classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc',1,'kudu::client::KuduWriteOperation']]]
 ];
diff --git a/cpp-client-api/search/all_c.js b/cpp-client-api/search/all_c.js
index 85bcd49..30d5e46 100644
--- a/cpp-client-api/search/all_c.js
+++ b/cpp-client-api/search/all_c.js
@@ -1,37 +1,35 @@
 var searchData=
 [
-  ['name_265',['name',['../classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244',1,'kudu::client::KuduTable::name()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a1cda4c693af7226ddde29bf70da4cfcf',1,'kudu::client::KuduColumnSchema::name()']]],
-  ['nanostotimespec_266',['NanosToTimeSpec',['../classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22',1,'kudu::MonoDelta']]],
-  ['networkerror_267',['NetworkError',['../classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af',1,'kudu::Status']]],
-  ['newcomparisonpredicate_268',['NewComparisonPredicate',['../classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea',1,'kudu::client::KuduTable']]],
-  ['newdelete_269',['NewDelete',['../classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a',1,'kudu::client::KuduTable']]],
-  ['newdeleteignore_270',['NewDeleteIgnore',['../classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094',1,'kudu::client::KuduTable']]],
-  ['newinbloomfilterpredicate_271',['NewInBloomFilterPredicate',['../classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &amp;col_name, std::vector&lt; KuduBloomFilter * &gt; *bloom_filters)'],['../classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &amp;col_name, const std::vector&lt; Slice &gt; &amp;bloom_filters)']]],
-  ['newinlistpredicate_272',['NewInListPredicate',['../classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9',1,'kudu::client::KuduTable']]],
-  ['newinsert_273',['NewInsert',['../classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6',1,'kudu::client::KuduTable']]],
-  ['newinsertignore_274',['NewInsertIgnore',['../classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103',1,'kudu::client::KuduTable']]],
-  ['newisnotnullpredicate_275',['NewIsNotNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523',1,'kudu::client::KuduTable']]],
-  ['newisnullpredicate_276',['NewIsNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466',1,'kudu::client::KuduTable']]],
-  ['newrow_277',['NewRow',['../classkudu_1_1client_1_1KuduSchema.html#a6988d1b2a64b9da6b2d013ce556726e1',1,'kudu::client::KuduSchema']]],
-  ['newsession_278',['NewSession',['../classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925',1,'kudu::client::KuduClient']]],
-  ['newtablealterer_279',['NewTableAlterer',['../classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea',1,'kudu::client::KuduClient']]],
-  ['newtablecreator_280',['NewTableCreator',['../classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153',1,'kudu::client::KuduClient']]],
-  ['newtransaction_281',['NewTransaction',['../classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345',1,'kudu::client::KuduClient']]],
-  ['newupdate_282',['NewUpdate',['../classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8',1,'kudu::client::KuduTable']]],
-  ['newupdateignore_283',['NewUpdateIgnore',['../classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3',1,'kudu::client::KuduTable']]],
-  ['newupsert_284',['NewUpsert',['../classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc',1,'kudu::client::KuduTable']]],
-  ['nextbatch_285',['NextBatch',['../classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067',1,'kudu::client::KuduScanner::NextBatch(std::vector&lt; KuduRowResult &gt; *rows) ATTRIBUTE_DEPRECATED(&quot;use NextBatch(KuduScanBatch*) instead&quot;)'],['../classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487',1,'kudu::client::KuduScanner::NextBatch(KuduScanBatch *batch)'],['../classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81',1,'kudu::client::KuduScanner::NextBatch(KuduColumnarScanBatch *batch)']]],
-  ['no_5fflags_286',['NO_FLAGS',['../classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85',1,'kudu::client::KuduScanner']]],
-  ['notauthorized_287',['NotAuthorized',['../classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba',1,'kudu::Status']]],
-  ['notfound_288',['NotFound',['../classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3',1,'kudu::Status']]],
-  ['notnull_289',['NotNull',['../classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca',1,'kudu::client::KuduColumnSpec']]],
-  ['notsupported_290',['NotSupported',['../classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c',1,'kudu::Status']]],
-  ['now_291',['Now',['../classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783',1,'kudu::MonoTime']]],
-  ['nullable_292',['Nullable',['../classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841',1,'kudu::client::KuduColumnSpec']]],
-  ['nulllog_293',['NullLog',['../classkudu_1_1internal__logging_1_1NullLog.html',1,'kudu::internal_logging']]],
-  ['num_5fcolumns_294',['num_columns',['../classkudu_1_1client_1_1KuduSchema.html#ab3b5137cd28ed0dbdfa5d064879baf74',1,'kudu::client::KuduSchema']]],
-  ['num_5freactors_295',['num_reactors',['../classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb',1,'kudu::client::KuduClientBuilder']]],
-  ['num_5freplicas_296',['num_replicas',['../classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139',1,'kudu::client::KuduTableCreator::num_replicas()'],['../classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed',1,'kudu::client::KuduTable::num_replicas()']]],
-  ['numpartitions_297',['NumPartitions',['../classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a',1,'kudu::client::KuduPartitioner']]],
-  ['numrows_298',['NumRows',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7',1,'kudu::client::KuduColumnarScanBatch::NumRows()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c',1,'kudu::client::KuduScanBatch::NumRows()']]]
+  ['name_262',['name',['../classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244',1,'kudu::client::KuduTable']]],
+  ['nanostotimespec_263',['NanosToTimeSpec',['../classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22',1,'kudu::MonoDelta']]],
+  ['networkerror_264',['NetworkError',['../classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af',1,'kudu::Status']]],
+  ['newcomparisonpredicate_265',['NewComparisonPredicate',['../classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea',1,'kudu::client::KuduTable']]],
+  ['newdelete_266',['NewDelete',['../classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a',1,'kudu::client::KuduTable']]],
+  ['newdeleteignore_267',['NewDeleteIgnore',['../classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094',1,'kudu::client::KuduTable']]],
+  ['newinbloomfilterpredicate_268',['NewInBloomFilterPredicate',['../classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &amp;col_name, std::vector&lt; KuduBloomFilter * &gt; *bloom_filters)'],['../classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &amp;col_name, const std::vector&lt; Slice &gt; &amp;bloom_filters)']]],
+  ['newinlistpredicate_269',['NewInListPredicate',['../classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9',1,'kudu::client::KuduTable']]],
+  ['newinsert_270',['NewInsert',['../classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6',1,'kudu::client::KuduTable']]],
+  ['newinsertignore_271',['NewInsertIgnore',['../classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103',1,'kudu::client::KuduTable']]],
+  ['newisnotnullpredicate_272',['NewIsNotNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523',1,'kudu::client::KuduTable']]],
+  ['newisnullpredicate_273',['NewIsNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466',1,'kudu::client::KuduTable']]],
+  ['newsession_274',['NewSession',['../classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925',1,'kudu::client::KuduClient']]],
+  ['newtablealterer_275',['NewTableAlterer',['../classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea',1,'kudu::client::KuduClient']]],
+  ['newtablecreator_276',['NewTableCreator',['../classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153',1,'kudu::client::KuduClient']]],
+  ['newtransaction_277',['NewTransaction',['../classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345',1,'kudu::client::KuduClient']]],
+  ['newupdate_278',['NewUpdate',['../classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8',1,'kudu::client::KuduTable']]],
+  ['newupdateignore_279',['NewUpdateIgnore',['../classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3',1,'kudu::client::KuduTable']]],
+  ['newupsert_280',['NewUpsert',['../classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc',1,'kudu::client::KuduTable']]],
+  ['nextbatch_281',['NextBatch',['../classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067',1,'kudu::client::KuduScanner::NextBatch(std::vector&lt; KuduRowResult &gt; *rows) ATTRIBUTE_DEPRECATED(&quot;use NextBatch(KuduScanBatch*) instead&quot;)'],['../classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487',1,'kudu::client::KuduScanner::NextBatch(KuduScanBatch *batch)'],['../classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81',1,'kudu::client::KuduScanner::NextBatch(KuduColumnarScanBatch *batch)']]],
+  ['no_5fflags_282',['NO_FLAGS',['../classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85',1,'kudu::client::KuduScanner']]],
+  ['notauthorized_283',['NotAuthorized',['../classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba',1,'kudu::Status']]],
+  ['notfound_284',['NotFound',['../classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3',1,'kudu::Status']]],
+  ['notnull_285',['NotNull',['../classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca',1,'kudu::client::KuduColumnSpec']]],
+  ['notsupported_286',['NotSupported',['../classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c',1,'kudu::Status']]],
+  ['now_287',['Now',['../classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783',1,'kudu::MonoTime']]],
+  ['nullable_288',['Nullable',['../classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841',1,'kudu::client::KuduColumnSpec']]],
+  ['nulllog_289',['NullLog',['../classkudu_1_1internal__logging_1_1NullLog.html',1,'kudu::internal_logging']]],
+  ['num_5freactors_290',['num_reactors',['../classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb',1,'kudu::client::KuduClientBuilder']]],
+  ['num_5freplicas_291',['num_replicas',['../classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139',1,'kudu::client::KuduTableCreator::num_replicas()'],['../classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed',1,'kudu::client::KuduTable::num_replicas()']]],
+  ['numpartitions_292',['NumPartitions',['../classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a',1,'kudu::client::KuduPartitioner']]],
+  ['numrows_293',['NumRows',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7',1,'kudu::client::KuduColumnarScanBatch::NumRows()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c',1,'kudu::client::KuduScanBatch::NumRows()']]]
 ];
diff --git a/cpp-client-api/search/all_d.js b/cpp-client-api/search/all_d.js
index 82d3b12..f828cfe 100644
--- a/cpp-client-api/search/all_d.js
+++ b/cpp-client-api/search/all_d.js
@@ -1,24 +1,25 @@
 var searchData=
 [
-  ['ok_299',['OK',['../classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac',1,'kudu::Status']]],
-  ['ok_300',['ok',['../classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af',1,'kudu::Status']]],
-  ['on_5fdisk_5fsize_301',['on_disk_size',['../classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484',1,'kudu::client::KuduTableStatistics']]],
-  ['open_302',['Open',['../classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1',1,'kudu::client::KuduScanner']]],
-  ['opentable_303',['OpenTable',['../classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7',1,'kudu::client::KuduClient']]],
-  ['operator_21_3d_304',['operator!=',['../classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0',1,'kudu::client::KuduScanBatch']]],
-  ['operator_28_29_305',['operator()',['../structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5',1,'kudu::Slice::Comparator']]],
-  ['operator_2a_306',['operator*',['../classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9',1,'kudu::client::KuduScanBatch']]],
-  ['operator_2b_307',['operator+',['../classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08',1,'kudu::MonoDelta']]],
-  ['operator_2b_2b_308',['operator++',['../classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c',1,'kudu::client::KuduScanBatch::operator++()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48',1,'kudu::client::KuduScanBatch::operator++(int)']]],
-  ['operator_2b_3d_309',['operator+=',['../classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299',1,'kudu::MonoDelta']]],
-  ['operator_2d_310',['operator-',['../classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b',1,'kudu::MonoDelta']]],
-  ['operator_2d_3d_311',['operator-=',['../classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb',1,'kudu::MonoDelta']]],
-  ['operator_2d_3e_312',['operator-&gt;',['../classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf',1,'kudu::client::KuduScanBatch::operator-&gt;() const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b',1,'kudu::client::KuduScanBatch::operator-&gt;() const']]],
-  ['operator_3c_3c_313',['operator&lt;&lt;',['../classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a',1,'kudu::internal_logging::NullLog::operator&lt;&lt;()'],['../classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724',1,'kudu::internal_logging::CerrLog::operator&lt;&lt;()']]],
-  ['operator_3d_314',['operator=',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7',1,'kudu::client::KuduColumnTypeAttributes::operator=()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e',1,'kudu::client::KuduColumnSchema::operator=()'],['../classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758',1,'kudu::client::KuduSchema::operator=()'],['../classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f',1,'KuduPartialRow::operator=()'],['../classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88',1,'kudu::Status::operator=()']]],
-  ['operator_3d_3d_315',['operator==',['../classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63',1,'kudu::client::KuduScanBatch::operator==()'],['../classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c',1,'kudu::Slice::operator==()']]],
-  ['operator_5b_5d_316',['operator[]',['../classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff',1,'kudu::Slice']]],
-  ['ordered_317',['ORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a',1,'kudu::client::KuduScanner']]],
-  ['ordermode_318',['OrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9',1,'kudu::client::KuduScanner']]],
-  ['owner_319',['owner',['../classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d',1,'kudu::client::KuduTable']]]
+  ['ok_294',['OK',['../classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac',1,'kudu::Status']]],
+  ['ok_295',['ok',['../classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af',1,'kudu::Status']]],
+  ['on_5fdisk_5fsize_296',['on_disk_size',['../classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484',1,'kudu::client::KuduTableStatistics']]],
+  ['on_5fdisk_5fsize_5flimit_297',['on_disk_size_limit',['../classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a',1,'kudu::client::KuduTableStatistics']]],
+  ['open_298',['Open',['../classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1',1,'kudu::client::KuduScanner']]],
+  ['opentable_299',['OpenTable',['../classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7',1,'kudu::client::KuduClient']]],
+  ['operator_21_3d_300',['operator!=',['../classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0',1,'kudu::client::KuduScanBatch']]],
+  ['operator_28_29_301',['operator()',['../structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5',1,'kudu::Slice::Comparator']]],
+  ['operator_2a_302',['operator*',['../classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9',1,'kudu::client::KuduScanBatch']]],
+  ['operator_2b_303',['operator+',['../classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08',1,'kudu::MonoDelta']]],
+  ['operator_2b_2b_304',['operator++',['../classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c',1,'kudu::client::KuduScanBatch::operator++()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48',1,'kudu::client::KuduScanBatch::operator++(int)']]],
+  ['operator_2b_3d_305',['operator+=',['../classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299',1,'kudu::MonoDelta']]],
+  ['operator_2d_306',['operator-',['../classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b',1,'kudu::MonoDelta']]],
+  ['operator_2d_3d_307',['operator-=',['../classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb',1,'kudu::MonoDelta']]],
+  ['operator_2d_3e_308',['operator-&gt;',['../classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf',1,'kudu::client::KuduScanBatch::operator-&gt;() const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b',1,'kudu::client::KuduScanBatch::operator-&gt;() const']]],
+  ['operator_3c_3c_309',['operator&lt;&lt;',['../classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a',1,'kudu::internal_logging::NullLog::operator&lt;&lt;()'],['../classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724',1,'kudu::internal_logging::CerrLog::operator&lt;&lt;()']]],
+  ['operator_3d_310',['operator=',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7',1,'kudu::client::KuduColumnTypeAttributes::operator=()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e',1,'kudu::client::KuduColumnSchema::operator=()'],['../classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758',1,'kudu::client::KuduSchema::operator=()'],['../classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f',1,'KuduPartialRow::operator=()'],['../classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88',1,'kudu::Status::operator=()']]],
+  ['operator_3d_3d_311',['operator==',['../classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63',1,'kudu::client::KuduScanBatch::operator==()'],['../classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c',1,'kudu::Slice::operator==()']]],
+  ['operator_5b_5d_312',['operator[]',['../classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff',1,'kudu::Slice']]],
+  ['ordered_313',['ORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a',1,'kudu::client::KuduScanner']]],
+  ['ordermode_314',['OrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9',1,'kudu::client::KuduScanner']]],
+  ['owner_315',['owner',['../classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d',1,'kudu::client::KuduTable']]]
 ];
diff --git a/cpp-client-api/search/all_e.js b/cpp-client-api/search/all_e.js
index 72f6710..68de4c4 100644
--- a/cpp-client-api/search/all_e.js
+++ b/cpp-client-api/search/all_e.js
@@ -1,12 +1,12 @@
 var searchData=
 [
-  ['pad_5funixtime_5fmicros_5fto_5f16_5fbytes_320',['PAD_UNIXTIME_MICROS_TO_16_BYTES',['../classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44',1,'kudu::client::KuduScanner']]],
-  ['partition_5fschema_321',['partition_schema',['../classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2',1,'kudu::client::KuduTable']]],
-  ['partitionrow_322',['PartitionRow',['../classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369',1,'kudu::client::KuduPartitioner']]],
-  ['port_323',['port',['../classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f',1,'kudu::client::KuduTabletServer']]],
-  ['posix_5fcode_324',['posix_code',['../classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d',1,'kudu::Status']]],
-  ['precision_325',['precision',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1',1,'kudu::client::KuduColumnTypeAttributes']]],
-  ['precision_326',['Precision',['../classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb',1,'kudu::client::KuduColumnSpec']]],
-  ['primarykey_327',['PrimaryKey',['../classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2',1,'kudu::client::KuduColumnSpec']]],
-  ['projection_5fschema_328',['projection_schema',['../classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324',1,'kudu::client::KuduScanBatch']]]
+  ['pad_5funixtime_5fmicros_5fto_5f16_5fbytes_316',['PAD_UNIXTIME_MICROS_TO_16_BYTES',['../classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44',1,'kudu::client::KuduScanner']]],
+  ['partition_5fschema_317',['partition_schema',['../classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2',1,'kudu::client::KuduTable']]],
+  ['partitionrow_318',['PartitionRow',['../classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369',1,'kudu::client::KuduPartitioner']]],
+  ['port_319',['port',['../classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f',1,'kudu::client::KuduTabletServer']]],
+  ['posix_5fcode_320',['posix_code',['../classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d',1,'kudu::Status']]],
+  ['precision_321',['precision',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1',1,'kudu::client::KuduColumnTypeAttributes']]],
+  ['precision_322',['Precision',['../classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb',1,'kudu::client::KuduColumnSpec']]],
+  ['primarykey_323',['PrimaryKey',['../classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2',1,'kudu::client::KuduColumnSpec']]],
+  ['projection_5fschema_324',['projection_schema',['../classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324',1,'kudu::client::KuduScanBatch']]]
 ];
diff --git a/cpp-client-api/search/all_f.js b/cpp-client-api/search/all_f.js
index a361b8c..cba7e21 100644
--- a/cpp-client-api/search/all_f.js
+++ b/cpp-client-api/search/all_f.js
@@ -1,24 +1,24 @@
 var searchData=
 [
-  ['rangepartitionbound_329',['RangePartitionBound',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b',1,'kudu::client::KuduTableCreator']]],
-  ['read_5fat_5fsnapshot_330',['READ_AT_SNAPSHOT',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2',1,'kudu::client::KuduScanner']]],
-  ['read_5flatest_331',['READ_LATEST',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8',1,'kudu::client::KuduScanner']]],
-  ['read_5fyour_5fwrites_332',['READ_YOUR_WRITES',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567',1,'kudu::client::KuduScanner']]],
-  ['readmode_333',['ReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348',1,'kudu::client::KuduScanner']]],
-  ['release_5ffailed_5fop_334',['release_failed_op',['../classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a',1,'kudu::client::KuduError']]],
-  ['relocate_335',['relocate',['../classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806',1,'kudu::Slice']]],
-  ['remoteerror_336',['RemoteError',['../classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f',1,'kudu::Status']]],
-  ['remove_5fprefix_337',['remove_prefix',['../classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842',1,'kudu::Slice']]],
-  ['removedefault_338',['RemoveDefault',['../classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82',1,'kudu::client::KuduColumnSpec']]],
-  ['renameto_339',['RenameTo',['../classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324',1,'kudu::client::KuduTableAlterer::RenameTo()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4',1,'kudu::client::KuduColumnSpec::RenameTo()']]],
-  ['replicas_340',['replicas',['../classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19',1,'kudu::client::KuduTablet']]],
-  ['replicaselection_341',['ReplicaSelection',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a',1,'kudu::client::KuduClient']]],
-  ['reset_342',['Reset',['../classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab',1,'kudu::client::KuduSchema']]],
-  ['resourcemetrics_343',['ResourceMetrics',['../classkudu_1_1client_1_1ResourceMetrics.html',1,'kudu::client']]],
-  ['rollback_344',['Rollback',['../classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8',1,'kudu::client::KuduTransaction']]],
-  ['row_345',['row',['../classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd',1,'kudu::client::KuduWriteOperation']]],
-  ['row_346',['Row',['../classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320',1,'kudu::client::KuduScanBatch']]],
-  ['rowptr_347',['RowPtr',['../classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e',1,'kudu::client::KuduScanBatch']]],
-  ['run_348',['Run',['../classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c',1,'kudu::client::KuduLoggingCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9',1,'kudu::client::KuduLoggingMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d',1,'kudu::client::KuduLoggingFunctionCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07',1,'kudu::client::KuduStatusCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232',1,'kudu::client::KuduStatusMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a',1,'kudu::client::KuduStatusFunctionCallback::Run()']]],
-  ['runtimeerror_349',['RuntimeError',['../classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692',1,'kudu::Status']]]
+  ['rangepartitionbound_325',['RangePartitionBound',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b',1,'kudu::client::KuduTableCreator']]],
+  ['read_5fat_5fsnapshot_326',['READ_AT_SNAPSHOT',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2',1,'kudu::client::KuduScanner']]],
+  ['read_5flatest_327',['READ_LATEST',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8',1,'kudu::client::KuduScanner']]],
+  ['read_5fyour_5fwrites_328',['READ_YOUR_WRITES',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567',1,'kudu::client::KuduScanner']]],
+  ['readmode_329',['ReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348',1,'kudu::client::KuduScanner']]],
+  ['release_5ffailed_5fop_330',['release_failed_op',['../classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a',1,'kudu::client::KuduError']]],
+  ['relocate_331',['relocate',['../classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806',1,'kudu::Slice']]],
+  ['remoteerror_332',['RemoteError',['../classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f',1,'kudu::Status']]],
+  ['remove_5fprefix_333',['remove_prefix',['../classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842',1,'kudu::Slice']]],
+  ['removedefault_334',['RemoveDefault',['../classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82',1,'kudu::client::KuduColumnSpec']]],
+  ['renameto_335',['RenameTo',['../classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324',1,'kudu::client::KuduTableAlterer::RenameTo()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4',1,'kudu::client::KuduColumnSpec::RenameTo()']]],
+  ['replicas_336',['replicas',['../classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19',1,'kudu::client::KuduTablet']]],
+  ['replicaselection_337',['ReplicaSelection',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a',1,'kudu::client::KuduClient']]],
+  ['reset_338',['Reset',['../classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab',1,'kudu::client::KuduSchema']]],
+  ['resourcemetrics_339',['ResourceMetrics',['../classkudu_1_1client_1_1ResourceMetrics.html',1,'kudu::client']]],
+  ['rollback_340',['Rollback',['../classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8',1,'kudu::client::KuduTransaction']]],
+  ['row_341',['row',['../classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd',1,'kudu::client::KuduWriteOperation']]],
+  ['row_342',['Row',['../classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320',1,'kudu::client::KuduScanBatch']]],
+  ['rowptr_343',['RowPtr',['../classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e',1,'kudu::client::KuduScanBatch']]],
+  ['run_344',['Run',['../classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c',1,'kudu::client::KuduLoggingCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9',1,'kudu::client::KuduLoggingMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d',1,'kudu::client::KuduLoggingFunctionCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07',1,'kudu::client::KuduStatusCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232',1,'kudu::client::KuduStatusMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a',1,'kudu::client::KuduStatusFunctionCallback::Run()']]],
+  ['runtimeerror_345',['RuntimeError',['../classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692',1,'kudu::Status']]]
 ];
diff --git a/cpp-client-api/search/classes_0.js b/cpp-client-api/search/classes_0.js
index ea666a8..676c068 100644
--- a/cpp-client-api/search/classes_0.js
+++ b/cpp-client-api/search/classes_0.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['asyncleadermasterrpc_441',['AsyncLeaderMasterRpc',['../classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html',1,'kudu::client::internal']]],
-  ['asyncrandomtxnmanagerrpc_442',['AsyncRandomTxnManagerRpc',['../classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html',1,'kudu::client::internal']]]
+  ['asyncleadermasterrpc_442',['AsyncLeaderMasterRpc',['../classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html',1,'kudu::client::internal']]],
+  ['asyncrandomtxnmanagerrpc_443',['AsyncRandomTxnManagerRpc',['../classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html',1,'kudu::client::internal']]]
 ];
diff --git a/cpp-client-api/search/classes_1.js b/cpp-client-api/search/classes_1.js
index c82f55f..4134250 100644
--- a/cpp-client-api/search/classes_1.js
+++ b/cpp-client-api/search/classes_1.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['cerrlog_443',['CerrLog',['../classkudu_1_1internal__logging_1_1CerrLog.html',1,'kudu::internal_logging']]],
-  ['comparator_444',['Comparator',['../structkudu_1_1Slice_1_1Comparator.html',1,'kudu::Slice']]]
+  ['cerrlog_444',['CerrLog',['../classkudu_1_1internal__logging_1_1CerrLog.html',1,'kudu::internal_logging']]],
+  ['comparator_445',['Comparator',['../structkudu_1_1Slice_1_1Comparator.html',1,'kudu::Slice']]]
 ];
diff --git a/cpp-client-api/search/classes_2.js b/cpp-client-api/search/classes_2.js
index d4a23e5..2e79205 100644
--- a/cpp-client-api/search/classes_2.js
+++ b/cpp-client-api/search/classes_2.js
@@ -1,47 +1,47 @@
 var searchData=
 [
-  ['kudubloomfilter_445',['KuduBloomFilter',['../classkudu_1_1client_1_1KuduBloomFilter.html',1,'kudu::client']]],
-  ['kudubloomfilterbuilder_446',['KuduBloomFilterBuilder',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html',1,'kudu::client']]],
-  ['kuduclient_447',['KuduClient',['../classkudu_1_1client_1_1KuduClient.html',1,'kudu::client']]],
-  ['kuduclientbuilder_448',['KuduClientBuilder',['../classkudu_1_1client_1_1KuduClientBuilder.html',1,'kudu::client']]],
-  ['kuducolumnarscanbatch_449',['KuduColumnarScanBatch',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html',1,'kudu::client']]],
-  ['kuducolumnschema_450',['KuduColumnSchema',['../classkudu_1_1client_1_1KuduColumnSchema.html',1,'kudu::client']]],
-  ['kuducolumnspec_451',['KuduColumnSpec',['../classkudu_1_1client_1_1KuduColumnSpec.html',1,'kudu::client']]],
-  ['kuducolumnstorageattributes_452',['KuduColumnStorageAttributes',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html',1,'kudu::client']]],
-  ['kuducolumntypeattributes_453',['KuduColumnTypeAttributes',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html',1,'kudu::client']]],
-  ['kududelete_454',['KuduDelete',['../classkudu_1_1client_1_1KuduDelete.html',1,'kudu::client']]],
-  ['kududeleteignore_455',['KuduDeleteIgnore',['../classkudu_1_1client_1_1KuduDeleteIgnore.html',1,'kudu::client']]],
-  ['kuduerror_456',['KuduError',['../classkudu_1_1client_1_1KuduError.html',1,'kudu::client']]],
-  ['kuduinsert_457',['KuduInsert',['../classkudu_1_1client_1_1KuduInsert.html',1,'kudu::client']]],
-  ['kuduinsertignore_458',['KuduInsertIgnore',['../classkudu_1_1client_1_1KuduInsertIgnore.html',1,'kudu::client']]],
-  ['kuduloggingcallback_459',['KuduLoggingCallback',['../classkudu_1_1client_1_1KuduLoggingCallback.html',1,'kudu::client']]],
-  ['kuduloggingfunctioncallback_460',['KuduLoggingFunctionCallback',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html',1,'kudu::client']]],
-  ['kuduloggingmembercallback_461',['KuduLoggingMemberCallback',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html',1,'kudu::client']]],
-  ['kudupartialrow_462',['KuduPartialRow',['../classKuduPartialRow.html',1,'']]],
-  ['kudupartitioner_463',['KuduPartitioner',['../classkudu_1_1client_1_1KuduPartitioner.html',1,'kudu::client']]],
-  ['kudupartitionerbuilder_464',['KuduPartitionerBuilder',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html',1,'kudu::client']]],
-  ['kudupredicate_465',['KuduPredicate',['../classkudu_1_1client_1_1KuduPredicate.html',1,'kudu::client']]],
-  ['kudureplica_466',['KuduReplica',['../classkudu_1_1client_1_1KuduReplica.html',1,'kudu::client']]],
-  ['kuduscanbatch_467',['KuduScanBatch',['../classkudu_1_1client_1_1KuduScanBatch.html',1,'kudu::client']]],
-  ['kuduscanner_468',['KuduScanner',['../classkudu_1_1client_1_1KuduScanner.html',1,'kudu::client']]],
-  ['kuduscantoken_469',['KuduScanToken',['../classkudu_1_1client_1_1KuduScanToken.html',1,'kudu::client']]],
-  ['kuduscantokenbuilder_470',['KuduScanTokenBuilder',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html',1,'kudu::client']]],
-  ['kuduschema_471',['KuduSchema',['../classkudu_1_1client_1_1KuduSchema.html',1,'kudu::client']]],
-  ['kuduschemabuilder_472',['KuduSchemaBuilder',['../classkudu_1_1client_1_1KuduSchemaBuilder.html',1,'kudu::client']]],
-  ['kudusession_473',['KuduSession',['../classkudu_1_1client_1_1KuduSession.html',1,'kudu::client']]],
-  ['kudustatuscallback_474',['KuduStatusCallback',['../classkudu_1_1client_1_1KuduStatusCallback.html',1,'kudu::client']]],
-  ['kudustatusfunctioncallback_475',['KuduStatusFunctionCallback',['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html',1,'kudu::client']]],
-  ['kudustatusmembercallback_476',['KuduStatusMemberCallback',['../classkudu_1_1client_1_1KuduStatusMemberCallback.html',1,'kudu::client']]],
-  ['kudutable_477',['KuduTable',['../classkudu_1_1client_1_1KuduTable.html',1,'kudu::client']]],
-  ['kudutablealterer_478',['KuduTableAlterer',['../classkudu_1_1client_1_1KuduTableAlterer.html',1,'kudu::client']]],
-  ['kudutablecreator_479',['KuduTableCreator',['../classkudu_1_1client_1_1KuduTableCreator.html',1,'kudu::client']]],
-  ['kudutablestatistics_480',['KuduTableStatistics',['../classkudu_1_1client_1_1KuduTableStatistics.html',1,'kudu::client']]],
-  ['kudutablet_481',['KuduTablet',['../classkudu_1_1client_1_1KuduTablet.html',1,'kudu::client']]],
-  ['kudutabletserver_482',['KuduTabletServer',['../classkudu_1_1client_1_1KuduTabletServer.html',1,'kudu::client']]],
-  ['kudutransaction_483',['KuduTransaction',['../classkudu_1_1client_1_1KuduTransaction.html',1,'kudu::client']]],
-  ['kuduupdate_484',['KuduUpdate',['../classkudu_1_1client_1_1KuduUpdate.html',1,'kudu::client']]],
-  ['kuduupdateignore_485',['KuduUpdateIgnore',['../classkudu_1_1client_1_1KuduUpdateIgnore.html',1,'kudu::client']]],
-  ['kuduupsert_486',['KuduUpsert',['../classkudu_1_1client_1_1KuduUpsert.html',1,'kudu::client']]],
-  ['kuduvalue_487',['KuduValue',['../classkudu_1_1client_1_1KuduValue.html',1,'kudu::client']]],
-  ['kuduwriteoperation_488',['KuduWriteOperation',['../classkudu_1_1client_1_1KuduWriteOperation.html',1,'kudu::client']]]
+  ['kudubloomfilter_446',['KuduBloomFilter',['../classkudu_1_1client_1_1KuduBloomFilter.html',1,'kudu::client']]],
+  ['kudubloomfilterbuilder_447',['KuduBloomFilterBuilder',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html',1,'kudu::client']]],
+  ['kuduclient_448',['KuduClient',['../classkudu_1_1client_1_1KuduClient.html',1,'kudu::client']]],
+  ['kuduclientbuilder_449',['KuduClientBuilder',['../classkudu_1_1client_1_1KuduClientBuilder.html',1,'kudu::client']]],
+  ['kuducolumnarscanbatch_450',['KuduColumnarScanBatch',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html',1,'kudu::client']]],
+  ['kuducolumnschema_451',['KuduColumnSchema',['../classkudu_1_1client_1_1KuduColumnSchema.html',1,'kudu::client']]],
+  ['kuducolumnspec_452',['KuduColumnSpec',['../classkudu_1_1client_1_1KuduColumnSpec.html',1,'kudu::client']]],
+  ['kuducolumnstorageattributes_453',['KuduColumnStorageAttributes',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html',1,'kudu::client']]],
+  ['kuducolumntypeattributes_454',['KuduColumnTypeAttributes',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html',1,'kudu::client']]],
+  ['kududelete_455',['KuduDelete',['../classkudu_1_1client_1_1KuduDelete.html',1,'kudu::client']]],
+  ['kududeleteignore_456',['KuduDeleteIgnore',['../classkudu_1_1client_1_1KuduDeleteIgnore.html',1,'kudu::client']]],
+  ['kuduerror_457',['KuduError',['../classkudu_1_1client_1_1KuduError.html',1,'kudu::client']]],
+  ['kuduinsert_458',['KuduInsert',['../classkudu_1_1client_1_1KuduInsert.html',1,'kudu::client']]],
+  ['kuduinsertignore_459',['KuduInsertIgnore',['../classkudu_1_1client_1_1KuduInsertIgnore.html',1,'kudu::client']]],
+  ['kuduloggingcallback_460',['KuduLoggingCallback',['../classkudu_1_1client_1_1KuduLoggingCallback.html',1,'kudu::client']]],
+  ['kuduloggingfunctioncallback_461',['KuduLoggingFunctionCallback',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html',1,'kudu::client']]],
+  ['kuduloggingmembercallback_462',['KuduLoggingMemberCallback',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html',1,'kudu::client']]],
+  ['kudupartialrow_463',['KuduPartialRow',['../classKuduPartialRow.html',1,'']]],
+  ['kudupartitioner_464',['KuduPartitioner',['../classkudu_1_1client_1_1KuduPartitioner.html',1,'kudu::client']]],
+  ['kudupartitionerbuilder_465',['KuduPartitionerBuilder',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html',1,'kudu::client']]],
+  ['kudupredicate_466',['KuduPredicate',['../classkudu_1_1client_1_1KuduPredicate.html',1,'kudu::client']]],
+  ['kudureplica_467',['KuduReplica',['../classkudu_1_1client_1_1KuduReplica.html',1,'kudu::client']]],
+  ['kuduscanbatch_468',['KuduScanBatch',['../classkudu_1_1client_1_1KuduScanBatch.html',1,'kudu::client']]],
+  ['kuduscanner_469',['KuduScanner',['../classkudu_1_1client_1_1KuduScanner.html',1,'kudu::client']]],
+  ['kuduscantoken_470',['KuduScanToken',['../classkudu_1_1client_1_1KuduScanToken.html',1,'kudu::client']]],
+  ['kuduscantokenbuilder_471',['KuduScanTokenBuilder',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html',1,'kudu::client']]],
+  ['kuduschema_472',['KuduSchema',['../classkudu_1_1client_1_1KuduSchema.html',1,'kudu::client']]],
+  ['kuduschemabuilder_473',['KuduSchemaBuilder',['../classkudu_1_1client_1_1KuduSchemaBuilder.html',1,'kudu::client']]],
+  ['kudusession_474',['KuduSession',['../classkudu_1_1client_1_1KuduSession.html',1,'kudu::client']]],
+  ['kudustatuscallback_475',['KuduStatusCallback',['../classkudu_1_1client_1_1KuduStatusCallback.html',1,'kudu::client']]],
+  ['kudustatusfunctioncallback_476',['KuduStatusFunctionCallback',['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html',1,'kudu::client']]],
+  ['kudustatusmembercallback_477',['KuduStatusMemberCallback',['../classkudu_1_1client_1_1KuduStatusMemberCallback.html',1,'kudu::client']]],
+  ['kudutable_478',['KuduTable',['../classkudu_1_1client_1_1KuduTable.html',1,'kudu::client']]],
+  ['kudutablealterer_479',['KuduTableAlterer',['../classkudu_1_1client_1_1KuduTableAlterer.html',1,'kudu::client']]],
+  ['kudutablecreator_480',['KuduTableCreator',['../classkudu_1_1client_1_1KuduTableCreator.html',1,'kudu::client']]],
+  ['kudutablestatistics_481',['KuduTableStatistics',['../classkudu_1_1client_1_1KuduTableStatistics.html',1,'kudu::client']]],
+  ['kudutablet_482',['KuduTablet',['../classkudu_1_1client_1_1KuduTablet.html',1,'kudu::client']]],
+  ['kudutabletserver_483',['KuduTabletServer',['../classkudu_1_1client_1_1KuduTabletServer.html',1,'kudu::client']]],
+  ['kudutransaction_484',['KuduTransaction',['../classkudu_1_1client_1_1KuduTransaction.html',1,'kudu::client']]],
+  ['kuduupdate_485',['KuduUpdate',['../classkudu_1_1client_1_1KuduUpdate.html',1,'kudu::client']]],
+  ['kuduupdateignore_486',['KuduUpdateIgnore',['../classkudu_1_1client_1_1KuduUpdateIgnore.html',1,'kudu::client']]],
+  ['kuduupsert_487',['KuduUpsert',['../classkudu_1_1client_1_1KuduUpsert.html',1,'kudu::client']]],
+  ['kuduvalue_488',['KuduValue',['../classkudu_1_1client_1_1KuduValue.html',1,'kudu::client']]],
+  ['kuduwriteoperation_489',['KuduWriteOperation',['../classkudu_1_1client_1_1KuduWriteOperation.html',1,'kudu::client']]]
 ];
diff --git a/cpp-client-api/search/classes_3.js b/cpp-client-api/search/classes_3.js
index 759a875..1afd316 100644
--- a/cpp-client-api/search/classes_3.js
+++ b/cpp-client-api/search/classes_3.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['monodelta_489',['MonoDelta',['../classkudu_1_1MonoDelta.html',1,'kudu']]],
-  ['monotime_490',['MonoTime',['../classkudu_1_1MonoTime.html',1,'kudu']]]
+  ['monodelta_490',['MonoDelta',['../classkudu_1_1MonoDelta.html',1,'kudu']]],
+  ['monotime_491',['MonoTime',['../classkudu_1_1MonoTime.html',1,'kudu']]]
 ];
diff --git a/cpp-client-api/search/classes_4.js b/cpp-client-api/search/classes_4.js
index edf6fee..b2b06aa 100644
--- a/cpp-client-api/search/classes_4.js
+++ b/cpp-client-api/search/classes_4.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['nulllog_491',['NullLog',['../classkudu_1_1internal__logging_1_1NullLog.html',1,'kudu::internal_logging']]]
+  ['nulllog_492',['NullLog',['../classkudu_1_1internal__logging_1_1NullLog.html',1,'kudu::internal_logging']]]
 ];
diff --git a/cpp-client-api/search/classes_5.js b/cpp-client-api/search/classes_5.js
index 26faa0d..04d8055 100644
--- a/cpp-client-api/search/classes_5.js
+++ b/cpp-client-api/search/classes_5.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['resourcemetrics_492',['ResourceMetrics',['../classkudu_1_1client_1_1ResourceMetrics.html',1,'kudu::client']]]
+  ['resourcemetrics_493',['ResourceMetrics',['../classkudu_1_1client_1_1ResourceMetrics.html',1,'kudu::client']]]
 ];
diff --git a/cpp-client-api/search/classes_6.js b/cpp-client-api/search/classes_6.js
index d52f91d..1d9bce3 100644
--- a/cpp-client-api/search/classes_6.js
+++ b/cpp-client-api/search/classes_6.js
@@ -1,7 +1,7 @@
 var searchData=
 [
-  ['serializationoptions_493',['SerializationOptions',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html',1,'kudu::client::KuduTransaction']]],
-  ['slice_494',['Slice',['../classkudu_1_1Slice.html',1,'kudu']]],
-  ['slicemap_495',['SliceMap',['../structkudu_1_1SliceMap.html',1,'kudu']]],
-  ['status_496',['Status',['../classkudu_1_1Status.html',1,'kudu']]]
+  ['serializationoptions_494',['SerializationOptions',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html',1,'kudu::client::KuduTransaction']]],
+  ['slice_495',['Slice',['../classkudu_1_1Slice.html',1,'kudu']]],
+  ['slicemap_496',['SliceMap',['../structkudu_1_1SliceMap.html',1,'kudu']]],
+  ['status_497',['Status',['../classkudu_1_1Status.html',1,'kudu']]]
 ];
diff --git a/cpp-client-api/search/defines_0.js b/cpp-client-api/search/defines_0.js
index f159c88..b02ee62 100644
--- a/cpp-client-api/search/defines_0.js
+++ b/cpp-client-api/search/defines_0.js
@@ -1,15 +1,15 @@
 var searchData=
 [
-  ['kudu_5fcheck_5fok_887',['KUDU_CHECK_OK',['../status_8h.html#ac503ba85e942147294cdc82087da60f6',1,'status.h']]],
-  ['kudu_5fcheck_5fok_5fprepend_888',['KUDU_CHECK_OK_PREPEND',['../status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f',1,'status.h']]],
-  ['kudu_5fdcheck_5fok_889',['KUDU_DCHECK_OK',['../status_8h.html#a99332afa18f00de3c7fcf3e76949df9d',1,'status.h']]],
-  ['kudu_5fdcheck_5fok_5fprepend_890',['KUDU_DCHECK_OK_PREPEND',['../status_8h.html#a2b360b53025724bb97d1dc21e25e26cc',1,'status.h']]],
-  ['kudu_5flog_5fand_5freturn_891',['KUDU_LOG_AND_RETURN',['../status_8h.html#abbd85cc2c5535627091bb06a21918150',1,'status.h']]],
-  ['kudu_5freturn_5fmain_5fnot_5fok_892',['KUDU_RETURN_MAIN_NOT_OK',['../status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba',1,'status.h']]],
-  ['kudu_5freturn_5fnot_5fok_893',['KUDU_RETURN_NOT_OK',['../status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab',1,'status.h']]],
-  ['kudu_5freturn_5fnot_5fok_5feval_894',['KUDU_RETURN_NOT_OK_EVAL',['../status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e',1,'status.h']]],
-  ['kudu_5freturn_5fnot_5fok_5flog_895',['KUDU_RETURN_NOT_OK_LOG',['../status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce',1,'status.h']]],
-  ['kudu_5freturn_5fnot_5fok_5fprepend_896',['KUDU_RETURN_NOT_OK_PREPEND',['../status_8h.html#af66b8458f1d3f1264c1da86744e29e46',1,'status.h']]],
-  ['kudu_5freturn_5fnot_5fok_5fret_897',['KUDU_RETURN_NOT_OK_RET',['../status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223',1,'status.h']]],
-  ['kudu_5fwarn_5fnot_5fok_898',['KUDU_WARN_NOT_OK',['../status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e',1,'status.h']]]
+  ['kudu_5fcheck_5fok_888',['KUDU_CHECK_OK',['../status_8h.html#ac503ba85e942147294cdc82087da60f6',1,'status.h']]],
+  ['kudu_5fcheck_5fok_5fprepend_889',['KUDU_CHECK_OK_PREPEND',['../status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f',1,'status.h']]],
+  ['kudu_5fdcheck_5fok_890',['KUDU_DCHECK_OK',['../status_8h.html#a99332afa18f00de3c7fcf3e76949df9d',1,'status.h']]],
+  ['kudu_5fdcheck_5fok_5fprepend_891',['KUDU_DCHECK_OK_PREPEND',['../status_8h.html#a2b360b53025724bb97d1dc21e25e26cc',1,'status.h']]],
+  ['kudu_5flog_5fand_5freturn_892',['KUDU_LOG_AND_RETURN',['../status_8h.html#abbd85cc2c5535627091bb06a21918150',1,'status.h']]],
+  ['kudu_5freturn_5fmain_5fnot_5fok_893',['KUDU_RETURN_MAIN_NOT_OK',['../status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_894',['KUDU_RETURN_NOT_OK',['../status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5feval_895',['KUDU_RETURN_NOT_OK_EVAL',['../status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5flog_896',['KUDU_RETURN_NOT_OK_LOG',['../status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5fprepend_897',['KUDU_RETURN_NOT_OK_PREPEND',['../status_8h.html#af66b8458f1d3f1264c1da86744e29e46',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5fret_898',['KUDU_RETURN_NOT_OK_RET',['../status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223',1,'status.h']]],
+  ['kudu_5fwarn_5fnot_5fok_899',['KUDU_WARN_NOT_OK',['../status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e',1,'status.h']]]
 ];
diff --git a/cpp-client-api/search/enums_0.js b/cpp-client-api/search/enums_0.js
index 5d67726..2f150aa 100644
--- a/cpp-client-api/search/enums_0.js
+++ b/cpp-client-api/search/enums_0.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['comparisonop_856',['ComparisonOp',['../classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4',1,'kudu::client::KuduPredicate']]],
-  ['compressiontype_857',['CompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78',1,'kudu::client::KuduColumnStorageAttributes']]]
+  ['comparisonop_857',['ComparisonOp',['../classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4',1,'kudu::client::KuduPredicate']]],
+  ['compressiontype_858',['CompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78',1,'kudu::client::KuduColumnStorageAttributes']]]
 ];
diff --git a/cpp-client-api/search/enums_1.js b/cpp-client-api/search/enums_1.js
index 0531d00..b95b05e 100644
--- a/cpp-client-api/search/enums_1.js
+++ b/cpp-client-api/search/enums_1.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['datatype_858',['DataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5',1,'kudu::client::KuduColumnSchema']]]
+  ['datatype_859',['DataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5',1,'kudu::client::KuduColumnSchema']]]
 ];
diff --git a/cpp-client-api/search/enums_2.js b/cpp-client-api/search/enums_2.js
index 792bdae..e09cfbc 100644
--- a/cpp-client-api/search/enums_2.js
+++ b/cpp-client-api/search/enums_2.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['encodingtype_859',['EncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d',1,'kudu::client::KuduColumnStorageAttributes']]],
-  ['externalconsistencymode_860',['ExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22',1,'kudu::client::KuduSession']]]
+  ['encodingtype_860',['EncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['externalconsistencymode_861',['ExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22',1,'kudu::client::KuduSession']]]
 ];
diff --git a/cpp-client-api/search/enums_3.js b/cpp-client-api/search/enums_3.js
index 6cf5ebd..52ce541 100644
--- a/cpp-client-api/search/enums_3.js
+++ b/cpp-client-api/search/enums_3.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['flushmode_861',['FlushMode',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19',1,'kudu::client::KuduSession']]]
+  ['flushmode_862',['FlushMode',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19',1,'kudu::client::KuduSession']]]
 ];
diff --git a/cpp-client-api/search/enums_4.js b/cpp-client-api/search/enums_4.js
index c005c6e..d122864 100644
--- a/cpp-client-api/search/enums_4.js
+++ b/cpp-client-api/search/enums_4.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['ordermode_862',['OrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9',1,'kudu::client::KuduScanner']]]
+  ['ordermode_863',['OrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9',1,'kudu::client::KuduScanner']]]
 ];
diff --git a/cpp-client-api/search/enums_5.js b/cpp-client-api/search/enums_5.js
index 459a57c..6183d52 100644
--- a/cpp-client-api/search/enums_5.js
+++ b/cpp-client-api/search/enums_5.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['rangepartitionbound_863',['RangePartitionBound',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b',1,'kudu::client::KuduTableCreator']]],
-  ['readmode_864',['ReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348',1,'kudu::client::KuduScanner']]],
-  ['replicaselection_865',['ReplicaSelection',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a',1,'kudu::client::KuduClient']]]
+  ['rangepartitionbound_864',['RangePartitionBound',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b',1,'kudu::client::KuduTableCreator']]],
+  ['readmode_865',['ReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348',1,'kudu::client::KuduScanner']]],
+  ['replicaselection_866',['ReplicaSelection',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a',1,'kudu::client::KuduClient']]]
 ];
diff --git a/cpp-client-api/search/enums_6.js b/cpp-client-api/search/enums_6.js
index 0c8855d..3831f63 100644
--- a/cpp-client-api/search/enums_6.js
+++ b/cpp-client-api/search/enums_6.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['type_866',['Type',['../classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357',1,'kudu::client::KuduWriteOperation']]]
+  ['type_867',['Type',['../classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357',1,'kudu::client::KuduWriteOperation']]]
 ];
diff --git a/cpp-client-api/search/enumvalues_0.js b/cpp-client-api/search/enumvalues_0.js
index 5ffc595..359b695 100644
--- a/cpp-client-api/search/enumvalues_0.js
+++ b/cpp-client-api/search/enumvalues_0.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['auto_5fflush_5fbackground_867',['AUTO_FLUSH_BACKGROUND',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1',1,'kudu::client::KuduSession']]],
-  ['auto_5fflush_5fsync_868',['AUTO_FLUSH_SYNC',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b',1,'kudu::client::KuduSession']]]
+  ['auto_5fflush_5fbackground_868',['AUTO_FLUSH_BACKGROUND',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1',1,'kudu::client::KuduSession']]],
+  ['auto_5fflush_5fsync_869',['AUTO_FLUSH_SYNC',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b',1,'kudu::client::KuduSession']]]
 ];
diff --git a/cpp-client-api/search/enumvalues_1.js b/cpp-client-api/search/enumvalues_1.js
index 9bd696c..a60f2e1 100644
--- a/cpp-client-api/search/enumvalues_1.js
+++ b/cpp-client-api/search/enumvalues_1.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['client_5fpropagated_869',['CLIENT_PROPAGATED',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c',1,'kudu::client::KuduSession']]],
-  ['closest_5freplica_870',['CLOSEST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8',1,'kudu::client::KuduClient']]],
-  ['commit_5fwait_871',['COMMIT_WAIT',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9',1,'kudu::client::KuduSession']]]
+  ['client_5fpropagated_870',['CLIENT_PROPAGATED',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c',1,'kudu::client::KuduSession']]],
+  ['closest_5freplica_871',['CLOSEST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8',1,'kudu::client::KuduClient']]],
+  ['commit_5fwait_872',['COMMIT_WAIT',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9',1,'kudu::client::KuduSession']]]
 ];
diff --git a/cpp-client-api/search/enumvalues_2.js b/cpp-client-api/search/enumvalues_2.js
index 9cda488..38126dd 100644
--- a/cpp-client-api/search/enumvalues_2.js
+++ b/cpp-client-api/search/enumvalues_2.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['exclusive_5fbound_872',['EXCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601',1,'kudu::client::KuduTableCreator']]]
+  ['exclusive_5fbound_873',['EXCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601',1,'kudu::client::KuduTableCreator']]]
 ];
diff --git a/cpp-client-api/search/enumvalues_3.js b/cpp-client-api/search/enumvalues_3.js
index fdea5b6..f7af519 100644
--- a/cpp-client-api/search/enumvalues_3.js
+++ b/cpp-client-api/search/enumvalues_3.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['first_5freplica_873',['FIRST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f',1,'kudu::client::KuduClient']]]
+  ['first_5freplica_874',['FIRST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f',1,'kudu::client::KuduClient']]]
 ];
diff --git a/cpp-client-api/search/enumvalues_4.js b/cpp-client-api/search/enumvalues_4.js
index 42ce5dc..b849358 100644
--- a/cpp-client-api/search/enumvalues_4.js
+++ b/cpp-client-api/search/enumvalues_4.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['group_5fvarint_874',['GROUP_VARINT',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82',1,'kudu::client::KuduColumnStorageAttributes']]]
+  ['group_5fvarint_875',['GROUP_VARINT',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82',1,'kudu::client::KuduColumnStorageAttributes']]]
 ];
diff --git a/cpp-client-api/search/enumvalues_5.js b/cpp-client-api/search/enumvalues_5.js
index 74b8b81..c21d796 100644
--- a/cpp-client-api/search/enumvalues_5.js
+++ b/cpp-client-api/search/enumvalues_5.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['inclusive_5fbound_875',['INCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950',1,'kudu::client::KuduTableCreator']]]
+  ['inclusive_5fbound_876',['INCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950',1,'kudu::client::KuduTableCreator']]]
 ];
diff --git a/cpp-client-api/search/enumvalues_6.js b/cpp-client-api/search/enumvalues_6.js
index b95815e..960d75c 100644
--- a/cpp-client-api/search/enumvalues_6.js
+++ b/cpp-client-api/search/enumvalues_6.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['leader_5fonly_876',['LEADER_ONLY',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239',1,'kudu::client::KuduClient']]]
+  ['leader_5fonly_877',['LEADER_ONLY',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239',1,'kudu::client::KuduClient']]]
 ];
diff --git a/cpp-client-api/search/enumvalues_7.js b/cpp-client-api/search/enumvalues_7.js
index e2b5269..71bc49a 100644
--- a/cpp-client-api/search/enumvalues_7.js
+++ b/cpp-client-api/search/enumvalues_7.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['manual_5fflush_877',['MANUAL_FLUSH',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a',1,'kudu::client::KuduSession']]]
+  ['manual_5fflush_878',['MANUAL_FLUSH',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a',1,'kudu::client::KuduSession']]]
 ];
diff --git a/cpp-client-api/search/enumvalues_8.js b/cpp-client-api/search/enumvalues_8.js
index 16f69c6..59d81e7 100644
--- a/cpp-client-api/search/enumvalues_8.js
+++ b/cpp-client-api/search/enumvalues_8.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['ordered_878',['ORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a',1,'kudu::client::KuduScanner']]]
+  ['ordered_879',['ORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a',1,'kudu::client::KuduScanner']]]
 ];
diff --git a/cpp-client-api/search/enumvalues_9.js b/cpp-client-api/search/enumvalues_9.js
index 50ffc7f..6a49e9f 100644
--- a/cpp-client-api/search/enumvalues_9.js
+++ b/cpp-client-api/search/enumvalues_9.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['read_5fat_5fsnapshot_879',['READ_AT_SNAPSHOT',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2',1,'kudu::client::KuduScanner']]],
-  ['read_5flatest_880',['READ_LATEST',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8',1,'kudu::client::KuduScanner']]],
-  ['read_5fyour_5fwrites_881',['READ_YOUR_WRITES',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567',1,'kudu::client::KuduScanner']]]
+  ['read_5fat_5fsnapshot_880',['READ_AT_SNAPSHOT',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2',1,'kudu::client::KuduScanner']]],
+  ['read_5flatest_881',['READ_LATEST',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8',1,'kudu::client::KuduScanner']]],
+  ['read_5fyour_5fwrites_882',['READ_YOUR_WRITES',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567',1,'kudu::client::KuduScanner']]]
 ];
diff --git a/cpp-client-api/search/enumvalues_a.js b/cpp-client-api/search/enumvalues_a.js
index 7fa512f..8111191 100644
--- a/cpp-client-api/search/enumvalues_a.js
+++ b/cpp-client-api/search/enumvalues_a.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['timestamp_882',['TIMESTAMP',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505',1,'kudu::client::KuduColumnSchema']]]
+  ['timestamp_883',['TIMESTAMP',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505',1,'kudu::client::KuduColumnSchema']]]
 ];
diff --git a/cpp-client-api/search/enumvalues_b.js b/cpp-client-api/search/enumvalues_b.js
index 55edaa1..f2e0999 100644
--- a/cpp-client-api/search/enumvalues_b.js
+++ b/cpp-client-api/search/enumvalues_b.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['unordered_883',['UNORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3',1,'kudu::client::KuduScanner']]]
+  ['unordered_884',['UNORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3',1,'kudu::client::KuduScanner']]]
 ];
diff --git a/cpp-client-api/search/files_0.js b/cpp-client-api/search/files_0.js
index 36c6acd..ecee8e1 100644
--- a/cpp-client-api/search/files_0.js
+++ b/cpp-client-api/search/files_0.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['shared_5fptr_2eh_497',['shared_ptr.h',['../shared__ptr_8h.html',1,'']]],
-  ['status_2eh_498',['status.h',['../status_8h.html',1,'']]]
+  ['shared_5fptr_2eh_498',['shared_ptr.h',['../shared__ptr_8h.html',1,'']]],
+  ['status_2eh_499',['status.h',['../status_8h.html',1,'']]]
 ];
diff --git a/cpp-client-api/search/functions_0.js b/cpp-client-api/search/functions_0.js
index e1de323..5a4d385 100644
--- a/cpp-client-api/search/functions_0.js
+++ b/cpp-client-api/search/functions_0.js
@@ -1,25 +1,25 @@
 var searchData=
 [
-  ['aborted_499',['Aborted',['../classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144',1,'kudu::Status']]],
-  ['add_5fhash_5fpartitions_500',['add_hash_partitions',['../classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e',1,'kudu::client::KuduTableCreator::add_hash_partitions(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets)'],['../classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24',1,'kudu::client::KuduTableCreator::add_hash_partitions(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets, int32_t seed)']]],
-  ['add_5fmaster_5fserver_5faddr_501',['add_master_server_addr',['../classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c',1,'kudu::client::KuduClientBuilder']]],
-  ['add_5frange_5fpartition_502',['add_range_partition',['../classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a',1,'kudu::client::KuduTableCreator']]],
-  ['add_5frange_5fpartition_5fsplit_503',['add_range_partition_split',['../classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f',1,'kudu::client::KuduTableCreator']]],
-  ['addcolumn_504',['AddColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0',1,'kudu::client::KuduTableAlterer::AddColumn()'],['../classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600',1,'kudu::client::KuduSchemaBuilder::AddColumn()']]],
-  ['addconjunctpredicate_505',['AddConjunctPredicate',['../classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74',1,'kudu::client::KuduScanner::AddConjunctPredicate()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e',1,'kudu::client::KuduScanTokenBuilder::AddConjunctPredicate()']]],
-  ['addexclusiveupperbound_506',['AddExclusiveUpperBound',['../classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d',1,'kudu::client::KuduScanner']]],
-  ['addexclusiveupperboundpartitionkeyraw_507',['AddExclusiveUpperBoundPartitionKeyRaw',['../classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9',1,'kudu::client::KuduScanner']]],
-  ['addexclusiveupperboundraw_508',['AddExclusiveUpperBoundRaw',['../classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe',1,'kudu::client::KuduScanner']]],
-  ['addlowerbound_509',['AddLowerBound',['../classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86',1,'kudu::client::KuduScanner::AddLowerBound()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf',1,'kudu::client::KuduScanTokenBuilder::AddLowerBound()']]],
-  ['addlowerboundpartitionkeyraw_510',['AddLowerBoundPartitionKeyRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e',1,'kudu::client::KuduScanner']]],
-  ['addlowerboundraw_511',['AddLowerBoundRaw',['../classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e',1,'kudu::client::KuduScanner']]],
-  ['addrangepartition_512',['AddRangePartition',['../classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793',1,'kudu::client::KuduTableAlterer']]],
-  ['addrangepartitionwithdimension_513',['AddRangePartitionWithDimension',['../classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006',1,'kudu::client::KuduTableAlterer']]],
-  ['addupperbound_514',['AddUpperBound',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a',1,'kudu::client::KuduScanTokenBuilder']]],
-  ['allcolumnsset_515',['AllColumnsSet',['../classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d',1,'KuduPartialRow']]],
-  ['alreadypresent_516',['AlreadyPresent',['../classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45',1,'kudu::Status']]],
-  ['alter_517',['Alter',['../classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c',1,'kudu::client::KuduTableAlterer']]],
-  ['altercolumn_518',['AlterColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742',1,'kudu::client::KuduTableAlterer']]],
-  ['alterextraconfig_519',['AlterExtraConfig',['../classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541',1,'kudu::client::KuduTableAlterer']]],
-  ['apply_520',['Apply',['../classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943',1,'kudu::client::KuduSession']]]
+  ['aborted_500',['Aborted',['../classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144',1,'kudu::Status']]],
+  ['add_5fhash_5fpartitions_501',['add_hash_partitions',['../classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e',1,'kudu::client::KuduTableCreator::add_hash_partitions(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets)'],['../classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24',1,'kudu::client::KuduTableCreator::add_hash_partitions(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets, int32_t seed)']]],
+  ['add_5fmaster_5fserver_5faddr_502',['add_master_server_addr',['../classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c',1,'kudu::client::KuduClientBuilder']]],
+  ['add_5frange_5fpartition_503',['add_range_partition',['../classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a',1,'kudu::client::KuduTableCreator']]],
+  ['add_5frange_5fpartition_5fsplit_504',['add_range_partition_split',['../classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f',1,'kudu::client::KuduTableCreator']]],
+  ['addcolumn_505',['AddColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0',1,'kudu::client::KuduTableAlterer::AddColumn()'],['../classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600',1,'kudu::client::KuduSchemaBuilder::AddColumn()']]],
+  ['addconjunctpredicate_506',['AddConjunctPredicate',['../classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74',1,'kudu::client::KuduScanner::AddConjunctPredicate()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e',1,'kudu::client::KuduScanTokenBuilder::AddConjunctPredicate()']]],
+  ['addexclusiveupperbound_507',['AddExclusiveUpperBound',['../classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d',1,'kudu::client::KuduScanner']]],
+  ['addexclusiveupperboundpartitionkeyraw_508',['AddExclusiveUpperBoundPartitionKeyRaw',['../classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9',1,'kudu::client::KuduScanner']]],
+  ['addexclusiveupperboundraw_509',['AddExclusiveUpperBoundRaw',['../classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe',1,'kudu::client::KuduScanner']]],
+  ['addlowerbound_510',['AddLowerBound',['../classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86',1,'kudu::client::KuduScanner::AddLowerBound()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf',1,'kudu::client::KuduScanTokenBuilder::AddLowerBound()']]],
+  ['addlowerboundpartitionkeyraw_511',['AddLowerBoundPartitionKeyRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e',1,'kudu::client::KuduScanner']]],
+  ['addlowerboundraw_512',['AddLowerBoundRaw',['../classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e',1,'kudu::client::KuduScanner']]],
+  ['addrangepartition_513',['AddRangePartition',['../classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793',1,'kudu::client::KuduTableAlterer']]],
+  ['addrangepartitionwithdimension_514',['AddRangePartitionWithDimension',['../classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006',1,'kudu::client::KuduTableAlterer']]],
+  ['addupperbound_515',['AddUpperBound',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['allcolumnsset_516',['AllColumnsSet',['../classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d',1,'KuduPartialRow']]],
+  ['alreadypresent_517',['AlreadyPresent',['../classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45',1,'kudu::Status']]],
+  ['alter_518',['Alter',['../classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c',1,'kudu::client::KuduTableAlterer']]],
+  ['altercolumn_519',['AlterColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742',1,'kudu::client::KuduTableAlterer']]],
+  ['alterextraconfig_520',['AlterExtraConfig',['../classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541',1,'kudu::client::KuduTableAlterer']]],
+  ['apply_521',['Apply',['../classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943',1,'kudu::client::KuduSession']]]
 ];
diff --git a/cpp-client-api/search/functions_1.js b/cpp-client-api/search/functions_1.js
index 813fc70..30495aa 100644
--- a/cpp-client-api/search/functions_1.js
+++ b/cpp-client-api/search/functions_1.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['begin_521',['begin',['../classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21',1,'kudu::client::KuduScanBatch']]],
-  ['blocksize_522',['BlockSize',['../classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6',1,'kudu::client::KuduColumnSpec']]],
-  ['build_523',['Build',['../classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77',1,'kudu::client::KuduClientBuilder::Build()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb',1,'kudu::client::KuduScanTokenBuilder::Build()'],['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba',1,'kudu::client::KuduPartitionerBuilder::Build()'],['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a',1,'kudu::client::KuduBloomFilterBuilder::Build()'],['../classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15',1,'kudu::client::KuduSchemaBuilder::Build()']]]
+  ['begin_522',['begin',['../classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21',1,'kudu::client::KuduScanBatch']]],
+  ['blocksize_523',['BlockSize',['../classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6',1,'kudu::client::KuduColumnSpec']]],
+  ['build_524',['Build',['../classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77',1,'kudu::client::KuduClientBuilder::Build()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb',1,'kudu::client::KuduScanTokenBuilder::Build()'],['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba',1,'kudu::client::KuduPartitionerBuilder::Build()'],['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a',1,'kudu::client::KuduBloomFilterBuilder::Build()'],['../classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15',1,'kudu::client::KuduSchemaBuilder::Build()']]]
 ];
diff --git a/cpp-client-api/search/functions_10.js b/cpp-client-api/search/functions_10.js
index 156f692..907149a 100644
--- a/cpp-client-api/search/functions_10.js
+++ b/cpp-client-api/search/functions_10.js
@@ -1,20 +1,23 @@
 var searchData=
 [
-  ['scale_760',['scale',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567',1,'kudu::client::KuduColumnTypeAttributes']]],
-  ['scale_761',['Scale',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777',1,'kudu::client::KuduColumnSpec']]],
-  ['schema_762',['schema',['../classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c',1,'kudu::client::KuduTable::schema()'],['../classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7',1,'kudu::client::KuduTableCreator::schema()'],['../classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8',1,'KuduPartialRow::schema()']]],
-  ['serialize_763',['Serialize',['../classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5',1,'kudu::client::KuduTransaction::Serialize()'],['../classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008',1,'kudu::client::KuduScanToken::Serialize()']]],
-  ['serviceunavailable_764',['ServiceUnavailable',['../classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568',1,'kudu::Status']]],
-  ['set_5fowner_765',['set_owner',['../classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007',1,'kudu::client::KuduTableCreator']]],
-  ['set_5frange_5fpartition_5fcolumns_766',['set_range_partition_columns',['../classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3',1,'kudu::client::KuduTableCreator']]],
-  ['setbatchsizebytes_767',['SetBatchSizeBytes',['../classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c',1,'kudu::client::KuduScanner::SetBatchSizeBytes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c',1,'kudu::client::KuduScanTokenBuilder::SetBatchSizeBytes()']]],
-  ['setbinary_768',['SetBinary',['../classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3',1,'KuduPartialRow::SetBinary(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c',1,'KuduPartialRow::SetBinary(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['setbinarycopy_769',['SetBinaryCopy',['../classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35',1,'KuduPartialRow::SetBinaryCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78',1,'KuduPartialRow::SetBinaryCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['setbinarynocopy_770',['SetBinaryNoCopy',['../classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f',1,'KuduPartialRow::SetBinaryNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793',1,'KuduPartialRow::SetBinaryNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['setbool_771',['SetBool',['../classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d',1,'KuduPartialRow::SetBool(const Slice &amp;col_name, bool val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8500986269930b88336c36bc50328768',1,'KuduPartialRow::SetBool(int col_idx, bool val) WARN_UNUSED_RESULT']]],
-  ['setbuildtimeout_772',['SetBuildTimeout',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14',1,'kudu::client::KuduPartitionerBuilder']]],
-  ['setcacheblocks_773',['SetCacheBlocks',['../classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310',1,'kudu::client::KuduScanner::SetCacheBlocks()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475',1,'kudu::client::KuduScanTokenBuilder::SetCacheBlocks()']]],
-  ['setdate_774',['SetDate',['../classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4',1,'KuduPartialRow::SetDate(const Slice &amp;col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a',1,'KuduPartialRow::SetDate(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT']]],
+  ['sasl_5fprotocol_5fname_757',['sasl_protocol_name',['../classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de',1,'kudu::client::KuduClientBuilder']]],
+  ['scale_758',['scale',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567',1,'kudu::client::KuduColumnTypeAttributes']]],
+  ['scale_759',['Scale',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777',1,'kudu::client::KuduColumnSpec']]],
+  ['schema_760',['schema',['../classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7',1,'kudu::client::KuduTableCreator::schema()'],['../classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8',1,'KuduPartialRow::schema()'],['../classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c',1,'kudu::client::KuduTable::schema()']]],
+  ['serialize_761',['Serialize',['../classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5',1,'kudu::client::KuduTransaction::Serialize()'],['../classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008',1,'kudu::client::KuduScanToken::Serialize()']]],
+  ['serviceunavailable_762',['ServiceUnavailable',['../classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568',1,'kudu::Status']]],
+  ['set_5fcomment_763',['set_comment',['../classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f',1,'kudu::client::KuduTableCreator']]],
+  ['set_5fowner_764',['set_owner',['../classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007',1,'kudu::client::KuduTableCreator']]],
+  ['set_5frange_5fpartition_5fcolumns_765',['set_range_partition_columns',['../classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3',1,'kudu::client::KuduTableCreator']]],
+  ['setbatchsizebytes_766',['SetBatchSizeBytes',['../classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c',1,'kudu::client::KuduScanner::SetBatchSizeBytes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c',1,'kudu::client::KuduScanTokenBuilder::SetBatchSizeBytes()']]],
+  ['setbinary_767',['SetBinary',['../classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3',1,'KuduPartialRow::SetBinary(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c',1,'KuduPartialRow::SetBinary(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setbinarycopy_768',['SetBinaryCopy',['../classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78',1,'KuduPartialRow::SetBinaryCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35',1,'KuduPartialRow::SetBinaryCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setbinarynocopy_769',['SetBinaryNoCopy',['../classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f',1,'KuduPartialRow::SetBinaryNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793',1,'KuduPartialRow::SetBinaryNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setbool_770',['SetBool',['../classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d',1,'KuduPartialRow::SetBool(const Slice &amp;col_name, bool val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8500986269930b88336c36bc50328768',1,'KuduPartialRow::SetBool(int col_idx, bool val) WARN_UNUSED_RESULT']]],
+  ['setbuildtimeout_771',['SetBuildTimeout',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14',1,'kudu::client::KuduPartitionerBuilder']]],
+  ['setcacheblocks_772',['SetCacheBlocks',['../classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310',1,'kudu::client::KuduScanner::SetCacheBlocks()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475',1,'kudu::client::KuduScanTokenBuilder::SetCacheBlocks()']]],
+  ['setcomment_773',['SetComment',['../classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6',1,'kudu::client::KuduTableAlterer']]],
+  ['setdate_774',['SetDate',['../classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a',1,'KuduPartialRow::SetDate(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4',1,'KuduPartialRow::SetDate(const Slice &amp;col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT']]],
   ['setdouble_775',['SetDouble',['../classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20',1,'KuduPartialRow::SetDouble(const Slice &amp;col_name, double val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a7ee7f7a17437d338e58dd6a82431729d',1,'KuduPartialRow::SetDouble(int col_idx, double val) WARN_UNUSED_RESULT']]],
   ['seterrorbufferspace_776',['SetErrorBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5',1,'kudu::client::KuduSession']]],
   ['setexternalconsistencymode_777',['SetExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca',1,'kudu::client::KuduSession']]],
@@ -22,7 +25,7 @@
   ['setfloat_779',['SetFloat',['../classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b',1,'KuduPartialRow::SetFloat(const Slice &amp;col_name, float val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad0b76030c919b941997ffd047b12f40e',1,'KuduPartialRow::SetFloat(int col_idx, float val) WARN_UNUSED_RESULT']]],
   ['setflushmode_780',['SetFlushMode',['../classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f',1,'kudu::client::KuduSession']]],
   ['setint16_781',['SetInt16',['../classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810',1,'KuduPartialRow::SetInt16(const Slice &amp;col_name, int16_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#adb92cc301cbcc89ef46e9bebbe86c508',1,'KuduPartialRow::SetInt16(int col_idx, int16_t val) WARN_UNUSED_RESULT']]],
-  ['setint32_782',['SetInt32',['../classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad',1,'KuduPartialRow::SetInt32(int col_idx, int32_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887',1,'KuduPartialRow::SetInt32(const Slice &amp;col_name, int32_t val) WARN_UNUSED_RESULT']]],
+  ['setint32_782',['SetInt32',['../classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887',1,'KuduPartialRow::SetInt32(const Slice &amp;col_name, int32_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad',1,'KuduPartialRow::SetInt32(int col_idx, int32_t val) WARN_UNUSED_RESULT']]],
   ['setint64_783',['SetInt64',['../classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4',1,'KuduPartialRow::SetInt64(const Slice &amp;col_name, int64_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a62224148c353a9eba4e19574a61fe369',1,'KuduPartialRow::SetInt64(int col_idx, int64_t val) WARN_UNUSED_RESULT']]],
   ['setint8_784',['SetInt8',['../classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f',1,'KuduPartialRow::SetInt8(const Slice &amp;col_name, int8_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af6d10997e70e776eb353ad67abc78d79',1,'KuduPartialRow::SetInt8(int col_idx, int8_t val) WARN_UNUSED_RESULT']]],
   ['setlatestobservedtimestamp_785',['SetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd',1,'kudu::client::KuduClient']]],
@@ -45,18 +48,21 @@
   ['setsnapshotraw_802',['SetSnapshotRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae',1,'kudu::client::KuduScanner::SetSnapshotRaw()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotRaw()']]],
   ['setstring_803',['SetString',['../classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab',1,'KuduPartialRow::SetString(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0e606cb958eab0db1b12289aca255819',1,'KuduPartialRow::SetString(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
   ['setstringcopy_804',['SetStringCopy',['../classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199',1,'KuduPartialRow::SetStringCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9da30ad760f428b2d5f70a1fe4eba827',1,'KuduPartialRow::SetStringCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['setstringnocopy_805',['SetStringNoCopy',['../classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd',1,'KuduPartialRow::SetStringNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73',1,'KuduPartialRow::SetStringNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['settimeoutmillis_806',['SetTimeoutMillis',['../classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79',1,'kudu::client::KuduSession::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6',1,'kudu::client::KuduScanner::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445',1,'kudu::client::KuduScanTokenBuilder::SetTimeoutMillis()']]],
-  ['setunixtimemicros_807',['SetUnixTimeMicros',['../classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a',1,'KuduPartialRow::SetUnixTimeMicros(const Slice &amp;col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536',1,'KuduPartialRow::SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT']]],
-  ['setvarchar_808',['SetVarchar',['../classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c',1,'KuduPartialRow::SetVarchar(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1',1,'KuduPartialRow::SetVarchar(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['setvarcharnocopyunsafe_809',['SetVarcharNoCopyUnsafe',['../classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
-  ['size_810',['size',['../classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433',1,'kudu::Slice']]],
-  ['slice_811',['Slice',['../classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c',1,'kudu::Slice::Slice(const uint8_t *d, size_t n)'],['../classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345',1,'kudu::Slice::Slice(const char *s)'],['../classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd',1,'kudu::Slice::Slice(const std::string &amp;s)'],['../classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5',1,'kudu::Slice::Slice(const char *d, size_t n)'],['../classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66',1,'kudu::Slice::Slice()']]],
-  ['split_5frows_812',['split_rows',['../classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9',1,'kudu::client::KuduTableCreator']]],
-  ['starts_5fwith_813',['starts_with',['../classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d',1,'kudu::Slice']]],
-  ['status_814',['Status',['../classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0',1,'kudu::Status::Status()'],['../classkudu_1_1Status.html#affca5639a3341212bb23ae7f5c701803',1,'kudu::Status::Status(const Status &amp;s)']]],
-  ['status_815',['status',['../classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7',1,'kudu::client::KuduError']]],
-  ['stringtocompressiontype_816',['StringToCompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af',1,'kudu::client::KuduColumnStorageAttributes']]],
-  ['stringtodatatype_817',['StringToDataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8',1,'kudu::client::KuduColumnSchema']]],
-  ['stringtoencodingtype_818',['StringToEncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db',1,'kudu::client::KuduColumnStorageAttributes']]]
+  ['setstringnocopy_805',['SetStringNoCopy',['../classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73',1,'KuduPartialRow::SetStringNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd',1,'KuduPartialRow::SetStringNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['settabledisksizelimit_806',['SetTableDiskSizeLimit',['../classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27',1,'kudu::client::KuduTableAlterer']]],
+  ['settablerowcountlimit_807',['SetTableRowCountLimit',['../classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe',1,'kudu::client::KuduTableAlterer']]],
+  ['settimeoutmillis_808',['SetTimeoutMillis',['../classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6',1,'kudu::client::KuduScanner::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445',1,'kudu::client::KuduScanTokenBuilder::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79',1,'kudu::client::KuduSession::SetTimeoutMillis()']]],
+  ['setunixtimemicros_809',['SetUnixTimeMicros',['../classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a',1,'KuduPartialRow::SetUnixTimeMicros(const Slice &amp;col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536',1,'KuduPartialRow::SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT']]],
+  ['setvarchar_810',['SetVarchar',['../classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c',1,'KuduPartialRow::SetVarchar(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1',1,'KuduPartialRow::SetVarchar(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setvarcharnocopyunsafe_811',['SetVarcharNoCopyUnsafe',['../classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['size_812',['size',['../classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433',1,'kudu::Slice']]],
+  ['slice_813',['Slice',['../classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5',1,'kudu::Slice::Slice(const char *d, size_t n)'],['../classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345',1,'kudu::Slice::Slice(const char *s)'],['../classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd',1,'kudu::Slice::Slice(const std::string &amp;s)'],['../classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c',1,'kudu::Slice::Slice(const uint8_t *d, size_t n)'],['../classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66',1,'kudu::Slice::Slice()']]],
+  ['split_5frows_814',['split_rows',['../classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9',1,'kudu::client::KuduTableCreator']]],
+  ['startcommit_815',['StartCommit',['../classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce',1,'kudu::client::KuduTransaction']]],
+  ['starts_5fwith_816',['starts_with',['../classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d',1,'kudu::Slice']]],
+  ['status_817',['Status',['../classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0',1,'kudu::Status::Status()'],['../classkudu_1_1Status.html#affca5639a3341212bb23ae7f5c701803',1,'kudu::Status::Status(const Status &amp;s)']]],
+  ['status_818',['status',['../classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7',1,'kudu::client::KuduError']]],
+  ['stringtocompressiontype_819',['StringToCompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['stringtodatatype_820',['StringToDataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8',1,'kudu::client::KuduColumnSchema']]],
+  ['stringtoencodingtype_821',['StringToEncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db',1,'kudu::client::KuduColumnStorageAttributes']]]
 ];
diff --git a/cpp-client-api/search/functions_11.js b/cpp-client-api/search/functions_11.js
index eb85924..bcfa623 100644
--- a/cpp-client-api/search/functions_11.js
+++ b/cpp-client-api/search/functions_11.js
@@ -1,22 +1,20 @@
 var searchData=
 [
-  ['table_5fname_819',['table_name',['../classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93',1,'kudu::client::KuduTableCreator']]],
-  ['tableexists_820',['TableExists',['../classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818',1,'kudu::client::KuduClient']]],
-  ['tablet_821',['tablet',['../classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96',1,'kudu::client::KuduScanToken']]],
-  ['timedout_822',['TimedOut',['../classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe',1,'kudu::Status']]],
-  ['timeout_823',['timeout',['../classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235',1,'kudu::client::KuduTableCreator::timeout()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1',1,'kudu::client::KuduTableAlterer::timeout()']]],
-  ['todebugstring_824',['ToDebugString',['../classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7',1,'kudu::Slice']]],
-  ['toencodedrowkeyordie_825',['ToEncodedRowKeyOrDie',['../classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469',1,'KuduPartialRow']]],
-  ['tomicroseconds_826',['ToMicroseconds',['../classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491',1,'kudu::MonoDelta']]],
-  ['tomilliseconds_827',['ToMilliseconds',['../classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591',1,'kudu::MonoDelta']]],
-  ['tonanoseconds_828',['ToNanoseconds',['../classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c',1,'kudu::MonoDelta']]],
-  ['toseconds_829',['ToSeconds',['../classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c',1,'kudu::MonoDelta']]],
-  ['tostring_830',['ToString',['../classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99',1,'kudu::Status::ToString()'],['../classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03',1,'kudu::Slice::ToString()'],['../classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c',1,'kudu::MonoDelta::ToString()'],['../classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70',1,'KuduPartialRow::ToString()'],['../classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763',1,'kudu::client::KuduDeleteIgnore::ToString()'],['../classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0',1,'kudu::client::KuduDelete::ToString()'],['../classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240',1,'kudu::client::KuduInsert::ToString()'],['../classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261',1,'kudu::client::KuduUpdateIgnore::ToString()'],['../classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718',1,'kudu::client::KuduUpdate::ToString()'],['../classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8',1,'kudu::client::KuduUpsert::ToString()'],['../classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83',1,'kudu::client::KuduInsertIgnore::ToString()'],['../classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19',1,'kudu::client::KuduWriteOperation::ToString()'],['../classkudu_1_1client_1_1KuduSchema.html#ab8386c4ceb1895ebf808096da3f9c614',1,'kudu::client::KuduSchema::ToString()'],['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11',1,'kudu::client::KuduColumnStorageAttributes::ToString()'],['../classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3',1,'kudu::client::KuduScanBatch::ToString()'],['../classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae',1,'kudu::client::KuduScanner::ToString()'],['../classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff',1,'kudu::client::KuduTableStatistics::ToString()']]],
-  ['totimespec_831',['ToTimeSpec',['../classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862',1,'kudu::MonoDelta']]],
-  ['totimeval_832',['ToTimeVal',['../classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e',1,'kudu::MonoDelta']]],
-  ['truncate_833',['truncate',['../classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44',1,'kudu::Slice']]],
-  ['ts_834',['ts',['../classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627',1,'kudu::client::KuduReplica']]],
-  ['type_835',['Type',['../classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2',1,'kudu::client::KuduColumnSpec']]],
-  ['type_836',['type',['../classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29',1,'kudu::client::KuduColumnSchema']]],
-  ['type_5fattributes_837',['type_attributes',['../classkudu_1_1client_1_1KuduColumnSchema.html#a328c76411dd00f5f6a7ee063ce90c65e',1,'kudu::client::KuduColumnSchema']]]
+  ['table_5fname_822',['table_name',['../classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93',1,'kudu::client::KuduTableCreator']]],
+  ['tableexists_823',['TableExists',['../classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818',1,'kudu::client::KuduClient']]],
+  ['tablet_824',['tablet',['../classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96',1,'kudu::client::KuduScanToken']]],
+  ['timedout_825',['TimedOut',['../classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe',1,'kudu::Status']]],
+  ['timeout_826',['timeout',['../classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235',1,'kudu::client::KuduTableCreator::timeout()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1',1,'kudu::client::KuduTableAlterer::timeout()']]],
+  ['todebugstring_827',['ToDebugString',['../classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7',1,'kudu::Slice']]],
+  ['toencodedrowkeyordie_828',['ToEncodedRowKeyOrDie',['../classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469',1,'KuduPartialRow']]],
+  ['tomicroseconds_829',['ToMicroseconds',['../classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491',1,'kudu::MonoDelta']]],
+  ['tomilliseconds_830',['ToMilliseconds',['../classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591',1,'kudu::MonoDelta']]],
+  ['tonanoseconds_831',['ToNanoseconds',['../classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c',1,'kudu::MonoDelta']]],
+  ['toseconds_832',['ToSeconds',['../classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c',1,'kudu::MonoDelta']]],
+  ['tostring_833',['ToString',['../classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99',1,'kudu::Status::ToString()'],['../classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03',1,'kudu::Slice::ToString()'],['../classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c',1,'kudu::MonoDelta::ToString()'],['../classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70',1,'KuduPartialRow::ToString()'],['../classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19',1,'kudu::client::KuduWriteOperation::ToString()'],['../classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763',1,'kudu::client::KuduDeleteIgnore::ToString()'],['../classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0',1,'kudu::client::KuduDelete::ToString()'],['../classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261',1,'kudu::client::KuduUpdateIgnore::ToString()'],['../classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718',1,'kudu::client::KuduUpdate::ToString()'],['../classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8',1,'kudu::client::KuduUpsert::ToString()'],['../classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83',1,'kudu::client::KuduInsertIgnore::ToString()'],['../classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240',1,'kudu::client::KuduInsert::ToString()'],['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11',1,'kudu::client::KuduColumnStorageAttributes::ToString()'],['../classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3',1,'kudu::client::KuduScanBatch::ToString()'],['../classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae',1,'kudu::client::KuduScanner::ToString()'],['../classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff',1,'kudu::client::KuduTableStatistics::ToString()']]],
+  ['totimespec_834',['ToTimeSpec',['../classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862',1,'kudu::MonoDelta']]],
+  ['totimeval_835',['ToTimeVal',['../classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e',1,'kudu::MonoDelta']]],
+  ['truncate_836',['truncate',['../classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44',1,'kudu::Slice']]],
+  ['ts_837',['ts',['../classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627',1,'kudu::client::KuduReplica']]],
+  ['type_838',['Type',['../classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2',1,'kudu::client::KuduColumnSpec']]]
 ];
diff --git a/cpp-client-api/search/functions_12.js b/cpp-client-api/search/functions_12.js
index 93c146a..9443e86 100644
--- a/cpp-client-api/search/functions_12.js
+++ b/cpp-client-api/search/functions_12.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['uninitialized_838',['Uninitialized',['../classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15',1,'kudu::Status']]],
-  ['unset_839',['Unset',['../classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23',1,'KuduPartialRow::Unset(const Slice &amp;col_name) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394',1,'KuduPartialRow::Unset(int col_idx) WARN_UNUSED_RESULT']]],
-  ['uuid_840',['uuid',['../classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc',1,'kudu::client::KuduTabletServer']]]
+  ['uninitialized_839',['Uninitialized',['../classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15',1,'kudu::Status']]],
+  ['unset_840',['Unset',['../classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23',1,'KuduPartialRow::Unset(const Slice &amp;col_name) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394',1,'KuduPartialRow::Unset(int col_idx) WARN_UNUSED_RESULT']]],
+  ['uuid_841',['uuid',['../classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc',1,'kudu::client::KuduTabletServer']]]
 ];
diff --git a/cpp-client-api/search/functions_13.js b/cpp-client-api/search/functions_13.js
index 103d8c5..15003a9 100644
--- a/cpp-client-api/search/functions_13.js
+++ b/cpp-client-api/search/functions_13.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['wait_841',['wait',['../classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9',1,'kudu::client::KuduTableCreator::wait()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646',1,'kudu::client::KuduTableAlterer::wait()']]],
-  ['was_5fpossibly_5fsuccessful_842',['was_possibly_successful',['../classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4',1,'kudu::client::KuduError']]]
+  ['wait_842',['wait',['../classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9',1,'kudu::client::KuduTableCreator::wait()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646',1,'kudu::client::KuduTableAlterer::wait()']]],
+  ['was_5fpossibly_5fsuccessful_843',['was_possibly_successful',['../classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4',1,'kudu::client::KuduError']]]
 ];
diff --git a/cpp-client-api/search/functions_2.js b/cpp-client-api/search/functions_2.js
index 3d13b75..2978ab3 100644
--- a/cpp-client-api/search/functions_2.js
+++ b/cpp-client-api/search/functions_2.js
@@ -1,26 +1,25 @@
 var searchData=
 [
-  ['cell_524',['cell',['../classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af',1,'kudu::client::KuduScanBatch']]],
-  ['cerrlog_525',['CerrLog',['../classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713',1,'kudu::internal_logging::CerrLog']]],
-  ['check_5fsize_526',['check_size',['../classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e',1,'kudu::Slice']]],
-  ['clear_527',['clear',['../classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5',1,'kudu::Slice']]],
-  ['clear_5fmaster_5fserver_5faddrs_528',['clear_master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1',1,'kudu::client::KuduClientBuilder']]],
-  ['client_529',['client',['../classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf',1,'kudu::client::KuduTable::client()'],['../classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1',1,'kudu::client::KuduSession::client()']]],
-  ['clone_530',['Clone',['../classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670',1,'kudu::client::KuduPredicate::Clone()'],['../classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569',1,'kudu::client::KuduValue::Clone()']]],
-  ['cloneandappend_531',['CloneAndAppend',['../classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7',1,'kudu::Status']]],
-  ['cloneandprepend_532',['CloneAndPrepend',['../classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de',1,'kudu::Status']]],
-  ['close_533',['Close',['../classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436',1,'kudu::client::KuduSession::Close()'],['../classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874',1,'kudu::client::KuduScanner::Close()']]],
-  ['codeasstring_534',['CodeAsString',['../classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5',1,'kudu::Status']]],
-  ['column_535',['Column',['../classkudu_1_1client_1_1KuduSchema.html#ac918de6adc1a15ad27e218664f308980',1,'kudu::client::KuduSchema']]],
-  ['comment_536',['Comment',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6',1,'kudu::client::KuduColumnSpec']]],
-  ['comment_537',['comment',['../classkudu_1_1client_1_1KuduColumnSchema.html#a04b9d65ed5d347bf3cffa5419a756c9f',1,'kudu::client::KuduColumnSchema']]],
-  ['commit_538',['Commit',['../classkudu_1_1client_1_1KuduTransaction.html#a408faa78430a38314881ae51450893c2',1,'kudu::client::KuduTransaction']]],
+  ['cell_525',['cell',['../classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af',1,'kudu::client::KuduScanBatch']]],
+  ['cerrlog_526',['CerrLog',['../classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713',1,'kudu::internal_logging::CerrLog']]],
+  ['check_5fsize_527',['check_size',['../classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e',1,'kudu::Slice']]],
+  ['clear_528',['clear',['../classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5',1,'kudu::Slice']]],
+  ['clear_5fmaster_5fserver_5faddrs_529',['clear_master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1',1,'kudu::client::KuduClientBuilder']]],
+  ['client_530',['client',['../classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf',1,'kudu::client::KuduTable::client()'],['../classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1',1,'kudu::client::KuduSession::client()']]],
+  ['clone_531',['Clone',['../classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670',1,'kudu::client::KuduPredicate::Clone()'],['../classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569',1,'kudu::client::KuduValue::Clone()']]],
+  ['cloneandappend_532',['CloneAndAppend',['../classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7',1,'kudu::Status']]],
+  ['cloneandprepend_533',['CloneAndPrepend',['../classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de',1,'kudu::Status']]],
+  ['close_534',['Close',['../classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436',1,'kudu::client::KuduSession::Close()'],['../classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874',1,'kudu::client::KuduScanner::Close()']]],
+  ['codeasstring_535',['CodeAsString',['../classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5',1,'kudu::Status']]],
+  ['comment_536',['comment',['../classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b',1,'kudu::client::KuduTable']]],
+  ['comment_537',['Comment',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6',1,'kudu::client::KuduColumnSpec']]],
+  ['commit_538',['Commit',['../classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495',1,'kudu::client::KuduTransaction']]],
   ['compare_539',['compare',['../classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2',1,'kudu::Slice']]],
   ['compression_540',['Compression',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b',1,'kudu::client::KuduColumnSpec']]],
   ['compression_541',['compression',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554',1,'kudu::client::KuduColumnStorageAttributes']]],
   ['configurationerror_542',['ConfigurationError',['../classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801',1,'kudu::Status']]],
   ['connection_5fnegotiation_5ftimeout_543',['connection_negotiation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f',1,'kudu::client::KuduClientBuilder::connection_negotiation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac',1,'kudu::client::KuduClient::connection_negotiation_timeout()']]],
-  ['copyfrom_544',['CopyFrom',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c',1,'kudu::client::KuduColumnTypeAttributes::CopyFrom()'],['../classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555',1,'kudu::client::KuduSchema::CopyFrom()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0',1,'kudu::client::KuduColumnSchema::CopyFrom()']]],
+  ['copyfrom_544',['CopyFrom',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c',1,'kudu::client::KuduColumnTypeAttributes::CopyFrom()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0',1,'kudu::client::KuduColumnSchema::CopyFrom()'],['../classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555',1,'kudu::client::KuduSchema::CopyFrom()']]],
   ['copystring_545',['CopyString',['../classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe',1,'kudu::client::KuduValue']]],
   ['corruption_546',['Corruption',['../classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee',1,'kudu::Status']]],
   ['countbufferedoperations_547',['CountBufferedOperations',['../classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112',1,'kudu::client::KuduSession']]],
diff --git a/cpp-client-api/search/functions_4.js b/cpp-client-api/search/functions_4.js
index d361a3a..2452b6d 100644
--- a/cpp-client-api/search/functions_4.js
+++ b/cpp-client-api/search/functions_4.js
@@ -7,7 +7,7 @@
   ['encoding_567',['Encoding',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97',1,'kudu::client::KuduColumnSpec']]],
   ['end_568',['end',['../classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c',1,'kudu::client::KuduScanBatch']]],
   ['endoffile_569',['EndOfFile',['../classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b',1,'kudu::Status']]],
-  ['equals_570',['Equals',['../classkudu_1_1client_1_1KuduColumnSchema.html#aaf2cdb1424600e420601b68b8dd05c3a',1,'kudu::client::KuduColumnSchema::Equals()'],['../classkudu_1_1client_1_1KuduSchema.html#a3db3761d3df18e12e45e3573bc182f47',1,'kudu::client::KuduSchema::Equals()'],['../classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc',1,'kudu::MonoDelta::Equals()']]],
+  ['equals_570',['Equals',['../classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc',1,'kudu::MonoDelta']]],
   ['exportauthenticationcredentials_571',['ExportAuthenticationCredentials',['../classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0',1,'kudu::client::KuduClient']]],
   ['extra_5fconfigs_572',['extra_configs',['../classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd',1,'kudu::client::KuduTableCreator::extra_configs()'],['../classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec',1,'kudu::client::KuduTable::extra_configs()']]]
 ];
diff --git a/cpp-client-api/search/functions_6.js b/cpp-client-api/search/functions_6.js
index 8700fb8..700ecf5 100644
--- a/cpp-client-api/search/functions_6.js
+++ b/cpp-client-api/search/functions_6.js
@@ -17,12 +17,11 @@
   ['getmetric_599',['GetMetric',['../classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc',1,'kudu::client::ResourceMetrics']]],
   ['getnonnullbitmapforcolumn_600',['GetNonNullBitmapForColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312',1,'kudu::client::KuduColumnarScanBatch']]],
   ['getpendingerrors_601',['GetPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7',1,'kudu::client::KuduSession']]],
-  ['getprimarykeycolumnindexes_602',['GetPrimaryKeyColumnIndexes',['../classkudu_1_1client_1_1KuduSchema.html#a3bf9ce84b09d7ed9fb488433a5f322e9',1,'kudu::client::KuduSchema']]],
-  ['getprojectionschema_603',['GetProjectionSchema',['../classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82',1,'kudu::client::KuduScanner']]],
-  ['getresourcemetrics_604',['GetResourceMetrics',['../classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337',1,'kudu::client::KuduScanner']]],
-  ['getstring_605',['GetString',['../classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7',1,'kudu::client::KuduScanBatch::GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56',1,'kudu::client::KuduScanBatch::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee',1,'KuduPartialRow::GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd',1,'KuduPartialRow::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
-  ['gettableschema_606',['GetTableSchema',['../classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65',1,'kudu::client::KuduClient']]],
-  ['getunixtimemicros_607',['GetUnixTimeMicros',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8',1,'KuduPartialRow::GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246',1,'KuduPartialRow::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT']]],
-  ['getvarchar_608',['GetVarchar',['../classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb',1,'kudu::client::KuduScanBatch::GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b',1,'kudu::client::KuduScanBatch::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d',1,'KuduPartialRow::GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b',1,'KuduPartialRow::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
-  ['getvariablelengthcolumn_609',['GetVariableLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1',1,'kudu::client::KuduColumnarScanBatch']]]
+  ['getprojectionschema_602',['GetProjectionSchema',['../classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82',1,'kudu::client::KuduScanner']]],
+  ['getresourcemetrics_603',['GetResourceMetrics',['../classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337',1,'kudu::client::KuduScanner']]],
+  ['getstring_604',['GetString',['../classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7',1,'kudu::client::KuduScanBatch::GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56',1,'kudu::client::KuduScanBatch::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee',1,'KuduPartialRow::GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd',1,'KuduPartialRow::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
+  ['gettableschema_605',['GetTableSchema',['../classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65',1,'kudu::client::KuduClient']]],
+  ['getunixtimemicros_606',['GetUnixTimeMicros',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8',1,'KuduPartialRow::GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246',1,'KuduPartialRow::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT']]],
+  ['getvarchar_607',['GetVarchar',['../classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb',1,'kudu::client::KuduScanBatch::GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b',1,'kudu::client::KuduScanBatch::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d',1,'KuduPartialRow::GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b',1,'KuduPartialRow::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
+  ['getvariablelengthcolumn_608',['GetVariableLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1',1,'kudu::client::KuduColumnarScanBatch']]]
 ];
diff --git a/cpp-client-api/search/functions_7.js b/cpp-client-api/search/functions_7.js
index bb54366..a12ace1 100644
--- a/cpp-client-api/search/functions_7.js
+++ b/cpp-client-api/search/functions_7.js
@@ -1,9 +1,8 @@
 var searchData=
 [
-  ['hascolumn_610',['HasColumn',['../classkudu_1_1client_1_1KuduSchema.html#a3cbc77c6136806551c99bf84b94e691a',1,'kudu::client::KuduSchema']]],
-  ['hash_5falgorithm_611',['hash_algorithm',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57',1,'kudu::client::KuduBloomFilterBuilder']]],
-  ['hash_5fseed_612',['hash_seed',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356',1,'kudu::client::KuduBloomFilterBuilder']]],
-  ['hasmorerows_613',['HasMoreRows',['../classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94',1,'kudu::client::KuduScanner']]],
-  ['haspendingoperations_614',['HasPendingOperations',['../classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578',1,'kudu::client::KuduSession']]],
-  ['hostname_615',['hostname',['../classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1',1,'kudu::client::KuduTabletServer']]]
+  ['hash_5falgorithm_609',['hash_algorithm',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['hash_5fseed_610',['hash_seed',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['hasmorerows_611',['HasMoreRows',['../classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94',1,'kudu::client::KuduScanner']]],
+  ['haspendingoperations_612',['HasPendingOperations',['../classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578',1,'kudu::client::KuduSession']]],
+  ['hostname_613',['hostname',['../classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1',1,'kudu::client::KuduTabletServer']]]
 ];
diff --git a/cpp-client-api/search/functions_8.js b/cpp-client-api/search/functions_8.js
index 0c8d077..6a5560c 100644
--- a/cpp-client-api/search/functions_8.js
+++ b/cpp-client-api/search/functions_8.js
@@ -1,45 +1,44 @@
 var searchData=
 [
-  ['id_616',['id',['../classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20',1,'kudu::client::KuduTable::id()'],['../classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837',1,'kudu::client::KuduTablet::id()']]],
-  ['illegalstate_617',['IllegalState',['../classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b',1,'kudu::Status']]],
-  ['import_5fauthentication_5fcredentials_618',['import_authentication_credentials',['../classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e',1,'kudu::client::KuduClientBuilder']]],
-  ['includetablemetadata_619',['IncludeTableMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3',1,'kudu::client::KuduScanTokenBuilder']]],
-  ['includetabletmetadata_620',['IncludeTabletMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843',1,'kudu::client::KuduScanTokenBuilder']]],
-  ['incomplete_621',['Incomplete',['../classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b',1,'kudu::Status']]],
-  ['increment_622',['Increment',['../classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a',1,'kudu::client::ResourceMetrics']]],
-  ['indirect_5fdata_623',['indirect_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989',1,'kudu::client::KuduScanBatch']]],
-  ['initialized_624',['Initialized',['../classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a',1,'kudu::MonoDelta']]],
-  ['insert_625',['Insert',['../classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678',1,'kudu::client::KuduBloomFilter']]],
-  ['intokuduscanner_626',['IntoKuduScanner',['../classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292',1,'kudu::client::KuduScanToken']]],
-  ['invalidargument_627',['InvalidArgument',['../classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4',1,'kudu::Status']]],
-  ['ioerror_628',['IOError',['../classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862',1,'kudu::Status']]],
-  ['is_5fleader_629',['is_leader',['../classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5',1,'kudu::client::KuduReplica']]],
-  ['is_5fnullable_630',['is_nullable',['../classkudu_1_1client_1_1KuduColumnSchema.html#a3f8197dd468546ce83e21481a361c1ec',1,'kudu::client::KuduColumnSchema']]],
-  ['isaborted_631',['IsAborted',['../classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874',1,'kudu::Status']]],
-  ['isalreadypresent_632',['IsAlreadyPresent',['../classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282',1,'kudu::Status']]],
-  ['isaltertableinprogress_633',['IsAlterTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809',1,'kudu::client::KuduClient']]],
-  ['iscolumnset_634',['IsColumnSet',['../classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8',1,'KuduPartialRow::IsColumnSet(const Slice &amp;col_name) const'],['../classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf',1,'KuduPartialRow::IsColumnSet(int col_idx) const']]],
-  ['iscommitcomplete_635',['IsCommitComplete',['../classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee',1,'kudu::client::KuduTransaction']]],
-  ['isconfigurationerror_636',['IsConfigurationError',['../classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef',1,'kudu::Status']]],
-  ['iscorruption_637',['IsCorruption',['../classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4',1,'kudu::Status']]],
-  ['iscreatetableinprogress_638',['IsCreateTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63',1,'kudu::client::KuduClient']]],
-  ['isdeleted_639',['IsDeleted',['../classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3',1,'kudu::client::KuduScanBatch']]],
-  ['isdiskfailure_640',['IsDiskFailure',['../classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c',1,'kudu::Status']]],
-  ['isendoffile_641',['IsEndOfFile',['../classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6',1,'kudu::Status']]],
-  ['isillegalstate_642',['IsIllegalState',['../classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24',1,'kudu::Status']]],
-  ['isincomplete_643',['IsIncomplete',['../classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7',1,'kudu::Status']]],
-  ['isinvalidargument_644',['IsInvalidArgument',['../classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b',1,'kudu::Status']]],
-  ['isioerror_645',['IsIOError',['../classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250',1,'kudu::Status']]],
-  ['iskeyset_646',['IsKeySet',['../classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1',1,'KuduPartialRow']]],
-  ['ismultimaster_647',['IsMultiMaster',['../classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433',1,'kudu::client::KuduClient']]],
-  ['isnetworkerror_648',['IsNetworkError',['../classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431',1,'kudu::Status']]],
-  ['isnotauthorized_649',['IsNotAuthorized',['../classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171',1,'kudu::Status']]],
-  ['isnotfound_650',['IsNotFound',['../classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd',1,'kudu::Status']]],
-  ['isnotsupported_651',['IsNotSupported',['../classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea',1,'kudu::Status']]],
-  ['isnull_652',['IsNull',['../classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047',1,'kudu::client::KuduScanBatch::IsNull(const Slice &amp;col_name) const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520',1,'kudu::client::KuduScanBatch::IsNull(int col_idx) const'],['../classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186',1,'KuduPartialRow::IsNull(const Slice &amp;col_name) const'],['../classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648',1,'KuduPartialRow::IsNull(int col_idx) const']]],
-  ['isremoteerror_653',['IsRemoteError',['../classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6',1,'kudu::Status']]],
-  ['isruntimeerror_654',['IsRuntimeError',['../classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8',1,'kudu::Status']]],
-  ['isserviceunavailable_655',['IsServiceUnavailable',['../classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668',1,'kudu::Status']]],
-  ['istimedout_656',['IsTimedOut',['../classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03',1,'kudu::Status']]],
-  ['isuninitialized_657',['IsUninitialized',['../classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b',1,'kudu::Status']]]
+  ['id_614',['id',['../classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20',1,'kudu::client::KuduTable::id()'],['../classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837',1,'kudu::client::KuduTablet::id()']]],
+  ['illegalstate_615',['IllegalState',['../classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b',1,'kudu::Status']]],
+  ['import_5fauthentication_5fcredentials_616',['import_authentication_credentials',['../classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e',1,'kudu::client::KuduClientBuilder']]],
+  ['includetablemetadata_617',['IncludeTableMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['includetabletmetadata_618',['IncludeTabletMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['incomplete_619',['Incomplete',['../classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b',1,'kudu::Status']]],
+  ['increment_620',['Increment',['../classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a',1,'kudu::client::ResourceMetrics']]],
+  ['indirect_5fdata_621',['indirect_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989',1,'kudu::client::KuduScanBatch']]],
+  ['initialized_622',['Initialized',['../classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a',1,'kudu::MonoDelta']]],
+  ['insert_623',['Insert',['../classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678',1,'kudu::client::KuduBloomFilter']]],
+  ['intokuduscanner_624',['IntoKuduScanner',['../classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292',1,'kudu::client::KuduScanToken']]],
+  ['invalidargument_625',['InvalidArgument',['../classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4',1,'kudu::Status']]],
+  ['ioerror_626',['IOError',['../classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862',1,'kudu::Status']]],
+  ['is_5fleader_627',['is_leader',['../classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5',1,'kudu::client::KuduReplica']]],
+  ['isaborted_628',['IsAborted',['../classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874',1,'kudu::Status']]],
+  ['isalreadypresent_629',['IsAlreadyPresent',['../classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282',1,'kudu::Status']]],
+  ['isaltertableinprogress_630',['IsAlterTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809',1,'kudu::client::KuduClient']]],
+  ['iscolumnset_631',['IsColumnSet',['../classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8',1,'KuduPartialRow::IsColumnSet(const Slice &amp;col_name) const'],['../classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf',1,'KuduPartialRow::IsColumnSet(int col_idx) const']]],
+  ['iscommitcomplete_632',['IsCommitComplete',['../classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee',1,'kudu::client::KuduTransaction']]],
+  ['isconfigurationerror_633',['IsConfigurationError',['../classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef',1,'kudu::Status']]],
+  ['iscorruption_634',['IsCorruption',['../classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4',1,'kudu::Status']]],
+  ['iscreatetableinprogress_635',['IsCreateTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63',1,'kudu::client::KuduClient']]],
+  ['isdeleted_636',['IsDeleted',['../classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3',1,'kudu::client::KuduScanBatch']]],
+  ['isdiskfailure_637',['IsDiskFailure',['../classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c',1,'kudu::Status']]],
+  ['isendoffile_638',['IsEndOfFile',['../classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6',1,'kudu::Status']]],
+  ['isillegalstate_639',['IsIllegalState',['../classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24',1,'kudu::Status']]],
+  ['isincomplete_640',['IsIncomplete',['../classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7',1,'kudu::Status']]],
+  ['isinvalidargument_641',['IsInvalidArgument',['../classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b',1,'kudu::Status']]],
+  ['isioerror_642',['IsIOError',['../classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250',1,'kudu::Status']]],
+  ['iskeyset_643',['IsKeySet',['../classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1',1,'KuduPartialRow']]],
+  ['ismultimaster_644',['IsMultiMaster',['../classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433',1,'kudu::client::KuduClient']]],
+  ['isnetworkerror_645',['IsNetworkError',['../classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431',1,'kudu::Status']]],
+  ['isnotauthorized_646',['IsNotAuthorized',['../classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171',1,'kudu::Status']]],
+  ['isnotfound_647',['IsNotFound',['../classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd',1,'kudu::Status']]],
+  ['isnotsupported_648',['IsNotSupported',['../classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea',1,'kudu::Status']]],
+  ['isnull_649',['IsNull',['../classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047',1,'kudu::client::KuduScanBatch::IsNull(const Slice &amp;col_name) const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520',1,'kudu::client::KuduScanBatch::IsNull(int col_idx) const'],['../classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186',1,'KuduPartialRow::IsNull(const Slice &amp;col_name) const'],['../classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648',1,'KuduPartialRow::IsNull(int col_idx) const']]],
+  ['isremoteerror_650',['IsRemoteError',['../classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6',1,'kudu::Status']]],
+  ['isruntimeerror_651',['IsRuntimeError',['../classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8',1,'kudu::Status']]],
+  ['isserviceunavailable_652',['IsServiceUnavailable',['../classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668',1,'kudu::Status']]],
+  ['istimedout_653',['IsTimedOut',['../classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03',1,'kudu::Status']]],
+  ['isuninitialized_654',['IsUninitialized',['../classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b',1,'kudu::Status']]]
 ];
diff --git a/cpp-client-api/search/functions_9.js b/cpp-client-api/search/functions_9.js
index d0d23ae..347e068 100644
--- a/cpp-client-api/search/functions_9.js
+++ b/cpp-client-api/search/functions_9.js
@@ -1,18 +1,18 @@
 var searchData=
 [
-  ['keepalive_658',['KeepAlive',['../classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21',1,'kudu::client::KuduScanner']]],
-  ['keepalive_659',['keepalive',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f',1,'kudu::client::KuduTransaction::SerializationOptions']]],
-  ['kudubloomfilterbuilder_660',['KuduBloomFilterBuilder',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4',1,'kudu::client::KuduBloomFilterBuilder']]],
-  ['kuducolumnschema_661',['KuduColumnSchema',['../classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872',1,'kudu::client::KuduColumnSchema']]],
-  ['kuducolumnstorageattributes_662',['KuduColumnStorageAttributes',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab',1,'kudu::client::KuduColumnStorageAttributes']]],
-  ['kuducolumntypeattributes_663',['KuduColumnTypeAttributes',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(const KuduColumnTypeAttributes &amp;other)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(int8_t precision, int8_t scale)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(uint16_t length)']]],
-  ['kuduloggingfunctioncallback_664',['KuduLoggingFunctionCallback',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c',1,'kudu::client::KuduLoggingFunctionCallback']]],
-  ['kuduloggingmembercallback_665',['KuduLoggingMemberCallback',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8',1,'kudu::client::KuduLoggingMemberCallback']]],
-  ['kudupartialrow_666',['KuduPartialRow',['../classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4',1,'KuduPartialRow::KuduPartialRow(const Schema *schema)'],['../classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1',1,'KuduPartialRow::KuduPartialRow(const KuduPartialRow &amp;other)']]],
-  ['kudupartitionerbuilder_667',['KuduPartitionerBuilder',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba',1,'kudu::client::KuduPartitionerBuilder']]],
-  ['kuduscanner_668',['KuduScanner',['../classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180',1,'kudu::client::KuduScanner']]],
-  ['kuduscantokenbuilder_669',['KuduScanTokenBuilder',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484',1,'kudu::client::KuduScanTokenBuilder']]],
-  ['kuduschema_670',['KuduSchema',['../classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02',1,'kudu::client::KuduSchema']]],
-  ['kudustatusfunctioncallback_671',['KuduStatusFunctionCallback',['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b',1,'kudu::client::KuduStatusFunctionCallback']]],
-  ['kudustatusmembercallback_672',['KuduStatusMemberCallback',['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa',1,'kudu::client::KuduStatusMemberCallback']]]
+  ['keepalive_655',['KeepAlive',['../classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21',1,'kudu::client::KuduScanner']]],
+  ['keepalive_656',['keepalive',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f',1,'kudu::client::KuduTransaction::SerializationOptions']]],
+  ['kudubloomfilterbuilder_657',['KuduBloomFilterBuilder',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['kuducolumnschema_658',['KuduColumnSchema',['../classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872',1,'kudu::client::KuduColumnSchema']]],
+  ['kuducolumnstorageattributes_659',['KuduColumnStorageAttributes',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['kuducolumntypeattributes_660',['KuduColumnTypeAttributes',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(const KuduColumnTypeAttributes &amp;other)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(int8_t precision, int8_t scale)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(uint16_t length)']]],
+  ['kuduloggingfunctioncallback_661',['KuduLoggingFunctionCallback',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c',1,'kudu::client::KuduLoggingFunctionCallback']]],
+  ['kuduloggingmembercallback_662',['KuduLoggingMemberCallback',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8',1,'kudu::client::KuduLoggingMemberCallback']]],
+  ['kudupartialrow_663',['KuduPartialRow',['../classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4',1,'KuduPartialRow::KuduPartialRow(const Schema *schema)'],['../classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1',1,'KuduPartialRow::KuduPartialRow(const KuduPartialRow &amp;other)']]],
+  ['kudupartitionerbuilder_664',['KuduPartitionerBuilder',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba',1,'kudu::client::KuduPartitionerBuilder']]],
+  ['kuduscanner_665',['KuduScanner',['../classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180',1,'kudu::client::KuduScanner']]],
+  ['kuduscantokenbuilder_666',['KuduScanTokenBuilder',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['kuduschema_667',['KuduSchema',['../classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02',1,'kudu::client::KuduSchema']]],
+  ['kudustatusfunctioncallback_668',['KuduStatusFunctionCallback',['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b',1,'kudu::client::KuduStatusFunctionCallback']]],
+  ['kudustatusmembercallback_669',['KuduStatusMemberCallback',['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa',1,'kudu::client::KuduStatusMemberCallback']]]
 ];
diff --git a/cpp-client-api/search/functions_a.js b/cpp-client-api/search/functions_a.js
index b9af8b1..933e792 100644
--- a/cpp-client-api/search/functions_a.js
+++ b/cpp-client-api/search/functions_a.js
@@ -1,9 +1,10 @@
 var searchData=
 [
-  ['length_673',['Length',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd',1,'kudu::client::KuduColumnSpec']]],
-  ['length_674',['length',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04',1,'kudu::client::KuduColumnTypeAttributes']]],
-  ['lessthan_675',['LessThan',['../classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79',1,'kudu::MonoDelta']]],
-  ['listtables_676',['ListTables',['../classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d',1,'kudu::client::KuduClient']]],
-  ['listtabletservers_677',['ListTabletServers',['../classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9',1,'kudu::client::KuduClient']]],
-  ['live_5frow_5fcount_678',['live_row_count',['../classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1',1,'kudu::client::KuduTableStatistics']]]
+  ['length_670',['Length',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd',1,'kudu::client::KuduColumnSpec']]],
+  ['length_671',['length',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04',1,'kudu::client::KuduColumnTypeAttributes']]],
+  ['lessthan_672',['LessThan',['../classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79',1,'kudu::MonoDelta']]],
+  ['listtables_673',['ListTables',['../classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d',1,'kudu::client::KuduClient']]],
+  ['listtabletservers_674',['ListTabletServers',['../classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9',1,'kudu::client::KuduClient']]],
+  ['live_5frow_5fcount_675',['live_row_count',['../classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1',1,'kudu::client::KuduTableStatistics']]],
+  ['live_5frow_5fcount_5flimit_676',['live_row_count_limit',['../classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd',1,'kudu::client::KuduTableStatistics']]]
 ];
diff --git a/cpp-client-api/search/functions_b.js b/cpp-client-api/search/functions_b.js
index eb7797b..368034c 100644
--- a/cpp-client-api/search/functions_b.js
+++ b/cpp-client-api/search/functions_b.js
@@ -1,13 +1,13 @@
 var searchData=
 [
-  ['master_5fserver_5faddrs_679',['master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114',1,'kudu::client::KuduClientBuilder']]],
-  ['max_680',['Max',['../classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9',1,'kudu::MonoTime']]],
-  ['memory_5ffootprint_5fexcluding_5fthis_681',['memory_footprint_excluding_this',['../classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9',1,'kudu::Status']]],
-  ['memory_5ffootprint_5fincluding_5fthis_682',['memory_footprint_including_this',['../classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c',1,'kudu::Status']]],
-  ['message_683',['message',['../classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796',1,'kudu::Status']]],
-  ['min_684',['Min',['../classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99',1,'kudu::MonoTime']]],
-  ['monodelta_685',['MonoDelta',['../classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f',1,'kudu::MonoDelta']]],
-  ['morethan_686',['MoreThan',['../classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02',1,'kudu::MonoDelta']]],
-  ['mutable_5fdata_687',['mutable_data',['../classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164',1,'kudu::Slice']]],
-  ['mutable_5frow_688',['mutable_row',['../classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc',1,'kudu::client::KuduWriteOperation']]]
+  ['master_5fserver_5faddrs_677',['master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114',1,'kudu::client::KuduClientBuilder']]],
+  ['max_678',['Max',['../classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9',1,'kudu::MonoTime']]],
+  ['memory_5ffootprint_5fexcluding_5fthis_679',['memory_footprint_excluding_this',['../classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9',1,'kudu::Status']]],
+  ['memory_5ffootprint_5fincluding_5fthis_680',['memory_footprint_including_this',['../classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c',1,'kudu::Status']]],
+  ['message_681',['message',['../classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796',1,'kudu::Status']]],
+  ['min_682',['Min',['../classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99',1,'kudu::MonoTime']]],
+  ['monodelta_683',['MonoDelta',['../classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f',1,'kudu::MonoDelta']]],
+  ['morethan_684',['MoreThan',['../classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02',1,'kudu::MonoDelta']]],
+  ['mutable_5fdata_685',['mutable_data',['../classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164',1,'kudu::Slice']]],
+  ['mutable_5frow_686',['mutable_row',['../classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc',1,'kudu::client::KuduWriteOperation']]]
 ];
diff --git a/cpp-client-api/search/functions_c.js b/cpp-client-api/search/functions_c.js
index 5051c47..df87ada 100644
--- a/cpp-client-api/search/functions_c.js
+++ b/cpp-client-api/search/functions_c.js
@@ -1,35 +1,33 @@
 var searchData=
 [
-  ['name_689',['name',['../classkudu_1_1client_1_1KuduColumnSchema.html#a1cda4c693af7226ddde29bf70da4cfcf',1,'kudu::client::KuduColumnSchema::name()'],['../classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244',1,'kudu::client::KuduTable::name()']]],
-  ['nanostotimespec_690',['NanosToTimeSpec',['../classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22',1,'kudu::MonoDelta']]],
-  ['networkerror_691',['NetworkError',['../classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af',1,'kudu::Status']]],
-  ['newcomparisonpredicate_692',['NewComparisonPredicate',['../classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea',1,'kudu::client::KuduTable']]],
-  ['newdelete_693',['NewDelete',['../classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a',1,'kudu::client::KuduTable']]],
-  ['newdeleteignore_694',['NewDeleteIgnore',['../classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094',1,'kudu::client::KuduTable']]],
-  ['newinbloomfilterpredicate_695',['NewInBloomFilterPredicate',['../classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &amp;col_name, std::vector&lt; KuduBloomFilter * &gt; *bloom_filters)'],['../classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &amp;col_name, const std::vector&lt; Slice &gt; &amp;bloom_filters)']]],
-  ['newinlistpredicate_696',['NewInListPredicate',['../classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9',1,'kudu::client::KuduTable']]],
-  ['newinsert_697',['NewInsert',['../classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6',1,'kudu::client::KuduTable']]],
-  ['newinsertignore_698',['NewInsertIgnore',['../classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103',1,'kudu::client::KuduTable']]],
-  ['newisnotnullpredicate_699',['NewIsNotNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523',1,'kudu::client::KuduTable']]],
-  ['newisnullpredicate_700',['NewIsNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466',1,'kudu::client::KuduTable']]],
-  ['newrow_701',['NewRow',['../classkudu_1_1client_1_1KuduSchema.html#a6988d1b2a64b9da6b2d013ce556726e1',1,'kudu::client::KuduSchema']]],
-  ['newsession_702',['NewSession',['../classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925',1,'kudu::client::KuduClient']]],
-  ['newtablealterer_703',['NewTableAlterer',['../classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea',1,'kudu::client::KuduClient']]],
-  ['newtablecreator_704',['NewTableCreator',['../classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153',1,'kudu::client::KuduClient']]],
-  ['newtransaction_705',['NewTransaction',['../classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345',1,'kudu::client::KuduClient']]],
-  ['newupdate_706',['NewUpdate',['../classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8',1,'kudu::client::KuduTable']]],
-  ['newupdateignore_707',['NewUpdateIgnore',['../classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3',1,'kudu::client::KuduTable']]],
-  ['newupsert_708',['NewUpsert',['../classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc',1,'kudu::client::KuduTable']]],
-  ['nextbatch_709',['NextBatch',['../classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067',1,'kudu::client::KuduScanner::NextBatch(std::vector&lt; KuduRowResult &gt; *rows) ATTRIBUTE_DEPRECATED(&quot;use NextBatch(KuduScanBatch*) instead&quot;)'],['../classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487',1,'kudu::client::KuduScanner::NextBatch(KuduScanBatch *batch)'],['../classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81',1,'kudu::client::KuduScanner::NextBatch(KuduColumnarScanBatch *batch)']]],
-  ['notauthorized_710',['NotAuthorized',['../classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba',1,'kudu::Status']]],
-  ['notfound_711',['NotFound',['../classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3',1,'kudu::Status']]],
-  ['notnull_712',['NotNull',['../classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca',1,'kudu::client::KuduColumnSpec']]],
-  ['notsupported_713',['NotSupported',['../classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c',1,'kudu::Status']]],
-  ['now_714',['Now',['../classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783',1,'kudu::MonoTime']]],
-  ['nullable_715',['Nullable',['../classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841',1,'kudu::client::KuduColumnSpec']]],
-  ['num_5fcolumns_716',['num_columns',['../classkudu_1_1client_1_1KuduSchema.html#ab3b5137cd28ed0dbdfa5d064879baf74',1,'kudu::client::KuduSchema']]],
-  ['num_5freactors_717',['num_reactors',['../classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb',1,'kudu::client::KuduClientBuilder']]],
-  ['num_5freplicas_718',['num_replicas',['../classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139',1,'kudu::client::KuduTableCreator::num_replicas()'],['../classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed',1,'kudu::client::KuduTable::num_replicas()']]],
-  ['numpartitions_719',['NumPartitions',['../classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a',1,'kudu::client::KuduPartitioner']]],
-  ['numrows_720',['NumRows',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7',1,'kudu::client::KuduColumnarScanBatch::NumRows()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c',1,'kudu::client::KuduScanBatch::NumRows()']]]
+  ['name_687',['name',['../classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244',1,'kudu::client::KuduTable']]],
+  ['nanostotimespec_688',['NanosToTimeSpec',['../classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22',1,'kudu::MonoDelta']]],
+  ['networkerror_689',['NetworkError',['../classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af',1,'kudu::Status']]],
+  ['newcomparisonpredicate_690',['NewComparisonPredicate',['../classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea',1,'kudu::client::KuduTable']]],
+  ['newdelete_691',['NewDelete',['../classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a',1,'kudu::client::KuduTable']]],
+  ['newdeleteignore_692',['NewDeleteIgnore',['../classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094',1,'kudu::client::KuduTable']]],
+  ['newinbloomfilterpredicate_693',['NewInBloomFilterPredicate',['../classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &amp;col_name, std::vector&lt; KuduBloomFilter * &gt; *bloom_filters)'],['../classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &amp;col_name, const std::vector&lt; Slice &gt; &amp;bloom_filters)']]],
+  ['newinlistpredicate_694',['NewInListPredicate',['../classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9',1,'kudu::client::KuduTable']]],
+  ['newinsert_695',['NewInsert',['../classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6',1,'kudu::client::KuduTable']]],
+  ['newinsertignore_696',['NewInsertIgnore',['../classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103',1,'kudu::client::KuduTable']]],
+  ['newisnotnullpredicate_697',['NewIsNotNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523',1,'kudu::client::KuduTable']]],
+  ['newisnullpredicate_698',['NewIsNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466',1,'kudu::client::KuduTable']]],
+  ['newsession_699',['NewSession',['../classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925',1,'kudu::client::KuduClient']]],
+  ['newtablealterer_700',['NewTableAlterer',['../classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea',1,'kudu::client::KuduClient']]],
+  ['newtablecreator_701',['NewTableCreator',['../classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153',1,'kudu::client::KuduClient']]],
+  ['newtransaction_702',['NewTransaction',['../classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345',1,'kudu::client::KuduClient']]],
+  ['newupdate_703',['NewUpdate',['../classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8',1,'kudu::client::KuduTable']]],
+  ['newupdateignore_704',['NewUpdateIgnore',['../classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3',1,'kudu::client::KuduTable']]],
+  ['newupsert_705',['NewUpsert',['../classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc',1,'kudu::client::KuduTable']]],
+  ['nextbatch_706',['NextBatch',['../classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067',1,'kudu::client::KuduScanner::NextBatch(std::vector&lt; KuduRowResult &gt; *rows) ATTRIBUTE_DEPRECATED(&quot;use NextBatch(KuduScanBatch*) instead&quot;)'],['../classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487',1,'kudu::client::KuduScanner::NextBatch(KuduScanBatch *batch)'],['../classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81',1,'kudu::client::KuduScanner::NextBatch(KuduColumnarScanBatch *batch)']]],
+  ['notauthorized_707',['NotAuthorized',['../classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba',1,'kudu::Status']]],
+  ['notfound_708',['NotFound',['../classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3',1,'kudu::Status']]],
+  ['notnull_709',['NotNull',['../classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca',1,'kudu::client::KuduColumnSpec']]],
+  ['notsupported_710',['NotSupported',['../classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c',1,'kudu::Status']]],
+  ['now_711',['Now',['../classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783',1,'kudu::MonoTime']]],
+  ['nullable_712',['Nullable',['../classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841',1,'kudu::client::KuduColumnSpec']]],
+  ['num_5freactors_713',['num_reactors',['../classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb',1,'kudu::client::KuduClientBuilder']]],
+  ['num_5freplicas_714',['num_replicas',['../classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139',1,'kudu::client::KuduTableCreator::num_replicas()'],['../classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed',1,'kudu::client::KuduTable::num_replicas()']]],
+  ['numpartitions_715',['NumPartitions',['../classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a',1,'kudu::client::KuduPartitioner']]],
+  ['numrows_716',['NumRows',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7',1,'kudu::client::KuduColumnarScanBatch::NumRows()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c',1,'kudu::client::KuduScanBatch::NumRows()']]]
 ];
diff --git a/cpp-client-api/search/functions_d.js b/cpp-client-api/search/functions_d.js
index 8ef68c5..8b96f02 100644
--- a/cpp-client-api/search/functions_d.js
+++ b/cpp-client-api/search/functions_d.js
@@ -1,20 +1,21 @@
 var searchData=
 [
-  ['ok_721',['OK',['../classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac',1,'kudu::Status']]],
-  ['ok_722',['ok',['../classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af',1,'kudu::Status']]],
-  ['on_5fdisk_5fsize_723',['on_disk_size',['../classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484',1,'kudu::client::KuduTableStatistics']]],
-  ['open_724',['Open',['../classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1',1,'kudu::client::KuduScanner']]],
-  ['opentable_725',['OpenTable',['../classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7',1,'kudu::client::KuduClient']]],
-  ['operator_21_3d_726',['operator!=',['../classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0',1,'kudu::client::KuduScanBatch']]],
-  ['operator_28_29_727',['operator()',['../structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5',1,'kudu::Slice::Comparator']]],
-  ['operator_2a_728',['operator*',['../classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9',1,'kudu::client::KuduScanBatch']]],
-  ['operator_2b_2b_729',['operator++',['../classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c',1,'kudu::client::KuduScanBatch::operator++()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48',1,'kudu::client::KuduScanBatch::operator++(int)']]],
-  ['operator_2b_3d_730',['operator+=',['../classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299',1,'kudu::MonoDelta']]],
-  ['operator_2d_3d_731',['operator-=',['../classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb',1,'kudu::MonoDelta']]],
-  ['operator_2d_3e_732',['operator-&gt;',['../classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf',1,'kudu::client::KuduScanBatch::operator-&gt;() const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b',1,'kudu::client::KuduScanBatch::operator-&gt;() const']]],
-  ['operator_3c_3c_733',['operator&lt;&lt;',['../classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a',1,'kudu::internal_logging::NullLog::operator&lt;&lt;()'],['../classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724',1,'kudu::internal_logging::CerrLog::operator&lt;&lt;()']]],
-  ['operator_3d_734',['operator=',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7',1,'kudu::client::KuduColumnTypeAttributes::operator=()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e',1,'kudu::client::KuduColumnSchema::operator=()'],['../classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758',1,'kudu::client::KuduSchema::operator=()'],['../classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f',1,'KuduPartialRow::operator=()'],['../classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88',1,'kudu::Status::operator=()']]],
-  ['operator_3d_3d_735',['operator==',['../classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63',1,'kudu::client::KuduScanBatch']]],
-  ['operator_5b_5d_736',['operator[]',['../classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff',1,'kudu::Slice']]],
-  ['owner_737',['owner',['../classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d',1,'kudu::client::KuduTable']]]
+  ['ok_717',['OK',['../classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac',1,'kudu::Status']]],
+  ['ok_718',['ok',['../classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af',1,'kudu::Status']]],
+  ['on_5fdisk_5fsize_719',['on_disk_size',['../classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484',1,'kudu::client::KuduTableStatistics']]],
+  ['on_5fdisk_5fsize_5flimit_720',['on_disk_size_limit',['../classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a',1,'kudu::client::KuduTableStatistics']]],
+  ['open_721',['Open',['../classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1',1,'kudu::client::KuduScanner']]],
+  ['opentable_722',['OpenTable',['../classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7',1,'kudu::client::KuduClient']]],
+  ['operator_21_3d_723',['operator!=',['../classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0',1,'kudu::client::KuduScanBatch']]],
+  ['operator_28_29_724',['operator()',['../structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5',1,'kudu::Slice::Comparator']]],
+  ['operator_2a_725',['operator*',['../classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9',1,'kudu::client::KuduScanBatch']]],
+  ['operator_2b_2b_726',['operator++',['../classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c',1,'kudu::client::KuduScanBatch::operator++()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48',1,'kudu::client::KuduScanBatch::operator++(int)']]],
+  ['operator_2b_3d_727',['operator+=',['../classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299',1,'kudu::MonoDelta']]],
+  ['operator_2d_3d_728',['operator-=',['../classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb',1,'kudu::MonoDelta']]],
+  ['operator_2d_3e_729',['operator-&gt;',['../classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf',1,'kudu::client::KuduScanBatch::operator-&gt;() const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b',1,'kudu::client::KuduScanBatch::operator-&gt;() const']]],
+  ['operator_3c_3c_730',['operator&lt;&lt;',['../classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a',1,'kudu::internal_logging::NullLog::operator&lt;&lt;()'],['../classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724',1,'kudu::internal_logging::CerrLog::operator&lt;&lt;()']]],
+  ['operator_3d_731',['operator=',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7',1,'kudu::client::KuduColumnTypeAttributes::operator=()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e',1,'kudu::client::KuduColumnSchema::operator=()'],['../classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758',1,'kudu::client::KuduSchema::operator=()'],['../classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f',1,'KuduPartialRow::operator=()'],['../classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88',1,'kudu::Status::operator=()']]],
+  ['operator_3d_3d_732',['operator==',['../classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63',1,'kudu::client::KuduScanBatch']]],
+  ['operator_5b_5d_733',['operator[]',['../classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff',1,'kudu::Slice']]],
+  ['owner_734',['owner',['../classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d',1,'kudu::client::KuduTable']]]
 ];
diff --git a/cpp-client-api/search/functions_e.js b/cpp-client-api/search/functions_e.js
index 79d971f..e57d5c3 100644
--- a/cpp-client-api/search/functions_e.js
+++ b/cpp-client-api/search/functions_e.js
@@ -1,11 +1,11 @@
 var searchData=
 [
-  ['partition_5fschema_738',['partition_schema',['../classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2',1,'kudu::client::KuduTable']]],
-  ['partitionrow_739',['PartitionRow',['../classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369',1,'kudu::client::KuduPartitioner']]],
-  ['port_740',['port',['../classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f',1,'kudu::client::KuduTabletServer']]],
-  ['posix_5fcode_741',['posix_code',['../classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d',1,'kudu::Status']]],
-  ['precision_742',['precision',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1',1,'kudu::client::KuduColumnTypeAttributes']]],
-  ['precision_743',['Precision',['../classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb',1,'kudu::client::KuduColumnSpec']]],
-  ['primarykey_744',['PrimaryKey',['../classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2',1,'kudu::client::KuduColumnSpec']]],
-  ['projection_5fschema_745',['projection_schema',['../classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324',1,'kudu::client::KuduScanBatch']]]
+  ['partition_5fschema_735',['partition_schema',['../classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2',1,'kudu::client::KuduTable']]],
+  ['partitionrow_736',['PartitionRow',['../classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369',1,'kudu::client::KuduPartitioner']]],
+  ['port_737',['port',['../classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f',1,'kudu::client::KuduTabletServer']]],
+  ['posix_5fcode_738',['posix_code',['../classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d',1,'kudu::Status']]],
+  ['precision_739',['precision',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1',1,'kudu::client::KuduColumnTypeAttributes']]],
+  ['precision_740',['Precision',['../classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb',1,'kudu::client::KuduColumnSpec']]],
+  ['primarykey_741',['PrimaryKey',['../classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2',1,'kudu::client::KuduColumnSpec']]],
+  ['projection_5fschema_742',['projection_schema',['../classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324',1,'kudu::client::KuduScanBatch']]]
 ];
diff --git a/cpp-client-api/search/functions_f.js b/cpp-client-api/search/functions_f.js
index 8654871..a2a22b1 100644
--- a/cpp-client-api/search/functions_f.js
+++ b/cpp-client-api/search/functions_f.js
@@ -1,17 +1,17 @@
 var searchData=
 [
-  ['release_5ffailed_5fop_746',['release_failed_op',['../classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a',1,'kudu::client::KuduError']]],
-  ['relocate_747',['relocate',['../classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806',1,'kudu::Slice']]],
-  ['remoteerror_748',['RemoteError',['../classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f',1,'kudu::Status']]],
-  ['remove_5fprefix_749',['remove_prefix',['../classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842',1,'kudu::Slice']]],
-  ['removedefault_750',['RemoveDefault',['../classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82',1,'kudu::client::KuduColumnSpec']]],
-  ['renameto_751',['RenameTo',['../classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324',1,'kudu::client::KuduTableAlterer::RenameTo()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4',1,'kudu::client::KuduColumnSpec::RenameTo()']]],
-  ['replicas_752',['replicas',['../classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19',1,'kudu::client::KuduTablet']]],
-  ['reset_753',['Reset',['../classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab',1,'kudu::client::KuduSchema']]],
-  ['rollback_754',['Rollback',['../classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8',1,'kudu::client::KuduTransaction']]],
-  ['row_755',['row',['../classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd',1,'kudu::client::KuduWriteOperation']]],
-  ['row_756',['Row',['../classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320',1,'kudu::client::KuduScanBatch']]],
-  ['rowptr_757',['RowPtr',['../classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e',1,'kudu::client::KuduScanBatch']]],
-  ['run_758',['Run',['../classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c',1,'kudu::client::KuduLoggingCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9',1,'kudu::client::KuduLoggingMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d',1,'kudu::client::KuduLoggingFunctionCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07',1,'kudu::client::KuduStatusCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232',1,'kudu::client::KuduStatusMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a',1,'kudu::client::KuduStatusFunctionCallback::Run()']]],
-  ['runtimeerror_759',['RuntimeError',['../classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692',1,'kudu::Status']]]
+  ['release_5ffailed_5fop_743',['release_failed_op',['../classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a',1,'kudu::client::KuduError']]],
+  ['relocate_744',['relocate',['../classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806',1,'kudu::Slice']]],
+  ['remoteerror_745',['RemoteError',['../classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f',1,'kudu::Status']]],
+  ['remove_5fprefix_746',['remove_prefix',['../classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842',1,'kudu::Slice']]],
+  ['removedefault_747',['RemoveDefault',['../classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82',1,'kudu::client::KuduColumnSpec']]],
+  ['renameto_748',['RenameTo',['../classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324',1,'kudu::client::KuduTableAlterer::RenameTo()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4',1,'kudu::client::KuduColumnSpec::RenameTo()']]],
+  ['replicas_749',['replicas',['../classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19',1,'kudu::client::KuduTablet']]],
+  ['reset_750',['Reset',['../classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab',1,'kudu::client::KuduSchema']]],
+  ['rollback_751',['Rollback',['../classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8',1,'kudu::client::KuduTransaction']]],
+  ['row_752',['row',['../classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd',1,'kudu::client::KuduWriteOperation']]],
+  ['row_753',['Row',['../classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320',1,'kudu::client::KuduScanBatch']]],
+  ['rowptr_754',['RowPtr',['../classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e',1,'kudu::client::KuduScanBatch']]],
+  ['run_755',['Run',['../classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c',1,'kudu::client::KuduLoggingCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9',1,'kudu::client::KuduLoggingMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d',1,'kudu::client::KuduLoggingFunctionCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07',1,'kudu::client::KuduStatusCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232',1,'kudu::client::KuduStatusMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a',1,'kudu::client::KuduStatusFunctionCallback::Run()']]],
+  ['runtimeerror_756',['RuntimeError',['../classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692',1,'kudu::Status']]]
 ];
diff --git a/cpp-client-api/search/pages_0.js b/cpp-client-api/search/pages_0.js
index f263bc4..ad220fe 100644
--- a/cpp-client-api/search/pages_0.js
+++ b/cpp-client-api/search/pages_0.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['deprecated_20list_899',['Deprecated List',['../deprecated.html',1,'']]]
+  ['deprecated_20list_900',['Deprecated List',['../deprecated.html',1,'']]]
 ];
diff --git a/cpp-client-api/search/pages_1.js b/cpp-client-api/search/pages_1.js
index 7863912..20d739d 100644
--- a/cpp-client-api/search/pages_1.js
+++ b/cpp-client-api/search/pages_1.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['kudu_20c_2b_2b_20client_20api_20documentation_900',['Kudu C++ client API documentation',['../index.html',1,'']]]
+  ['kudu_20c_2b_2b_20client_20api_20documentation_901',['Kudu C++ client API documentation',['../index.html',1,'']]]
 ];
diff --git a/cpp-client-api/search/pages_2.js b/cpp-client-api/search/pages_2.js
index 3b4b374..5878319 100644
--- a/cpp-client-api/search/pages_2.js
+++ b/cpp-client-api/search/pages_2.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['todo_20list_901',['Todo List',['../todo.html',1,'']]]
+  ['todo_20list_902',['Todo List',['../todo.html',1,'']]]
 ];
diff --git a/cpp-client-api/search/related_0.js b/cpp-client-api/search/related_0.js
index d6ec155..48b04a9 100644
--- a/cpp-client-api/search/related_0.js
+++ b/cpp-client-api/search/related_0.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['operator_2b_884',['operator+',['../classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08',1,'kudu::MonoDelta']]],
-  ['operator_2d_885',['operator-',['../classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b',1,'kudu::MonoDelta']]],
-  ['operator_3d_3d_886',['operator==',['../classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c',1,'kudu::Slice']]]
+  ['operator_2b_885',['operator+',['../classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08',1,'kudu::MonoDelta']]],
+  ['operator_2d_886',['operator-',['../classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b',1,'kudu::MonoDelta']]],
+  ['operator_3d_3d_887',['operator==',['../classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c',1,'kudu::Slice']]]
 ];
diff --git a/cpp-client-api/search/typedefs_0.js b/cpp-client-api/search/typedefs_0.js
index d6b2b01..9deb210 100644
--- a/cpp-client-api/search/typedefs_0.js
+++ b/cpp-client-api/search/typedefs_0.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['functiontype_852',['FunctionType',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d',1,'kudu::client::KuduLoggingFunctionCallback::FunctionType()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910',1,'kudu::client::KuduStatusFunctionCallback::FunctionType()']]]
+  ['functiontype_853',['FunctionType',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d',1,'kudu::client::KuduLoggingFunctionCallback::FunctionType()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910',1,'kudu::client::KuduStatusFunctionCallback::FunctionType()']]]
 ];
diff --git a/cpp-client-api/search/typedefs_1.js b/cpp-client-api/search/typedefs_1.js
index 1c435d7..4074b02 100644
--- a/cpp-client-api/search/typedefs_1.js
+++ b/cpp-client-api/search/typedefs_1.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['membertype_853',['MemberType',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d',1,'kudu::client::KuduLoggingMemberCallback::MemberType()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a',1,'kudu::client::KuduStatusMemberCallback::MemberType()']]]
+  ['membertype_854',['MemberType',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d',1,'kudu::client::KuduLoggingMemberCallback::MemberType()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a',1,'kudu::client::KuduStatusMemberCallback::MemberType()']]]
 ];
diff --git a/cpp-client-api/search/typedefs_2.js b/cpp-client-api/search/typedefs_2.js
index bcc2a52..06e6128 100644
--- a/cpp-client-api/search/typedefs_2.js
+++ b/cpp-client-api/search/typedefs_2.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['type_854',['type',['../structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6',1,'kudu::SliceMap']]]
+  ['type_855',['type',['../structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6',1,'kudu::SliceMap']]]
 ];
diff --git a/cpp-client-api/search/typedefs_3.js b/cpp-client-api/search/typedefs_3.js
index 3d82daa..1e2f593 100644
--- a/cpp-client-api/search/typedefs_3.js
+++ b/cpp-client-api/search/typedefs_3.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['value_5ftype_855',['value_type',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467',1,'kudu::client::KuduScanBatch']]]
+  ['value_5ftype_856',['value_type',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467',1,'kudu::client::KuduScanBatch']]]
 ];
diff --git a/cpp-client-api/search/variables_0.js b/cpp-client-api/search/variables_0.js
index 646a43e..521c22b 100644
--- a/cpp-client-api/search/variables_0.js
+++ b/cpp-client-api/search/variables_0.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['columnar_5flayout_843',['COLUMNAR_LAYOUT',['../classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10',1,'kudu::client::KuduScanner']]]
+  ['columnar_5flayout_844',['COLUMNAR_LAYOUT',['../classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10',1,'kudu::client::KuduScanner']]]
 ];
diff --git a/cpp-client-api/search/variables_1.js b/cpp-client-api/search/variables_1.js
index 212929c..ce8d933 100644
--- a/cpp-client-api/search/variables_1.js
+++ b/cpp-client-api/search/variables_1.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['data_844',['Data',['../classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0',1,'kudu::client::KuduPredicate']]]
+  ['data_845',['Data',['../classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0',1,'kudu::client::KuduPredicate']]]
 ];
diff --git a/cpp-client-api/search/variables_2.js b/cpp-client-api/search/variables_2.js
index d700c9f..7cdaf6b 100644
--- a/cpp-client-api/search/variables_2.js
+++ b/cpp-client-api/search/variables_2.js
@@ -1,8 +1,8 @@
 var searchData=
 [
-  ['kmicrosecondspersecond_845',['kMicrosecondsPerSecond',['../classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f',1,'kudu::MonoTime']]],
-  ['knanosecondspermicrosecond_846',['kNanosecondsPerMicrosecond',['../classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583',1,'kudu::MonoTime']]],
-  ['knanosecondspermillisecond_847',['kNanosecondsPerMillisecond',['../classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7',1,'kudu::MonoTime']]],
-  ['knanosecondspersecond_848',['kNanosecondsPerSecond',['../classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18',1,'kudu::MonoTime']]],
-  ['knotimestamp_849',['kNoTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa',1,'kudu::client::KuduClient']]]
+  ['kmicrosecondspersecond_846',['kMicrosecondsPerSecond',['../classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f',1,'kudu::MonoTime']]],
+  ['knanosecondspermicrosecond_847',['kNanosecondsPerMicrosecond',['../classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583',1,'kudu::MonoTime']]],
+  ['knanosecondspermillisecond_848',['kNanosecondsPerMillisecond',['../classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7',1,'kudu::MonoTime']]],
+  ['knanosecondspersecond_849',['kNanosecondsPerSecond',['../classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18',1,'kudu::MonoTime']]],
+  ['knotimestamp_850',['kNoTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa',1,'kudu::client::KuduClient']]]
 ];
diff --git a/cpp-client-api/search/variables_3.js b/cpp-client-api/search/variables_3.js
index ce3c592..7c99018 100644
--- a/cpp-client-api/search/variables_3.js
+++ b/cpp-client-api/search/variables_3.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['no_5fflags_850',['NO_FLAGS',['../classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85',1,'kudu::client::KuduScanner']]]
+  ['no_5fflags_851',['NO_FLAGS',['../classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85',1,'kudu::client::KuduScanner']]]
 ];
diff --git a/cpp-client-api/search/variables_4.js b/cpp-client-api/search/variables_4.js
index 376c350..edae3a1 100644
--- a/cpp-client-api/search/variables_4.js
+++ b/cpp-client-api/search/variables_4.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['pad_5funixtime_5fmicros_5fto_5f16_5fbytes_851',['PAD_UNIXTIME_MICROS_TO_16_BYTES',['../classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44',1,'kudu::client::KuduScanner']]]
+  ['pad_5funixtime_5fmicros_5fto_5f16_5fbytes_852',['PAD_UNIXTIME_MICROS_TO_16_BYTES',['../classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44',1,'kudu::client::KuduScanner']]]
 ];
diff --git a/cpp-client-api/shared__ptr_8h.html b/cpp-client-api/shared__ptr_8h.html
index dbb679b..23d41d7 100644
--- a/cpp-client-api/shared__ptr_8h.html
+++ b/cpp-client-api/shared__ptr_8h.html
@@ -85,7 +85,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/shared__ptr_8h_source.html b/cpp-client-api/shared__ptr_8h_source.html
index bc61214..2579ef5 100644
--- a/cpp-client-api/shared__ptr_8h_source.html
+++ b/cpp-client-api/shared__ptr_8h_source.html
@@ -142,7 +142,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/slice_8h_source.html b/cpp-client-api/slice_8h_source.html
index a50f5d5..b78133f 100644
--- a/cpp-client-api/slice_8h_source.html
+++ b/cpp-client-api/slice_8h_source.html
@@ -283,7 +283,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/status_8h.html b/cpp-client-api/status_8h.html
index 447dd72..255648b 100644
--- a/cpp-client-api/status_8h.html
+++ b/cpp-client-api/status_8h.html
@@ -496,7 +496,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/status_8h_source.html b/cpp-client-api/status_8h_source.html
index f8c29bd..92631af 100644
--- a/cpp-client-api/status_8h_source.html
+++ b/cpp-client-api/status_8h_source.html
@@ -494,7 +494,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/structkudu_1_1SliceMap-members.html b/cpp-client-api/structkudu_1_1SliceMap-members.html
index d672c1f..0db8f9c 100644
--- a/cpp-client-api/structkudu_1_1SliceMap-members.html
+++ b/cpp-client-api/structkudu_1_1SliceMap-members.html
@@ -77,7 +77,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/structkudu_1_1SliceMap.html b/cpp-client-api/structkudu_1_1SliceMap.html
index c399dd4..1864423 100644
--- a/cpp-client-api/structkudu_1_1SliceMap.html
+++ b/cpp-client-api/structkudu_1_1SliceMap.html
@@ -108,7 +108,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/structkudu_1_1Slice_1_1Comparator-members.html b/cpp-client-api/structkudu_1_1Slice_1_1Comparator-members.html
index 9955c64..ce864ed 100644
--- a/cpp-client-api/structkudu_1_1Slice_1_1Comparator-members.html
+++ b/cpp-client-api/structkudu_1_1Slice_1_1Comparator-members.html
@@ -77,7 +77,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/structkudu_1_1Slice_1_1Comparator.html b/cpp-client-api/structkudu_1_1Slice_1_1Comparator.html
index 89eb0cd..6594f97 100644
--- a/cpp-client-api/structkudu_1_1Slice_1_1Comparator.html
+++ b/cpp-client-api/structkudu_1_1Slice_1_1Comparator.html
@@ -138,7 +138,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/stubs_8h_source.html b/cpp-client-api/stubs_8h_source.html
index 08e3330..66517c0 100644
--- a/cpp-client-api/stubs_8h_source.html
+++ b/cpp-client-api/stubs_8h_source.html
@@ -293,7 +293,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/todo.html b/cpp-client-api/todo.html
index 19b3eca..bb612b6 100644
--- a/cpp-client-api/todo.html
+++ b/cpp-client-api/todo.html
@@ -66,8 +66,6 @@
 </div><!--header-->
 <div class="contents">
 <div class="textblock"><dl class="reflist">
-<dt>Module <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#amgrp145f08f9ead2d9b4bcd89c476cbe437f">Getters to expose column schema information.</a>  </dt>
-<dd><a class="anchor" id="_todo000011"></a>Expose default column value and attributes? </dd>
 <dt>Class <a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a>  </dt>
 <dd><a class="anchor" id="_todo000001"></a>Cluster administration functions are likely to be in this class as well.  </dd>
 <dt>Member <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">kudu::client::KuduClient::OpenTable</a>  (const std::string &amp;table_name, sp::shared_ptr&lt; KuduTable &gt; *table)</dt>
@@ -77,7 +75,7 @@
 <dt>Class <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a>  </dt>
 <dd><a class="anchor" id="_todo000009"></a>KUDU-861: this API will also be used for an improved AlterTable API.  </dd>
 <dt>Member <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">kudu::client::KuduColumnSpec::BlockSize</a>  (int32_t block_size)</dt>
-<dd><a class="anchor" id="_todo000012"></a>KUDU-1107: move above info to docs </dd>
+<dd><a class="anchor" id="_todo000011"></a>KUDU-1107: move above info to docs </dd>
 <dt>Member <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab">kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes</a>  (EncodingType encoding=AUTO_ENCODING, CompressionType compression=DEFAULT_COMPRESSION, int32_t block_size=0) ATTRIBUTE_DEPRECATED("this const ructor will be private in a future release")</dt>
 <dd><a class="anchor" id="_todo000010"></a>Make this constructor private. </dd>
 <dt>Member <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8">kudu::client::KuduScanner::SetSelection</a>  (<a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a" title="Policy with which to choose amongst multiple replicas.">KuduClient::ReplicaSelection</a> selection) WARN_UNUSED_RESULT</dt>
@@ -85,7 +83,7 @@
 <dt>Member <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88">kudu::client::KuduScanTokenBuilder::SetSelection</a>  (<a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a" title="Policy with which to choose amongst multiple replicas.">KuduClient::ReplicaSelection</a> selection) WARN_UNUSED_RESULT</dt>
 <dd><a class="anchor" id="_todo000008"></a>Kill this in favor of a consistency-level-based API.  </dd>
 <dt>Member <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">kudu::client::KuduSchema::Reset</a>  (const std::vector&lt; KuduColumnSchema &gt; &amp;columns, int key_columns) WARN_UNUSED_RESULT</dt>
-<dd><a class="anchor" id="_todo000013"></a>Remove <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">KuduSchema::Reset()</a>. </dd>
+<dd><a class="anchor" id="_todo000012"></a>Remove <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">KuduSchema::Reset()</a>. </dd>
 <dt>Member <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">kudu::client::KuduSession::Apply</a>  (<a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table.">KuduWriteOperation</a> *write_op) WARN_UNUSED_RESULT</dt>
 <dd><a class="anchor" id="_todo000004"></a> Add "doAs" ability here for proxy servers to be able to act on behalf of other users, assuming access rights.  </dd>
 <dt>Member <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">kudu::client::KuduSession::AUTO_FLUSH_BACKGROUND</a>  </dt>
@@ -100,7 +98,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/value_8h_source.html b/cpp-client-api/value_8h_source.html
index 088253e..e424c90 100644
--- a/cpp-client-api/value_8h_source.html
+++ b/cpp-client-api/value_8h_source.html
@@ -139,7 +139,7 @@
 <div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;} <span class="comment">// namespace kudu</span></div>
 <div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* KUDU_CLIENT_VALUE_H */</span><span class="preprocessor"></span></div>
 <div class="ttc" id="aclasskudu_1_1Slice_html"><div class="ttname"><a href="classkudu_1_1Slice.html">kudu::Slice</a></div><div class="ttdoc">A wrapper around externally allocated data.</div><div class="ttdef"><b>Definition:</b> slice.h:51</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></div><div class="ttdoc">Builder API for specifying or altering a column within a table schema.</div><div class="ttdef"><b>Definition:</b> schema.h:341</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></div><div class="ttdoc">Builder API for specifying or altering a column within a table schema.</div><div class="ttdef"><b>Definition:</b> schema.h:360</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></div><div class="ttdoc">A constant cell value with a specific type.</div><div class="ttdef"><b>Definition:</b> value.h:35</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html_a5d5ac2e02a6871de7902ba6379106dd5"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5">kudu::client::KuduValue::FromDouble</a></div><div class="ttdeci">static KuduValue * FromDouble(double val)</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html_a6f4006a3ce0cab3dbf0b90b1915d535a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a">kudu::client::KuduValue::FromFloat</a></div><div class="ttdeci">static KuduValue * FromFloat(float val)</div></div>
@@ -151,7 +151,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/cpp-client-api/write__op_8h_source.html b/cpp-client-api/write__op_8h_source.html
index 44c7542..e7bb28f 100644
--- a/cpp-client-api/write__op_8h_source.html
+++ b/cpp-client-api/write__op_8h_source.html
@@ -307,8 +307,8 @@
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduInsertIgnore_html_a3808cd171850b78391b0636d1e5bef83"><div class="ttname"><a href="classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83">kudu::client::KuduInsertIgnore::ToString</a></div><div class="ttdeci">virtual std::string ToString() const OVERRIDE</div><div class="ttdef"><b>Definition:</b> write_op.h:171</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduInsert_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduInsert.html">kudu::client::KuduInsert</a></div><div class="ttdoc">A single row insert to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:139</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduInsert_html_a7c0fb45a5bfa96574b6328be392ba240"><div class="ttname"><a href="classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240">kudu::client::KuduInsert::ToString</a></div><div class="ttdeci">virtual std::string ToString() const OVERRIDE</div><div class="ttdef"><b>Definition:</b> write_op.h:144</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></div><div class="ttdoc">Representation of a Kudu client session.</div><div class="ttdef"><b>Definition:</b> client.h:1943</div></div>
-<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></div><div class="ttdoc">A representation of a table on a particular cluster.</div><div class="ttdef"><b>Definition:</b> client.h:1332</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></div><div class="ttdoc">Representation of a Kudu client session.</div><div class="ttdef"><b>Definition:</b> client.h:2039</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></div><div class="ttdoc">A representation of a table on a particular cluster.</div><div class="ttdef"><b>Definition:</b> client.h:1389</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduUpdateIgnore_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpdateIgnore.html">kudu::client::KuduUpdateIgnore</a></div><div class="ttdoc">A single row update ignore to be sent to the cluster, missing row errors are ignored.</div><div class="ttdef"><b>Definition:</b> write_op.h:245</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduUpdateIgnore_html_ac8ae744ab8d2c8ebe887fb00c6deb261"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261">kudu::client::KuduUpdateIgnore::ToString</a></div><div class="ttdeci">virtual std::string ToString() const OVERRIDE</div><div class="ttdef"><b>Definition:</b> write_op.h:250</div></div>
 <div class="ttc" id="aclasskudu_1_1client_1_1KuduUpdate_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpdate.html">kudu::client::KuduUpdate</a></div><div class="ttdoc">A single row update to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:219</div></div>
@@ -325,7 +325,7 @@
 <!-- start footer part -->
 <hr class="footer"/>
 <address class="footer">
-  <small>Generated for Kudu version 1.14.0 on Thu Jan 28 2021 11:11:20 by Doxygen 1.9.1</small>
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
   <br>
   <small>Copyright © 2021 The Apache Software Foundation.</small>
 </address>
diff --git a/docs/administration.html b/docs/administration.html
index d9a47e3..5ddfb25 100644
--- a/docs/administration.html
+++ b/docs/administration.html
@@ -123,7 +123,25 @@
     <div class="col-md-9">
 
 <h1>Apache Kudu Administration</h1>
-      <div class="sect1">
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="_starting_and_stopping_kudu_processes"><a class="link" href="#_starting_and_stopping_kudu_processes">Starting and Stopping Kudu Processes</a></h2>
 <div class="sectionbody">
 <div class="admonitionblock note">
@@ -947,6 +965,19 @@
 </tr>
 </table>
 </div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+From Kudu version 1.15.0, a new <code>kudu master add</code> command has been added that
+simplifies the orchestration to migrate an existing Kudu cluster to multiple masters.
+</td>
+</tr>
+</table>
+</div>
 <div class="sect3">
 <h4 id="_prepare_for_the_migration"><a class="link" href="#_prepare_for_the_migration">Prepare for the migration</a></h4>
 <div class="olist arabic">
@@ -960,45 +991,15 @@
 configurations are recommended; they can tolerate one or two failures respectively.</p>
 </li>
 <li>
-<p>Perform the following preparatory steps for the existing master:</p>
+<p>Perform the following preparatory steps for the existing masters:</p>
 <div class="ulist">
 <ul>
 <li>
-<p>Identify and record the directories where the master&#8217;s write-ahead log (WAL) and data live. If
-using Kudu system packages, their default locations are /var/lib/kudu/master, but they may be
-customized via the <code>fs_wal_dir</code> and <code>fs_data_dirs</code> configuration parameters. The commands below
-assume that <code>fs_wal_dir</code> is /data/kudu/master/wal and <code>fs_data_dirs</code> is /data/kudu/master/data.
-Your configuration may differ. For more information on configuring these directories, see the
-<a href="configuration.html#directory_configuration">Kudu Configuration docs</a>.</p>
-</li>
-<li>
-<p>Identify and record the port the master is using for RPCs. The default port value is 7051, but it
-may have been customized using the <code>rpc_bind_addresses</code> configuration parameter.</p>
-</li>
-<li>
-<p>Identify the master&#8217;s UUID. It can be fetched using the following command:</p>
-<div class="listingblock">
-<div class="content">
-<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu fs dump uuid --fs_wal_dir=&lt;master_wal_dir&gt; [--fs_data_dirs=&lt;master_data_dir&gt;] 2&gt;/dev/null</code></pre>
-</div>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">master_data_dir</dt>
-<dd>
-<p>existing master&#8217;s previously recorded data directory</p>
-</dd>
-<dt class="hdlist1">Example</dt>
-<dd>
-<div class="listingblock">
-<div class="content">
-<pre>$ sudo -u kudu kudu fs dump uuid --fs_wal_dir=/data/kudu/master/wal --fs_data_dirs=/data/kudu/master/data 2&gt;/dev/null
-4aab798a69e94fab8d77069edff28ce0</pre>
-</div>
-</div>
-</dd>
-</dl>
-</div>
+<p>If migrating from a single master to multiple masters, ensure <code>--master_addresses</code> is specified
+for a single master configuration as it&#8217;s required to migrate to multiple masters. This can be
+checked using the <code>kudu master get_flags</code> command.
+If not specified, supply <code>--master_addresses=&lt;hostname&gt;:&lt;port&gt;</code> to master&#8217;s configuration
+and restart the single master.</p>
 </li>
 <li>
 <p>Optional: configure a DNS alias for the master. The alias could be a DNS cname (if the machine
@@ -1029,17 +1030,17 @@
 <ul>
 <li>
 <p>If you set up the DNS aliases, run the following statement in <code>impala-shell</code>,
-replacing <code>master-1</code>, <code>master-2</code>, and <code>master-3</code> with your actual aliases.</p>
+replacing <code>master-1</code> and <code>master-2</code> with your actual aliases.</p>
 <div class="listingblock">
 <div class="content">
 <pre class="highlight"><code class="language-sql" data-lang="sql">ALTER TABLE table_name
 SET TBLPROPERTIES
-('kudu.master_addresses' = 'master-1,master-2,master-3');</code></pre>
+('kudu.master_addresses' = 'master-1,master-2');</code></pre>
 </div>
 </div>
 </li>
 <li>
-<p>If you do not have DNS aliases set up, see Step #11 in the Performing
+<p>If you do not have DNS aliases set up, see Step #7 in the Performing
 the migration section for updating HMS.</p>
 </li>
 </ul>
@@ -1075,125 +1076,29 @@
 </div>
 <div class="sect3">
 <h4 id="perform-the-migration"><a class="link" href="#perform-the-migration">Perform the migration</a></h4>
+<div class="paragraph">
+<p>From version 1.15.0, a new <code>kudu master add</code> CLI command has been added that orchestrates migration
+to multiple masters in an existing Kudu cluster.</p>
+</div>
+<div class="paragraph">
+<p>The procedure doesn&#8217;t require stopping all the Kudu processes in the entire cluster but once the
+migration procedure is complete, all the Kudu processes must be restarted to
+incorporate the newly added master which can be done without incurring downtime as mentioned in
+the steps below.</p>
+</div>
+<div class="paragraph">
+<p>The procedure supports adding only one master at a time. In order to add multiple masters follow
+the same procedure again for the next new master.</p>
+</div>
 <div class="olist arabic">
 <ol class="arabic">
 <li>
-<p>Stop all the Kudu processes in the entire cluster.</p>
-</li>
-<li>
-<p>Format the data directory on each new master machine, and record the generated UUID. Use the
-following command sequence:</p>
-<div class="listingblock">
-<div class="content">
-<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu fs format --fs_wal_dir=&lt;master_wal_dir&gt; [--fs_data_dirs=&lt;master_data_dir&gt;]
-$ sudo -u kudu kudu fs dump uuid --fs_wal_dir=&lt;master_wal_dir&gt; [--fs_data_dirs=&lt;master_data_dir&gt;] 2&gt;/dev/null</code></pre>
-</div>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">master_data_dir</dt>
-<dd>
-<p>new master&#8217;s previously recorded data directory</p>
-</dd>
-<dt class="hdlist1">Example</dt>
-<dd>
-<div class="listingblock">
-<div class="content">
-<pre>$ sudo -u kudu kudu fs format --fs_wal_dir=/data/kudu/master/wal --fs_data_dirs=/data/kudu/master/data
-$ sudo -u kudu kudu fs dump uuid --fs_wal_dir=/data/kudu/master/wal --fs_data_dirs=/data/kudu/master/data 2&gt;/dev/null
-f5624e05f40649b79a757629a69d061e</pre>
-</div>
-</div>
-</dd>
-</dl>
-</div>
-</li>
-<li>
-<p>If using CM, add the new Kudu master roles now, but do not start them.</p>
-<div class="ulist">
-<ul>
-<li>
-<p>If using DNS aliases, override the empty value of the <code>Master Address</code> parameter for each role
-(including the existing master role) with that master&#8217;s alias.</p>
-</li>
-<li>
-<p>Add the port number (separated by a colon) if using a non-default RPC port value.</p>
-</li>
-</ul>
-</div>
-</li>
-<li>
-<p>Rewrite the master&#8217;s Raft configuration with the following command, executed on the existing
-master machine:</p>
-<div class="listingblock">
-<div class="content">
-<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu local_replica cmeta rewrite_raft_config --fs_wal_dir=&lt;master_wal_dir&gt; [--fs_data_dirs=&lt;master_data_dir&gt;] &lt;tablet_id&gt; &lt;all_masters&gt;</code></pre>
-</div>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">master_data_dir</dt>
-<dd>
-<p>existing master&#8217;s previously recorded data directory</p>
-</dd>
-<dt class="hdlist1">tablet_id</dt>
-<dd>
-<p>must be the string <code>00000000000000000000000000000000</code></p>
-</dd>
-<dt class="hdlist1">all_masters</dt>
-<dd>
-<p>space-separated list of masters, both new and existing. Each entry in the list must be
-a string of the form <code>&lt;uuid&gt;:&lt;hostname&gt;:&lt;port&gt;</code></p>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">uuid</dt>
-<dd>
-<p>master&#8217;s previously recorded UUID</p>
-</dd>
-<dt class="hdlist1">hostname</dt>
-<dd>
-<p>master&#8217;s previously recorded hostname or alias</p>
-</dd>
-<dt class="hdlist1">port</dt>
-<dd>
-<p>master&#8217;s previously recorded RPC port number</p>
-</dd>
-</dl>
-</div>
-</dd>
-<dt class="hdlist1">Example</dt>
-<dd>
-<div class="listingblock">
-<div class="content">
-<pre>$ sudo -u kudu kudu local_replica cmeta rewrite_raft_config --fs_wal_dir=/data/kudu/master/wal --fs_data_dirs=/data/kudu/master/data 00000000000000000000000000000000 4aab798a69e94fab8d77069edff28ce0:master-1:7051 f5624e05f40649b79a757629a69d061e:master-2:7051 988d8ac6530f426cbe180be5ba52033d:master-3:7051</pre>
-</div>
-</div>
-</dd>
-</dl>
-</div>
-</li>
-<li>
-<p>Modify the value of the <code>master_addresses</code> configuration parameter for both existing master and new masters.
-The new value must be a comma-separated list of all of the masters. Each entry is a string of the form <code>&lt;hostname&gt;:&lt;port&gt;</code></p>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">hostname</dt>
-<dd>
-<p>master&#8217;s previously recorded hostname or alias</p>
-</dd>
-<dt class="hdlist1">port</dt>
-<dd>
-<p>master&#8217;s previously recorded RPC port number</p>
-</dd>
-</dl>
-</div>
-</li>
-<li>
-<p>Start the existing master.</p>
-</li>
-<li>
-<p>Copy the master data to each new master with the following command, executed on each new master
-machine.</p>
+<p>On the new master host (not on any of the existing masters), run the <code>kudu master add</code> command
+to add the master. Look for any success or error messages on the console or the new master log file.
+The command is designed to be idempotent so in case of an error after the issue mentioned in the
+error messages is fixed, run the same command again to make forward progress. After the completion
+of the procedure irrespective of whether the procedure is successful, the new master is shutdown.
+The example below adds <code>master-2</code> to existing Kudu cluster with <code>master-1</code>.</p>
 <div class="admonitionblock warning">
 <table>
 <tr>
@@ -1202,73 +1107,23 @@
 </td>
 <td class="content">
 If your Kudu cluster is secure, in addition to running as the Kudu UNIX user, you must
-  authenticate as the Kudu service user prior to running this command.
+authenticate as the Kudu service user prior to running this command.
 </td>
 </tr>
 </table>
 </div>
 <div class="listingblock">
 <div class="content">
-<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu local_replica copy_from_remote --fs_wal_dir=&lt;master_wal_dir&gt; [--fs_data_dirs=&lt;master_data_dir&gt;] &lt;tablet_id&gt; &lt;existing_master&gt;</code></pre>
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu master add master-1 master-2 --fs_wal_dir=/data/kudu/master/wal \
+--fs_data_dirs=/data/kudu/master/data</code></pre>
 </div>
 </div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">master_data_dir</dt>
-<dd>
-<p>new master&#8217;s previously recorded data directory</p>
-</dd>
-<dt class="hdlist1">tablet_id</dt>
-<dd>
-<p>must be the string <code>00000000000000000000000000000000</code></p>
-</dd>
-<dt class="hdlist1">existing_master</dt>
-<dd>
-<p>RPC address of the existing master and must be a string of the form
-<code>&lt;hostname&gt;:&lt;port&gt;</code></p>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">hostname</dt>
-<dd>
-<p>existing master&#8217;s previously recorded hostname or alias</p>
-</dd>
-<dt class="hdlist1">port</dt>
-<dd>
-<p>existing master&#8217;s previously recorded RPC port number</p>
-</dd>
-</dl>
-</div>
-</dd>
-<dt class="hdlist1">Example</dt>
-<dd>
-<div class="listingblock">
-<div class="content">
-<pre>$ sudo -u kudu kudu local_replica copy_from_remote --fs_wal_dir=/data/kudu/master/wal --fs_data_dirs=/data/kudu/master/data 00000000000000000000000000000000 master-1:7051</pre>
-</div>
-</div>
-</dd>
-</dl>
-</div>
 </li>
 <li>
-<p>Start all of the new masters.</p>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-Skip the next step if using CM.
-</td>
-</tr>
-</table>
-</div>
-</li>
-<li>
-<p>Modify the value of the <code>tserver_master_addrs</code> configuration parameter for each tablet server.
-The new value must be a comma-separated list of masters where each entry is a string of the form
-<code>&lt;hostname&gt;:&lt;port&gt;</code></p>
+<p>Modify the value of the <code>master_addresses</code> configuration parameter for existing masters only
+as the new master is already configured with the updated <code>master_addresses</code>.
+The new value must be a comma-separated list of all of the masters.
+Each entry is a string of the form <code>&lt;hostname&gt;:&lt;port&gt;</code></p>
 <div class="dlist">
 <dl>
 <dt class="hdlist1">hostname</dt>
@@ -1283,7 +1138,30 @@
 </div>
 </li>
 <li>
-<p>Start all of the tablet servers.</p>
+<p>Restart the existing masters one by one.</p>
+</li>
+<li>
+<p>Start the new master.</p>
+</li>
+<li>
+<p>Modify the value of the <code>tserver_master_addrs</code> configuration parameter for each
+tablet server. The new value must be a comma-separated list of masters where each entry is a string
+of the form <code>&lt;hostname&gt;:&lt;port&gt;</code></p>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">hostname</dt>
+<dd>
+<p>master&#8217;s previously recorded hostname or alias</p>
+</dd>
+<dt class="hdlist1">port</dt>
+<dd>
+<p>master&#8217;s previously recorded RPC port number</p>
+</dd>
+</dl>
+</div>
+</li>
+<li>
+<p>Restart all the tablet servers to pick up the new master configuration.</p>
 </li>
 <li>
 <p>If you have Kudu tables that are accessed from Impala and you didn&#8217;t set up
@@ -1297,8 +1175,8 @@
 <div class="content">
 <pre class="highlight"><code class="language-sql" data-lang="sql">UPDATE TABLE_PARAMS
 SET PARAM_VALUE =
-  'master-1.example.com,master-2.example.com,master-3.example.com'
-WHERE PARAM_KEY = 'kudu.master_addresses' AND PARAM_VALUE = 'old-master';</code></pre>
+  'master-1.example.com,master-2.example.com'
+WHERE PARAM_KEY = 'kudu.master_addresses' AND PARAM_VALUE = 'master-1.example.com';</code></pre>
 </div>
 </div>
 </li>
@@ -1324,9 +1202,9 @@
 <div class="ulist">
 <ul>
 <li>
-<p>Using a browser, visit each master&#8217;s web UI. Look at the /masters page. All of the masters should
+<p>Using a browser, visit each master&#8217;s web UI. Look at the <code>/masters</code> page. All the masters should
 be listed there with one master in the LEADER role and the others in the FOLLOWER role. The
-contents of /masters on each master should be the same.</p>
+contents of <code>/masters</code> on each master should be the same.</p>
 </li>
 <li>
 <p>Run a Kudu system check (ksck) on the cluster using the <code>kudu</code> command line
@@ -1344,11 +1222,6 @@
 depending on the number of available masters. This workflow describes how to replace the dead
 master.</p>
 </div>
-<div class="paragraph">
-<p>Due to <a href="https://issues.apache.org/jira/browse/KUDU-1620">KUDU-1620</a>, it is not possible to perform
-this workflow without also restarting the live masters. As such, the workflow requires a
-maintenance window, albeit a potentially brief one if the cluster was set up with DNS aliases.</p>
-</div>
 <div class="admonitionblock warning">
 <table>
 <tr>
@@ -1356,10 +1229,10 @@
 <i class="fa icon-warning" title="Warning"></i>
 </td>
 <td class="content">
-Kudu does not yet support live Raft configuration changes for masters. As such, it is only
-possible to replace a master if the deployment was created with DNS aliases or if every node in the
-cluster is first shut down. See the <a href="#migrate_to_multi_master">multi-master migration workflow</a> for
-more details on deploying with DNS aliases.
+Replacing a master created without DNS aliases requires an unavailability window
+when tablet servers are restarted to pick up the replacement master at different hostname.
+See the <a href="#migrate_to_multi_master">multi-master migration workflow</a> for more details on deploying
+with DNS aliases.
 </td>
 </tr>
 </table>
@@ -1414,12 +1287,8 @@
 accidentally restarting; this can be quite dangerous for the cluster post-recovery.</p>
 </li>
 <li>
-<p>Choose one of the remaining live masters to serve as a basis for recovery. The rest of this
-workflow will refer to this master as the "reference" master.</p>
-</li>
-<li>
 <p>Choose an unused machine in the cluster where the new master will live. The master generates very
-little load so it can be collocated with other data services or load-generating processes, though
+little load, so it can be collocated with other data services or load-generating processes, though
 not with another Kudu master from the same configuration.
 The rest of this workflow will refer to this master as the "replacement" master.</p>
 </li>
@@ -1428,6 +1297,9 @@
 <div class="ulist">
 <ul>
 <li>
+<p>If using the same dead master as the replacement master then delete the master&#8217;s directories.</p>
+</li>
+<li>
 <p>Ensure Kudu is installed on the machine, either via system packages (in which case the <code>kudu</code> and
 <code>kudu-master</code> packages should be installed), or via some other means.</p>
 </li>
@@ -1437,94 +1309,6 @@
 </ul>
 </div>
 </li>
-<li>
-<p>Perform the following preparatory steps for each live master:</p>
-<div class="ulist">
-<ul>
-<li>
-<p>Identify and record the directory where the master&#8217;s data lives. If using Kudu system packages,
-the default value is /var/lib/kudu/master, but it may be customized via the <code>fs_wal_dir</code> and
-<code>fs_data_dirs</code> configuration parameters. Please note if you&#8217;ve set <code>fs_data_dirs</code> to some directories
-other than the value of <code>fs_wal_dir</code>, it should be explicitly included in every command below where
-<code>fs_wal_dir</code> is also included. For more information on configuring these directories, see the
-<a href="configuration.html#directory_configuration">Kudu Configuration docs</a>.</p>
-</li>
-<li>
-<p>Identify and record the master&#8217;s UUID. It can be fetched using the following command:</p>
-<div class="listingblock">
-<div class="content">
-<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu fs dump uuid --fs_wal_dir=&lt;master_wal_dir&gt; [--fs_data_dirs=&lt;master_data_dir&gt;] 2&gt;/dev/null</code></pre>
-</div>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">master_data_dir</dt>
-<dd>
-<p>live master&#8217;s previously recorded data directory</p>
-</dd>
-<dt class="hdlist1">Example</dt>
-<dd>
-<div class="listingblock">
-<div class="content">
-<pre>$ sudo -u kudu kudu fs dump uuid --fs_wal_dir=/data/kudu/master/wal --fs_data_dirs=/data/kudu/master/data 2&gt;/dev/null
-80a82c4b8a9f4c819bab744927ad765c</pre>
-</div>
-</div>
-</dd>
-</dl>
-</div>
-</li>
-</ul>
-</div>
-</li>
-<li>
-<p>Perform the following preparatory steps for the reference master:</p>
-<div class="ulist">
-<ul>
-<li>
-<p>Identify and record the directory where the master&#8217;s data lives. If using Kudu system packages,
-the default value is /var/lib/kudu/master, but it may be customized via the <code>fs_wal_dir</code> and
-<code>fs_data_dirs</code> configuration parameters. Please note if you&#8217;ve set <code>fs_data_dirs</code> to some directories
-other than the value of <code>fs_wal_dir</code>, it should be explicitly included in every command below where
-<code>fs_wal_dir</code> is also included. For more information on configuring these directories, see the
-<a href="configuration.html#directory_configuration">Kudu Configuration docs</a>.</p>
-</li>
-<li>
-<p>Identify and record the UUIDs of every master in the cluster, using the following command:</p>
-<div class="listingblock">
-<div class="content">
-<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu local_replica cmeta print_replica_uuids --fs_wal_dir=&lt;master_wal_dir&gt; [--fs_data_dirs=&lt;master_data_dir&gt;] &lt;tablet_id&gt; 2&gt;/dev/null</code></pre>
-</div>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">master_data_dir</dt>
-<dd>
-<p>reference master&#8217;s previously recorded data directory</p>
-</dd>
-<dt class="hdlist1">tablet_id</dt>
-<dd>
-<p>must be the string <code>00000000000000000000000000000000</code></p>
-</dd>
-<dt class="hdlist1">Example</dt>
-<dd>
-<div class="listingblock">
-<div class="content">
-<pre>$ sudo -u kudu kudu local_replica cmeta print_replica_uuids --fs_wal_dir=/data/kudu/master/wal --fs_data_dirs=/data/kudu/master/data 00000000000000000000000000000000 2&gt;/dev/null
-80a82c4b8a9f4c819bab744927ad765c 2a73eeee5d47413981d9a1c637cce170 1c3f3094256347528d02ec107466aef3</pre>
-</div>
-</div>
-</dd>
-</dl>
-</div>
-</li>
-</ul>
-</div>
-</li>
-<li>
-<p>Using the two previously-recorded lists of UUIDs (one for all live masters and one for all
-masters), determine and record (by process of elimination) the UUID of the dead master.</p>
-</li>
 </ol>
 </div>
 </div>
@@ -1533,105 +1317,28 @@
 <div class="olist arabic">
 <ol class="arabic">
 <li>
-<p>Format the data directory on the replacement master machine using the previously recorded
-UUID of the dead master. Use the following command sequence:</p>
+<p>Remove the dead master from the Raft configuration of the master using the <code>kudu master remove</code>
+command. In the example below, dead master <code>master-2</code> is being recovered.</p>
 <div class="listingblock">
 <div class="content">
-<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu fs format --fs_wal_dir=&lt;master_wal_dir&gt; [--fs_data_dirs=&lt;master_data_dir&gt;] --uuid=&lt;uuid&gt;</code></pre>
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu master remove master-1,master-2 master-2</code></pre>
 </div>
 </div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">master_data_dir</dt>
-<dd>
-<p>replacement master&#8217;s previously recorded data directory</p>
-</dd>
-<dt class="hdlist1">uuid</dt>
-<dd>
-<p>dead master&#8217;s previously recorded UUID</p>
-</dd>
-<dt class="hdlist1">Example</dt>
-<dd>
-<div class="listingblock">
-<div class="content">
-<pre>$ sudo -u kudu kudu fs format --fs_wal_dir=/data/kudu/master/wal --fs_data_dirs=/data/kudu/master/data --uuid=80a82c4b8a9f4c819bab744927ad765c</pre>
-</div>
-</div>
-</dd>
-</dl>
-</div>
 </li>
 <li>
-<p>Copy the master data to the replacement master with the following command:</p>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-If your Kudu cluster is secure, in addition to running as the Kudu UNIX user, you must
-  authenticate as the Kudu service user prior to running this command.
-</td>
-</tr>
-</table>
-</div>
+<p>On the replacement master host, add the replacement master to the cluster using
+<code>kudu master add</code> command. Look for any success or error messages on the console or the replacement
+master log file. The command is designed to be idempotent so in case of an error after the issue
+mentioned in the error messages is fixed, run the same command again to make forward progress.
+After the completion of the procedure irrespective of whether the procedure is successful,
+the replacement master is shutdown. In the example below, replacement master <code>master-2</code> is used.
+In case DNS alias is not being used, use the hostname of the replacement master.</p>
 <div class="listingblock">
 <div class="content">
-<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu local_replica copy_from_remote --fs_wal_dir=&lt;master_wal_dir&gt; [--fs_data_dirs=&lt;master_data_dir&gt;] &lt;tablet_id&gt; &lt;reference_master&gt;</code></pre>
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu master add master-1 master-2 --fs_wal_dir=/data/kudu/master/wal \
+--fs_data_dirs=/data/kudu/master/data</code></pre>
 </div>
 </div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">master_data_dir</dt>
-<dd>
-<p>replacement master&#8217;s previously recorded data directory</p>
-</dd>
-<dt class="hdlist1">tablet_id</dt>
-<dd>
-<p>must be the string <code>00000000000000000000000000000000</code></p>
-</dd>
-<dt class="hdlist1">reference_master</dt>
-<dd>
-<p>RPC address of the reference master and must be a string of the form
-<code>&lt;hostname&gt;:&lt;port&gt;</code></p>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">hostname</dt>
-<dd>
-<p>reference master&#8217;s previously recorded hostname or alias</p>
-</dd>
-<dt class="hdlist1">port</dt>
-<dd>
-<p>reference master&#8217;s previously recorded RPC port number</p>
-</dd>
-</dl>
-</div>
-</dd>
-<dt class="hdlist1">Example</dt>
-<dd>
-<div class="listingblock">
-<div class="content">
-<pre>$ sudo -u kudu kudu local_replica copy_from_remote --fs_wal_dir=/data/kudu/master/wal --fs_data_dirs=/data/kudu/master/data 00000000000000000000000000000000 master-2:7051</pre>
-</div>
-</div>
-</dd>
-</dl>
-</div>
-</li>
-<li>
-<p>If using CM, add the replacement Kudu master role now, but do not start it.</p>
-<div class="ulist">
-<ul>
-<li>
-<p>Override the empty value of the <code>Master Address</code> parameter for the new role with the replacement
-master&#8217;s alias.</p>
-</li>
-<li>
-<p>Add the port number (separated by a colon) if using a non-default RPC port value.</p>
-</li>
-</ul>
-</div>
 </li>
 <li>
 <p>If the cluster was set up with DNS aliases, reconfigure the DNS alias for the dead master to point
@@ -1639,25 +1346,62 @@
 </li>
 <li>
 <p>If the cluster was set up without DNS aliases, perform the following steps:</p>
-<div class="ulist">
-<ul>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
 <li>
-<p>Stop the remaining live masters.</p>
+<p>Modify the value of the <code>master_addresses</code> configuration parameter for each live master
+removing the dead master and substituting it with the replacement master.
+The new value must be a comma-separated list of masters where each entry is a string of the form
+<code>&lt;hostname&gt;:&lt;port&gt;</code></p>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">hostname</dt>
+<dd>
+<p>master&#8217;s previously recorded hostname or alias</p>
+</dd>
+<dt class="hdlist1">port</dt>
+<dd>
+<p>master&#8217;s previously recorded RPC port number</p>
+</dd>
+</dl>
+</div>
 </li>
 <li>
-<p>Rewrite the Raft configurations on these masters to include the replacement master. See Step 4 of
-<a href="#perform-the-migration">Perform the Migration</a> for more details.</p>
+<p>Restart the remaining live masters.</p>
 </li>
-</ul>
+</ol>
 </div>
 </li>
 <li>
 <p>Start the replacement master.</p>
 </li>
 <li>
-<p>Restart the remaining masters in the new multi-master deployment. While the masters are shut down,
-there will be an availability outage, but it should last only as long as it takes for the masters
-to come back up.</p>
+<p>If the cluster was set up without DNS aliases, follow the steps below for tablet servers:</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Modify the value of the <code>tserver_master_addrs</code> configuration parameter for each tablet server
+removing the dead master and substituting it with the replacement master.
+The new value must be a comma-separated list of masters where each entry is a string of the form
+<code>&lt;hostname&gt;:&lt;port&gt;</code></p>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">hostname</dt>
+<dd>
+<p>master&#8217;s previously recorded hostname or alias</p>
+</dd>
+<dt class="hdlist1">port</dt>
+<dd>
+<p>master&#8217;s previously recorded RPC port number</p>
+</dd>
+</dl>
+</div>
+</li>
+<li>
+<p>Restart all the tablet servers.</p>
+</li>
+</ol>
+</div>
 </li>
 </ol>
 </div>
@@ -1727,10 +1471,7 @@
 removal may result in severe data loss.</p>
 </li>
 <li>
-<p>Stop all the Kudu processes in the entire cluster.</p>
-</li>
-<li>
-<p>If using CM, remove the unwanted Kudu master.</p>
+<p>Stop the unwanted Kudu master processes.</p>
 </li>
 </ol>
 </div>
@@ -1740,8 +1481,15 @@
 <div class="olist arabic">
 <ol class="arabic">
 <li>
-<p>Rewrite the Raft configuration on the remaining masters to include only the remaining masters. See
-Step 4 of <a href="#perform-the-migration">Perform the Migration</a> for more details.</p>
+<p>Perform the Raft configuration change. Run the <code>kudu master remove</code> tool.
+Only a single master can be removed at a time. If multiple masters need to be removed, run the
+tool multiple times. In the example below, <code>master-2</code> is being removed from a Kudu cluster with two
+masters <code>master-1,master-2</code>.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu master remove master-1,master-2 master-2</code></pre>
+</div>
+</div>
 </li>
 <li>
 <p>Remove the data directories and WAL directory on the unwanted masters. This is a precaution to
@@ -1749,18 +1497,17 @@
 </li>
 <li>
 <p>Modify the value of the <code>master_addresses</code> configuration parameter for the masters of the new
-multi-master deployment. If migrating to a single-master deployment, the <code>master_addresses</code> flag
-should be omitted entirely.</p>
+multi-master deployment.</p>
 </li>
 <li>
-<p>Start all of the masters that were not removed.</p>
+<p>Restart all the masters that were not removed.</p>
 </li>
 <li>
 <p>Modify the value of the <code>tserver_master_addrs</code> configuration parameter for the tablet servers to
 remove any unwanted masters.</p>
 </li>
 <li>
-<p>Start all of the tablet servers.</p>
+<p>Restart all the tablet servers.</p>
 </li>
 </ol>
 </div>
@@ -3258,7 +3005,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 10:59:21 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/background_tasks.html b/docs/background_tasks.html
index 0e667dc..182ca86 100644
--- a/docs/background_tasks.html
+++ b/docs/background_tasks.html
@@ -125,6 +125,20 @@
 <h1>Apache Kudu Background Maintenance Tasks</h1>
       <div id="preamble">
 <div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
 <div class="paragraph">
 <p>Kudu relies on running background tasks for many important automatic
 maintenance activities. These tasks include flushing data from memory to disk,
@@ -335,7 +349,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/command_line_tools.html b/docs/command_line_tools.html
index 0959b5d..31bb46a 100644
--- a/docs/command_line_tools.html
+++ b/docs/command_line_tools.html
@@ -286,6 +286,12 @@
 <p><a href="#master-list">list</a></p>
 </li>
 <li>
+<p><a href="#master-add">add</a></p>
+</li>
+<li>
+<p><a href="#master-remove">remove</a></p>
+</li>
+<li>
 <p><a href="#master-authz_cache">authz_cache</a></p>
 <div class="ulist">
 <ul>
@@ -418,6 +424,16 @@
 </li>
 <li>
 <p><a href="#table-statistics">statistics</a></p>
+</li>
+<li>
+<p><a href="#table-set_limit">set_limit</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#set_limit-disk_size">disk_size</a></p>
+</li>
+<li>
+<p><a href="#set_limit-row_count">row_count</a></p>
 <div class="ulist">
 <ul>
 <li>
@@ -426,6 +442,9 @@
 </ul>
 </div>
 </li>
+</ul>
+</div>
+</li>
 <li>
 <p><a href="#tablet-leader_step_down">leader_step_down</a></p>
 </li>
@@ -463,6 +482,19 @@
 <div class="ulist">
 <ul>
 <li>
+<p><a href="#txn">txn</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#txn-list">list</a></p>
+</li>
+<li>
+<p><a href="#txn-show">show</a></p>
+<div class="ulist">
+<ul>
+<li>
 <p><a href="#tserver">tserver</a></p>
 </li>
 </ul>
@@ -643,7 +675,7 @@
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">sections (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Sections to print (comma-separated list of sections, available sections are: MASTER_SUMMARIES, TSERVER_SUMMARIES, VERSION_SUMMARIES, TABLET_SUMMARIES, TABLE_SUMMARIES, CHECKSUM_RESULTS and TOTAL_COUNT.) If not specified, print all sections.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Sections to print (comma-separated list of sections, available sections are: MASTER_SUMMARIES, TSERVER_SUMMARIES, VERSION_SUMMARIES, TABLET_SUMMARIES, TABLE_SUMMARIES, SYSTEM_TABLE_SUMMARIES, CHECKSUM_RESULTS and TOTAL_COUNT.) If not specified, print all sections.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>*</code></p></td>
 </tr>
@@ -1620,7 +1652,7 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of HMS entry fields to include in output.
-Possible values: database, table, type, owner, kudu.table_name, kudu.table_id, kudu.cluster_id, kudu.master_addresses, storage_handler</p></td>
+Possible values: database, table, type, owner, comment, kudu.table_name, kudu.table_id, kudu.cluster_id, kudu.master_addresses, storage_handler</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>database,table,type,kudu.table_name</code></p></td>
 </tr>
@@ -2854,7 +2886,7 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of master info fields to include in output.
-Possible values: uuid, cluster_idrpc-addresses, http-addresses, version, seqno, start_time and role</p></td>
+Possible values: uuid, cluster_idrpc-addresses, http-addresses, version, seqno, start_time, role and member_type</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>uuid,rpc-addresses,role</code></p></td>
 </tr>
@@ -2884,6 +2916,149 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="master-add"><a class="link" href="#master-add"><code>add</code>: Add a master to the Kudu cluster&#160;</a></h3>
+<div class="paragraph">
+<p>This is an advanced command that orchestrates the workflow to bring up and add a new master to the Kudu cluster. It must be run locally on the new master being added and not on the leader master. This tool shuts down the new master after completion of the command regardless of whether the new master addition is successful. After the command completes successfully, user is expected to explicitly start the new master using the same flags as supplied to this tool.</p>
+</div>
+<div class="paragraph">
+<p>Supply all the necessary flags to bring up the new master. The most common configuration flags used to bring up a master are described below. See "Kudu Configuration Reference" for all the configuration options that apply to a Kudu master.</p>
+</div>
+<div class="paragraph">
+<p>Please refer to the Kudu administration documentation on "Migrating to Multiple Kudu Masters" for the complete steps.<br>
+<strong>Usage:</strong><br>
+<code>kudu master add &lt;master_addresses&gt; &lt;master_address&gt; [-wait_secs=&lt;secs&gt;] [-kudu_abs_path=&lt;path&gt;] [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-log_dir=&lt;dir&gt;] [-logtostderr]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">wait_secs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout in seconds to wait while retrying operations like bringing up new master, running ksck, waiting for the new master to be promoted as VOTER, etc. This flag is not passed to the new master.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>64</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">kudu_abs_path (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Absolute file path of the 'kudu' executable used to bring up new master and other workflow steps. This flag is not passed to the new master.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If specified, logfiles are written into this directory instead of the default logging directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">logtostderr (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log messages go to stderr instead of logfiles</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="master-remove"><a class="link" href="#master-remove"><code>remove</code>: Remove a master from the Kudu cluster&#160;</a></h3>
+<div class="paragraph">
+<p>Removes a master from the Raft configuration of the Kudu cluster.</p>
+</div>
+<div class="paragraph">
+<p>Please refer to the Kudu administration documentation on "Removing Kudu Masters from a Multi-Master Deployment" or "Recovering from a dead Kudu Master in a Multi-Master Deployment" as appropriate.<br>
+<strong>Usage:</strong><br>
+<code>kudu master remove &lt;master_addresses&gt; &lt;master_address&gt; [-master_uuid=&lt;uuid&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_uuid (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Permanent UUID of the master. Only needed to disambiguate in case of multiple masters with same RPC address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="master-authz_cache"><a class="link" href="#master-authz_cache"><code>authz_cache</code>: Operate on the authz caches of the Kudu Masters</a></h3>
 <div class="paragraph">
 <p><br></p>
@@ -3060,7 +3235,7 @@
 <div class="paragraph">
 <p>Run load generation tool which inserts auto-generated data into an existing or auto-created table as fast as possible. If requested, also scan the inserted rows to check whether the actual count of inserted rows matches the expected one.<br>
 <strong>Usage:</strong><br>
-<code>kudu perf loadgen &lt;master_addresses&gt; [-auto_database=&lt;database&gt;] [-buffer_flush_watermark_pct=&lt;pct&gt;] [-buffer_size_bytes=&lt;bytes&gt;] [-buffers_num=&lt;num&gt;] [-error_buffer_size_bytes=&lt;bytes&gt;] [-flush_per_n_rows=&lt;rows&gt;] [-keep_auto_table] [-num_rows_per_thread=&lt;thread&gt;] [-num_threads=&lt;threads&gt;] [-run_cleanup] [-run_scan] [-seq_start=&lt;start&gt;] [-show_first_n_errors=&lt;errors&gt;] [-string_fixed=&lt;fixed&gt;] [-string_len=&lt;len&gt;] [-table_name=&lt;name&gt;] [-table_num_hash_partitions=&lt;partitions&gt;] [-table_num_range_partitions=&lt;partitions&gt;] [-table_num_replicas=&lt;replicas&gt;] [-nouse_client_per_thread] [-use_random] [-use_random_pk] [-use_random_non_pk] [-use_upsert] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<code>kudu perf loadgen &lt;master_addresses&gt; [-auto_database=&lt;database&gt;] [-buffer_flush_watermark_pct=&lt;pct&gt;] [-buffer_size_bytes=&lt;bytes&gt;] [-buffers_num=&lt;num&gt;] [-error_buffer_size_bytes=&lt;bytes&gt;] [-flush_per_n_rows=&lt;rows&gt;] [-keep_auto_table] [-num_rows_per_thread=&lt;thread&gt;] [-num_threads=&lt;threads&gt;] [-run_cleanup] [-run_scan] [-seq_start=&lt;start&gt;] [-show_first_n_errors=&lt;errors&gt;] [-string_fixed=&lt;fixed&gt;] [-string_len=&lt;len&gt;] [-table_name=&lt;name&gt;] [-table_num_hash_partitions=&lt;partitions&gt;] [-table_num_range_partitions=&lt;partitions&gt;] [-table_num_replicas=&lt;replicas&gt;] [-txn_start] [-txn_commit] [-txn_rollback] [-nouse_client_per_thread] [-use_random] [-use_random_pk] [-use_random_non_pk] [-use_upsert] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -3201,6 +3376,24 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_start (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the generated rows are inserted in the context of a multi-row transaction. For now, only supported if configured to insert rows (i.e. UPDATE and DELETE are not yet supported). Unless --txn_commit or --txn_rollback is specified, the started transaction is left 'as is' (i.e. neither commit, nor rollback is performed) once the tool completes its operations.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_commit (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to commit the multi-row transaction which contains all the inserted rows. Setting --txn_commit=true implies setting --txn_start=true as well.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_rollback (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to rollback the multi-row transaction which contains all the inserted rows. Setting --txn_rollback=true implies setting --txn_start=true as well.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">use_client_per_thread (optional)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use a separate KuduClient instance for each load-generating thread. This increases throughput by reducing contention on various Client internals.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
@@ -5217,6 +5410,132 @@
 <p><br></p>
 </div>
 </div>
+<div class="sect2">
+<h3 id="table-set_limit"><a class="link" href="#table-set_limit"><code>set_limit</code>: Set the write limit for a table</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="set_limit-disk_size"><a class="link" href="#set_limit-disk_size"><code>disk_size</code>: Set the disk size limit&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table set_limit disk_size &lt;master_addresses&gt; &lt;table_name&gt; &lt;disk_size&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to set limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">disk_size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The disk size limit, 'unlimited' for no write limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="set_limit-row_count"><a class="link" href="#set_limit-row_count"><code>row_count</code>: Set the row count limit&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table set_limit row_count &lt;master_addresses&gt; &lt;table_name&gt; &lt;row_count&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to set limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">row_count</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The row count limit, 'unlimited' for no write limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
 </div>
 </div>
 <div class="sect1">
@@ -5677,6 +5996,154 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="txn"><a class="link" href="#txn"><code>txn</code>: Operate on multi-row transactions</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="txn-list"><a class="link" href="#txn-list"><code>list</code>: Show details of multi-row transactions in the cluster&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu txn list &lt;master_addresses&gt; [-columns=&lt;columns&gt;] [-max_txn_id=&lt;id&gt;] [-min_txn_id=&lt;id&gt;] [-included_states=&lt;states&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of transaction-related info fields to include in the output.
+Possible values: txn_id, user, state, commit_datetime, commit_hybridtime, start_datetime, last_transition_datetime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>txn_id,user,state,commit_datetime,start_datetime,last_transition_datetime</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">max_txn_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Inclusive maximum transaction ID to display, or -1 for no maximum.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">min_txn_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Inclusive minimum transaction ID to display, or -1 for no minimum.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">included_states (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of transaction states to display. Supported states are 'open', 'abort_in_progress', 'aborted', 'commit_in_progress', 'finalize_in_progress', and 'committed', or '*' for all states. By default, shows currently active transactions.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>open,abort_in_progress,commit_in_progress,finalize_in_progress</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="txn-show"><a class="link" href="#txn-show"><code>show</code>: Show details of a specific transaction&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu txn show &lt;master_addresses&gt; &lt;txn_id&gt; [-columns=&lt;columns&gt;] [-timeout_ms=&lt;ms&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Transaction ID on which to operate</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of transaction-related info fields to include in the output.
+Possible values: txn_id, user, state, commit_datetime, commit_hybridtime, start_datetime, last_transition_datetime, participant_tablet_id, participant_is_aborted, participant_flushed_committed_mrs, participant_begin_commit_datetime, participant_begin_commit_hybridtime, participant_commit_datetime, participant_commit_hybridtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>txn_id,user,state,commit_datetime,start_datetime,last_transition_datetime,participant_tablet_id,participant_begin_commit_datetime,participant_commit_datetime</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="tserver"><a class="link" href="#tserver"><code>tserver</code>: Operate on a Kudu Tablet Server</a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -6558,7 +7025,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 11:11:24 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/command_line_tools_reference.html b/docs/command_line_tools_reference.html
index 262ff60..438e103 100644
--- a/docs/command_line_tools_reference.html
+++ b/docs/command_line_tools_reference.html
@@ -123,7 +123,25 @@
     <div class="col-md-9">
 
 <h1>Apache Kudu Command Line Tools Reference</h1>
-      <div class="sect1">
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="_command_hierarchy"><a class="link" href="#_command_hierarchy">Command Hierarchy</a></h2>
 <div class="sectionbody">
 <div class="ulist">
@@ -294,6 +312,12 @@
 <p><a href="#master-list">list</a></p>
 </li>
 <li>
+<p><a href="#master-add">add</a></p>
+</li>
+<li>
+<p><a href="#master-remove">remove</a></p>
+</li>
+<li>
 <p><a href="#master-authz_cache">authz_cache</a></p>
 <div class="ulist">
 <ul>
@@ -427,6 +451,19 @@
 <li>
 <p><a href="#table-statistics">statistics</a></p>
 </li>
+<li>
+<p><a href="#table-set_limit">set_limit</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#set_limit-disk_size">disk_size</a></p>
+</li>
+<li>
+<p><a href="#set_limit-row_count">row_count</a></p>
+</li>
+</ul>
+</div>
+</li>
 </ul>
 </div>
 </li>
@@ -473,6 +510,19 @@
 </div>
 </li>
 <li>
+<p><a href="#txn">txn</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#txn-list">list</a></p>
+</li>
+<li>
+<p><a href="#txn-show">show</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
 <p><a href="#tserver">tserver</a></p>
 <div class="ulist">
 <ul>
@@ -655,7 +705,7 @@
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">sections (optional)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Sections to print (comma-separated list of sections, available sections are: MASTER_SUMMARIES, TSERVER_SUMMARIES, VERSION_SUMMARIES, TABLET_SUMMARIES, TABLE_SUMMARIES, CHECKSUM_RESULTS and TOTAL_COUNT.) If not specified, print all sections.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Sections to print (comma-separated list of sections, available sections are: MASTER_SUMMARIES, TSERVER_SUMMARIES, VERSION_SUMMARIES, TABLET_SUMMARIES, TABLE_SUMMARIES, SYSTEM_TABLE_SUMMARIES, CHECKSUM_RESULTS and TOTAL_COUNT.) If not specified, print all sections.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>*</code></p></td>
 </tr>
@@ -1626,7 +1676,7 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of HMS entry fields to include in output.
-Possible values: database, table, type, owner, kudu.table_name, kudu.table_id, kudu.cluster_id, kudu.master_addresses, storage_handler</p></td>
+Possible values: database, table, type, owner, comment, kudu.table_name, kudu.table_id, kudu.cluster_id, kudu.master_addresses, storage_handler</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>database,table,type,kudu.table_name</code></p></td>
 </tr>
@@ -2856,7 +2906,7 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of master info fields to include in output.
-Possible values: uuid, cluster_idrpc-addresses, http-addresses, version, seqno, start_time and role</p></td>
+Possible values: uuid, cluster_idrpc-addresses, http-addresses, version, seqno, start_time, role and member_type</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>uuid,rpc-addresses,role</code></p></td>
 </tr>
@@ -2886,6 +2936,149 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="master-add"><a class="link" href="#master-add"><code>add</code>: Add a master to the Kudu cluster&#160;</a></h4>
+<div class="paragraph">
+<p>This is an advanced command that orchestrates the workflow to bring up and add a new master to the Kudu cluster. It must be run locally on the new master being added and not on the leader master. This tool shuts down the new master after completion of the command regardless of whether the new master addition is successful. After the command completes successfully, user is expected to explicitly start the new master using the same flags as supplied to this tool.</p>
+</div>
+<div class="paragraph">
+<p>Supply all the necessary flags to bring up the new master. The most common configuration flags used to bring up a master are described below. See "Kudu Configuration Reference" for all the configuration options that apply to a Kudu master.</p>
+</div>
+<div class="paragraph">
+<p>Please refer to the Kudu administration documentation on "Migrating to Multiple Kudu Masters" for the complete steps.<br>
+<strong>Usage:</strong><br>
+<code>kudu master add &lt;master_addresses&gt; &lt;master_address&gt; [-wait_secs=&lt;secs&gt;] [-kudu_abs_path=&lt;path&gt;] [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-log_dir=&lt;dir&gt;] [-logtostderr]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">wait_secs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout in seconds to wait while retrying operations like bringing up new master, running ksck, waiting for the new master to be promoted as VOTER, etc. This flag is not passed to the new master.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>64</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">kudu_abs_path (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Absolute file path of the 'kudu' executable used to bring up new master and other workflow steps. This flag is not passed to the new master.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If specified, logfiles are written into this directory instead of the default logging directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">logtostderr (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log messages go to stderr instead of logfiles</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="master-remove"><a class="link" href="#master-remove"><code>remove</code>: Remove a master from the Kudu cluster&#160;</a></h4>
+<div class="paragraph">
+<p>Removes a master from the Raft configuration of the Kudu cluster.</p>
+</div>
+<div class="paragraph">
+<p>Please refer to the Kudu administration documentation on "Removing Kudu Masters from a Multi-Master Deployment" or "Recovering from a dead Kudu Master in a Multi-Master Deployment" as appropriate.<br>
+<strong>Usage:</strong><br>
+<code>kudu master remove &lt;master_addresses&gt; &lt;master_address&gt; [-master_uuid=&lt;uuid&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_uuid (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Permanent UUID of the master. Only needed to disambiguate in case of multiple masters with same RPC address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="master-authz_cache"><a class="link" href="#master-authz_cache"><code>authz_cache</code>: Operate on the authz caches of the Kudu Masters</a></h4>
 <div class="paragraph">
 <p><br></p>
@@ -3058,7 +3251,7 @@
 <div class="paragraph">
 <p>Run load generation tool which inserts auto-generated data into an existing or auto-created table as fast as possible. If requested, also scan the inserted rows to check whether the actual count of inserted rows matches the expected one.<br>
 <strong>Usage:</strong><br>
-<code>kudu perf loadgen &lt;master_addresses&gt; [-auto_database=&lt;database&gt;] [-buffer_flush_watermark_pct=&lt;pct&gt;] [-buffer_size_bytes=&lt;bytes&gt;] [-buffers_num=&lt;num&gt;] [-error_buffer_size_bytes=&lt;bytes&gt;] [-flush_per_n_rows=&lt;rows&gt;] [-keep_auto_table] [-num_rows_per_thread=&lt;thread&gt;] [-num_threads=&lt;threads&gt;] [-run_cleanup] [-run_scan] [-seq_start=&lt;start&gt;] [-show_first_n_errors=&lt;errors&gt;] [-string_fixed=&lt;fixed&gt;] [-string_len=&lt;len&gt;] [-table_name=&lt;name&gt;] [-table_num_hash_partitions=&lt;partitions&gt;] [-table_num_range_partitions=&lt;partitions&gt;] [-table_num_replicas=&lt;replicas&gt;] [-nouse_client_per_thread] [-use_random] [-use_random_pk] [-use_random_non_pk] [-use_upsert] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<code>kudu perf loadgen &lt;master_addresses&gt; [-auto_database=&lt;database&gt;] [-buffer_flush_watermark_pct=&lt;pct&gt;] [-buffer_size_bytes=&lt;bytes&gt;] [-buffers_num=&lt;num&gt;] [-error_buffer_size_bytes=&lt;bytes&gt;] [-flush_per_n_rows=&lt;rows&gt;] [-keep_auto_table] [-num_rows_per_thread=&lt;thread&gt;] [-num_threads=&lt;threads&gt;] [-run_cleanup] [-run_scan] [-seq_start=&lt;start&gt;] [-show_first_n_errors=&lt;errors&gt;] [-string_fixed=&lt;fixed&gt;] [-string_len=&lt;len&gt;] [-table_name=&lt;name&gt;] [-table_num_hash_partitions=&lt;partitions&gt;] [-table_num_range_partitions=&lt;partitions&gt;] [-table_num_replicas=&lt;replicas&gt;] [-txn_start] [-txn_commit] [-txn_rollback] [-nouse_client_per_thread] [-use_random] [-use_random_pk] [-use_random_non_pk] [-use_upsert] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
 <br>
 <strong>Arguments:</strong></p>
 </div>
@@ -3199,6 +3392,24 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_start (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the generated rows are inserted in the context of a multi-row transaction. For now, only supported if configured to insert rows (i.e. UPDATE and DELETE are not yet supported). Unless --txn_commit or --txn_rollback is specified, the started transaction is left 'as is' (i.e. neither commit, nor rollback is performed) once the tool completes its operations.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_commit (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to commit the multi-row transaction which contains all the inserted rows. Setting --txn_commit=true implies setting --txn_start=true as well.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_rollback (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to rollback the multi-row transaction which contains all the inserted rows. Setting --txn_rollback=true implies setting --txn_start=true as well.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">use_client_per_thread (optional)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use a separate KuduClient instance for each load-generating thread. This increases throughput by reducing contention on various Client internals.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
@@ -5211,6 +5422,132 @@
 <p><br></p>
 </div>
 </div>
+<div class="sect3">
+<h4 id="table-set_limit"><a class="link" href="#table-set_limit"><code>set_limit</code>: Set the write limit for a table</a></h4>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect4">
+<h5 id="set_limit-disk_size"><a class="link" href="#set_limit-disk_size"><code>disk_size</code>: Set the disk size limit&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table set_limit disk_size &lt;master_addresses&gt; &lt;table_name&gt; &lt;disk_size&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to set limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">disk_size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The disk size limit, 'unlimited' for no write limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="set_limit-row_count"><a class="link" href="#set_limit-row_count"><code>row_count</code>: Set the row count limit&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table set_limit row_count &lt;master_addresses&gt; &lt;table_name&gt; &lt;row_count&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to set limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">row_count</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The row count limit, 'unlimited' for no write limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
 </div>
 <div class="sect2">
 <h3 id="tablet"><a class="link" href="#tablet"><code>tablet</code>: Operate on remote Kudu tablets</a></h3>
@@ -5666,6 +6003,152 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="txn"><a class="link" href="#txn"><code>txn</code>: Operate on multi-row transactions</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="txn-list"><a class="link" href="#txn-list"><code>list</code>: Show details of multi-row transactions in the cluster&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu txn list &lt;master_addresses&gt; [-columns=&lt;columns&gt;] [-max_txn_id=&lt;id&gt;] [-min_txn_id=&lt;id&gt;] [-included_states=&lt;states&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of transaction-related info fields to include in the output.
+Possible values: txn_id, user, state, commit_datetime, commit_hybridtime, start_datetime, last_transition_datetime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>txn_id,user,state,commit_datetime,start_datetime,last_transition_datetime</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">max_txn_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Inclusive maximum transaction ID to display, or -1 for no maximum.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">min_txn_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Inclusive minimum transaction ID to display, or -1 for no minimum.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">included_states (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of transaction states to display. Supported states are 'open', 'abort_in_progress', 'aborted', 'commit_in_progress', 'finalize_in_progress', and 'committed', or '*' for all states. By default, shows currently active transactions.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>open,abort_in_progress,commit_in_progress,finalize_in_progress</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="txn-show"><a class="link" href="#txn-show"><code>show</code>: Show details of a specific transaction&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu txn show &lt;master_addresses&gt; &lt;txn_id&gt; [-columns=&lt;columns&gt;] [-timeout_ms=&lt;ms&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Transaction ID on which to operate</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of transaction-related info fields to include in the output.
+Possible values: txn_id, user, state, commit_datetime, commit_hybridtime, start_datetime, last_transition_datetime, participant_tablet_id, participant_is_aborted, participant_flushed_committed_mrs, participant_begin_commit_datetime, participant_begin_commit_hybridtime, participant_commit_datetime, participant_commit_hybridtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>txn_id,user,state,commit_datetime,start_datetime,last_transition_datetime,participant_tablet_id,participant_begin_commit_datetime,participant_commit_datetime</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect2">
 <h3 id="tserver"><a class="link" href="#tserver"><code>tserver</code>: Operate on a Kudu Tablet Server</a></h3>
 <div class="paragraph">
 <p><br></p>
@@ -6548,7 +7031,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 11:11:24 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/configuration.html b/docs/configuration.html
index 5049db7..6f8b67c 100644
--- a/docs/configuration.html
+++ b/docs/configuration.html
@@ -123,7 +123,25 @@
     <div class="col-md-9">
 
 <h1>Configuring Apache Kudu</h1>
-      <div class="sect1">
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="_configure_kudu"><a class="link" href="#_configure_kudu">Configure Kudu</a></h2>
 <div class="sectionbody">
 <div class="sect2">
@@ -544,7 +562,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/configuration_reference.html b/docs/configuration_reference.html
index 9996347..94f288b 100644
--- a/docs/configuration_reference.html
+++ b/docs/configuration_reference.html
@@ -123,7 +123,25 @@
     <div class="col-md-9">
 
 <h1>Apache Kudu Configuration Reference</h1>
-      <div class="sect1">
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_supported"><a class="link" href="#kudu-master_supported"><code>kudu-master</code> Flags</a></h2>
 <div class="sectionbody">
 <div class="sect2">
@@ -655,6 +673,35 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_max_log_files"><a class="link" href="#kudu-master_max_log_files"><code>--max_log_files</code></a></h4>
+<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">stable,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_maintenance_manager_num_threads"><a class="link" href="#kudu-master_maintenance_manager_num_threads"><code>--maintenance_manager_num_threads</code></a></h4>
 <div class="paragraph">
 <p>Size of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.</p>
@@ -923,6 +970,35 @@
 "expert" options and should be used carefully and after thorough testing.</p>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_principal"><a class="link" href="#kudu-master_principal"><code>--principal</code></a></h4>
+<div class="paragraph">
+<p>Kerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.</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">string</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>kudu/_HOST</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_tablet_history_max_age_sec"><a class="link" href="#kudu-master_tablet_history_max_age_sec"><code>--tablet_history_max_age_sec</code></a></h4>
 <div class="paragraph">
 <p>Number of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.</p>
@@ -1349,7 +1425,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1378,7 +1454,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1407,7 +1483,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1436,7 +1512,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1465,7 +1541,7 @@
 </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,runtime,stable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced,stable,runtime</p></td>
 </tr>
 </tbody>
 </table>
@@ -1494,7 +1570,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -2372,7 +2448,7 @@
 </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>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -3367,6 +3443,35 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_max_table_comment_length"><a class="link" href="#kudu-master_max_table_comment_length"><code>--max_table_comment_length</code></a></h4>
+<div class="paragraph">
+<p>Maximum length of the comment of a table.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_table_locations_cache_capacity_mb"><a class="link" href="#kudu-master_table_locations_cache_capacity_mb"><code>--table_locations_cache_capacity_mb</code></a></h4>
 <div class="paragraph">
 <p>Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached</p>
@@ -3572,7 +3677,36 @@
 <div class="sect3">
 <h4 id="kudu-master_master_client_location_assignment_enabled"><a class="link" href="#kudu-master_master_client_location_assignment_enabled"><code>--master_client_location_assignment_enabled</code></a></h4>
 <div class="paragraph">
-<p>Whether masters assign locations to connecting clients. By default they do if the location assignment command is set, but setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</p>
+<p>Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_master_support_change_config"><a class="link" href="#kudu-master_master_support_change_config"><code>--master_support_change_config</code></a></h4>
+<div class="paragraph">
+<p>Whether the master supports adding/removing master servers dynamically.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -4257,7 +4391,7 @@
 </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,runtime,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">evolving,advanced,runtime</p></td>
 </tr>
 </tbody>
 </table>
@@ -4674,7 +4808,7 @@
 <div class="sect3">
 <h4 id="kudu-master_rpc_tls_ciphers"><a class="link" href="#kudu-master_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h4>
 <div class="paragraph">
-<p>The cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</p>
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -4701,9 +4835,38 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_rpc_tls_ciphersuites"><a class="link" href="#kudu-master_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h4>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_rpc_tls_min_protocol"><a class="link" href="#kudu-master_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h4>
 <div class="paragraph">
-<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</p>
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -5484,6 +5647,64 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-master_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-master_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-master_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h4>
 <div class="paragraph">
 <p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</p>
@@ -5948,6 +6169,35 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-master_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-master_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h4>
 <div class="paragraph">
 <p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</p>
@@ -5977,6 +6227,35 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_txn_commit_pool_num_threads"><a class="link" href="#kudu-master_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_update_tablet_stats_interval_ms"><a class="link" href="#kudu-master_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h4>
 <div class="paragraph">
 <p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</p>
@@ -7440,6 +7719,35 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_max_log_files"><a class="link" href="#kudu-tserver_max_log_files"><code>--max_log_files</code></a></h4>
+<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">stable,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_maintenance_manager_num_threads"><a class="link" href="#kudu-tserver_maintenance_manager_num_threads"><code>--maintenance_manager_num_threads</code></a></h4>
 <div class="paragraph">
 <p>Size of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.</p>
@@ -7708,6 +8016,35 @@
 "expert" options and should be used carefully and after thorough testing.</p>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_principal"><a class="link" href="#kudu-tserver_principal"><code>--principal</code></a></h4>
+<div class="paragraph">
+<p>Kerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.</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">string</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>kudu/_HOST</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_tablet_history_max_age_sec"><a class="link" href="#kudu-tserver_tablet_history_max_age_sec"><code>--tablet_history_max_age_sec</code></a></h4>
 <div class="paragraph">
 <p>Number of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.</p>
@@ -8134,7 +8471,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -8163,7 +8500,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -8192,7 +8529,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -8221,7 +8558,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -8250,7 +8587,7 @@
 </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,runtime,stable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced,stable,runtime</p></td>
 </tr>
 </tbody>
 </table>
@@ -8279,7 +8616,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -8470,6 +8807,64 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-tserver_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_show_attributes"><a class="link" href="#kudu-tserver_show_attributes"><code>--show_attributes</code></a></h4>
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_builtin_ntp_client_bind_address"><a class="link" href="#kudu-tserver_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h4>
 <div class="paragraph">
 <p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.</p>
@@ -9070,7 +9465,7 @@
 </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>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -9882,7 +10277,7 @@
 </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,runtime,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">evolving,advanced,runtime</p></td>
 </tr>
 </tbody>
 </table>
@@ -10299,7 +10694,7 @@
 <div class="sect3">
 <h4 id="kudu-tserver_rpc_tls_ciphers"><a class="link" href="#kudu-tserver_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h4>
 <div class="paragraph">
-<p>The cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</p>
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -10326,9 +10721,38 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_rpc_tls_ciphersuites"><a class="link" href="#kudu-tserver_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h4>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_rpc_tls_min_protocol"><a class="link" href="#kudu-tserver_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h4>
 <div class="paragraph">
-<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</p>
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -10935,6 +11359,64 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-tserver_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-tserver_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h4>
 <div class="paragraph">
 <p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</p>
@@ -11428,6 +11910,35 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-tserver_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h4>
 <div class="paragraph">
 <p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</p>
@@ -11457,6 +11968,35 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_txn_commit_pool_num_threads"><a class="link" href="#kudu-tserver_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_update_tablet_stats_interval_ms"><a class="link" href="#kudu-tserver_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h4>
 <div class="paragraph">
 <p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</p>
@@ -13186,7 +13726,7 @@
 </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,advanced,runtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -13368,7 +13908,7 @@
 </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>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -14284,6 +14824,32 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_enable_table_write_limit"><a class="link" href="#kudu-master_enable_table_write_limit"><code>--enable_table_write_limit</code></a></h4>
+<div class="paragraph">
+<p>Enable the table write limit. When the table&#8217;s size or row count is approaching the limit, the write may be forbidden.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_master_failover_catchup_timeout_ms"><a class="link" href="#kudu-master_master_failover_catchup_timeout_ms"><code>--master_failover_catchup_timeout_ms</code></a></h4>
 <div class="paragraph">
 <p>Amount of time to give a newly-elected leader master to load the previous master&#8217;s metadata and become active. If this time is exceeded, the node crashes.</p>
@@ -14414,6 +14980,58 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_max_table_comment_length"><a class="link" href="#kudu-master_max_table_comment_length"><code>--max_table_comment_length</code></a></h4>
+<div class="paragraph">
+<p>Maximum length of the comment of a table.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_disk_size_limit"><a class="link" href="#kudu-master_table_disk_size_limit"><code>--table_disk_size_limit</code></a></h4>
+<div class="paragraph">
+<p>Set the target size in bytes of a table to write. This is a system wide configuration for every newly created table.</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_table_locations_cache_capacity_mb"><a class="link" href="#kudu-master_table_locations_cache_capacity_mb"><code>--table_locations_cache_capacity_mb</code></a></h4>
 <div class="paragraph">
 <p>Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached</p>
@@ -14466,6 +15084,58 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_table_row_count_limit"><a class="link" href="#kudu-master_table_row_count_limit"><code>--table_row_count_limit</code></a></h4>
+<div class="paragraph">
+<p>Set the target row count of a table to write. This is a system wide configuration for every newly created table.</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_write_limit_ratio"><a class="link" href="#kudu-master_table_write_limit_ratio"><code>--table_write_limit_ratio</code></a></h4>
+<div class="paragraph">
+<p>Set the ratio of how much write limit can be reached</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>0.94999999999999996</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 class="sect3">
 <h4 id="kudu-master_tablet_creation_timeout_ms"><a class="link" href="#kudu-master_tablet_creation_timeout_ms"><code>--tablet_creation_timeout_ms</code></a></h4>
 <div class="paragraph">
 <p>Timeout used by the master when attempting to create tablet replicas during table creation.</p>
@@ -14780,7 +15450,33 @@
 <div class="sect3">
 <h4 id="kudu-master_master_client_location_assignment_enabled"><a class="link" href="#kudu-master_master_client_location_assignment_enabled"><code>--master_client_location_assignment_enabled</code></a></h4>
 <div class="paragraph">
-<p>Whether masters assign locations to connecting clients. By default they do if the location assignment command is set, but setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</p>
+<p>Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_master_support_change_config"><a class="link" href="#kudu-master_master_support_change_config"><code>--master_support_change_config</code></a></h4>
+<div class="paragraph">
+<p>Whether the master supports adding/removing master servers dynamically.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -15084,7 +15780,7 @@
 </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,advanced,runtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -15872,7 +16568,7 @@
 <div class="sect3">
 <h4 id="kudu-master_rpc_tls_ciphers"><a class="link" href="#kudu-master_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h4>
 <div class="paragraph">
-<p>The cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</p>
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -15896,9 +16592,61 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_rpc_tls_ciphersuites"><a class="link" href="#kudu-master_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h4>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="sect3">
+<h4 id="kudu-master_rpc_tls_excluded_protocols"><a class="link" href="#kudu-master_rpc_tls_excluded_protocols"><code>--rpc_tls_excluded_protocols</code></a></h4>
+<div class="paragraph">
+<p>A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.</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">string</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">none</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_rpc_tls_min_protocol"><a class="link" href="#kudu-master_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h4>
 <div class="paragraph">
-<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</p>
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -16722,7 +17470,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -17066,6 +17814,32 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_tablet_max_pending_txn_write_ops"><a class="link" href="#kudu-master_tablet_max_pending_txn_write_ops"><code>--tablet_max_pending_txn_write_ops</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction</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">uint32</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>2</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_flush_threshold_mb"><a class="link" href="#kudu-master_flush_threshold_mb"><code>--flush_threshold_mb</code></a></h4>
 <div class="paragraph">
 <p>Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn&#8217;t flushed in a while, or if the server-wide memory limit has been reached.</p>
@@ -17144,9 +17918,61 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_txn_background_rpc_timeout_ms"><a class="link" href="#kudu-master_txn_background_rpc_timeout_ms"><code>--txn_background_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Period (in milliseconds) with which transaction-related background requests are made</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">uint32</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>5000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-master_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_txn_keepalive_interval_ms"><a class="link" href="#kudu-master_txn_keepalive_interval_ms"><code>--txn_keepalive_interval_ms</code></a></h4>
 <div class="paragraph">
-<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a longer interval than the specified, the transaction is automatically aborted.</p>
+<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -17196,6 +18022,84 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_txn_status_tablet_failover_catchup_timeout_ms"><a class="link" href="#kudu-master_txn_status_tablet_failover_catchup_timeout_ms"><code>--txn_status_tablet_failover_catchup_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_enable_txn_system_client_init"><a class="link" href="#kudu-master_enable_txn_system_client_init"><code>--enable_txn_system_client_init</code></a></h4>
+<div class="paragraph">
+<p>Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server&#8217;s TxnSystemClient to participate in orchestrating transactions.</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>false</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 class="sect3">
+<h4 id="kudu-master_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-master_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-master_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h4>
 <div class="paragraph">
 <p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</p>
@@ -17612,6 +18516,32 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-master_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect3">
 <h4 id="kudu-master_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-master_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h4>
 <div class="paragraph">
 <p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</p>
@@ -17638,6 +18568,58 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_txn_commit_pool_num_threads"><a class="link" href="#kudu-master_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="sect3">
+<h4 id="kudu-master_txn_participant_registration_pool_num_threads"><a class="link" href="#kudu-master_txn_participant_registration_pool_num_threads"><code>--txn_participant_registration_pool_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_update_tablet_stats_interval_ms"><a class="link" href="#kudu-master_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h4>
 <div class="paragraph">
 <p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</p>
@@ -18002,32 +18984,6 @@
 </table>
 </div>
 <div class="sect3">
-<h4 id="kudu-master_max_log_files"><a class="link" href="#kudu-master_max_log_files"><code>--max_log_files</code></a></h4>
-<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 class="sect3">
 <h4 id="kudu-master_data_gc_min_size_mb"><a class="link" href="#kudu-master_data_gc_min_size_mb"><code>--data_gc_min_size_mb</code></a></h4>
 <div class="paragraph">
 <p>The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.</p>
@@ -18126,7 +19082,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -18152,7 +19108,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -18687,6 +19643,84 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-tserver_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_client_use_unix_domain_sockets"><a class="link" href="#kudu-tserver_client_use_unix_domain_sockets"><code>--client_use_unix_domain_sockets</code></a></h4>
+<div class="paragraph">
+<p>Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.</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>false</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 class="sect3">
+<h4 id="kudu-tserver_show_attributes"><a class="link" href="#kudu-tserver_show_attributes"><code>--show_attributes</code></a></h4>
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_builtin_ntp_client_bind_address"><a class="link" href="#kudu-tserver_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h4>
 <div class="paragraph">
 <p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.</p>
@@ -19253,7 +20287,7 @@
 </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,advanced,runtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -19435,7 +20469,7 @@
 </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>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -19981,7 +21015,7 @@
 </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,advanced,runtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -20743,7 +21777,7 @@
 <div class="sect3">
 <h4 id="kudu-tserver_rpc_tls_ciphers"><a class="link" href="#kudu-tserver_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h4>
 <div class="paragraph">
-<p>The cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</p>
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -20767,9 +21801,61 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_rpc_tls_ciphersuites"><a class="link" href="#kudu-tserver_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h4>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="sect3">
+<h4 id="kudu-tserver_rpc_tls_excluded_protocols"><a class="link" href="#kudu-tserver_rpc_tls_excluded_protocols"><code>--rpc_tls_excluded_protocols</code></a></h4>
+<div class="paragraph">
+<p>A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.</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">string</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">none</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_rpc_tls_min_protocol"><a class="link" href="#kudu-tserver_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h4>
 <div class="paragraph">
-<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</p>
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -21437,7 +22523,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -21781,6 +22867,32 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_tablet_max_pending_txn_write_ops"><a class="link" href="#kudu-tserver_tablet_max_pending_txn_write_ops"><code>--tablet_max_pending_txn_write_ops</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction</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">uint32</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>2</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_flush_threshold_mb"><a class="link" href="#kudu-tserver_flush_threshold_mb"><code>--flush_threshold_mb</code></a></h4>
 <div class="paragraph">
 <p>Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn&#8217;t flushed in a while, or if the server-wide memory limit has been reached.</p>
@@ -21859,9 +22971,61 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_txn_background_rpc_timeout_ms"><a class="link" href="#kudu-tserver_txn_background_rpc_timeout_ms"><code>--txn_background_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Period (in milliseconds) with which transaction-related background requests are made</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">uint32</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>5000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-tserver_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_txn_keepalive_interval_ms"><a class="link" href="#kudu-tserver_txn_keepalive_interval_ms"><code>--txn_keepalive_interval_ms</code></a></h4>
 <div class="paragraph">
-<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a longer interval than the specified, the transaction is automatically aborted.</p>
+<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -21911,6 +23075,84 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_txn_status_tablet_failover_catchup_timeout_ms"><a class="link" href="#kudu-tserver_txn_status_tablet_failover_catchup_timeout_ms"><code>--txn_status_tablet_failover_catchup_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_enable_txn_system_client_init"><a class="link" href="#kudu-tserver_enable_txn_system_client_init"><code>--enable_txn_system_client_init</code></a></h4>
+<div class="paragraph">
+<p>Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server&#8217;s TxnSystemClient to participate in orchestrating transactions.</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>false</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 class="sect3">
+<h4 id="kudu-tserver_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-tserver_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h4>
 <div class="paragraph">
 <p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</p>
@@ -22353,6 +23595,32 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect3">
 <h4 id="kudu-tserver_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-tserver_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h4>
 <div class="paragraph">
 <p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</p>
@@ -22379,6 +23647,58 @@
 </table>
 </div>
 <div class="sect3">
+<h4 id="kudu-tserver_txn_commit_pool_num_threads"><a class="link" href="#kudu-tserver_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="sect3">
+<h4 id="kudu-tserver_txn_participant_registration_pool_num_threads"><a class="link" href="#kudu-tserver_txn_participant_registration_pool_num_threads"><code>--txn_participant_registration_pool_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
 <h4 id="kudu-tserver_update_tablet_stats_interval_ms"><a class="link" href="#kudu-tserver_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h4>
 <div class="paragraph">
 <p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</p>
@@ -22743,32 +24063,6 @@
 </table>
 </div>
 <div class="sect3">
-<h4 id="kudu-tserver_max_log_files"><a class="link" href="#kudu-tserver_max_log_files"><code>--max_log_files</code></a></h4>
-<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 class="sect3">
 <h4 id="kudu-tserver_data_gc_min_size_mb"><a class="link" href="#kudu-tserver_data_gc_min_size_mb"><code>--data_gc_min_size_mb</code></a></h4>
 <div class="paragraph">
 <p>The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.</p>
@@ -22867,7 +24161,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -22893,7 +24187,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -23438,7 +24732,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 11:11:23 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/configuration_reference_unsupported.html b/docs/configuration_reference_unsupported.html
index 50c78ff..51aeb42 100644
--- a/docs/configuration_reference_unsupported.html
+++ b/docs/configuration_reference_unsupported.html
@@ -923,7 +923,7 @@
 </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,advanced,runtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1105,7 +1105,7 @@
 </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>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -2021,6 +2021,32 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_enable_table_write_limit"><a class="link" href="#kudu-master_enable_table_write_limit"><code>--enable_table_write_limit</code></a></h3>
+<div class="paragraph">
+<p>Enable the table write limit. When the table&#8217;s size or row count is approaching the limit, the write may be forbidden.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_master_failover_catchup_timeout_ms"><a class="link" href="#kudu-master_master_failover_catchup_timeout_ms"><code>--master_failover_catchup_timeout_ms</code></a></h3>
 <div class="paragraph">
 <p>Amount of time to give a newly-elected leader master to load the previous master&#8217;s metadata and become active. If this time is exceeded, the node crashes.</p>
@@ -2151,6 +2177,58 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_max_table_comment_length"><a class="link" href="#kudu-master_max_table_comment_length"><code>--max_table_comment_length</code></a></h3>
+<div class="paragraph">
+<p>Maximum length of the comment of a table.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_disk_size_limit"><a class="link" href="#kudu-master_table_disk_size_limit"><code>--table_disk_size_limit</code></a></h3>
+<div class="paragraph">
+<p>Set the target size in bytes of a table to write. This is a system wide configuration for every newly created table.</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_table_locations_cache_capacity_mb"><a class="link" href="#kudu-master_table_locations_cache_capacity_mb"><code>--table_locations_cache_capacity_mb</code></a></h3>
 <div class="paragraph">
 <p>Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached</p>
@@ -2203,6 +2281,58 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_table_row_count_limit"><a class="link" href="#kudu-master_table_row_count_limit"><code>--table_row_count_limit</code></a></h3>
+<div class="paragraph">
+<p>Set the target row count of a table to write. This is a system wide configuration for every newly created table.</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_write_limit_ratio"><a class="link" href="#kudu-master_table_write_limit_ratio"><code>--table_write_limit_ratio</code></a></h3>
+<div class="paragraph">
+<p>Set the ratio of how much write limit can be reached</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>0.94999999999999996</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 class="sect2">
 <h3 id="kudu-master_tablet_creation_timeout_ms"><a class="link" href="#kudu-master_tablet_creation_timeout_ms"><code>--tablet_creation_timeout_ms</code></a></h3>
 <div class="paragraph">
 <p>Timeout used by the master when attempting to create tablet replicas during table creation.</p>
@@ -2517,7 +2647,33 @@
 <div class="sect2">
 <h3 id="kudu-master_master_client_location_assignment_enabled"><a class="link" href="#kudu-master_master_client_location_assignment_enabled"><code>--master_client_location_assignment_enabled</code></a></h3>
 <div class="paragraph">
-<p>Whether masters assign locations to connecting clients. By default they do if the location assignment command is set, but setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</p>
+<p>Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_master_support_change_config"><a class="link" href="#kudu-master_master_support_change_config"><code>--master_support_change_config</code></a></h3>
+<div class="paragraph">
+<p>Whether the master supports adding/removing master servers dynamically.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -2821,7 +2977,7 @@
 </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,advanced,runtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -3609,7 +3765,7 @@
 <div class="sect2">
 <h3 id="kudu-master_rpc_tls_ciphers"><a class="link" href="#kudu-master_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h3>
 <div class="paragraph">
-<p>The cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</p>
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -3633,9 +3789,61 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_rpc_tls_ciphersuites"><a class="link" href="#kudu-master_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h3>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="sect2">
+<h3 id="kudu-master_rpc_tls_excluded_protocols"><a class="link" href="#kudu-master_rpc_tls_excluded_protocols"><code>--rpc_tls_excluded_protocols</code></a></h3>
+<div class="paragraph">
+<p>A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.</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">string</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">none</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_rpc_tls_min_protocol"><a class="link" href="#kudu-master_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h3>
 <div class="paragraph">
-<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</p>
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -4459,7 +4667,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -4803,6 +5011,32 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_tablet_max_pending_txn_write_ops"><a class="link" href="#kudu-master_tablet_max_pending_txn_write_ops"><code>--tablet_max_pending_txn_write_ops</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction</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">uint32</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>2</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_flush_threshold_mb"><a class="link" href="#kudu-master_flush_threshold_mb"><code>--flush_threshold_mb</code></a></h3>
 <div class="paragraph">
 <p>Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn&#8217;t flushed in a while, or if the server-wide memory limit has been reached.</p>
@@ -4881,9 +5115,61 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_txn_background_rpc_timeout_ms"><a class="link" href="#kudu-master_txn_background_rpc_timeout_ms"><code>--txn_background_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Period (in milliseconds) with which transaction-related background requests are made</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">uint32</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>5000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-master_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_txn_keepalive_interval_ms"><a class="link" href="#kudu-master_txn_keepalive_interval_ms"><code>--txn_keepalive_interval_ms</code></a></h3>
 <div class="paragraph">
-<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a longer interval than the specified, the transaction is automatically aborted.</p>
+<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -4933,6 +5219,84 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_txn_status_tablet_failover_catchup_timeout_ms"><a class="link" href="#kudu-master_txn_status_tablet_failover_catchup_timeout_ms"><code>--txn_status_tablet_failover_catchup_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_enable_txn_system_client_init"><a class="link" href="#kudu-master_enable_txn_system_client_init"><code>--enable_txn_system_client_init</code></a></h3>
+<div class="paragraph">
+<p>Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server&#8217;s TxnSystemClient to participate in orchestrating transactions.</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>false</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 class="sect2">
+<h3 id="kudu-master_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-master_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-master_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h3>
 <div class="paragraph">
 <p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</p>
@@ -5349,6 +5713,32 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-master_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect2">
 <h3 id="kudu-master_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-master_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h3>
 <div class="paragraph">
 <p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</p>
@@ -5375,6 +5765,58 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_txn_commit_pool_num_threads"><a class="link" href="#kudu-master_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="sect2">
+<h3 id="kudu-master_txn_participant_registration_pool_num_threads"><a class="link" href="#kudu-master_txn_participant_registration_pool_num_threads"><code>--txn_participant_registration_pool_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_update_tablet_stats_interval_ms"><a class="link" href="#kudu-master_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h3>
 <div class="paragraph">
 <p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</p>
@@ -5739,32 +6181,6 @@
 </table>
 </div>
 <div class="sect2">
-<h3 id="kudu-master_max_log_files"><a class="link" href="#kudu-master_max_log_files"><code>--max_log_files</code></a></h3>
-<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 class="sect2">
 <h3 id="kudu-master_data_gc_min_size_mb"><a class="link" href="#kudu-master_data_gc_min_size_mb"><code>--data_gc_min_size_mb</code></a></h3>
 <div class="paragraph">
 <p>The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.</p>
@@ -5863,7 +6279,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -5889,7 +6305,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -6426,6 +6842,84 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-tserver_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_client_use_unix_domain_sockets"><a class="link" href="#kudu-tserver_client_use_unix_domain_sockets"><code>--client_use_unix_domain_sockets</code></a></h3>
+<div class="paragraph">
+<p>Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.</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>false</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 class="sect2">
+<h3 id="kudu-tserver_show_attributes"><a class="link" href="#kudu-tserver_show_attributes"><code>--show_attributes</code></a></h3>
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_builtin_ntp_client_bind_address"><a class="link" href="#kudu-tserver_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h3>
 <div class="paragraph">
 <p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.</p>
@@ -6992,7 +7486,7 @@
 </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,advanced,runtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -7174,7 +7668,7 @@
 </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>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -7720,7 +8214,7 @@
 </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,advanced,runtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -8482,7 +8976,7 @@
 <div class="sect2">
 <h3 id="kudu-tserver_rpc_tls_ciphers"><a class="link" href="#kudu-tserver_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h3>
 <div class="paragraph">
-<p>The cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</p>
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -8506,9 +9000,61 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_rpc_tls_ciphersuites"><a class="link" href="#kudu-tserver_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h3>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="sect2">
+<h3 id="kudu-tserver_rpc_tls_excluded_protocols"><a class="link" href="#kudu-tserver_rpc_tls_excluded_protocols"><code>--rpc_tls_excluded_protocols</code></a></h3>
+<div class="paragraph">
+<p>A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.</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">string</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">none</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_rpc_tls_min_protocol"><a class="link" href="#kudu-tserver_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h3>
 <div class="paragraph">
-<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</p>
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -9176,7 +9722,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -9520,6 +10066,32 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_tablet_max_pending_txn_write_ops"><a class="link" href="#kudu-tserver_tablet_max_pending_txn_write_ops"><code>--tablet_max_pending_txn_write_ops</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction</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">uint32</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>2</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_flush_threshold_mb"><a class="link" href="#kudu-tserver_flush_threshold_mb"><code>--flush_threshold_mb</code></a></h3>
 <div class="paragraph">
 <p>Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn&#8217;t flushed in a while, or if the server-wide memory limit has been reached.</p>
@@ -9598,9 +10170,61 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_txn_background_rpc_timeout_ms"><a class="link" href="#kudu-tserver_txn_background_rpc_timeout_ms"><code>--txn_background_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Period (in milliseconds) with which transaction-related background requests are made</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">uint32</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>5000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-tserver_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_txn_keepalive_interval_ms"><a class="link" href="#kudu-tserver_txn_keepalive_interval_ms"><code>--txn_keepalive_interval_ms</code></a></h3>
 <div class="paragraph">
-<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a longer interval than the specified, the transaction is automatically aborted.</p>
+<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -9650,6 +10274,84 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_txn_status_tablet_failover_catchup_timeout_ms"><a class="link" href="#kudu-tserver_txn_status_tablet_failover_catchup_timeout_ms"><code>--txn_status_tablet_failover_catchup_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_enable_txn_system_client_init"><a class="link" href="#kudu-tserver_enable_txn_system_client_init"><code>--enable_txn_system_client_init</code></a></h3>
+<div class="paragraph">
+<p>Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server&#8217;s TxnSystemClient to participate in orchestrating transactions.</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>false</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 class="sect2">
+<h3 id="kudu-tserver_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-tserver_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h3>
 <div class="paragraph">
 <p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</p>
@@ -10092,6 +10794,32 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect2">
 <h3 id="kudu-tserver_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-tserver_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h3>
 <div class="paragraph">
 <p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</p>
@@ -10118,6 +10846,58 @@
 </table>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_txn_commit_pool_num_threads"><a class="link" href="#kudu-tserver_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="sect2">
+<h3 id="kudu-tserver_txn_participant_registration_pool_num_threads"><a class="link" href="#kudu-tserver_txn_participant_registration_pool_num_threads"><code>--txn_participant_registration_pool_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_update_tablet_stats_interval_ms"><a class="link" href="#kudu-tserver_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h3>
 <div class="paragraph">
 <p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</p>
@@ -10482,32 +11262,6 @@
 </table>
 </div>
 <div class="sect2">
-<h3 id="kudu-tserver_max_log_files"><a class="link" href="#kudu-tserver_max_log_files"><code>--max_log_files</code></a></h3>
-<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 class="sect2">
 <h3 id="kudu-tserver_data_gc_min_size_mb"><a class="link" href="#kudu-tserver_data_gc_min_size_mb"><code>--data_gc_min_size_mb</code></a></h3>
 <div class="paragraph">
 <p>The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.</p>
@@ -10606,7 +11360,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -10632,7 +11386,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -11155,7 +11909,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 11:11:23 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/contributing.html b/docs/contributing.html
index 59fbd42..3875ef8 100644
--- a/docs/contributing.html
+++ b/docs/contributing.html
@@ -1229,7 +1229,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/developing.html b/docs/developing.html
index 52adb08..9b50e44 100644
--- a/docs/developing.html
+++ b/docs/developing.html
@@ -884,7 +884,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 10:59:21 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/export_control.html b/docs/export_control.html
index cd8196d..b36661d 100644
--- a/docs/export_control.html
+++ b/docs/export_control.html
@@ -266,7 +266,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/hive_metastore.html b/docs/hive_metastore.html
index 4e140d4..818f839 100644
--- a/docs/hive_metastore.html
+++ b/docs/hive_metastore.html
@@ -123,7 +123,25 @@
     <div class="col-md-9">
 
 <h1>Using the Hive Metastore with Kudu</h1>
-      <div class="sect1">
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="hive_metastore"><a class="link" href="#hive_metastore">Overview</a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -767,7 +785,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/images/design-docs_transactions.png b/docs/images/design-docs_transactions.png
new file mode 100644
index 0000000..6f6914e
--- /dev/null
+++ b/docs/images/design-docs_transactions.png
Binary files differ
diff --git a/docs/index.html b/docs/index.html
index 218f95e..e139795 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -582,7 +582,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/installation.html b/docs/installation.html
index 89bf84c..ca3dfc8 100644
--- a/docs/installation.html
+++ b/docs/installation.html
@@ -125,6 +125,20 @@
 <h1>Installing Apache Kudu</h1>
       <div id="preamble">
 <div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
 <div class="paragraph">
 <p>The Apache Kudu project only publishes source code releases, to deploy Kudu on a
 cluster follow the steps below to build Kudu from source.</p>
@@ -737,18 +751,19 @@
 <p>Install the prerequisite libraries, if they are not installed.</p>
 <div class="listingblock">
 <div class="content">
-<pre>$ sudo zypper install autoconf automake curl cyrus-sasl-devel \
-  cyrus-sasl-gssapi flex gcc gcc-c++ gdb git java-1_8_0-openjdk-devel \
-  krb5-devel krb5-server libtool lsb-release make ntp openssl-devel patch \
-  pkg-config python rsync unzip vim</pre>
+<pre>$ sudo zypper install autoconf automake cmake curl cyrus-sasl-devel \
+  cyrus-sasl-gssapi flex gcc8 gcc8-c++ gdb git java-1_8_0-openjdk-devel \
+  krb5-devel libtool lsb-release make ntp patch \
+  pkg-config python rsync unzip vim
+$ sudo zypper install libopenssl-devel</pre>
 </div>
 </div>
 </li>
 <li>
-<p>If you are building on SUSE 12 or older, install GCC-8.</p>
+<p>If you are building on something older that SUSE 15:</p>
 <div class="listingblock">
 <div class="content">
-<pre>$ sudo zypper install gcc8 gcc8-c++</pre>
+<pre>$ sudo zypper install openssl-devel</pre>
 </div>
 </div>
 </li>
@@ -909,17 +924,18 @@
 <div class="paragraph">
 <p>This script provides an overview of the procedure to build Kudu on SLES, and
 can be used as the basis for an automated deployment scenario. It skips
-the steps marked <strong>Optional</strong> above.</p>
+the steps marked <strong>Optional</strong> above. If running this on something older than
+SLES 15, replace <code>libopenssl-devel</code> with <code>openssl-devel</code>.</p>
 </div>
 <div class="listingblock">
 <div class="content">
 <pre class="highlight"><code class="language-bash" data-lang="bash">#!/bin/bash
 
-sudo zypper install -y autoconf automake curl cyrus-sasl-devel \
-  cyrus-sasl-gssapi flex gcc gcc-c++ gdb git java-1_8_0-openjdk-devel \
-  krb5-devel libtool lsb-release make ntp openssl-devel patch \
+sudo zypper install -y autoconf automake cmake curl cyrus-sasl-devel \
+  cyrus-sasl-gssapi flex gcc8 gcc8-c++ gdb git java-1_8_0-openjdk-devel \
+  krb5-devel libtool lsb-release make ntp patch \
   pkg-config python rsync unzip vim
-sudo zypper install gcc8 gcc8-c++
+sudo zypper install libopenssl-devel
 git clone https://github.com/apache/kudu
 cd kudu
 build-support/enable_devtoolset.sh thirdparty/build-if-necessary.sh
@@ -1385,7 +1401,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:16 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/known_issues.html b/docs/known_issues.html
index e179efb..625917b 100644
--- a/docs/known_issues.html
+++ b/docs/known_issues.html
@@ -123,7 +123,25 @@
     <div class="col-md-9">
 
 <h1>Known Issues and Limitations</h1>
-      <div class="sect1">
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="_schema"><a class="link" href="#_schema">Schema</a></h2>
 <div class="sectionbody">
 <div class="sect2">
@@ -151,7 +169,7 @@
 <p>Auto-generated primary keys are not supported.</p>
 </li>
 <li>
-<p>Cells making up a composite primary key are limited to a total of 16KB after the internal
+<p>Cells making up a composite primary key are limited to a total of 16KiB after the internal
 composite-key encoding done by Kudu.</p>
 </li>
 </ul>
@@ -184,7 +202,10 @@
 <p>Tables must have an odd number of replicas, with a maximum of 7.</p>
 </li>
 <li>
-<p>Replication factor (set at table creation time) cannot be changed.</p>
+<p>The replication factor is set at table creation time and cannot be changed
+later. As a workaround, create a new table with the same schema and
+the desired replication factor and insert the contents of the old table
+into the new one.</p>
 </li>
 </ul>
 </div>
@@ -194,7 +215,7 @@
 <div class="ulist">
 <ul>
 <li>
-<p>Cells cannot be larger than 64KB before encoding or compression.</p>
+<p>By default, cells cannot be larger than 64KiB before encoding or compression.</p>
 </li>
 </ul>
 </div>
@@ -379,7 +400,7 @@
 <li>
 <p>Server certificates generated by Kudu IPKI are incompatible with
 <a href="https://www.bouncycastle.org/">bouncycastle</a> version 1.52 and earlier. See
-<a href="https://issues.apache.org/jira/browse/KUDU-2145">KUDU-2145</a> for details.'</p>
+<a href="https://issues.apache.org/jira/browse/KUDU-2145">KUDU-2145</a> for details.</p>
 </li>
 <li>
 <p>The highest supported version of the TLS protocol is TLSv1.2</p>
@@ -553,7 +574,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:16 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/kudu-master_configuration_reference.html b/docs/kudu-master_configuration_reference.html
index 4ba6d6d..6a88710 100644
--- a/docs/kudu-master_configuration_reference.html
+++ b/docs/kudu-master_configuration_reference.html
@@ -653,6 +653,35 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_max_log_files"><a class="link" href="#kudu-master_max_log_files"><code>--max_log_files</code></a></h3>
+<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">stable,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_maintenance_manager_num_threads"><a class="link" href="#kudu-master_maintenance_manager_num_threads"><code>--maintenance_manager_num_threads</code></a></h3>
 <div class="paragraph">
 <p>Size of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.</p>
@@ -923,6 +952,35 @@
 "expert" options and should be used carefully and after thorough testing.</p>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_principal"><a class="link" href="#kudu-master_principal"><code>--principal</code></a></h3>
+<div class="paragraph">
+<p>Kerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.</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">string</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>kudu/_HOST</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_tablet_history_max_age_sec"><a class="link" href="#kudu-master_tablet_history_max_age_sec"><code>--tablet_history_max_age_sec</code></a></h3>
 <div class="paragraph">
 <p>Number of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.</p>
@@ -1349,7 +1407,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1378,7 +1436,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1407,7 +1465,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1436,7 +1494,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1465,7 +1523,7 @@
 </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,runtime,stable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced,stable,runtime</p></td>
 </tr>
 </tbody>
 </table>
@@ -1494,7 +1552,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -2374,7 +2432,7 @@
 </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>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -3369,6 +3427,35 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_max_table_comment_length"><a class="link" href="#kudu-master_max_table_comment_length"><code>--max_table_comment_length</code></a></h3>
+<div class="paragraph">
+<p>Maximum length of the comment of a table.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_table_locations_cache_capacity_mb"><a class="link" href="#kudu-master_table_locations_cache_capacity_mb"><code>--table_locations_cache_capacity_mb</code></a></h3>
 <div class="paragraph">
 <p>Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached</p>
@@ -3574,7 +3661,36 @@
 <div class="sect2">
 <h3 id="kudu-master_master_client_location_assignment_enabled"><a class="link" href="#kudu-master_master_client_location_assignment_enabled"><code>--master_client_location_assignment_enabled</code></a></h3>
 <div class="paragraph">
-<p>Whether masters assign locations to connecting clients. By default they do if the location assignment command is set, but setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</p>
+<p>Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_master_support_change_config"><a class="link" href="#kudu-master_master_support_change_config"><code>--master_support_change_config</code></a></h3>
+<div class="paragraph">
+<p>Whether the master supports adding/removing master servers dynamically.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -4259,7 +4375,7 @@
 </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,runtime,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">evolving,advanced,runtime</p></td>
 </tr>
 </tbody>
 </table>
@@ -4676,7 +4792,7 @@
 <div class="sect2">
 <h3 id="kudu-master_rpc_tls_ciphers"><a class="link" href="#kudu-master_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h3>
 <div class="paragraph">
-<p>The cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</p>
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -4703,9 +4819,38 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_rpc_tls_ciphersuites"><a class="link" href="#kudu-master_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h3>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_rpc_tls_min_protocol"><a class="link" href="#kudu-master_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h3>
 <div class="paragraph">
-<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</p>
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -5486,6 +5631,64 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-master_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-master_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-master_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h3>
 <div class="paragraph">
 <p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</p>
@@ -5950,6 +6153,35 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-master_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-master_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h3>
 <div class="paragraph">
 <p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</p>
@@ -5979,6 +6211,35 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_txn_commit_pool_num_threads"><a class="link" href="#kudu-master_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_update_tablet_stats_interval_ms"><a class="link" href="#kudu-master_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h3>
 <div class="paragraph">
 <p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</p>
@@ -7008,7 +7269,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 11:11:23 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/kudu-master_configuration_reference_unsupported.html b/docs/kudu-master_configuration_reference_unsupported.html
index 0e6076f..89935a0 100644
--- a/docs/kudu-master_configuration_reference_unsupported.html
+++ b/docs/kudu-master_configuration_reference_unsupported.html
@@ -966,7 +966,7 @@
 </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,advanced,runtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1162,7 +1162,7 @@
 </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>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -2149,6 +2149,34 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_enable_table_write_limit"><a class="link" href="#kudu-master_enable_table_write_limit"><code>--enable_table_write_limit</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Enable the table write limit. When the table&#8217;s size or row count is approaching the limit, the write may be forbidden.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_master_failover_catchup_timeout_ms"><a class="link" href="#kudu-master_master_failover_catchup_timeout_ms"><code>--master_failover_catchup_timeout_ms</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -2289,6 +2317,62 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_max_table_comment_length"><a class="link" href="#kudu-master_max_table_comment_length"><code>--max_table_comment_length</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum length of the comment of a table.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_table_disk_size_limit"><a class="link" href="#kudu-master_table_disk_size_limit"><code>--table_disk_size_limit</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Set the target size in bytes of a table to write. This is a system wide configuration for every newly created table.</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_table_locations_cache_capacity_mb"><a class="link" href="#kudu-master_table_locations_cache_capacity_mb"><code>--table_locations_cache_capacity_mb</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -2345,6 +2429,62 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_table_row_count_limit"><a class="link" href="#kudu-master_table_row_count_limit"><code>--table_row_count_limit</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Set the target row count of a table to write. This is a system wide configuration for every newly created table.</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_table_write_limit_ratio"><a class="link" href="#kudu-master_table_write_limit_ratio"><code>--table_write_limit_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Set the ratio of how much write limit can be reached</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>0.94999999999999996</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_tablet_creation_timeout_ms"><a class="link" href="#kudu-master_tablet_creation_timeout_ms"><code>--tablet_creation_timeout_ms</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -2684,7 +2824,35 @@
 <h2 id="kudu-master_master_client_location_assignment_enabled"><a class="link" href="#kudu-master_master_client_location_assignment_enabled"><code>--master_client_location_assignment_enabled</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>Whether masters assign locations to connecting clients. By default they do if the location assignment command is set, but setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</p>
+<p>Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_master_support_change_config"><a class="link" href="#kudu-master_master_support_change_config"><code>--master_support_change_config</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether the master supports adding/removing master servers dynamically.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -3010,7 +3178,7 @@
 </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,advanced,runtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -3860,7 +4028,7 @@
 <h2 id="kudu-master_rpc_tls_ciphers"><a class="link" href="#kudu-master_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</p>
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -3885,10 +4053,66 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_rpc_tls_ciphersuites"><a class="link" href="#kudu-master_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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_rpc_tls_excluded_protocols"><a class="link" href="#kudu-master_rpc_tls_excluded_protocols"><code>--rpc_tls_excluded_protocols</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.</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">string</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">none</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_rpc_tls_min_protocol"><a class="link" href="#kudu-master_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</p>
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -4774,7 +4998,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -5145,6 +5369,34 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_tablet_max_pending_txn_write_ops"><a class="link" href="#kudu-master_tablet_max_pending_txn_write_ops"><code>--tablet_max_pending_txn_write_ops</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction</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">uint32</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>2</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_flush_threshold_mb"><a class="link" href="#kudu-master_flush_threshold_mb"><code>--flush_threshold_mb</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -5229,10 +5481,66 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_txn_background_rpc_timeout_ms"><a class="link" href="#kudu-master_txn_background_rpc_timeout_ms"><code>--txn_background_rpc_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Period (in milliseconds) with which transaction-related background requests are made</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">uint32</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>5000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-master_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_txn_keepalive_interval_ms"><a class="link" href="#kudu-master_txn_keepalive_interval_ms"><code>--txn_keepalive_interval_ms</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a longer interval than the specified, the transaction is automatically aborted.</p>
+<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -5285,6 +5593,90 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_txn_status_tablet_failover_catchup_timeout_ms"><a class="link" href="#kudu-master_txn_status_tablet_failover_catchup_timeout_ms"><code>--txn_status_tablet_failover_catchup_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_enable_txn_system_client_init"><a class="link" href="#kudu-master_enable_txn_system_client_init"><code>--enable_txn_system_client_init</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server&#8217;s TxnSystemClient to participate in orchestrating transactions.</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>false</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_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-master_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-master_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -5733,6 +6125,34 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-master_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-master_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -5761,6 +6181,62 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_txn_commit_pool_num_threads"><a class="link" href="#kudu-master_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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_txn_participant_registration_pool_num_threads"><a class="link" href="#kudu-master_txn_participant_registration_pool_num_threads"><code>--txn_participant_registration_pool_num_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_update_tablet_stats_interval_ms"><a class="link" href="#kudu-master_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -6153,34 +6629,6 @@
 </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_data_gc_min_size_mb"><a class="link" href="#kudu-master_data_gc_min_size_mb"><code>--data_gc_min_size_mb</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -6286,7 +6734,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -6314,7 +6762,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -6868,7 +7316,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 11:11:23 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/kudu-master_metrics_reference.html b/docs/kudu-master_metrics_reference.html
index 7f7e412..e29bc34 100644
--- a/docs/kudu-master_metrics_reference.html
+++ b/docs/kudu-master_metrics_reference.html
@@ -2660,6 +2660,41 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_RemoveMaster"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_RemoveMaster"><code>handler_latency_kudu_master_MasterService_RemoveMaster</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.RemoveMaster RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.RemoveMaster RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_handler_latency_kudu_master_MasterService_ReplaceTablet"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ReplaceTablet"><code>handler_latency_kudu_master_MasterService_ReplaceTablet</code></a></h3>
 <div class="paragraph">
 <p>kudu.master.MasterService.ReplaceTablet RPC Time
@@ -5775,6 +5810,41 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_RemoveMaster"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_RemoveMaster"><code>queue_overflow_rejections_kudu_master_MasterService_RemoveMaster</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.RemoveMaster RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.RemoveMaster requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet"><code>queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet</code></a></h3>
 <div class="paragraph">
 <p>kudu.master.MasterService.ReplaceTablet RPC Rejections
@@ -11627,7 +11697,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 11:11:23 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/kudu-tserver_configuration_reference.html b/docs/kudu-tserver_configuration_reference.html
index c62499c..be5f9d5 100644
--- a/docs/kudu-tserver_configuration_reference.html
+++ b/docs/kudu-tserver_configuration_reference.html
@@ -653,6 +653,35 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_max_log_files"><a class="link" href="#kudu-tserver_max_log_files"><code>--max_log_files</code></a></h3>
+<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">stable,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_maintenance_manager_num_threads"><a class="link" href="#kudu-tserver_maintenance_manager_num_threads"><code>--maintenance_manager_num_threads</code></a></h3>
 <div class="paragraph">
 <p>Size of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.</p>
@@ -923,6 +952,35 @@
 "expert" options and should be used carefully and after thorough testing.</p>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_principal"><a class="link" href="#kudu-tserver_principal"><code>--principal</code></a></h3>
+<div class="paragraph">
+<p>Kerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.</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">string</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>kudu/_HOST</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_tablet_history_max_age_sec"><a class="link" href="#kudu-tserver_tablet_history_max_age_sec"><code>--tablet_history_max_age_sec</code></a></h3>
 <div class="paragraph">
 <p>Number of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.</p>
@@ -1349,7 +1407,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1378,7 +1436,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1407,7 +1465,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1436,7 +1494,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1465,7 +1523,7 @@
 </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,runtime,stable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced,stable,runtime</p></td>
 </tr>
 </tbody>
 </table>
@@ -1494,7 +1552,7 @@
 </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">runtime,stable,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1687,6 +1745,64 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-tserver_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_show_attributes"><a class="link" href="#kudu-tserver_show_attributes"><code>--show_attributes</code></a></h3>
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_builtin_ntp_client_bind_address"><a class="link" href="#kudu-tserver_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h3>
 <div class="paragraph">
 <p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.</p>
@@ -2287,7 +2403,7 @@
 </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>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -3099,7 +3215,7 @@
 </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,runtime,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">evolving,advanced,runtime</p></td>
 </tr>
 </tbody>
 </table>
@@ -3516,7 +3632,7 @@
 <div class="sect2">
 <h3 id="kudu-tserver_rpc_tls_ciphers"><a class="link" href="#kudu-tserver_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h3>
 <div class="paragraph">
-<p>The cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</p>
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -3543,9 +3659,38 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_rpc_tls_ciphersuites"><a class="link" href="#kudu-tserver_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h3>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_rpc_tls_min_protocol"><a class="link" href="#kudu-tserver_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h3>
 <div class="paragraph">
-<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</p>
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -4152,6 +4297,64 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-tserver_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-tserver_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h3>
 <div class="paragraph">
 <p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</p>
@@ -4645,6 +4848,35 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-tserver_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h3>
 <div class="paragraph">
 <p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</p>
@@ -4674,6 +4906,35 @@
 </div>
 </div>
 <div class="sect2">
+<h3 id="kudu-tserver_txn_commit_pool_num_threads"><a class="link" href="#kudu-tserver_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="kudu-tserver_update_tablet_stats_interval_ms"><a class="link" href="#kudu-tserver_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h3>
 <div class="paragraph">
 <p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</p>
@@ -5703,7 +5964,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 11:11:23 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/kudu-tserver_configuration_reference_unsupported.html b/docs/kudu-tserver_configuration_reference_unsupported.html
index c420762..026bb41 100644
--- a/docs/kudu-tserver_configuration_reference_unsupported.html
+++ b/docs/kudu-tserver_configuration_reference_unsupported.html
@@ -245,6 +245,90 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-tserver_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_client_use_unix_domain_sockets"><a class="link" href="#kudu-tserver_client_use_unix_domain_sockets"><code>--client_use_unix_domain_sockets</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.</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>false</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_show_attributes"><a class="link" href="#kudu-tserver_show_attributes"><code>--show_attributes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-tserver_builtin_ntp_client_bind_address"><a class="link" href="#kudu-tserver_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -854,7 +938,7 @@
 </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,advanced,runtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1050,7 +1134,7 @@
 </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>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -1638,7 +1722,7 @@
 </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,advanced,runtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime,advanced</p></td>
 </tr>
 </tbody>
 </table>
@@ -2460,7 +2544,7 @@
 <h2 id="kudu-tserver_rpc_tls_ciphers"><a class="link" href="#kudu-tserver_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</p>
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -2485,10 +2569,66 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_rpc_tls_ciphersuites"><a class="link" href="#kudu-tserver_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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_rpc_tls_excluded_protocols"><a class="link" href="#kudu-tserver_rpc_tls_excluded_protocols"><code>--rpc_tls_excluded_protocols</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.</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">string</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">none</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-tserver_rpc_tls_min_protocol"><a class="link" href="#kudu-tserver_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</p>
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -3206,7 +3346,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -3577,6 +3717,34 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_tablet_max_pending_txn_write_ops"><a class="link" href="#kudu-tserver_tablet_max_pending_txn_write_ops"><code>--tablet_max_pending_txn_write_ops</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction</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">uint32</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>2</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-tserver_flush_threshold_mb"><a class="link" href="#kudu-tserver_flush_threshold_mb"><code>--flush_threshold_mb</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -3661,10 +3829,66 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_txn_background_rpc_timeout_ms"><a class="link" href="#kudu-tserver_txn_background_rpc_timeout_ms"><code>--txn_background_rpc_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Period (in milliseconds) with which transaction-related background requests are made</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">uint32</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>5000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-tserver_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-tserver_txn_keepalive_interval_ms"><a class="link" href="#kudu-tserver_txn_keepalive_interval_ms"><code>--txn_keepalive_interval_ms</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a longer interval than the specified, the transaction is automatically aborted.</p>
+<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width: 50%;">
 <colgroup>
@@ -3717,6 +3941,90 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_txn_status_tablet_failover_catchup_timeout_ms"><a class="link" href="#kudu-tserver_txn_status_tablet_failover_catchup_timeout_ms"><code>--txn_status_tablet_failover_catchup_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_enable_txn_system_client_init"><a class="link" href="#kudu-tserver_enable_txn_system_client_init"><code>--enable_txn_system_client_init</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server&#8217;s TxnSystemClient to participate in orchestrating transactions.</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>false</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_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-tserver_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -4193,6 +4501,34 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-tserver_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -4221,6 +4557,62 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_txn_commit_pool_num_threads"><a class="link" href="#kudu-tserver_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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_txn_participant_registration_pool_num_threads"><a class="link" href="#kudu-tserver_txn_participant_registration_pool_num_threads"><code>--txn_participant_registration_pool_num_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-tserver_update_tablet_stats_interval_ms"><a class="link" href="#kudu-tserver_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -4613,34 +5005,6 @@
 </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_data_gc_min_size_mb"><a class="link" href="#kudu-tserver_data_gc_min_size_mb"><code>--data_gc_min_size_mb</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -4746,7 +5110,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -4774,7 +5138,7 @@
 </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,experimental,advanced</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,experimental</p></td>
 </tr>
 </tbody>
 </table>
@@ -5328,7 +5692,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 11:11:23 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/kudu-tserver_metrics_reference.html b/docs/kudu-tserver_metrics_reference.html
index 6bc5b05..09fdbc3 100644
--- a/docs/kudu-tserver_metrics_reference.html
+++ b/docs/kudu-tserver_metrics_reference.html
@@ -9107,7 +9107,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 11:11:23 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/kudu_impala_integration.html b/docs/kudu_impala_integration.html
index 4ac3b92..df85bf8 100644
--- a/docs/kudu_impala_integration.html
+++ b/docs/kudu_impala_integration.html
@@ -1327,7 +1327,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/metrics_reference.html b/docs/metrics_reference.html
index b56cd95..b9532bf 100644
--- a/docs/metrics_reference.html
+++ b/docs/metrics_reference.html
@@ -123,7 +123,25 @@
     <div class="col-md-9">
 
 <h1>Apache Kudu Metrics Reference</h1>
-      <div class="sect1">
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_metrics"><a class="link" href="#kudu-master_metrics"><code>kudu-master</code> Metrics</a></h2>
 <div class="sectionbody">
 <div class="sect2">
@@ -2660,6 +2678,41 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_RemoveMaster"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_RemoveMaster"><code>handler_latency_kudu_master_MasterService_RemoveMaster</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.RemoveMaster RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.RemoveMaster RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_handler_latency_kudu_master_MasterService_ReplaceTablet"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ReplaceTablet"><code>handler_latency_kudu_master_MasterService_ReplaceTablet</code></a></h4>
 <div class="paragraph">
 <p>kudu.master.MasterService.ReplaceTablet RPC Time
@@ -5775,6 +5828,41 @@
 </div>
 </div>
 <div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_RemoveMaster"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_RemoveMaster"><code>queue_overflow_rejections_kudu_master_MasterService_RemoveMaster</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.RemoveMaster RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.RemoveMaster requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
 <h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet"><code>queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet</code></a></h4>
 <div class="paragraph">
 <p>kudu.master.MasterService.ReplaceTablet RPC Rejections
@@ -20513,7 +20601,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 11:11:23 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/prior_release_notes.html b/docs/prior_release_notes.html
index 287af63..6ea7caf 100644
--- a/docs/prior_release_notes.html
+++ b/docs/prior_release_notes.html
@@ -146,6 +146,345 @@
 </div>
 </div>
 </div>
+<h1 id="rn_1.14.0" class="sect0"><a class="link" href="#rn_1.14.0">Apache Kudu 1.14.0 Release Notes</a></h1>
+<div class="sect1">
+<h2 id="rn_1.14.0_upgrade_notes"><a class="link" href="#rn_1.14.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_obsoletions"><a class="link" href="#rn_1.14.0_obsoletions">Obsoletions</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for CentOS 6/RHEL 6, Ubuntu 14, Ubuntu 16, and Debian 8 platforms has been dropped
+given they are at or near end-of-life. We will no longer validate these platforms as a
+part of the release process, though patches will still be accepted going forward.</p>
+</li>
+<li>
+<p>Developer support for OS X 10.10 Yosemite, OS X 10.11 El Capitan, and OS X 10.12 Sierra
+has been dropped. We will no longer validate these versions as a part of the release
+process, though patches will still be accepted going forward.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_deprecations"><a class="link" href="#rn_1.14.0_deprecations">Deprecations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for Python 2.x and Python 3.4 and earlier is deprecated and may be
+removed in the next minor release.</p>
+</li>
+<li>
+<p>The <code>kudu-mapreduce</code> integration has been deprecated and may be removed in the
+next minor release. Similar functionality and capabilities now exist via the
+Apache Spark, Apache Hive, Apache Impala, and Apache NiFi integrations.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_new_features"><a class="link" href="#rn_1.14.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Full support for <code>INSERT_IGNORE</code>, <code>UPDATE_IGNORE</code>, and <code>DELETE_IGNORE</code> operations
+was added. The <code>INSERT_IGNORE</code> operation will insert a row if one matching the key
+does not exist and ignore the operation if one already exists. The <code>UPDATE_IGNORE</code>
+operation will update the row if one matching the key exists and ignore the operation
+if one does not exist. The <code>DELETE_IGNORE</code> operation will delete the row if one matching
+the key exists and ignore the operation if one does not exist. These operations are
+particularly useful in situations where retries or duplicate operations could occur and
+you do not want to handle the errors that could result manually or you do not want to cause
+unnecessary writes and compaction work as a result of using the <code>UPSERT</code> operation.
+The Java client can check if the cluster it is communicating with supports these operations
+by calling the <code>supportsIgnoreOperations()</code> method on the KuduClient. See
+<a href="https://issues.apache.org/jira/browse/KUDU-1563">KUDU-1563</a> for more details.</p>
+</li>
+<li>
+<p>Spark 3 compatible JARs compiled for Scala 2.12 are now published for the Kudu Spark integration.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3202">KUDU-3202</a> for more details.</p>
+</li>
+<li>
+<p>Every Kudu cluster now has an automatically generated cluster Id that can be used to uniquely
+identify a cluster. The cluster Id is shown in the masters web-UI, the <code>kudu master list</code> tool,
+and in master server logs. See <a href="https://issues.apache.org/jira/browse/KUDU-2574">KUDU-2574</a>
+for more details.</p>
+</li>
+<li>
+<p>It is now possible to enforce that OpenSSL is initialized in FIPS approved mode in the servers
+and the C++ client by setting the KUDU_REQUIRE_FIPS_MODE environment variable to “1”, “yes” or
+“true”. See <a href="https://issues.apache.org/jira/browse/KUDU-3210">KUDU-3210</a> for more details.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_improvements"><a class="link" href="#rn_1.14.0_improvements">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Downloading the WAL data and data blocks when copying tablets to another tablet server is now
+parallelized, resulting in much faster tablet copy operations. These operations occur when
+recovering from a down tablet server or when running the cluster rebalancer. See
+<a href="https://issues.apache.org/jira/browse/KUDU-1728">KUDU-1728</a> and
+<a href="https://issues.apache.org/jira/browse/KUDU-3214">KUDU-3214</a> for more details.</p>
+</li>
+<li>
+<p>The HMS integration now supports multiple Kudu clusters associated with a single HMS
+including Kudu clusters that do not have HMS synchronization enabled. This is possible,
+because the Kudu master will now leverage the cluster Id to ignore notifications from
+tables in a different cluster. Additionally, the HMS plugin will check if the Kudu cluster
+associated with a table has HMS synchronization enabled.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3192">KUDU-3192</a> and
+<a href="https://issues.apache.org/jira/browse/KUDU-3187">KUDU-3187</a> for more details.</p>
+</li>
+<li>
+<p>The HMS integration now supports gzipped HMS notifications. This is important in order to
+support Hive 4 where the default encoder was changed to be the GzipJSONMessageEncoder. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3201">KUDU-3201</a> for more details.</p>
+</li>
+<li>
+<p>Kudu will now fail tablet replicas that have been corrupted due to KUDU-2233 instead of
+crashing the tablet server. If a healthy majority still exists, a new replica will be created
+and the failed replica will be evicted and deleted. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3191">KUDU-3191</a> and
+<a href="https://issues.apache.org/jira/browse/KUDU-2233">KUDU-2233</a> for more details.</p>
+</li>
+<li>
+<p>DeltaMemStores will now be flushed as long as any DMS in a tablet is older than the point
+defined by <code>--flush_threshold_secs</code>, rather than flushing once every <code>--flush_threshold_secs</code>
+period. This can reduce memory pressure under update- or delete-heavy workloads, and lower tablet
+server restart times following such workloads. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3195">KUDU-3195</a> for more details.</p>
+</li>
+<li>
+<p>The <code>kudu perf loadgen</code> CLI tool now supports <code>UPSERT</code> for storing the generated data into
+the table. To switch to <code>UPSERT</code> for row operations (instead of default <code>INSERT</code>), add the
+<code>--use_upsert</code> command-line flag.</p>
+</li>
+<li>
+<p>Users can now specify the level of parallelization when copying a tablet using the
+<code>kudu local_replica copy_from_remote</code> CLI tool by passing the
+<code>--tablet_copy_download_threads_nums_per_session</code> argument.</p>
+</li>
+<li>
+<p>The Kudu Masters now discriminate between overlapped and exact duplicate key ranges when adding
+new partitions, returning <code>Status::AlreadyPresent()</code> for exact range duplicates and
+<code>Status::InvalidArgument()</code> for otherwise overlapped ones. In prior releases, the master
+returned <code>Status::InvalidArgument()</code> both in case of duplicate and otherwise overlapped ranges.</p>
+</li>
+<li>
+<p>The handling of an empty list of master addresses in Kudu C++ client has improved. In prior
+releases, <code>KuduClientBuilder::Build()</code> would hang in <code>ConnectToCluster()</code> if no master addresses
+were provided. Now, <code>KuduClientBuilder::Build()</code> instantly returns <code>Status::InvalidArgument()</code>
+in such a case.</p>
+</li>
+<li>
+<p>The connection negotiation timeout for Kudu C client is now programmatically configurable.
+To customize the connection negotiation timeout, use the newly introduced
+`KuduClientBuilder::connection_negotiation_timeout()` method in the Kudu C client API.</p>
+</li>
+<li>
+<p>All RPC-related <code>kudu</code> CLI tools now have <code>--negotiation_timeout_ms</code> command line flag to
+control the client-side connection negotiation timeout. The default value for the new flag is
+set to 3000 milliseconds for backward compatibility. Keep in mind that the total RPC timeout
+includes the connection negotiation time, so in general it makes sense to bump <code>--timeout_ms</code>
+along with <code>--negotiation_timeout_ms</code> by the same delta.</p>
+</li>
+<li>
+<p>Kudu now reports on slow SASL calls (i.e. calls taking more than 250  milliseconds to complete)
+when connecting to a server. This is to help diagnose issues like described in
+<a href="https://issues.apache.org/jira/browse/KUDU-3217">KUDU-3217</a>.</p>
+</li>
+<li>
+<p>MaintenanceManager now has a new histogram-based <code>maintenance_op_find_best_candidate_duration</code>
+metric to capture the stats on how long it takes (in microseconds) to find the best maintenance
+operation among available candidates. The newly introduced metric can help in diagnosing
+conditions where MaintenanceManager seems lagging behind the rate of write operations in a busy
+Kudu cluster with many replicas per tablet server.</p>
+</li>
+<li>
+<p>The KuduScanToken Java API has been extended with a <code>deserializeIntoScannerBuilder()</code> method that
+can be used to further customize generated tokens.</p>
+</li>
+<li>
+<p>Logging of the error message produced when applying an op while a Java KuduSession is closed
+has been throttled. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3012">KUDU-3012</a> for more details.</p>
+</li>
+<li>
+<p>Added a new <code>uptime</code> metric for a Kudu server. The metric&#8217;s value is reported as the length of
+the time interval passed from the start of the server, in microseconds. Knowing the server&#8217;s
+uptime, it&#8217;s easier to interpret and compare metrics reported by different Kudu servers.</p>
+</li>
+<li>
+<p>Documentation for Kudu’s metrics are now automatically generated for each release and can be seen
+<a href="https://kudu.apache.org/docs/metrics_reference.html">here</a>.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_fixed_issues"><a class="link" href="#rn_1.14.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Fixed lock contention between MaintenanceManager op registration and the scheduling of new
+maintenance ops. On particularly dense tablet servers, this contention was previously shown to
+significantly slow down startup times. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3149">KUDU-3149</a> for more details.</p>
+</li>
+<li>
+<p>Fixed lock contention between MaintenanceManager’s threads performing already scheduled
+operations and the scheduler thread itself. This benefits clusters with heavy ingest/update
+workloads that have many replicas per tablet server. See
+<a href="https://issues.apache.org/jira/browse/KUDU-1954">KUDU-1954</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a bug in the merge iterator that could result in a crash. This could surface as a crash
+when performing ordered or differential scans, particularly when the underlying data contained
+deletes and reinserts. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3108">KUDU-3108</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a heap-use-after-free bug in Kudu C++ client that might manifest itself when altering a
+table to update the partitioning schema. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3238">KUDU-3238</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a bug where building scan tokens would result in a NullPointerException if a tablet not
+found error occurred before generating the token. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3205">KUDU-3205</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a bug where a delete operation would fail if the row being deleted contained exactly
+64 columns and all values were set on the row. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3198">KUDU-3198</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a bug where Slf4j classes were shaded into the Spark integration JARs. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3157">KUDU-3157</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a bug where the 'kudu hms fix' tool mistakenly reports non-matching master addresses
+when the addresses are in-fact canonically the same. See
+<a href="https://issues.apache.org/jira/browse/KUDU-2884">KUDU-2884</a> for more details.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_wire_compatibility"><a class="link" href="#rn_1.14.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.14.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.14 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.13 and Kudu 1.14 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.14 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.14 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.14 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.14 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_incompatible_changes"><a class="link" href="#rn_1.14.0_incompatible_changes">Incompatible Changes in Kudu 1.14.0</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="rn_1.14.0_client_compatibility"><a class="link" href="#rn_1.14.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.14 Java client library is API- and ABI-compatible with Kudu 1.13. Applications
+written against Kudu 1.13 will compile and run against the Kudu 1.14 client library and
+vice-versa.</p>
+</li>
+<li>
+<p>The Kudu 1.14 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.13.
+Applications written and compiled against the Kudu 1.13 client library will run without
+modification against the Kudu 1.14 client library. Applications written and compiled
+against the Kudu 1.14 client library will run without modification against the Kudu 1.13
+client library.</p>
+</li>
+<li>
+<p>The Kudu 1.14 Python client is API-compatible with Kudu 1.13. Applications
+written against Kudu 1.13 will continue to run against the Kudu 1.14 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_known_issues"><a class="link" href="#rn_1.14.0_known_issues">Known Issues and Limitations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Please refer to the <a href="known_issues.html">Known Issues and Limitations</a> section of the
+documentation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_contributors"><a class="link" href="#rn_1.14.0_contributors">Contributors</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.14.0 includes contributions from 12 people, including 1 first-time
+contributors:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>liguohao</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Thank you for your contributions!</p>
+</div>
+</div>
+</div>
 <h1 id="rn_1.13.0" class="sect0"><a class="link" href="#rn_1.13.0">Apache Kudu 1.13.0 Release Notes</a></h1>
 <div class="sect1">
 <h2 id="rn_1.13.0_upgrade_notes"><a class="link" href="#rn_1.13.0_upgrade_notes">Upgrade Notes</a></h2>
@@ -5745,7 +6084,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 10:59:21 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:34:59 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/quickstart.html b/docs/quickstart.html
index f50b673..6d37b02 100644
--- a/docs/quickstart.html
+++ b/docs/quickstart.html
@@ -556,7 +556,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 10:59:21 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/quickstartdev.html b/docs/quickstartdev.html
index 69709a4..ca7fd2f 100644
--- a/docs/quickstartdev.html
+++ b/docs/quickstartdev.html
@@ -148,7 +148,7 @@
 <h2 id="_check_kudu_master_server_web_interface">Check Kudu master server web interface</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>Open in browser: <a href="http://localhost:8764/" class="bare">http://localhost:8764/</a></p>
+<p>Open in browser: <a href="http://localhost:8765/" class="bare">http://localhost:8765/</a></p>
 </div>
 </div>
 </div>
@@ -157,7 +157,7 @@
 <div class="sectionbody">
 <div class="listingblock">
 <div class="content">
-<pre class="highlight"><code class="language-bash" data-lang="bash">./bin/kudu perf loadgen 127.0.0.1:8765 --keep_auto_table=true --num_rows_per_thread=100000 --run_scan=true</code></pre>
+<pre class="highlight"><code class="language-bash" data-lang="bash">./bin/kudu perf loadgen 127.0.0.1:8764 --keep_auto_table=true --num_rows_per_thread=100000 --run_scan=true</code></pre>
 </div>
 </div>
 </div>
@@ -167,7 +167,7 @@
 <div class="sectionbody">
 <div class="listingblock">
 <div class="content">
-<pre class="highlight"><code class="language-bash" data-lang="bash">./bin/kudu master get_flags 127.0.0.1:8765
+<pre class="highlight"><code class="language-bash" data-lang="bash">./bin/kudu master get_flags 127.0.0.1:8764
 ./bin/kudu tserver get_flags 127.0.0.1:9870</code></pre>
 </div>
 </div>
@@ -193,7 +193,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/release_notes.html b/docs/release_notes.html
index 5f9281e..42ea94d 100644
--- a/docs/release_notes.html
+++ b/docs/release_notes.html
@@ -7,7 +7,7 @@
     <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
     <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
     <meta name="author" content="Cloudera" />
-    <title>Apache Kudu - Apache Kudu 1.14.0 Release Notes</title>
+    <title>Apache Kudu - Apache Kudu 1.15.0 Release Notes</title>
     <!-- Bootstrap core CSS -->
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
           integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
@@ -122,282 +122,211 @@
   <div class="row">
     <div class="col-md-9">
 
-<h1>Apache Kudu 1.14.0 Release Notes</h1>
+<h1>Apache Kudu 1.15.0 Release Notes</h1>
       <div class="sect1">
-<h2 id="rn_1.14.0_upgrade_notes"><a class="link" href="#rn_1.14.0_upgrade_notes">Upgrade Notes</a></h2>
+<h2 id="rn_1.15.0_upgrade_notes"><a class="link" href="#rn_1.15.0_upgrade_notes">Upgrade Notes</a></h2>
 <div class="sectionbody">
 
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.14.0_obsoletions"><a class="link" href="#rn_1.14.0_obsoletions">Obsoletions</a></h2>
+<h2 id="rn_1.15.0_obsoletions"><a class="link" href="#rn_1.15.0_obsoletions">Obsoletions</a></h2>
 <div class="sectionbody">
 <div class="ulist">
 <ul>
 <li>
-<p>Support for CentOS 6/RHEL 6, Ubuntu 14, Ubuntu 16, and Debian 8 platforms has been dropped
-given they are at or near end-of-life. We will no longer validate these platforms as a
-part of the release process, though patches will still be accepted going forward.</p>
-</li>
-<li>
-<p>Developer support for OS X 10.10 Yosemite, OS X 10.11 El Capitan, and OS X 10.12 Sierra
-has been dropped. We will no longer validate these versions as a part of the release
-process, though patches will still be accepted going forward.</p>
+<p>The <code>kudu-mapreduce</code> integration has been removed in the 1.15.0 release.
+Similar functionality and capabilities now exist via the Apache Spark, Apache Hive, Apache Impala,
+and Apache NiFi integrations. See <a href="https://issues.apache.org/jira/browse/KUDU-3142">KUDU-3142</a>
+for details.</p>
 </li>
 </ul>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.14.0_deprecations"><a class="link" href="#rn_1.14.0_deprecations">Deprecations</a></h2>
+<h2 id="rn_1.15.0_deprecations"><a class="link" href="#rn_1.15.0_deprecations">Deprecations</a></h2>
 <div class="sectionbody">
 <div class="ulist">
 <ul>
 <li>
-<p>Support for Python 2.x and Python 3.4 and earlier is deprecated and may be
-removed in the next minor release.</p>
-</li>
-<li>
-<p>The <code>kudu-mapreduce</code> integration has been deprecated and may be removed in the
-next minor release. Similar functionality and capabilities now exist via the
-Apache Spark, Apache Hive, Apache Impala, and Apache NiFi integrations.</p>
+<p>Support for Python 2.x and Python 3.4 and earlier is deprecated and may be removed in the next minor
+release.</p>
 </li>
 </ul>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.14.0_new_features"><a class="link" href="#rn_1.14.0_new_features">New features</a></h2>
+<h2 id="rn_1.15.0_new_features"><a class="link" href="#rn_1.15.0_new_features">New features</a></h2>
 <div class="sectionbody">
 <div class="ulist">
 <ul>
 <li>
-<p>Full support for <code>INSERT_IGNORE</code>, <code>UPDATE_IGNORE</code>, and <code>DELETE_IGNORE</code> operations
-was added. The <code>INSERT_IGNORE</code> operation will insert a row if one matching the key
-does not exist and ignore the operation if one already exists. The <code>UPDATE_IGNORE</code>
-operation will update the row if one matching the key exists and ignore the operation
-if one does not exist. The <code>DELETE_IGNORE</code> operation will delete the row if one matching
-the key exists and ignore the operation if one does not exist. These operations are
-particularly useful in situations where retries or duplicate operations could occur and
-you do not want to handle the errors that could result manually or you do not want to cause
-unnecessary writes and compaction work as a result of using the <code>UPSERT</code> operation.
-The Java client can check if the cluster it is communicating with supports these operations
-by calling the <code>supportsIgnoreOperations()</code> method on the KuduClient. See
-<a href="https://issues.apache.org/jira/browse/KUDU-1563">KUDU-1563</a> for more details.</p>
+<p>Kudu now experimentally supports multi-row transactions. Currently only <code>INSERT</code> and
+<code>INSERT_IGNORE</code> operations are supported.
+See <a href="https://github.com/apache/kudu/blob/master/docs/design-docs/transactions.adoc">here</a> for a
+design overview of this feature.</p>
 </li>
 <li>
-<p>Spark 3 compatible JARs compiled for Scala 2.12 are now published for the Kudu Spark integration.
-See <a href="https://issues.apache.org/jira/browse/KUDU-3202">KUDU-3202</a> for more details.</p>
+<p>Kudu now supports Raft configuration change for Kudu masters and CLI tools for orchestrating
+addition and removal of masters in a Kudu cluster. These tools substantially simplify the process
+of migrating to multiple masters, recovering a dead master and removing masters from a Kudu cluster.
+For detailed steps, see the latest administration documentation. This feature is evolving and
+the steps to add, remove and recover masters may change in the future.
+See <a href="https://issues.apache.org/jira/browse/KUDU-2181">KUDU-2181</a> for details.</p>
 </li>
 <li>
-<p>Every Kudu cluster now has an automatically generated cluster Id that can be used to uniquely
-identify a cluster. The cluster Id is shown in the masters web-UI, the <code>kudu master list</code> tool,
-and in master server logs. See <a href="https://issues.apache.org/jira/browse/KUDU-2574">KUDU-2574</a>
-for more details.</p>
+<p>Kudu now supports table comments directly on Kudu tables which are automatically synchronized
+when the Hive Metastore integration is enabled. These comments can be added at table creation time
+and changed via table alteration.</p>
 </li>
 <li>
-<p>It is now possible to enforce that OpenSSL is initialized in FIPS approved mode in the servers
-and the C++ client by setting the KUDU_REQUIRE_FIPS_MODE environment variable to “1”, “yes” or
-“true”. See <a href="https://issues.apache.org/jira/browse/KUDU-3210">KUDU-3210</a> for more details.</p>
+<p>Kudu now experimentally supports per-table size limits based on leader disk space usage or number
+of rows. When generating new authorization tokens, Masters will now consider the size limits and
+strip tokens of <code>INSERT</code> and <code>UPDATE</code> privileges if either limit is reached. To enable this feature,
+set the <code>--enable_table_write_limit</code> master flag; adjust the <code>--table_disk_size_limit</code> and
+<code>--table_row_count_limit</code> flags as desired or use the <code>kudu table set_limit</code> tool to set limits per
+table.</p>
 </li>
 </ul>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.14.0_improvements"><a class="link" href="#rn_1.14.0_improvements">Optimizations and improvements</a></h2>
+<h2 id="rn_1.15.0_improvements"><a class="link" href="#rn_1.15.0_improvements">Optimizations and improvements</a></h2>
 <div class="sectionbody">
 <div class="ulist">
 <ul>
 <li>
-<p>Downloading the WAL data and data blocks when copying tablets to another tablet server is now
-parallelized, resulting in much faster tablet copy operations. These operations occur when
-recovering from a down tablet server or when running the cluster rebalancer. See
-<a href="https://issues.apache.org/jira/browse/KUDU-1728">KUDU-1728</a> and
-<a href="https://issues.apache.org/jira/browse/KUDU-3214">KUDU-3214</a> for more details.</p>
+<p>It is now possible to change the Kerberos Service Principal Name using the <code>--principal</code> flag. The
+default SPN is still <code>kudu/_HOST</code>. Clients connecting to a cluster using a non-default SPN must set
+the <code>sasl_protocol_name</code> or <code>saslProtocolName</code> to match the SPN base
+(i.e. “kudu” if the SPN is “kudu/_HOST”) in the client builder or the Kudu CLI.
+See <a href="https://issues.apache.org/jira/browse/KUDU-1884">KUDU-1884</a> for details.</p>
 </li>
 <li>
-<p>The HMS integration now supports multiple Kudu clusters associated with a single HMS
-including Kudu clusters that do not have HMS synchronization enabled. This is possible,
-because the Kudu master will now leverage the cluster Id to ignore notifications from
-tables in a different cluster. Additionally, the HMS plugin will check if the Kudu cluster
-associated with a table has HMS synchronization enabled.
-See <a href="https://issues.apache.org/jira/browse/KUDU-3192">KUDU-3192</a> and
-<a href="https://issues.apache.org/jira/browse/KUDU-3187">KUDU-3187</a> for more details.</p>
+<p>Kudu RPC now supports TLSv1.3.  Kudu servers and clients automatically negotiate TLSv1.3 for Kudu
+RPC if OpenSSL (or Java runtime correspondingly) on each side supports TLSv1.3.
+If necessary, use the newly introduced flag <code>--rpc_tls_ciphersuites</code> to customize TLSv1.3-specific
+cipher suites at the server side.
+See <a href="https://issues.apache.org/jira/browse/KUDU-2871">KUDU-2871</a> for details.</p>
 </li>
 <li>
-<p>The HMS integration now supports gzipped HMS notifications. This is important in order to
-support Hive 4 where the default encoder was changed to be the GzipJSONMessageEncoder. See
-<a href="https://issues.apache.org/jira/browse/KUDU-3201">KUDU-3201</a> for more details.</p>
+<p>TLS ciphers renegotiation for TLSv1.2 and prior protocol versions is now explicitly disabled.
+See <a href="https://issues.apache.org/jira/browse/KUDU-1926">KUDU-1926</a> for details.</p>
 </li>
 <li>
-<p>Kudu will now fail tablet replicas that have been corrupted due to KUDU-2233 instead of
-crashing the tablet server. If a healthy majority still exists, a new replica will be created
-and the failed replica will be evicted and deleted. See
-<a href="https://issues.apache.org/jira/browse/KUDU-3191">KUDU-3191</a> and
-<a href="https://issues.apache.org/jira/browse/KUDU-2233">KUDU-2233</a> for more details.</p>
+<p>The location assignment for Kudu clients is now disabled by default since it doesn’t bring a lot
+of benefits, but rather puts an extra load to Kudu masters.  This change reduces the load on Kudu
+masters which is essential if too many clients run in a cluster.  To enable the location assignment
+for clients, override the default by setting <code>--master_client_location_assignment_enabled=true</code> for
+Kudu masters.</p>
 </li>
 <li>
-<p>DeltaMemStores will now be flushed as long as any DMS in a tablet is older than the point
-defined by <code>--flush_threshold_secs</code>, rather than flushing once every <code>--flush_threshold_secs</code>
-period. This can reduce memory pressure under update- or delete-heavy workloads, and lower tablet
-server restart times following such workloads. See
-<a href="https://issues.apache.org/jira/browse/KUDU-3195">KUDU-3195</a> for more details.</p>
+<p>The behavior of the C++ client replica selection for closest replica, the default, was updated to
+match the behavior of the Java client. Instead of picking a random replica each time, a static value
+is used for each process ensuring that the selection remains deterministic and can benefit from
+better caching. See <a href="https://issues.apache.org/jira/browse/KUDU-3248">KUDU-3248</a> for details.</p>
 </li>
 <li>
-<p>The <code>kudu perf loadgen</code> CLI tool now supports <code>UPSERT</code> for storing the generated data into
-the table. To switch to <code>UPSERT</code> for row operations (instead of default <code>INSERT</code>), add the
-<code>--use_upsert</code> command-line flag.</p>
+<p>The Web UI /rpcz endpoint now displays information on whether an RPC connection is protected by
+TLS, and if so, provides information on the negotiated TLS cipher suite.</p>
 </li>
 <li>
-<p>Users can now specify the level of parallelization when copying a tablet using the
-<code>kudu local_replica copy_from_remote</code> CLI tool by passing the
-<code>--tablet_copy_download_threads_nums_per_session</code> argument.</p>
+<p>Tooling requests and C++ client requests bound for leader masters will now be retried in the event
+the masters cannot be reached.</p>
 </li>
 <li>
-<p>The Kudu Masters now discriminate between overlapped and exact duplicate key ranges when adding
-new partitions, returning <code>Status::AlreadyPresent()</code> for exact range duplicates and
-<code>Status::InvalidArgument()</code> for otherwise overlapped ones. In prior releases, the master
-returned <code>Status::InvalidArgument()</code> both in case of duplicate and otherwise overlapped ranges.</p>
+<p>Cluster tooling will now validate that the master argument contains no duplicate values.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3226">KUDU-3226</a> for details.</p>
 </li>
 <li>
-<p>The handling of an empty list of master addresses in Kudu C++ client has improved. In prior
-releases, <code>KuduClientBuilder::Build()</code> would hang in <code>ConnectToCluster()</code> if no master addresses
-were provided. Now, <code>KuduClientBuilder::Build()</code> instantly returns <code>Status::InvalidArgument()</code>
-in such a case.</p>
-</li>
-<li>
-<p>The connection negotiation timeout for Kudu C client is now programmatically configurable.
-To customize the connection negotiation timeout, use the newly introduced
-`KuduClientBuilder::connection_negotiation_timeout()` method in the Kudu C client API.</p>
-</li>
-<li>
-<p>All RPC-related <code>kudu</code> CLI tools now have <code>--negotiation_timeout_ms</code> command line flag to
-control the client-side connection negotiation timeout. The default value for the new flag is
-set to 3000 milliseconds for backward compatibility. Keep in mind that the total RPC timeout
-includes the connection negotiation time, so in general it makes sense to bump <code>--timeout_ms</code>
-along with <code>--negotiation_timeout_ms</code> by the same delta.</p>
-</li>
-<li>
-<p>Kudu now reports on slow SASL calls (i.e. calls taking more than 250  milliseconds to complete)
-when connecting to a server. This is to help diagnose issues like described in
-<a href="https://issues.apache.org/jira/browse/KUDU-3217">KUDU-3217</a>.</p>
-</li>
-<li>
-<p>MaintenanceManager now has a new histogram-based <code>maintenance_op_find_best_candidate_duration</code>
-metric to capture the stats on how long it takes (in microseconds) to find the best maintenance
-operation among available candidates. The newly introduced metric can help in diagnosing
-conditions where MaintenanceManager seems lagging behind the rate of write operations in a busy
-Kudu cluster with many replicas per tablet server.</p>
-</li>
-<li>
-<p>The KuduScanToken Java API has been extended with a <code>deserializeIntoScannerBuilder()</code> method that
-can be used to further customize generated tokens.</p>
-</li>
-<li>
-<p>Logging of the error message produced when applying an op while a Java KuduSession is closed
-has been throttled. See
-<a href="https://issues.apache.org/jira/browse/KUDU-3012">KUDU-3012</a> for more details.</p>
-</li>
-<li>
-<p>Added a new <code>uptime</code> metric for a Kudu server. The metric&#8217;s value is reported as the length of
-the time interval passed from the start of the server, in microseconds. Knowing the server&#8217;s
-uptime, it&#8217;s easier to interpret and compare metrics reported by different Kudu servers.</p>
-</li>
-<li>
-<p>Documentation for Kudu’s metrics are now automatically generated for each release and can be seen
-<a href="https://kudu.apache.org/docs/metrics_reference.html">here</a>.</p>
+<p>The error message output by Kudu Java client in an attempt to write into a non-existent table
+partition now contains the table’s name.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3267">KUDU-3267</a> for details.</p>
 </li>
 </ul>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.14.0_fixed_issues"><a class="link" href="#rn_1.14.0_fixed_issues">Fixed Issues</a></h2>
+<h2 id="rn_1.15.0_fixed_issues"><a class="link" href="#rn_1.15.0_fixed_issues">Fixed Issues</a></h2>
 <div class="sectionbody">
 <div class="ulist">
 <ul>
 <li>
-<p>Fixed lock contention between MaintenanceManager op registration and the scheduling of new
-maintenance ops. On particularly dense tablet servers, this contention was previously shown to
-significantly slow down startup times. See
-<a href="https://issues.apache.org/jira/browse/KUDU-3149">KUDU-3149</a> for more details.</p>
+<p>Fixed a bug in the Kudu tablet servers that could result in a crash when performing an incremental
+backup of rows that had many batches of updates.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3291">KUDU-3291</a> for more details.</p>
 </li>
 <li>
-<p>Fixed lock contention between MaintenanceManager’s threads performing already scheduled
-operations and the scheduler thread itself. This benefits clusters with heavy ingest/update
-workloads that have many replicas per tablet server. See
-<a href="https://issues.apache.org/jira/browse/KUDU-1954">KUDU-1954</a> for more details.</p>
+<p>The Kudu Java client will now retry scans bound for tablets hosted on quiescing tablet servers at
+replicas on other tablet servers. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3213">KUDU-3213</a> for more details.</p>
 </li>
 <li>
-<p>Fixed a bug in the merge iterator that could result in a crash. This could surface as a crash
-when performing ordered or differential scans, particularly when the underlying data contained
-deletes and reinserts. See
-<a href="https://issues.apache.org/jira/browse/KUDU-3108">KUDU-3108</a> for more details.</p>
+<p>Fixed a race between the scheduling of a maintenance op and the destruction of a tablet. This
+could previously lead to a crash.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3268">KUDU-3268</a> for more details.</p>
 </li>
 <li>
-<p>Fixed a heap-use-after-free bug in Kudu C++ client that might manifest itself when altering a
-table to update the partitioning schema. See
-<a href="https://issues.apache.org/jira/browse/KUDU-3238">KUDU-3238</a> for more details.</p>
+<p>Fixed crash in Kudu C++ client introduced with KUDU-1802.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3254">KUDU-3254</a> for details.</p>
 </li>
 <li>
-<p>Fixed a bug where building scan tokens would result in a NullPointerException if a tablet not
-found error occurred before generating the token. See
-<a href="https://issues.apache.org/jira/browse/KUDU-3205">KUDU-3205</a> for more details.</p>
+<p>Fixed bug in Kudu Java client which manifested in <code>AUTO_FLUSH_BACKGROUND</code> sessions hung in a call
+to <code>KuduSession.flush()</code> method.  Another sign of the bug were stuck data ingest workloads based on
+Java client (e.g., kudu-spark applications) with
+"java.lang.AssertionError: This Deferred was already called!" message in the logs.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3277">KUDU-3277</a> for details.</p>
 </li>
 <li>
-<p>Fixed a bug where a delete operation would fail if the row being deleted contained exactly
-64 columns and all values were set on the row. See
-<a href="https://issues.apache.org/jira/browse/KUDU-3198">KUDU-3198</a> for more details.</p>
-</li>
-<li>
-<p>Fixed a bug where Slf4j classes were shaded into the Spark integration JARs. See
-<a href="https://issues.apache.org/jira/browse/KUDU-3157">KUDU-3157</a> for more details.</p>
-</li>
-<li>
-<p>Fixed a bug where the 'kudu hms fix' tool mistakenly reports non-matching master addresses
-when the addresses are in-fact canonically the same. See
-<a href="https://issues.apache.org/jira/browse/KUDU-2884">KUDU-2884</a> for more details.</p>
+<p>Fixed crash in Kudu server due to lack of <code>getrandom(2)</code> system call in Linux kernel version
+earlier than 3.17 by instead using <code>/dev/random</code> for uuid generation in the Boost library.
+Crash includes the following message in the logs
+"terminate called after throwing an instance of 'boost::wrapexcept&lt;boost::uuids::entropy_error&gt;'".
+See the <a href="https://gerrit.cloudera.org/c/17354/">fix</a> for a sample stack trace.</p>
 </li>
 </ul>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.14.0_wire_compatibility"><a class="link" href="#rn_1.14.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<h2 id="rn_1.15.0_wire_compatibility"><a class="link" href="#rn_1.15.0_wire_compatibility">Wire Protocol compatibility</a></h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>Kudu 1.14.0 is wire-compatible with previous versions of Kudu:</p>
+<p>Kudu 1.15.0 is wire-compatible with previous versions of Kudu:</p>
 </div>
 <div class="ulist">
 <ul>
 <li>
-<p>Kudu 1.14 clients may connect to servers running Kudu 1.0 or later. If the client uses
+<p>Kudu 1.15 clients may connect to servers running Kudu 1.0 or later. If the client uses
 features that are not available on the target server, an error will be returned.</p>
 </li>
 <li>
-<p>Rolling upgrade between Kudu 1.13 and Kudu 1.14 servers is believed to be possible
+<p>Rolling upgrade between Kudu 1.14 and Kudu 1.15 servers is believed to be possible
 though has not been sufficiently tested. Users are encouraged to shut down all nodes
 in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
 </li>
 <li>
-<p>Kudu 1.0 clients may connect to servers running Kudu 1.14 with the exception of the
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.15 with the exception of the
 below-mentioned restrictions regarding secure clusters.</p>
 </li>
 </ul>
 </div>
 <div class="paragraph">
 <p>The authentication features introduced in Kudu 1.3 place the following limitations
-on wire compatibility between Kudu 1.14 and versions earlier than 1.3:</p>
+on wire compatibility between Kudu 1.15 and versions earlier than 1.3:</p>
 </div>
 <div class="ulist">
 <ul>
 <li>
-<p>If a Kudu 1.14 cluster is configured with authentication or encryption set to "required",
+<p>If a Kudu 1.15 cluster is configured with authentication or encryption set to "required",
 clients older than Kudu 1.3 will be unable to connect.</p>
 </li>
 <li>
-<p>If a Kudu 1.14 cluster is configured with authentication and encryption set to "optional"
+<p>If a Kudu 1.15 cluster is configured with authentication and encryption set to "optional"
 or "disabled", older clients will still be able to connect.</p>
 </li>
 </ul>
@@ -405,27 +334,41 @@
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.14.0_incompatible_changes"><a class="link" href="#rn_1.14.0_incompatible_changes">Incompatible Changes in Kudu 1.14.0</a></h2>
+<h2 id="rn_1.15.0_incompatible_changes"><a class="link" href="#rn_1.15.0_incompatible_changes">Incompatible Changes in Kudu 1.15.0</a></h2>
 <div class="sectionbody">
-<div class="sect2">
-<h3 id="rn_1.14.0_client_compatibility"><a class="link" href="#rn_1.14.0_client_compatibility">Client Library Compatibility</a></h3>
 <div class="ulist">
 <ul>
 <li>
-<p>The Kudu 1.14 Java client library is API- and ABI-compatible with Kudu 1.13. Applications
-written against Kudu 1.13 will compile and run against the Kudu 1.14 client library and
+<p>Updated hash computation for empty strings in the FastHash implementation to conform with the
+handling in Apache Impala. For Bloom filter predicate pushdown feature that uses FastHash,
+this makes the Kudu client older than version 1.15.0 incompatible with Kudu server version 1.15.0
+and Kudu client version at or newer than 1.15.0 incompatible with Kudu server version earlier than
+1.15.0. Both client library and Kudu server need to be updated to version 1.15.0 or above if using
+the Bloom filter predicate feature. One manifestation of this incompatibility is following message
+in the logs, "Not implemented: call requires unsupported application feature flags: 4".
+See <a href="https://issues.apache.org/jira/browse/KUDU-3286">KUDU-3286</a> for details.</p>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="rn_1.15.0_client_compatibility"><a class="link" href="#rn_1.15.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.15 Java client library is API- and ABI-compatible with Kudu 1.14. Applications
+written against Kudu 1.14 will compile and run against the Kudu 1.15 client library and
 vice-versa.</p>
 </li>
 <li>
-<p>The Kudu 1.14 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.13.
-Applications written and compiled against the Kudu 1.13 client library will run without
-modification against the Kudu 1.14 client library. Applications written and compiled
-against the Kudu 1.14 client library will run without modification against the Kudu 1.13
+<p>The Kudu 1.15 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.14.
+Applications written and compiled against the Kudu 1.14 client library will run without
+modification against the Kudu 1.15 client library. Applications written and compiled
+against the Kudu 1.15 client library will run without modification against the Kudu 1.14
 client library.</p>
 </li>
 <li>
-<p>The Kudu 1.14 Python client is API-compatible with Kudu 1.13. Applications
-written against Kudu 1.13 will continue to run against the Kudu 1.14 client
+<p>The Kudu 1.15 Python client is API-compatible with Kudu 1.14. Applications
+written against Kudu 1.14 will continue to run against the Kudu 1.15 client
 and vice-versa.</p>
 </li>
 </ul>
@@ -434,7 +377,7 @@
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.14.0_known_issues"><a class="link" href="#rn_1.14.0_known_issues">Known Issues and Limitations</a></h2>
+<h2 id="rn_1.15.0_known_issues"><a class="link" href="#rn_1.15.0_known_issues">Known Issues and Limitations</a></h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>Please refer to the <a href="known_issues.html">Known Issues and Limitations</a> section of the
@@ -443,16 +386,18 @@
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.14.0_contributors"><a class="link" href="#rn_1.14.0_contributors">Contributors</a></h2>
+<h2 id="rn_1.15.0_contributors"><a class="link" href="#rn_1.15.0_contributors">Contributors</a></h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>Kudu 1.14.0 includes contributions from 12 people, including 1 first-time
-contributors:</p>
+<p>Kudu 1.15.0 includes contributions from 12 people, including 2 first-time contributors:</p>
 </div>
 <div class="ulist">
 <ul>
 <li>
-<p>liguohao</p>
+<p>Abhishek Chennaka</p>
+</li>
+<li>
+<p>shenxingwuying</p>
 </li>
 </ul>
 </div>
@@ -521,20 +466,20 @@
       <li>
 <span class="active-toc">Kudu Release Notes</span>
             <ul class="sectlevel1">
-<li><a href="#rn_1.14.0_upgrade_notes">Upgrade Notes</a></li>
-<li><a href="#rn_1.14.0_obsoletions">Obsoletions</a></li>
-<li><a href="#rn_1.14.0_deprecations">Deprecations</a></li>
-<li><a href="#rn_1.14.0_new_features">New features</a></li>
-<li><a href="#rn_1.14.0_improvements">Optimizations and improvements</a></li>
-<li><a href="#rn_1.14.0_fixed_issues">Fixed Issues</a></li>
-<li><a href="#rn_1.14.0_wire_compatibility">Wire Protocol compatibility</a></li>
-<li><a href="#rn_1.14.0_incompatible_changes">Incompatible Changes in Kudu 1.14.0</a>
+<li><a href="#rn_1.15.0_upgrade_notes">Upgrade Notes</a></li>
+<li><a href="#rn_1.15.0_obsoletions">Obsoletions</a></li>
+<li><a href="#rn_1.15.0_deprecations">Deprecations</a></li>
+<li><a href="#rn_1.15.0_new_features">New features</a></li>
+<li><a href="#rn_1.15.0_improvements">Optimizations and improvements</a></li>
+<li><a href="#rn_1.15.0_fixed_issues">Fixed Issues</a></li>
+<li><a href="#rn_1.15.0_wire_compatibility">Wire Protocol compatibility</a></li>
+<li><a href="#rn_1.15.0_incompatible_changes">Incompatible Changes in Kudu 1.15.0</a>
 <ul class="sectlevel2">
-<li><a href="#rn_1.14.0_client_compatibility">Client Library Compatibility</a></li>
+<li><a href="#rn_1.15.0_client_compatibility">Client Library Compatibility</a></li>
 </ul>
 </li>
-<li><a href="#rn_1.14.0_known_issues">Known Issues and Limitations</a></li>
-<li><a href="#rn_1.14.0_contributors">Contributors</a></li>
+<li><a href="#rn_1.15.0_known_issues">Known Issues and Limitations</a></li>
+<li><a href="#rn_1.15.0_contributors">Contributors</a></li>
 <li><a href="#resources_and_next_steps">Resources</a></li>
 <li><a href="#_installation_options">Installation Options</a></li>
 <li><a href="#_next_steps">Next Steps</a></li>
@@ -625,7 +570,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-28 08:16:24 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-10 10:32:13 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/scaling_guide.html b/docs/scaling_guide.html
index dd54ea2..b89ffe7 100644
--- a/docs/scaling_guide.html
+++ b/docs/scaling_guide.html
@@ -577,7 +577,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/schema_design.html b/docs/schema_design.html
index 4fc569d..9c58847 100644
--- a/docs/schema_design.html
+++ b/docs/schema_design.html
@@ -123,7 +123,25 @@
     <div class="col-md-9">
 
 <h1>Apache Kudu Schema Design</h1>
-      <div class="sect1">
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="schema_design"><a class="link" href="#schema_design">Overview</a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -1158,7 +1176,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/security.html b/docs/security.html
index 68b2909..64e41c4 100644
--- a/docs/security.html
+++ b/docs/security.html
@@ -125,6 +125,20 @@
 <h1>Apache Kudu Security</h1>
       <div id="preamble">
 <div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
 <div class="paragraph">
 <p>Kudu includes security features which allow Kudu clusters to be hardened against
 access from unauthorized users. This guide describes the security features
@@ -1189,7 +1203,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/top.html b/docs/top.html
new file mode 100644
index 0000000..b839c4c
--- /dev/null
+++ b/docs/top.html
@@ -0,0 +1,203 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/docs/transaction_semantics.html b/docs/transaction_semantics.html
index ec4e443..4118abc 100644
--- a/docs/transaction_semantics.html
+++ b/docs/transaction_semantics.html
@@ -125,6 +125,20 @@
 <h1>Transaction Semantics in Apache Kudu</h1>
       <div id="preamble">
 <div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
 <div class="sidebarblock">
 <div class="content">
 <div class="paragraph">
@@ -680,7 +694,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/troubleshooting.html b/docs/troubleshooting.html
index 7b51dcf..20125da 100644
--- a/docs/troubleshooting.html
+++ b/docs/troubleshooting.html
@@ -123,7 +123,25 @@
     <div class="col-md-9">
 
 <h1>Apache Kudu Troubleshooting</h1>
-      <div class="sect1">
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="_startup_errors"><a class="link" href="#_startup_errors">Startup Errors</a></h2>
 <div class="sectionbody">
 <div class="sect2">
@@ -1705,7 +1723,7 @@
         <div class="row">
           <div class="col-md-9">
             <p class="small">
-            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-01-19 09:27:11 -0800 
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
             </p>
             <p class="small">
             Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
diff --git a/docs/version_note.html b/docs/version_note.html
new file mode 100644
index 0000000..4aa733b
--- /dev/null
+++ b/docs/version_note.html
@@ -0,0 +1,203 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Version</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Version</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:04:43 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/feed.xml b/feed.xml
index 218948d..5b54859 100644
--- a/feed.xml
+++ b/feed.xml
@@ -1,4 +1,78 @@
-<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.1.1">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2021-01-28T14:57:29-08:00</updated><id>/feed.xml</id><entry><title type="html">Apache Kudu 1.14.0 Released</title><link href="/2021/01/28/apache-kudu-1-14-0-release.html" rel="alternate" type="text/html" title="Apache Kudu 1.14.0 Released" /><published>2021-01-28T00:00:00-08:00</published><updated>2021-01-28T00:00:00-08:00</updated><id>/2021/01/28/apache-kudu-1-14-0-release</id><content type="html" xml:base="/2021/01/28/apache-kudu-1-14-0-release.html">&lt;p&gt;The Apache Kudu team is happy to announce the release of Kudu 1.14.0!&lt;/p&gt;
+<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.1.1">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2021-06-22T14:15:16-07:00</updated><id>/feed.xml</id><entry><title type="html">Apache Kudu 1.15.0 Released</title><link href="/2021/06/22/apache-kudu-1-15-0-released.html" rel="alternate" type="text/html" title="Apache Kudu 1.15.0 Released" /><published>2021-06-22T00:00:00-07:00</published><updated>2021-06-22T00:00:00-07:00</updated><id>/2021/06/22/apache-kudu-1-15-0-released</id><content type="html" xml:base="/2021/06/22/apache-kudu-1-15-0-released.html">&lt;p&gt;The Apache Kudu team is happy to announce the release of Kudu 1.15.0!&lt;/p&gt;
+
+&lt;p&gt;The new release adds several new features and improvements, including the
+following:&lt;/p&gt;
+
+&lt;!--more--&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;
+    &lt;p&gt;Kudu now experimentally supports multi-row transactions. Currently only &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;INSERT&lt;/code&gt; and
+&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;INSERT_IGNORE&lt;/code&gt; operations are supported.
+See &lt;a href=&quot;https://github.com/apache/kudu/blob/master/docs/design-docs/transactions.adoc&quot;&gt;here&lt;/a&gt; for a
+design overview of this feature.&lt;/p&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;p&gt;Kudu now supports Raft configuration change for Kudu masters and CLI tools for orchestrating
+addition and removal of masters in a Kudu cluster. These tools substantially simplify the process
+of migrating to multiple masters, recovering a dead master and removing masters from a Kudu
+cluster. For detailed steps, see the latest administration documentation. This feature is evolving
+and the steps to add, remove and recover masters may change in the future.
+See &lt;a href=&quot;https://issues.apache.org/jira/browse/KUDU-2181&quot;&gt;KUDU-2181&lt;/a&gt; for details.&lt;/p&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;p&gt;Kudu now supports table comments directly on Kudu tables which are automatically synchronized
+when the Hive Metastore integration is enabled. These comments can be added at table creation time
+and changed via table alteration.&lt;/p&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;p&gt;Kudu now experimentally supports per-table size limits based on leader disk space usage or number
+of rows. When generating new authorization tokens, Masters will now consider the size limits and
+strip tokens of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;INSERT&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;UPDATE&lt;/code&gt; privileges if either limit is reached. To enable this
+feature, set the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--enable_table_write_limit&lt;/code&gt; master flag; adjust the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--table_disk_size_limit&lt;/code&gt;
+and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--table_row_count_limit&lt;/code&gt; flags as desired or use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;kudu table set_limit&lt;/code&gt; tool to set
+limits per table.&lt;/p&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;p&gt;It is now possible to change the Kerberos Service Principal Name using the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--principal&lt;/code&gt; flag. The
+default SPN is still &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;kudu/_HOST&lt;/code&gt;. Clients connecting to a cluster using a non-default SPN must
+set the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sasl_protocol_name&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;saslProtocolName&lt;/code&gt; to match the SPN base
+(i.e. “kudu” if the SPN is “kudu/_HOST”) in the client builder or the Kudu CLI.
+See &lt;a href=&quot;https://issues.apache.org/jira/browse/KUDU-1884&quot;&gt;KUDU-1884&lt;/a&gt; for details.&lt;/p&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;p&gt;Kudu RPC now supports TLSv1.3.  Kudu servers and clients automatically negotiate TLSv1.3 for Kudu
+RPC if OpenSSL (or Java runtime correspondingly) on each side supports TLSv1.3.
+If necessary, use the newly introduced flag &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--rpc_tls_ciphersuites&lt;/code&gt; to customize TLSv1.3-specific
+cipher suites at the server side.
+See &lt;a href=&quot;https://issues.apache.org/jira/browse/KUDU-2871&quot;&gt;KUDU-2871&lt;/a&gt; for details.&lt;/p&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;The above is just a list of the highlights, for a more complete list of new
+features, improvements and fixes please refer to the &lt;a href=&quot;/releases/1.15.0/docs/release_notes.html&quot;&gt;release
+notes&lt;/a&gt;.&lt;/p&gt;
+
+&lt;p&gt;The Apache Kudu project only publishes source code releases. To build Kudu
+1.15.0, follow these steps:&lt;/p&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;Download the Kudu &lt;a href=&quot;/releases/1.15.0&quot;&gt;1.15.0 source release&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;Follow the instructions in the documentation to build Kudu &lt;a href=&quot;/releases/1.15.0/docs/installation.html#build_from_source&quot;&gt;1.15.0 from
+source&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;For your convenience, binary JAR files for the Kudu Java client library, Spark
+DataSource, Flume sink, and other Java integrations are published to the ASF
+Maven repository and are &lt;a href=&quot;https://search.maven.org/search?q=g:org.apache.kudu%20AND%20v:1.15.0&quot;&gt;now
+available&lt;/a&gt;.&lt;/p&gt;
+
+&lt;p&gt;The Python client source is also available on
+&lt;a href=&quot;https://pypi.org/project/kudu-python/&quot;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
+
+&lt;p&gt;Additionally, experimental Docker images are published to
+&lt;a href=&quot;https://hub.docker.com/r/apache/kudu&quot;&gt;Docker Hub&lt;/a&gt;, including for AArch64-based
+architectures (ARM).&lt;/p&gt;</content><author><name>Bankim Bhavsar</name></author><summary type="html">The Apache Kudu team is happy to announce the release of Kudu 1.15.0! The new release adds several new features and improvements, including the following:</summary></entry><entry><title type="html">Apache Kudu 1.14.0 Released</title><link href="/2021/01/28/apache-kudu-1-14-0-release.html" rel="alternate" type="text/html" title="Apache Kudu 1.14.0 Released" /><published>2021-01-28T00:00:00-08:00</published><updated>2021-01-28T00:00:00-08:00</updated><id>/2021/01/28/apache-kudu-1-14-0-release</id><content type="html" xml:base="/2021/01/28/apache-kudu-1-14-0-release.html">&lt;p&gt;The Apache Kudu team is happy to announce the release of Kudu 1.14.0!&lt;/p&gt;
 
 &lt;p&gt;The new release adds several new features and improvements, including the
 following:&lt;/p&gt;
@@ -21,7 +95,7 @@
   &lt;/li&gt;
   &lt;li&gt;
     &lt;p&gt;Spark 3 compatible JARs compiled for Scala 2.12 are now published for the Kudu Spark integration.
-See link:https://issues.apache.org/jira/browse/KUDU-3202[KUDU-3202] for more details.&lt;/p&gt;
+See &lt;a href=&quot;https://issues.apache.org/jira/browse/KUDU-3202&quot;&gt;KUDU-3202&lt;/a&gt; for more details.&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
     &lt;p&gt;Every Kudu cluster now has an automatically generated cluster Id that can be used to uniquely
@@ -929,367 +1003,4 @@
 &lt;a href=&quot;https://pypi.org/project/kudu-python/&quot;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
 
 &lt;p&gt;Additionally experimental Docker images are published to
-&lt;a href=&quot;https://hub.docker.com/r/apache/kudu&quot;&gt;Docker Hub&lt;/a&gt;.&lt;/p&gt;</content><author><name>Grant Henke</name></author><summary type="html">The Apache Kudu team is happy to announce the release of Kudu 1.10.0! The new release adds several new features and improvements, including the following:</summary></entry><entry><title type="html">Location Awareness in Kudu</title><link href="/2019/04/30/location-awareness.html" rel="alternate" type="text/html" title="Location Awareness in Kudu" /><published>2019-04-30T00:00:00-07:00</published><updated>2019-04-30T00:00:00-07:00</updated><id>/2019/04/30/location-awareness</id><content type="html" xml:base="/2019/04/30/location-awareness.html">&lt;p&gt;This post is about location awareness in Kudu. It gives an overview
-of the following:&lt;/p&gt;
-&lt;ul&gt;
-  &lt;li&gt;principles of the design&lt;/li&gt;
-  &lt;li&gt;restrictions of the current implementation&lt;/li&gt;
-  &lt;li&gt;potential future enhancements and extensions&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;!--more--&gt;
-
-&lt;h1 id=&quot;introduction&quot;&gt;Introduction&lt;/h1&gt;
-&lt;p&gt;Kudu supports location awareness starting with the 1.9.0 release. The
-initial implementation of location awareness in Kudu is built to satisfy the
-following requirement:&lt;/p&gt;
-
-&lt;ul&gt;
-  &lt;li&gt;In a Kudu cluster consisting of multiple servers spread over several racks,
-place the replicas of a tablet in such a way that the tablet stays available
-even if all the servers in a single rack become unavailable.&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;p&gt;A rack failure can occur when a hardware component shared among servers in the
-rack, such as a network switch or power supply, fails. More generally,
-replace ‘rack’ with any other aggregation of nodes (e.g., chassis, site,
-cloud availability zone, etc.) where some or all nodes in an aggregate become
-unavailable in case of a failure. This even applies to a datacenter if the
-network latency between datacenters is low. This is why we call the feature
-&lt;em&gt;location awareness&lt;/em&gt; and not &lt;em&gt;rack awareness&lt;/em&gt;.&lt;/p&gt;
-
-&lt;h1 id=&quot;locations-in-kudu&quot;&gt;Locations in Kudu&lt;/h1&gt;
-&lt;p&gt;In Kudu, a location is defined by a string that begins with a slash (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/&lt;/code&gt;) and
-consists of slash-separated tokens each of which contains only characters from
-the set &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[a-zA-Z0-9_-.]&lt;/code&gt;. The components of the location string hierarchy
-should correspond to the physical or cloud-defined hierarchy of the deployed
-cluster, e.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/data-center-0/rack-09&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/region-0/availability-zone-01&lt;/code&gt;.&lt;/p&gt;
-
-&lt;p&gt;The design choice of using hierarchical paths for location strings is
-partially influenced by HDFS. The intention was to make it possible using
-the same locations as for existing HDFS nodes, because it’s common to deploy
-Kudu alongside HDFS. In addition, the hierarchical structure of location
-strings allows for interpretation of those in terms of common ancestry and
-relative proximity. As of now, Kudu does not exploit the hierarchical
-structure of the location except for the client’s logic to find the closest
-tablet server. However, we plan to leverage the hierarchical structure
-in future releases.&lt;/p&gt;
-
-&lt;h1 id=&quot;defining-and-assigning-locations&quot;&gt;Defining and assigning locations&lt;/h1&gt;
-&lt;p&gt;Kudu masters assign locations to tablet servers and clients.&lt;/p&gt;
-
-&lt;p&gt;Every Kudu master runs the location assignment procedure to assign a location
-to a tablet server when it registers. To determine the location for a tablet
-server, the master invokes an executable that takes the IP address or hostname
-of the tablet server and outputs the corresponding location string for the
-specified IP address or hostname. If the executable exits with non-zero exit
-status, that’s interpreted as an error and masters add corresponding error
-message about that into their logs. In case of tablet server registrations
-such outcome is deemed as a registration failure and the corresponding tablet
-server is not added into the master’s registry. The latter renders the tablet
-server unusable to Kudu clients since non-registered tablet servers are not
-discoverable to Kudu clients via &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;GetTableLocations&lt;/code&gt; RPC.&lt;/p&gt;
-
-&lt;p&gt;The master associates the produced location string with the registered tablet
-server and keeps it until the tablet server re-registers, which only occurs
-if the master or tablet server restarts. Masters use the assigned location
-information internally to make replica placement decisions, trying to place
-replicas evenly across locations and to keep tablets available in case all
-tablet servers in a single location fail (see
-&lt;a href=&quot;https://s.apache.org/location-awareness-design&quot;&gt;the design document&lt;/a&gt;
-for details). In addition, masters provide connected clients with
-the information on the client’s assigned location, so the clients can make
-informed decisions when they attempt to read from the closest tablet server.
-Kudu tablet servers themselves are location agnostic, at least for now,
-so the assigned location is not reported back to a registered tablet server.&lt;/p&gt;
-
-&lt;h1 id=&quot;the-location-aware-placement-policy-for-tablet-replicas-in-kudu&quot;&gt;The location-aware placement policy for tablet replicas in Kudu&lt;/h1&gt;
-&lt;p&gt;While placing replicas of tablets in location-aware cluster, Kudu uses a best
-effort approach to adhere to the following principle:&lt;/p&gt;
-&lt;ul&gt;
-  &lt;li&gt;Spread replicas across locations so that the failure of tablet servers
-in one location does not make tablets unavailable.&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;p&gt;That’s referred to as the &lt;em&gt;replica placement policy&lt;/em&gt; or just &lt;em&gt;placement policy&lt;/em&gt;.
-In Kudu, both the initial placement of tablet replicas and the automatic
-re-replication are governed by that policy. As of now, that’s the only
-replica placement policy available in Kudu. The placement policy isn’t
-customizable and doesn’t have any configurable parameters.&lt;/p&gt;
-
-&lt;h1 id=&quot;automatic-re-replication-and-placement-policy&quot;&gt;Automatic re-replication and placement policy&lt;/h1&gt;
-&lt;p&gt;By design, keeping the target replication factor for tablets has higher
-priority than conforming to the replica placement policy. In other words,
-when bringing up tablet replicas to replace failed ones, Kudu uses a best-effort
-approach with regard to conforming to the constraints of the placement policy.
-Essentially, that means that if there isn’t a way to place a replica to conform
-with the placement policy, the system places the replica anyway. The resulting
-violation of the placement policy can be addressed later on when unreachable
-tablet servers become available again or the misconfiguration is addressed.
-As of now, to fix the resulting placement policy violations it’s necessary
-to run the CLI rebalancer tool manually (see below for details),
-but in future releases that might be done &lt;a href=&quot;https://issues.apache.org/jira/browse/KUDU-2780&quot;&gt;automatically in background&lt;/a&gt;.&lt;/p&gt;
-
-&lt;h1 id=&quot;an-example-of-location-aware-rebalancing&quot;&gt;An example of location-aware rebalancing&lt;/h1&gt;
-&lt;p&gt;This section illustrates what happens during each phase of the location-aware
-rebalancing process.&lt;/p&gt;
-
-&lt;p&gt;In the diagrams below, the larger outer boxes denote locations, and the
-smaller inner ones denote tablet servers. As for the real-world objects behind
-locations in this example, one might think of server racks with a shared power
-supply or a shared network switch. It’s assumed that no more than one tablet
-server is run at each node (i.e. machine) in a rack.&lt;/p&gt;
-
-&lt;p&gt;The first phase of the rebalancing process is about detecting violations and
-reinstating the placement policy in the cluster. In the diagram below, there
-are three locations defined: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L0&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L1&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L2&lt;/code&gt;. Each location has two tablet
-servers. Table &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;A&lt;/code&gt; has the replication factor of three (RF=3) and consists of
-four tablets: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;A0&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;A1&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;A2&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;A3&lt;/code&gt;. Table &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;B&lt;/code&gt; has replication factor of five
-(RF=5) and consists of three tablets: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;B0&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;B1&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;B2&lt;/code&gt;.&lt;/p&gt;
-
-&lt;p&gt;The distribution of the replicas for tablet &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;A0&lt;/code&gt; violates the placement policy.
-Why? Because replicas &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;A0.0&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;A0.1&lt;/code&gt; constitute the majority of replicas
-(two out of three) and reside in the same location &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L0&lt;/code&gt;.&lt;/p&gt;
-
-&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;         /L0                     /L1                    /L2
-+-------------------+   +-------------------+  +-------------------+
-|   TS0      TS1    |   |   TS2      TS3    |  |   TS4      TS5    |
-| +------+ +------+ |   | +------+ +------+ |  | +------+ +------+ |
-| | A0.0 | | A0.1 | |   | | A0.2 | |      | |  | |      | |      | |
-| |      | | A1.0 | |   | | A1.1 | |      | |  | | A1.2 | |      | |
-| |      | | A2.0 | |   | | A2.1 | |      | |  | | A2.2 | |      | |
-| |      | | A3.0 | |   | | A3.1 | |      | |  | | A3.2 | |      | |
-| | B0.0 | | B0.1 | |   | | B0.2 | | B0.3 | |  | | B0.4 | |      | |
-| | B1.0 | | B1.1 | |   | | B1.2 | | B1.3 | |  | | B1.4 | |      | |
-| | B2.0 | | B2.1 | |   | | B2.2 | | B2.3 | |  | | B2.4 | |      | |
-| +------+ +------+ |   | +------+ +------+ |  | +------+ +------+ |
-+-------------------+   +-------------------+  +-------------------+
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;p&gt;The location-aware rebalancer should initiate movement either of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T0.0&lt;/code&gt; or
-&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T0.1&lt;/code&gt; from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L0&lt;/code&gt; to other location, so the resulting replica distribution would
-&lt;em&gt;not&lt;/em&gt; contain the majority of replicas in any single location. In addition to
-that, the rebalancer tool tries to evenly spread the load across all locations
-and tablet servers within each location. The latter narrows down the list
-of the candidate replicas to move: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;A0.1&lt;/code&gt; is the best candidate to move from
-location &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L0&lt;/code&gt;, so location &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L0&lt;/code&gt; would not contain the majority of replicas
-for tablet &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;A0&lt;/code&gt;. The same principle dictates the target location and the target
-tablet server to receive &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;A0.1&lt;/code&gt;: that should be tablet server &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;TS5&lt;/code&gt; in the
-location &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L2&lt;/code&gt;. The result distribution of the tablet replicas after the move
-is represented in the diagram below.&lt;/p&gt;
-
-&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;         /L0                     /L1                    /L2
-+-------------------+   +-------------------+  +-------------------+
-|   TS0      TS1    |   |   TS2      TS3    |  |   TS4      TS5    |
-| +------+ +------+ |   | +------+ +------+ |  | +------+ +------+ |
-| | A0.0 | |      | |   | | A0.2 | |      | |  | |      | | A0.1 | |
-| |      | | A1.0 | |   | | A1.1 | |      | |  | | A1.2 | |      | |
-| |      | | A2.0 | |   | | A2.1 | |      | |  | | A2.2 | |      | |
-| |      | | A3.0 | |   | | A3.1 | |      | |  | | A3.2 | |      | |
-| | B0.0 | | B0.1 | |   | | B0.2 | | B0.3 | |  | | B0.4 | |      | |
-| | B1.0 | | B1.1 | |   | | B1.2 | | B1.3 | |  | | B1.4 | |      | |
-| | B2.0 | | B2.1 | |   | | B2.2 | | B2.3 | |  | | B2.4 | |      | |
-| +------+ +------+ |   | +------+ +------+ |  | +------+ +------+ |
-+-------------------+   +-------------------+  +-------------------+
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;p&gt;The second phase of the location-aware rebalancing is about moving tablet
-replicas across locations to make the locations’ load more balanced. For the
-number &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;S&lt;/code&gt; of tablet servers in a location and the total number &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;R&lt;/code&gt; of replicas
-in the location, the &lt;em&gt;load of the location&lt;/em&gt; is defined as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;R/S&lt;/code&gt;.&lt;/p&gt;
-
-&lt;p&gt;At this stage all violations of the placement policy are already rectified. The
-rebalancer tool doesn’t attempt to make any moves which would violate the
-placement policy.&lt;/p&gt;
-
-&lt;p&gt;The load of the locations in the diagram above:&lt;/p&gt;
-&lt;ul&gt;
-  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L0&lt;/code&gt;: 1/5&lt;/li&gt;
-  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L1&lt;/code&gt;: 1/5&lt;/li&gt;
-  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L2&lt;/code&gt;: 2/7&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;p&gt;A possible distribution of the tablet replicas after the second phase is
-represented below. The result load of the locations:&lt;/p&gt;
-&lt;ul&gt;
-  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L0&lt;/code&gt;: 2/9&lt;/li&gt;
-  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L1&lt;/code&gt;: 2/9&lt;/li&gt;
-  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/L2&lt;/code&gt;: 2/9&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;         /L0                     /L1                    /L2
-+-------------------+   +-------------------+  +-------------------+
-|   TS0      TS1    |   |   TS2      TS3    |  |   TS4      TS5    |
-| +------+ +------+ |   | +------+ +------+ |  | +------+ +------+ |
-| | A0.0 | |      | |   | | A0.2 | |      | |  | |      | | A0.1 | |
-| |      | | A1.0 | |   | | A1.1 | |      | |  | | A1.2 | |      | |
-| |      | | A2.0 | |   | | A2.1 | |      | |  | | A2.2 | |      | |
-| |      | | A3.0 | |   | | A3.1 | |      | |  | | A3.2 | |      | |
-| | B0.0 | |      | |   | | B0.2 | | B0.3 | |  | | B0.4 | | B0.1 | |
-| | B1.0 | | B1.1 | |   | |      | | B1.3 | |  | | B1.4 | | B2.2 | |
-| | B2.0 | | B2.1 | |   | | B2.2 | | B2.3 | |  | | B2.4 | |      | |
-| +------+ +------+ |   | +------+ +------+ |  | +------+ +------+ |
-+-------------------+   +-------------------+  +-------------------+
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;p&gt;The third phase of the location-aware rebalancing is about moving tablet
-replicas within each location to make the distribution of replicas even,
-both per-table and per-server.&lt;/p&gt;
-
-&lt;p&gt;See below for a possible replicas’ distribution in the example scenario
-after the third phase of the location-aware rebalancing successfully completes.&lt;/p&gt;
-
-&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;         /L0                     /L1                    /L2
-+-------------------+   +-------------------+  +-------------------+
-|   TS0      TS1    |   |   TS2      TS3    |  |   TS4      TS5    |
-| +------+ +------+ |   | +------+ +------+ |  | +------+ +------+ |
-| | A0.0 | |      | |   | |      | | A0.2 | |  | |      | | A0.1 | |
-| |      | | A1.0 | |   | | A1.1 | |      | |  | | A1.2 | |      | |
-| |      | | A2.0 | |   | | A2.1 | |      | |  | | A2.2 | |      | |
-| |      | | A3.0 | |   | | A3.1 | |      | |  | | A3.2 | |      | |
-| | B0.0 | |      | |   | | B0.2 | | B0.3 | |  | | B0.4 | | B0.1 | |
-| | B1.0 | | B1.1 | |   | |      | | B1.3 | |  | | B1.4 | | B1.2 | |
-| | B2.0 | | B2.1 | |   | | B2.2 | | B2.3 | |  | |      | | B2.4 | |
-| +------+ +------+ |   | +------+ +------+ |  | +------+ +------+ |
-+-------------------+   +-------------------+  +-------------------+
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;h1 id=&quot;how-to-make-a-kudu-cluster-location-aware&quot;&gt;How to make a Kudu cluster location-aware&lt;/h1&gt;
-&lt;p&gt;To make a Kudu cluster location-aware, it’s necessary to set the
-&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--location_mapping_cmd&lt;/code&gt; flag for Kudu master(s) and make the corresponding
-executable (binary or a script) available at the nodes where Kudu masters run.
-In case of multiple masters, it’s important to make sure that the location
-mappings stay the same regardless of the node where the location assignment
-command is running.&lt;/p&gt;
-
-&lt;p&gt;It’s recommended to have at least three locations defined in a Kudu
-cluster so that no location contains a majority of tablet replicas.
-With two locations or less it’s not possible to spread replicas
-of tablets with replication factor of three and higher such that no location
-contains a majority of replicas.&lt;/p&gt;
-
-&lt;p&gt;For example, running a Kudu cluster in a single datacenter &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dc0&lt;/code&gt;, assign
-location &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/dc0/rack0&lt;/code&gt; to tablet servers running at machines in the rack &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rack0&lt;/code&gt;,
-&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/dc0/rack1&lt;/code&gt; to tablet servers running at machines in the rack &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rack1&lt;/code&gt;,
-and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/dc0/rack2&lt;/code&gt; to tablet servers running at machines in the rack &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rack2&lt;/code&gt;.
-In a similar way, when running in cloud, assign location &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/regionA/az0&lt;/code&gt;
-to tablet servers running in availability zone &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;az0&lt;/code&gt; of region &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;regionA&lt;/code&gt;,
-and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/regionA/az1&lt;/code&gt; to tablet servers running in zone &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;az1&lt;/code&gt; of the same region.&lt;/p&gt;
-
-&lt;h1 id=&quot;an-example-of-location-assignment-script-for-kudu&quot;&gt;An example of location assignment script for Kudu&lt;/h1&gt;
-&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;#!/bin/sh
-#
-# It's assumed a Kudu cluster consists of nodes with IPv4 addresses in the
-# private 192.168.100.0/32 subnet. The nodes are hosted in racks, where
-# each rack can contain at most 32 nodes. This results in 8 locations,
-# one location per rack.
-#
-# This example script maps IP addresses into locations assuming that RPC
-# endpoints of tablet servers are specified via IPv4 addresses. If tablet
-# servers' RPC endpoints are specified using DNS hostnames (and that's how
-# it's done by default), the script should consume DNS hostname instead of
-# an IP address as an input parameter. Check the `--rpc_bind_addresses` and
-# `--rpc_advertised_addresses` command line flags of kudu-tserver for details.
-#
-# DISCLAIMER:
-#   This is an example Bourne shell script for Kudu location assignment. Please
-#   note it's just a toy script created with illustrative-only purpose.
-#   The error handling and the input validation are minimalistic. Also, the
-#   network topology choice, supportability and capacity planning aspects of
-#   this script might be sub-optimal if applied as-is for real-world use cases.
-
-set -e
-
-if [ $# -ne 1 ]; then
-  echo &quot;usage: $0 &amp;lt;ip_address&amp;gt;&quot;
-  exit 1
-fi
-
-ip_address=$1
-shift
-
-suffix=${ip_address##192.168.100.}
-if [ -z &quot;${suffix##*.*}&quot; ]; then
-  # An IP address from a non-controlled subnet: maps into the 'other' location.
-  echo &quot;/other&quot;
-  exit 0
-fi
-
-# The mapping of the IP addresses
-if [ -z &quot;$suffix&quot; -o $suffix -lt 0 -o $suffix -gt 255 ]; then
-  echo &quot;ERROR: '$ip_address' is not a valid IPv4 address&quot;
-  exit 2
-fi
-
-if [ $suffix -eq 0 -o $suffix -eq 255 ]; then
-  echo &quot;ERROR: '$ip_address' is a 0xffffff00 IPv4 subnet address&quot;
-  exit 3
-fi
-
-if [ $suffix -lt 32 ]; then
-  echo &quot;/dc0/rack00&quot;
-elif [ $suffix -ge 32 -a $suffix -lt 64 ]; then
-  echo &quot;/dc0/rack01&quot;
-elif [ $suffix -ge 64 -a $suffix -lt 96 ]; then
-  echo &quot;/dc0/rack02&quot;
-elif [ $suffix -ge 96 -a $suffix -lt 128 ]; then
-  echo &quot;/dc0/rack03&quot;
-elif [ $suffix -ge 128 -a $suffix -lt 160 ]; then
-  echo &quot;/dc0/rack04&quot;
-elif [ $suffix -ge 160 -a $suffix -lt 192 ]; then
-  echo &quot;/dc0/rack05&quot;
-elif [ $suffix -ge 192 -a $suffix -lt 224 ]; then
-  echo &quot;/dc0/rack06&quot;
-else
-  echo &quot;/dc0/rack07&quot;
-fi
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;h1 id=&quot;reinstating-the-placement-policy-in-a-location-aware-kudu-cluster&quot;&gt;Reinstating the placement policy in a location-aware Kudu cluster&lt;/h1&gt;
-&lt;p&gt;As explained earlier, even if the initial placement of tablet replicas conforms
-to the placement policy, the cluster might get to a point where there are not
-enough tablet servers to place a new or a replacement replica. Ideally, such
-situations should be handled automatically: once there are enough tablet servers
-in the cluster or the misconfiguration is fixed, the placement policy should
-be reinstated. Currently, it’s possible to reinstate the placement policy using
-the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;kudu&lt;/code&gt; CLI tool:&lt;/p&gt;
-
-&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sudo -u kudu kudu cluster rebalance &amp;lt;master_rpc_endpoints&amp;gt;&lt;/code&gt;&lt;/p&gt;
-
-&lt;p&gt;In the first phase, the location-aware rebalancing process tries to
-reestablish the placement policy. If that’s not possible, the tool
-terminates. Use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--disable_policy_fixer&lt;/code&gt; flag to skip this phase and
-continue to the cross-location rebalancing phase.&lt;/p&gt;
-
-&lt;p&gt;The second phase is cross-location rebalancing, i.e. moving tablet replicas
-between different locations in attempt to spread tablet replicas among
-locations evenly, equalizing the loads of locations throughout the cluster.
-If the benefits of spreading the load among locations do not justify the cost
-of the cross-location replica movement, the tool can be instructed to skip the
-second phase of the location-aware rebalancing. Use the
-&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--disable_cross_location_rebalancing&lt;/code&gt; command line flag for that.&lt;/p&gt;
-
-&lt;p&gt;The third phase is intra-location rebalancing, i.e. balancing the distribution
-of tablet replicas within each location as if each location is a cluster on its
-own. Use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--disable_intra_location_rebalancing&lt;/code&gt; flag to skip this phase.&lt;/p&gt;
-
-&lt;h1 id=&quot;future-work&quot;&gt;Future work&lt;/h1&gt;
-&lt;p&gt;Having a CLI tool to reinstate placement policy is nice, but it would be great
-to run the location-aware rebalancing in background, automatically reinstating
-the placement policy and making tablet replica distribution even
-across a Kudu cluster.&lt;/p&gt;
-
-&lt;p&gt;In addition to that, there is a idea to make it possible to have
-multiple customizable placement policies in the system. As of now, there is
-a request to implement so-called ‘table pinning’, i.e. make it possible
-to specify placement policy where replicas of tablets of particular tables
-are placed only at nodes within the specified locations. The table pinning
-request is tracked by KUDU-2604 in Apache JIRA, see
-&lt;a href=&quot;https://issues.apache.org/jira/browse/KUDU-2604&quot;&gt;KUDU-2604&lt;/a&gt;.&lt;/p&gt;
-
-&lt;h1 id=&quot;references&quot;&gt;References&lt;/h1&gt;
-&lt;p&gt;[1] Location awareness in Kudu: &lt;a href=&quot;https://github.com/apache/kudu/blob/master/docs/design-docs/location-awareness.md&quot;&gt;design document&lt;/a&gt;&lt;/p&gt;
-
-&lt;p&gt;[2] A proposal for Kudu tablet server labeling: &lt;a href=&quot;https://issues.apache.org/jira/browse/KUDU-2604&quot;&gt;KUDU-2604&lt;/a&gt;&lt;/p&gt;
-
-&lt;p&gt;[3] Further improvement: &lt;a href=&quot;https://issues.apache.org/jira/browse/KUDU-2780&quot;&gt;automatic cluster rebalancing&lt;/a&gt;.&lt;/p&gt;</content><author><name>Alexey Serbin</name></author><summary type="html">This post is about location awareness in Kudu. It gives an overview of the following: principles of the design restrictions of the current implementation potential future enhancements and extensions</summary></entry></feed>
\ No newline at end of file
+&lt;a href=&quot;https://hub.docker.com/r/apache/kudu&quot;&gt;Docker Hub&lt;/a&gt;.&lt;/p&gt;</content><author><name>Grant Henke</name></author><summary type="html">The Apache Kudu team is happy to announce the release of Kudu 1.10.0! The new release adds several new features and improvements, including the following:</summary></entry></feed>
\ No newline at end of file
diff --git a/releases/1.15.0/apidocs/allclasses-frame.html b/releases/1.15.0/apidocs/allclasses-frame.html
new file mode 100644
index 0000000..b645319
--- /dev/null
+++ b/releases/1.15.0/apidocs/allclasses-frame.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>All Classes</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client" target="classFrame">AbstractKuduScannerBuilder</a></li>
+<li><a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client" target="classFrame">AlterTableOptions</a></li>
+<li><a href="org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client" target="classFrame">AlterTableResponse</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduClient</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduClient.AsyncKuduClientBuilder</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduScanner</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduScanner.AsyncKuduScannerBuilder</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client" target="classFrame">AsyncKuduScanner.ReadMode</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client" target="classFrame">AsyncKuduScanner.RowDataFormat</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduSession</a></li>
+<li><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools" target="classFrame">BigLinkedListCommon</a></li>
+<li><a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util" target="classFrame">BloomFilter</a></li>
+<li><a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client" target="classFrame">ColumnRangePredicate</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu" target="classFrame">ColumnSchema</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu" target="classFrame">ColumnSchema</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu" target="classFrame">ColumnSchema.ColumnSchemaBuilder</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu" target="classFrame">ColumnSchema.ColumnSchemaBuilder</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu" target="classFrame">ColumnSchema.CompressionAlgorithm</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu" target="classFrame">ColumnSchema.CompressionAlgorithm</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu" target="classFrame">ColumnSchema.Encoding</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu" target="classFrame">ColumnSchema.Encoding</a></li>
+<li><a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu" target="classFrame">ColumnTypeAttributes</a></li>
+<li><a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu" target="classFrame">ColumnTypeAttributes</a></li>
+<li><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu" target="classFrame">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></li>
+<li><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu" target="classFrame">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></li>
+<li><a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client" target="classFrame">CreateTableOptions</a></li>
+<li><a href="org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client" target="classFrame">Delete</a></li>
+<li><a href="org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client" target="classFrame">DeleteIgnore</a></li>
+<li><a href="org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client" target="classFrame">DeleteTableResponse</a></li>
+<li><a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client" target="classFrame">ExternalConsistencyMode</a></li>
+<li><a href="org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client" target="classFrame"><span class="interfaceName">HasFailedRpcException</span></a></li>
+<li><a href="org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client" target="classFrame">Insert</a></li>
+<li><a href="org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client" target="classFrame">InsertIgnore</a></li>
+<li><a href="org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client" target="classFrame">IsAlterTableDoneResponse</a></li>
+<li><a href="org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client" target="classFrame">IsCreateTableDoneResponse</a></li>
+<li><a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client" target="classFrame">KuduClient</a></li>
+<li><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client" target="classFrame">KuduClient.KuduClientBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client" target="classFrame">KuduException</a></li>
+<li><a href="org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client" target="classFrame">KuduException.OriginalException</a></li>
+<li><a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client" target="classFrame">KuduPartitioner</a></li>
+<li><a href="org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client" target="classFrame">KuduPartitioner.KuduPartitionerBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client" target="classFrame">KuduPredicate</a></li>
+<li><a href="org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client" target="classFrame">KuduPredicate.ComparisonOp</a></li>
+<li><a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanner</a></li>
+<li><a href="org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanner.KuduScannerBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client" target="classFrame">KuduScannerIterator</a></li>
+<li><a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanToken</a></li>
+<li><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanToken.KuduScanTokenBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client" target="classFrame">KuduSession</a></li>
+<li><a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client" target="classFrame">KuduTable</a></li>
+<li><a href="org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client" target="classFrame">KuduTableStatistics</a></li>
+<li><a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test" target="classFrame">KuduTestHarness</a></li>
+<li><a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client" target="classFrame">KuduTransaction</a></li>
+<li><a href="org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client" target="classFrame">ListTablesResponse</a></li>
+<li><a href="org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client" target="classFrame">ListTabletServersResponse</a></li>
+<li><a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client" target="classFrame">LocatedTablet</a></li>
+<li><a href="org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client" target="classFrame">LocatedTablet.Replica</a></li>
+<li><a href="org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client" target="classFrame">Operation</a></li>
+<li><a href="org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client" target="classFrame">OperationResponse</a></li>
+<li><a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client" target="classFrame">PartialRow</a></li>
+<li><a href="org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client" target="classFrame">PleaseThrottleException</a></li>
+<li><a href="org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client" target="classFrame">RangePartitionBound</a></li>
+<li><a href="org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client" target="classFrame">ReplicaSelection</a></li>
+<li><a href="org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client" target="classFrame">ResourceMetrics</a></li>
+<li><a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client" target="classFrame">RowError</a></li>
+<li><a href="org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client" target="classFrame">RowErrorsAndOverflowStatus</a></li>
+<li><a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client" target="classFrame">RowResult</a></li>
+<li><a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client" target="classFrame">RowResultIterator</a></li>
+<li><a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu" target="classFrame">Schema</a></li>
+<li><a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu" target="classFrame">Schema</a></li>
+<li><a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client" target="classFrame"><span class="interfaceName">SessionConfiguration</span></a></li>
+<li><a href="org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client" target="classFrame">SessionConfiguration.FlushMode</a></li>
+<li><a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client" target="classFrame">Statistics</a></li>
+<li><a href="org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client" target="classFrame">Statistics.Statistic</a></li>
+<li><a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client" target="classFrame">Status</a></li>
+<li><a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu" target="classFrame">Type</a></li>
+<li><a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu" target="classFrame">Type</a></li>
+<li><a href="org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client" target="classFrame">Update</a></li>
+<li><a href="org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client" target="classFrame">UpdateIgnore</a></li>
+<li><a href="org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client" target="classFrame">Upsert</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/allclasses-noframe.html b/releases/1.15.0/apidocs/allclasses-noframe.html
new file mode 100644
index 0000000..d80b302
--- /dev/null
+++ b/releases/1.15.0/apidocs/allclasses-noframe.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>All Classes</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></li>
+<li><a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></li>
+<li><a href="org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client">AlterTableResponse</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client">AsyncKuduScanner.AsyncKuduScannerBuilder</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></li>
+<li><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></li>
+<li><a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></li>
+<li><a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></li>
+<li><a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></li>
+<li><a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></li>
+<li><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></li>
+<li><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></li>
+<li><a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></li>
+<li><a href="org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client">Delete</a></li>
+<li><a href="org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client">DeleteIgnore</a></li>
+<li><a href="org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client">DeleteTableResponse</a></li>
+<li><a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a></li>
+<li><a href="org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client"><span class="interfaceName">HasFailedRpcException</span></a></li>
+<li><a href="org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client">Insert</a></li>
+<li><a href="org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client">InsertIgnore</a></li>
+<li><a href="org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client">IsAlterTableDoneResponse</a></li>
+<li><a href="org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client">IsCreateTableDoneResponse</a></li>
+<li><a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></li>
+<li><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></li>
+<li><a href="org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client">KuduException.OriginalException</a></li>
+<li><a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client">KuduPartitioner</a></li>
+<li><a href="org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client">KuduPartitioner.KuduPartitionerBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></li>
+<li><a href="org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a></li>
+<li><a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></li>
+<li><a href="org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client">KuduScannerIterator</a></li>
+<li><a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></li>
+<li><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></li>
+<li><a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></li>
+<li><a href="org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client">KuduTableStatistics</a></li>
+<li><a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></li>
+<li><a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></li>
+<li><a href="org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a></li>
+<li><a href="org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client">ListTabletServersResponse</a></li>
+<li><a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></li>
+<li><a href="org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a></li>
+<li><a href="org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></li>
+<li><a href="org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a></li>
+<li><a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></li>
+<li><a href="org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client">PleaseThrottleException</a></li>
+<li><a href="org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a></li>
+<li><a href="org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a></li>
+<li><a href="org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client">ResourceMetrics</a></li>
+<li><a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a></li>
+<li><a href="org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a></li>
+<li><a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></li>
+<li><a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></li>
+<li><a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></li>
+<li><a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></li>
+<li><a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client"><span class="interfaceName">SessionConfiguration</span></a></li>
+<li><a href="org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></li>
+<li><a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></li>
+<li><a href="org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a></li>
+<li><a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></li>
+<li><a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></li>
+<li><a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></li>
+<li><a href="org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client">Update</a></li>
+<li><a href="org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client">UpdateIgnore</a></li>
+<li><a href="org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client">Upsert</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/constant-values.html b/releases/1.15.0/apidocs/constant-values.html
new file mode 100644
index 0000000..ba4820d
--- /dev/null
+++ b/releases/1.15.0/apidocs/constant-values.html
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Constant Field Values</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Constant Field Values";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?constant-values.html" target="_top">Frames</a></li>
+<li><a href="constant-values.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
+<h2 title="Contents">Contents</h2>
+<ul>
+<li><a href="#org.apache">org.apache.*</a></li>
+</ul>
+</div>
+<div class="constantValuesContainer"><a name="org.apache">
+<!--   -->
+</a>
+<h2 title="org.apache">org.apache.*</h2>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.client.AsyncKuduClient.DEFAULT_KEEP_ALIVE_PERIOD_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<td><code><a href="org/apache/kudu/client/AsyncKuduClient.html#DEFAULT_KEEP_ALIVE_PERIOD_MS">DEFAULT_KEEP_ALIVE_PERIOD_MS</a></code></td>
+<td class="colLast"><code>15000L</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.kudu.client.AsyncKuduClient.DEFAULT_OPERATION_TIMEOUT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<td><code><a href="org/apache/kudu/client/AsyncKuduClient.html#DEFAULT_OPERATION_TIMEOUT_MS">DEFAULT_OPERATION_TIMEOUT_MS</a></code></td>
+<td class="colLast"><code>30000L</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.client.AsyncKuduClient.INVALID_TXN_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<td><code><a href="org/apache/kudu/client/AsyncKuduClient.html#INVALID_TXN_ID">INVALID_TXN_ID</a></code></td>
+<td class="colLast"><code>-1L</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.kudu.client.AsyncKuduClient.NO_TIMESTAMP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<td><code><a href="org/apache/kudu/client/AsyncKuduClient.html#NO_TIMESTAMP">NO_TIMESTAMP</a></code></td>
+<td class="colLast"><code>-1L</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.client.AsyncKuduClient.SLEEP_TIME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/kudu/client/AsyncKuduClient.html#SLEEP_TIME">SLEEP_TIME</a></code></td>
+<td class="colLast"><code>500</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.client.KuduClient.NO_TIMESTAMP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<td><code><a href="org/apache/kudu/client/KuduClient.html#NO_TIMESTAMP">NO_TIMESTAMP</a></code></td>
+<td class="colLast"><code>-1L</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.client.RowResult.INDEX_RESET_LOCATION">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/kudu/client/RowResult.html#INDEX_RESET_LOCATION">INDEX_RESET_LOCATION</a></code></td>
+<td class="colLast"><code>-1</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_CLIENT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_CLIENT">COLUMN_CLIENT</a></code></td>
+<td class="colLast"><code>"client"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_CLIENT_IDX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_CLIENT_IDX">COLUMN_CLIENT_IDX</a></code></td>
+<td class="colLast"><code>5</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_ONE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE">COLUMN_KEY_ONE</a></code></td>
+<td class="colLast"><code>"key1"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_ONE_IDX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE_IDX">COLUMN_KEY_ONE_IDX</a></code></td>
+<td class="colLast"><code>0</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_TWO">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO">COLUMN_KEY_TWO</a></code></td>
+<td class="colLast"><code>"key2"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_TWO_IDX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO_IDX">COLUMN_KEY_TWO_IDX</a></code></td>
+<td class="colLast"><code>1</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_ONE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE">COLUMN_PREV_ONE</a></code></td>
+<td class="colLast"><code>"prev1"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_ONE_IDX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE_IDX">COLUMN_PREV_ONE_IDX</a></code></td>
+<td class="colLast"><code>2</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_TWO">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO">COLUMN_PREV_TWO</a></code></td>
+<td class="colLast"><code>"prev2"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_TWO_IDX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO_IDX">COLUMN_PREV_TWO_IDX</a></code></td>
+<td class="colLast"><code>3</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_ROW_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_ROW_ID">COLUMN_ROW_ID</a></code></td>
+<td class="colLast"><code>"row_id"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_ROW_ID_IDX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_ROW_ID_IDX">COLUMN_ROW_ID_IDX</a></code></td>
+<td class="colLast"><code>4</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_UPDATE_COUNT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT">COLUMN_UPDATE_COUNT</a></code></td>
+<td class="colLast"><code>"update_count"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_UPDATE_COUNT_IDX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT_IDX">COLUMN_UPDATE_COUNT_IDX</a></code></td>
+<td class="colLast"><code>6</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.DEFAULT_HEADS_TABLE_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#DEFAULT_HEADS_TABLE_NAME">DEFAULT_HEADS_TABLE_NAME</a></code></td>
+<td class="colLast"><code>"default.IntegrationTestBigLinkedListHeads"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.DEFAULT_TABLE_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#DEFAULT_TABLE_NAME">DEFAULT_TABLE_NAME</a></code></td>
+<td class="colLast"><code>"default.IntegrationTestBigLinkedList"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.HEADS_TABLE_NAME_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#HEADS_TABLE_NAME_KEY">HEADS_TABLE_NAME_KEY</a></code></td>
+<td class="colLast"><code>"IntegrationTestBigLinkedList.heads_table"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.kudu.spark.tools.BigLinkedListCommon.TABLE_NAME_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#TABLE_NAME_KEY">TABLE_NAME_KEY</a></code></td>
+<td class="colLast"><code>"IntegrationTestBigLinkedList.table"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.kudu.test.KuduTestHarness.DEFAULT_SLEEP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/kudu/test/KuduTestHarness.html#DEFAULT_SLEEP">DEFAULT_SLEEP</a></code></td>
+<td class="colLast"><code>50000</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?constant-values.html" target="_top">Frames</a></li>
+<li><a href="constant-values.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/deprecated-list.html b/releases/1.15.0/apidocs/deprecated-list.html
new file mode 100644
index 0000000..c973765
--- /dev/null
+++ b/releases/1.15.0/apidocs/deprecated-list.html
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Deprecated List</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Deprecated List";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li class="navBarCell1Rev">Deprecated</li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
+<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Deprecated API" class="title">Deprecated API</h1>
+<h2 title="Contents">Contents</h2>
+<ul>
+<li><a href="#class">Deprecated Classes</a></li>
+<li><a href="#method">Deprecated Methods</a></li>
+</ul>
+</div>
+<div class="contentContainer"><a name="class">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Classes table, listing deprecated classes, and an explanation">
+<caption><span>Deprecated Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">org.apache.kudu.client.ColumnRangePredicate</a>
+<div class="block"><span class="deprecationComment">use the <a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><code>KuduPredicate</code></a> class instead.</span></div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="method">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Methods table, listing deprecated methods, and an explanation">
+<caption><span>Deprecated Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#addColumnRangePredicate-org.apache.kudu.client.ColumnRangePredicate-">org.apache.kudu.client.AbstractKuduScannerBuilder.addColumnRangePredicate(ColumnRangePredicate)</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-"><code>AbstractKuduScannerBuilder.addPredicate(KuduPredicate)</code></a></span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#addColumnRangePredicatesRaw-byte:A-">org.apache.kudu.client.AbstractKuduScannerBuilder.addColumnRangePredicatesRaw(byte[])</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-"><code>AbstractKuduScannerBuilder.addPredicate(org.apache.kudu.client.KuduPredicate)</code></a></span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/client/KuduTable.html#asyncGetTabletsLocations-byte:A-byte:A-long-">org.apache.kudu.client.KuduTable.asyncGetTabletsLocations(byte[], byte[], long)</a>
+<div class="block"><span class="deprecationComment">use the <a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/KuduTable.html#asyncGetTabletsLocations-long-">org.apache.kudu.client.KuduTable.asyncGetTabletsLocations(long)</a>
+<div class="block"><span class="deprecationComment">use the <a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#bossCount-int-">org.apache.kudu.client.KuduClient.KuduClientBuilder.bossCount(int)</a>
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#bossCount-int-">org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder.bossCount(int)</a>
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#defaultSocketReadTimeoutMs-long-">org.apache.kudu.client.KuduClient.KuduClientBuilder.defaultSocketReadTimeoutMs(long)</a>
+<div class="block"><span class="deprecationComment">socket read timeouts are no longer used</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#defaultSocketReadTimeoutMs-long-">org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder.defaultSocketReadTimeoutMs(long)</a>
+<div class="block"><span class="deprecationComment">this option no longer has any effect</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBoundRaw-byte:A-">org.apache.kudu.client.AbstractKuduScannerBuilder.exclusiveUpperBoundRaw(byte[])</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBound-org.apache.kudu.client.PartialRow-"><code>AbstractKuduScannerBuilder.exclusiveUpperBound(PartialRow)</code></a></span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/Type.html#getDataType--">org.apache.kudu.Type.getDataType()</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/Type.html#getDataType-org.apache.kudu.ColumnTypeAttributes-"><code>getDataType(ColumnTypeAttributes)</code></a></span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/Type.html#getDataType--">org.apache.kudu.Type.getDataType()</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/Type.html#getDataType-org.apache.kudu.ColumnTypeAttributes-"><code>getDataType(ColumnTypeAttributes)</code></a></span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduClient.html#getDefaultSocketReadTimeoutMs--">org.apache.kudu.client.AsyncKuduClient.getDefaultSocketReadTimeoutMs()</a>
+<div class="block"><span class="deprecationComment">socket read timeouts are no longer used</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/client/LocatedTablet.html#getEndKey--">org.apache.kudu.client.LocatedTablet.getEndKey()</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>LocatedTablet.getPartition()</code></a></span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/RowError.html#getMessage--">org.apache.kudu.client.RowError.getMessage()</a>
+<div class="block"><span class="deprecationComment">Please use getErrorStatus() instead. Will be removed in a future version.</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/Type.html#getSize--">org.apache.kudu.Type.getSize()</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/Type.html#getSize-org.apache.kudu.ColumnTypeAttributes-"><code>getSize(ColumnTypeAttributes)</code></a></span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/Type.html#getSize--">org.apache.kudu.Type.getSize()</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/Type.html#getSize-org.apache.kudu.ColumnTypeAttributes-"><code>getSize(ColumnTypeAttributes)</code></a></span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/client/LocatedTablet.html#getStartKey--">org.apache.kudu.client.LocatedTablet.getStartKey()</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>LocatedTablet.getPartition()</code></a></span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/RowError.html#getStatus--">org.apache.kudu.client.RowError.getStatus()</a>
+<div class="block"><span class="deprecationComment">Please use getErrorStatus() instead. Will be removed in a future version.</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/client/KuduTable.html#getTabletsLocations-byte:A-byte:A-long-">org.apache.kudu.client.KuduTable.getTabletsLocations(byte[], byte[], long)</a>
+<div class="block"><span class="deprecationComment">use the <a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/KuduTable.html#getTabletsLocations-long-">org.apache.kudu.client.KuduTable.getTabletsLocations(long)</a>
+<div class="block"><span class="deprecationComment">use the <a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBoundRaw-byte:A-">org.apache.kudu.client.AbstractKuduScannerBuilder.lowerBoundRaw(byte[])</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBound-org.apache.kudu.client.PartialRow-"><code>AbstractKuduScannerBuilder.lowerBound(PartialRow)</code></a></span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#nioExecutors-java.util.concurrent.Executor-java.util.concurrent.Executor-">org.apache.kudu.client.KuduClient.KuduClientBuilder.nioExecutors(Executor, Executor)</a>
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#nioExecutors-java.util.concurrent.Executor-java.util.concurrent.Executor-">org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder.nioExecutors(Executor, Executor)</a>
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/AsyncKuduSession.html#setMutationBufferLowWatermark-float-">org.apache.kudu.client.AsyncKuduSession.setMutationBufferLowWatermark(float)</a></td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/kudu/client/SessionConfiguration.html#setMutationBufferLowWatermark-float-">org.apache.kudu.client.SessionConfiguration.setMutationBufferLowWatermark(float)</a>
+<div class="block"><span class="deprecationComment">The low watermark no longer has any effect.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/kudu/client/KuduSession.html#setMutationBufferLowWatermark-float-">org.apache.kudu.client.KuduSession.setMutationBufferLowWatermark(float)</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li class="navBarCell1Rev">Deprecated</li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
+<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/help-doc.html b/releases/1.15.0/apidocs/help-doc.html
new file mode 100644
index 0000000..d4b59da
--- /dev/null
+++ b/releases/1.15.0/apidocs/help-doc.html
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>API Help</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="API Help";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li class="navBarCell1Rev">Help</li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
+<li><a href="help-doc.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">How This API Document Is Organized</h1>
+<div class="subTitle">This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.</div>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<h2>Overview</h2>
+<p>The <a href="overview-summary.html">Overview</a> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</p>
+</li>
+<li class="blockList">
+<h2>Package</h2>
+<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:</p>
+<ul>
+<li>Interfaces (italic)</li>
+<li>Classes</li>
+<li>Enums</li>
+<li>Exceptions</li>
+<li>Errors</li>
+<li>Annotation Types</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Class/Interface</h2>
+<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:</p>
+<ul>
+<li>Class inheritance diagram</li>
+<li>Direct Subclasses</li>
+<li>All Known Subinterfaces</li>
+<li>All Known Implementing Classes</li>
+<li>Class/interface declaration</li>
+<li>Class/interface description</li>
+</ul>
+<ul>
+<li>Nested Class Summary</li>
+<li>Field Summary</li>
+<li>Constructor Summary</li>
+<li>Method Summary</li>
+</ul>
+<ul>
+<li>Field Detail</li>
+<li>Constructor Detail</li>
+<li>Method Detail</li>
+</ul>
+<p>Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
+</li>
+<li class="blockList">
+<h2>Annotation Type</h2>
+<p>Each annotation type has its own separate page with the following sections:</p>
+<ul>
+<li>Annotation Type declaration</li>
+<li>Annotation Type description</li>
+<li>Required Element Summary</li>
+<li>Optional Element Summary</li>
+<li>Element Detail</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Enum</h2>
+<p>Each enum has its own separate page with the following sections:</p>
+<ul>
+<li>Enum declaration</li>
+<li>Enum description</li>
+<li>Enum Constant Summary</li>
+<li>Enum Constant Detail</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Tree (Class Hierarchy)</h2>
+<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.</p>
+<ul>
+<li>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.</li>
+<li>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Deprecated API</h2>
+<p>The <a href="deprecated-list.html">Deprecated API</a> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</p>
+</li>
+<li class="blockList">
+<h2>Index</h2>
+<p>The <a href="index-all.html">Index</a> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</p>
+</li>
+<li class="blockList">
+<h2>Prev/Next</h2>
+<p>These links take you to the next or previous class, interface, package, or related page.</p>
+</li>
+<li class="blockList">
+<h2>Frames/No Frames</h2>
+<p>These links show and hide the HTML frames.  All pages are available with or without frames.</p>
+</li>
+<li class="blockList">
+<h2>All Classes</h2>
+<p>The <a href="allclasses-noframe.html">All Classes</a> link shows all classes and interfaces except non-static nested types.</p>
+</li>
+<li class="blockList">
+<h2>Serialized Form</h2>
+<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.</p>
+</li>
+<li class="blockList">
+<h2>Constant Field Values</h2>
+<p>The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.</p>
+</li>
+</ul>
+<span class="emphasizedPhrase">This help file applies to API documentation generated using the standard doclet.</span></div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li class="navBarCell1Rev">Help</li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
+<li><a href="help-doc.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/index-all.html b/releases/1.15.0/apidocs/index-all.html
new file mode 100644
index 0000000..fa078aa
--- /dev/null
+++ b/releases/1.15.0/apidocs/index-all.html
@@ -0,0 +1,3660 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Index</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Index";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li class="navBarCell1Rev">Index</li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
+<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a name="I:A">
+<!--   -->
+</a>
+<h2 class="title">A</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#Aborted-java.lang.String-">Aborted(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#Aborted-java.lang.String-int-">Aborted(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AbstractKuduScannerBuilder</span></a>&lt;<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a> extends <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a>&lt;? super <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>,<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">T</a>&gt;,<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">T</a>&gt; - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Abstract class to extend in order to create builders for scanners.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addBinary-int-byte:A-">addBinary(int, byte[])</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add binary data with the specified value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addBinary-int-java.nio.ByteBuffer-">addBinary(int, ByteBuffer)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add binary data with the specified value, from the current ByteBuffer's position to its limit.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addBinary-java.lang.String-byte:A-">addBinary(String, byte[])</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add binary data with the specified value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addBinary-java.lang.String-java.nio.ByteBuffer-">addBinary(String, ByteBuffer)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add binary data with the specified value, from the current ByteBuffer's position to its limit.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addBoolean-int-boolean-">addBoolean(int, boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a boolean for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addBoolean-java.lang.String-boolean-">addBoolean(String, boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a boolean for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addByte-int-byte-">addByte(int, byte)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a byte for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addByte-java.lang.String-byte-">addByte(String, byte)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a byte for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#addColumn-org.apache.kudu.ColumnSchema-">addColumn(ColumnSchema)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Add a new column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#addColumn-java.lang.String-org.apache.kudu.Type-java.lang.Object-">addColumn(String, Type, Object)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Add a new column that's not nullable.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#addColumnRangePredicate-org.apache.kudu.client.ColumnRangePredicate-">addColumnRangePredicate(ColumnRangePredicate)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-"><code>AbstractKuduScannerBuilder.addPredicate(KuduPredicate)</code></a></span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#addColumnRangePredicatesRaw-byte:A-">addColumnRangePredicatesRaw(byte[])</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-"><code>AbstractKuduScannerBuilder.addPredicate(org.apache.kudu.client.KuduPredicate)</code></a></span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addDate-int-java.sql.Date-">addDate(int, Date)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a sql.Date for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addDate-java.lang.String-java.sql.Date-">addDate(String, Date)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a Date for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addDecimal-int-java.math.BigDecimal-">addDecimal(int, BigDecimal)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a Decimal for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addDecimal-java.lang.String-java.math.BigDecimal-">addDecimal(String, BigDecimal)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a Decimal for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addDouble-int-double-">addDouble(int, double)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add an double for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addDouble-java.lang.String-double-">addDouble(String, double)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add an double for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addFloat-int-float-">addFloat(int, float)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add an float for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addFloat-java.lang.String-float-">addFloat(String, float)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add an float for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#addHashPartitions-java.util.List-int-">addHashPartitions(List&lt;String&gt;, int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Add a set of hash partitions to the table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#addHashPartitions-java.util.List-int-int-">addHashPartitions(List&lt;String&gt;, int, int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Add a set of hash partitions to the table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addInt-int-int-">addInt(int, int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add an int for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addInt-java.lang.String-int-">addInt(String, int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add an int for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addLong-int-long-">addLong(int, long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add an long for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addLong-java.lang.String-long-">addLong(String, long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add an long for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#addNullableColumn-java.lang.String-org.apache.kudu.Type-">addNullableColumn(String, Type)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Add a new column that's nullable and has no default value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#addNullableColumn-java.lang.String-org.apache.kudu.Type-java.lang.Object-">addNullableColumn(String, Type, Object)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Add a new column that's nullable.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addObject-java.lang.String-java.lang.Object-">addObject(String, Object)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add the specified column's value as an Object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addObject-int-java.lang.Object-">addObject(int, Object)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add the specified column's value as an Object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-">addPredicate(KuduPredicate)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Adds a predicate to the scan.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-">addRangePartition(PartialRow, PartialRow)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Add a range partition to the table with an inclusive lower bound and an exclusive upper bound.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-org.apache.kudu.client.RangePartitionBound-org.apache.kudu.client.RangePartitionBound-">addRangePartition(PartialRow, PartialRow, RangePartitionBound, RangePartitionBound)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Add a range partition to the table with a lower bound and upper bound.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-java.lang.String-org.apache.kudu.client.RangePartitionBound-org.apache.kudu.client.RangePartitionBound-">addRangePartition(PartialRow, PartialRow, String, RangePartitionBound, RangePartitionBound)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Add a range partition to the table with dimension label.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-">addRangePartition(PartialRow, PartialRow)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Add a range partition to the table with an inclusive lower bound and an
+ exclusive upper bound.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-org.apache.kudu.client.RangePartitionBound-org.apache.kudu.client.RangePartitionBound-">addRangePartition(PartialRow, PartialRow, RangePartitionBound, RangePartitionBound)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Add a range partition partition to the table with a lower bound and upper
+ bound.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addShort-int-short-">addShort(int, short)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a short for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addShort-java.lang.String-short-">addShort(String, short)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a short for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#addSplitRow-org.apache.kudu.client.PartialRow-">addSplitRow(PartialRow)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Add a range partition split.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addString-int-java.lang.String-">addString(int, String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a String for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addString-java.lang.String-java.lang.String-">addString(String, String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a String for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addStringUtf8-int-byte:A-">addStringUtf8(int, byte[])</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a String for the specified value, encoded as UTF8.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addStringUtf8-java.lang.String-byte:A-">addStringUtf8(String, byte[])</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a String for the specified value, encoded as UTF8.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addTimestamp-int-java.sql.Timestamp-">addTimestamp(int, Timestamp)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a Timestamp for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addTimestamp-java.lang.String-java.sql.Timestamp-">addTimestamp(String, Timestamp)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a Timestamp for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addVarchar-int-java.lang.String-">addVarchar(int, String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a VARCHAR for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#addVarchar-java.lang.String-java.lang.String-">addVarchar(String, String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Add a VARCHAR for the specified column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#after--">after()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#AlreadyPresent-java.lang.String-">AlreadyPresent(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#AlreadyPresent-java.lang.String-int-">AlreadyPresent(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#alterExtraConfigs-java.util.Map-">alterExtraConfigs(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Change the table's extra configuration properties.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#alterTable-java.lang.String-org.apache.kudu.client.AlterTableOptions-">alterTable(String, AlterTableOptions)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Alter a table on the cluster as specified by the builder.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#alterTable-java.lang.String-org.apache.kudu.client.AlterTableOptions-">alterTable(String, AlterTableOptions)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Alter a table on the cluster as specified by the builder.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AlterTableOptions</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">This builder must be used to alter a table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#AlterTableOptions--">AlterTableOptions()</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AlterTableResponse</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#apply-org.apache.kudu.client.Operation-">apply(Operation)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>
+<div class="block">Apply the given operation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#apply-org.apache.kudu.client.Operation-">apply(Operation)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>
+<div class="block">Apply a given <a href="org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client"><code>Operation</code></a> to Kudu as part of this session.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#apply-org.junit.runners.model.Statement-org.junit.runner.Description-">apply(Statement, Description)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#asyncGetTabletsLocations-long-">asyncGetTabletsLocations(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use the <a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#asyncGetTabletsLocations-byte:A-byte:A-long-">asyncGetTabletsLocations(byte[], byte[], long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use the <a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+</div>
+</dd>
+<dt><a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduClient</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">A fully asynchronous and thread-safe client for Kudu.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduClient.AsyncKuduClientBuilder</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Builder class to use in order to connect to Kudu.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#AsyncKuduClientBuilder-java.lang.String-">AsyncKuduClientBuilder(String)</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block">Creates a new builder for a client that will connect to the specified masters.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#AsyncKuduClientBuilder-java.util.List-">AsyncKuduClientBuilder(List&lt;String&gt;)</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block">Creates a new builder for a client that will connect to the specified masters.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Creates a scanner to read data from Kudu.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.AsyncKuduScannerBuilder</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">A Builder class to build <a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner</code></a>.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.ReadMode</span></a> - Enum in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">The possible read modes for scanners.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.RowDataFormat</span></a> - Enum in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Expected row data format in scanner result set.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduSession</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">An <code>AsyncKuduSession</code> belongs to a specific <a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><code>AsyncKuduClient</code></a>, and represents a
+ context in which all write data access should take place.</div>
+</dd>
+</dl>
+<a name="I:B">
+<!--   -->
+</a>
+<h2 class="title">B</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#batchSizeBytes-int-">batchSizeBytes(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Sets the maximum number of bytes returned by the scanner, on each batch.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#before--">before()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools"><span class="typeNameLink">BigLinkedListCommon</span></a> - Class in <a href="org/apache/kudu/spark/tools/package-summary.html">org.apache.kudu.spark.tools</a></dt>
+<dd>
+<div class="block">Static constants, helper methods, and utility classes for BigLinkedList
+ implementations.</div>
+</dd>
+<dt><a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util"><span class="typeNameLink">BloomFilter</span></a> - Class in <a href="org/apache/kudu/util/package-summary.html">org.apache.kudu.util</a></dt>
+<dd>
+<div class="block">An space-efficient filter which offers an approximate containment check.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#bossCount-int-">bossCount(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#bossCount-int-">bossCount(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#build--">build()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#build--">build()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block">Creates a new client that connects to the masters.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html#build--">build()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client">AsyncKuduScanner.AsyncKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Builds an <a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner</code></a> using the passed configurations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#build--">build()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block">Creates a new client that connects to the masters.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html#build--">build()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client">KuduPartitioner.KuduPartitionerBuilder</a></dt>
+<dd>
+<div class="block">Builds a <a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><code>KuduPartitioner</code></a> using the passed configurations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html#build--">build()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Builds a <a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a> using the passed configurations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html#build--">build()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#build--">build()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Builds a <a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu"><code>ColumnSchema</code></a> using the passed parameters.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#build--">build()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Builds a <a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu"><code>ColumnSchema</code></a> using the passed parameters.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#build--">build()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></dt>
+<dd>
+<div class="block">Builds a <a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><code>ColumnTypeAttributes</code></a> using the passed parameters.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#build--">build()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></dt>
+<dd>
+<div class="block">Builds a <a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><code>ColumnTypeAttributes</code></a> using the passed parameters.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html#buildTimeout-long-">buildTimeout(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client">KuduPartitioner.KuduPartitionerBuilder</a></dt>
+<dd>
+<div class="block">Set the timeout used for building the <a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><code>KuduPartitioner</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#byCount-int-">byCount(int)</a></span> - Static method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Generate bloom filter, default hashing is <code>Murmur2</code> and false positive rate is 0.01.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#byCountAndFPRate-int-double-">byCountAndFPRate(int, double)</a></span> - Static method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Generate bloom filter, default hashing is <code>Murmur2</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#byCountAndFPRate-int-double-org.apache.kudu.util.BloomFilter.HashFunction-">byCountAndFPRate(int, double, BloomFilter.HashFunction)</a></span> - Static method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Generate bloom filter.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#bySize-int-">bySize(int)</a></span> - Static method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Generate bloom filter, default hashing is <code>Murmur2</code> and false positive rate is 0.01.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#bySizeAndFPRate-int-double-">bySizeAndFPRate(int, double)</a></span> - Static method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Generate bloom filter, default hashing is <code>Murmur2</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#bySizeAndFPRate-int-double-org.apache.kudu.util.BloomFilter.HashFunction-">bySizeAndFPRate(int, double, BloomFilter.HashFunction)</a></span> - Static method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Generate bloom filter.</div>
+</dd>
+</dl>
+<a name="I:C">
+<!--   -->
+</a>
+<h2 class="title">C</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#cacheBlocks-boolean-">cacheBlocks(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Sets the block caching policy for the scanner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#changeComment-java.lang.String-java.lang.String-">changeComment(String, String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Change the comment for the column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#changeCompressionAlgorithm-java.lang.String-org.apache.kudu.ColumnSchema.CompressionAlgorithm-">changeCompressionAlgorithm(String, ColumnSchema.CompressionAlgorithm)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Change the compression used for a column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#changeDefault-java.lang.String-java.lang.Object-">changeDefault(String, Object)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Change the default value for a column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#changeDesiredBlockSize-java.lang.String-int-">changeDesiredBlockSize(String, int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Change the block size of a column's storage.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#changeEncoding-java.lang.String-org.apache.kudu.ColumnSchema.Encoding-">changeEncoding(String, ColumnSchema.Encoding)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Change the encoding used for a column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#checkNull-int-">checkNull(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#checkType-int-org.apache.kudu.Type...-">checkType(int, Type...)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#checkValidColumn-int-">checkValidColumn(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#close--">close()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Invokes <a href="org/apache/kudu/client/AsyncKuduClient.html#shutdown--"><code>AsyncKuduClient.shutdown()</code></a> and waits.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#close--">close()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">Closes this scanner (don't forget to call this when you're done with it!).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#close--">close()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>
+<div class="block">Flushes the buffered operations and marks this session as closed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#close--">close()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Analogous to <a href="org/apache/kudu/client/KuduClient.html#shutdown--"><code>KuduClient.shutdown()</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#close--">close()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Closes this scanner (don't forget to call this when you're done with it!).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#close--">close()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>
+<div class="block">Blocking call that flushes the buffers (see <a href="org/apache/kudu/client/KuduSession.html#flush--"><code>KuduSession.flush()</code></a>) and closes the sessions.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#close--">close()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
+<dd>
+<div class="block">Stop keepalive heartbeating, if any was in progress for this transaction
+ handle.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/OperationResponse.html#collectErrors-java.util.List-">collectErrors(List&lt;OperationResponse&gt;)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a></dt>
+<dd>
+<div class="block">Utility method that collects all the row errors from the given list of responses.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_CLIENT">COLUMN_CLIENT</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>
+<div class="block">identifier of the mapred task that generated this row.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_CLIENT_IDX">COLUMN_CLIENT_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE">COLUMN_KEY_ONE</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>
+<div class="block">Row key, two times 8 bytes.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE_IDX">COLUMN_KEY_ONE_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO">COLUMN_KEY_TWO</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO_IDX">COLUMN_KEY_TWO_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE">COLUMN_PREV_ONE</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>
+<div class="block">Link to the id of the prev node in the linked list, two times 8 bytes.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE_IDX">COLUMN_PREV_ONE_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO">COLUMN_PREV_TWO</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO_IDX">COLUMN_PREV_TWO_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_ROW_ID">COLUMN_ROW_ID</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>
+<div class="block">the id of the row within the same client.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_ROW_ID_IDX">COLUMN_ROW_ID_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT">COLUMN_UPDATE_COUNT</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>
+<div class="block">The number of times this row was updated.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT_IDX">COLUMN_UPDATE_COUNT_IDX</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ColumnRangePredicate</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use the <a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><code>KuduPredicate</code></a> class instead.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#ColumnRangePredicate-org.apache.kudu.ColumnSchema-">ColumnRangePredicate(ColumnSchema)</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Create the predicate on the specified column</div>
+</dd>
+<dt><a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnSchema</span></a> - Class in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Represents a Kudu Table column.</div>
+</dd>
+<dt><a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnSchema</span></a> - Class in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Represents a Kudu Table column.</div>
+</dd>
+<dt><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnSchema.ColumnSchemaBuilder</span></a> - Class in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Builder for ColumnSchema.</div>
+</dd>
+<dt><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnSchema.ColumnSchemaBuilder</span></a> - Class in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Builder for ColumnSchema.</div>
+</dd>
+<dt><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.CompressionAlgorithm</span></a> - Enum in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Specifies the compression algorithm of data for a column on disk.</div>
+</dd>
+<dt><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.CompressionAlgorithm</span></a> - Enum in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Specifies the compression algorithm of data for a column on disk.</div>
+</dd>
+<dt><a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.Encoding</span></a> - Enum in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Specifies the encoding of data for a column on disk.</div>
+</dd>
+<dt><a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.Encoding</span></a> - Enum in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Specifies the encoding of data for a column on disk.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#ColumnSchemaBuilder-java.lang.String-org.apache.kudu.Type-">ColumnSchemaBuilder(String, Type)</a></span> - Constructor for class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Constructor for the required parameters.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#ColumnSchemaBuilder-org.apache.kudu.ColumnSchema-">ColumnSchemaBuilder(ColumnSchema)</a></span> - Constructor for class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Constructor to copy an existing columnSchema</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#ColumnSchemaBuilder-java.lang.String-org.apache.kudu.Type-">ColumnSchemaBuilder(String, Type)</a></span> - Constructor for class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Constructor for the required parameters.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#ColumnSchemaBuilder-org.apache.kudu.ColumnSchema-">ColumnSchemaBuilder(ColumnSchema)</a></span> - Constructor for class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Constructor to copy an existing columnSchema</div>
+</dd>
+<dt><a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnTypeAttributes</span></a> - Class in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Represents a Kudu Table column's type attributes.</div>
+</dd>
+<dt><a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnTypeAttributes</span></a> - Class in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Represents a Kudu Table column's type attributes.</div>
+</dd>
+<dt><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnTypeAttributes.ColumnTypeAttributesBuilder</span></a> - Class in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Builder for ColumnTypeAttributes.</div>
+</dd>
+<dt><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnTypeAttributes.ColumnTypeAttributesBuilder</span></a> - Class in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Builder for ColumnTypeAttributes.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#ColumnTypeAttributesBuilder--">ColumnTypeAttributesBuilder()</a></span> - Constructor for class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#ColumnTypeAttributesBuilder--">ColumnTypeAttributesBuilder()</a></span> - Constructor for class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#comment-java.lang.String-">comment(String)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Set the comment for this column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#comment-java.lang.String-">comment(String)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Set the comment for this column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#commit--">commit()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
+<dd>
+<div class="block">Commit the multi-row distributed transaction represented by this handle.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.html#compareTo-org.apache.kudu.client.KuduScanToken-">compareTo(KuduScanToken)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#compressionAlgorithm-org.apache.kudu.ColumnSchema.CompressionAlgorithm-">compressionAlgorithm(ColumnSchema.CompressionAlgorithm)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Set the compression algorithm for this column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#compressionAlgorithm-org.apache.kudu.ColumnSchema.CompressionAlgorithm-">compressionAlgorithm(ColumnSchema.CompressionAlgorithm)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Set the compression algorithm for this column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#ConfigurationError-java.lang.String-">ConfigurationError(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#ConfigurationError-java.lang.String-int-">ConfigurationError(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#Corruption-java.lang.String-">Corruption(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#Corruption-java.lang.String-int-">Corruption(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#countPendingErrors--">countPendingErrors()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#countPendingErrors--">countPendingErrors()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#countPendingErrors--">countPendingErrors()</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Return the number of errors which are pending.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#createTable-java.lang.String-org.apache.kudu.Schema-org.apache.kudu.client.CreateTableOptions-">createTable(String, Schema, CreateTableOptions)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Create a table on the cluster with the specified name, schema, and table configurations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#createTable-java.lang.String-org.apache.kudu.Schema-org.apache.kudu.client.CreateTableOptions-">createTable(String, Schema, CreateTableOptions)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Create a table on the cluster with the specified name, schema, and table configurations.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">CreateTableOptions</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">This is a builder class for all the options that can be provided while creating a table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#CreateTableOptions--">CreateTableOptions()</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResultIterator.html#currentRow">currentRow</a></span> - Variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#currentTablet--">currentTablet()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Returns the RemoteTablet currently being scanned, if any.</div>
+</dd>
+</dl>
+<a name="I:D">
+<!--   -->
+</a>
+<h2 class="title">D</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#DEFAULT_HEADS_TABLE_NAME">DEFAULT_HEADS_TABLE_NAME</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#DEFAULT_KEEP_ALIVE_PERIOD_MS">DEFAULT_KEEP_ALIVE_PERIOD_MS</a></span> - Static variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#DEFAULT_OPERATION_TIMEOUT_MS">DEFAULT_OPERATION_TIMEOUT_MS</a></span> - Static variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#DEFAULT_SLEEP">DEFAULT_SLEEP</a></span> - Static variable in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#DEFAULT_TABLE_NAME">DEFAULT_TABLE_NAME</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#defaultAdminOperationTimeoutMs-long-">defaultAdminOperationTimeoutMs(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block">Sets the default timeout used for administrative operations (e.g.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#defaultAdminOperationTimeoutMs-long-">defaultAdminOperationTimeoutMs(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block">Sets the default timeout used for administrative operations (e.g.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#defaultOperationTimeoutMs-long-">defaultOperationTimeoutMs(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block">Sets the default timeout used for user operations (using sessions and scanners).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#defaultOperationTimeoutMs-long-">defaultOperationTimeoutMs(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block">Sets the default timeout used for user operations (using sessions and scanners).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#defaultSocketReadTimeoutMs-long-">defaultSocketReadTimeoutMs(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">this option no longer has any effect</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#defaultSocketReadTimeoutMs-long-">defaultSocketReadTimeoutMs(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">socket read timeouts are no longer used</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#defaultValue-java.lang.Object-">defaultValue(Object)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Sets the default value that will be read from the column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#defaultValue-java.lang.Object-">defaultValue(Object)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Sets the default value that will be read from the column.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Delete</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Class of Operation for whole row removals.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">DeleteIgnore</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Class of Operation for whole row removals ignoring missing rows.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#deleteTable-java.lang.String-">deleteTable(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Delete a table on the cluster with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#deleteTable-java.lang.String-">deleteTable(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Delete a table on the cluster with the specified name.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">DeleteTableResponse</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#deserialize-org.apache.kudu.Schema-byte:A-">deserialize(Schema, byte[])</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Serializes a list of <code>KuduPredicate</code> into a byte array.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#deserialize-byte:A-org.apache.kudu.client.AsyncKuduClient-">deserialize(byte[], AsyncKuduClient)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
+<dd>
+<div class="block">Re-create KuduTransaction object given its serialized representation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.html#deserializeIntoScanner-byte:A-org.apache.kudu.client.KuduClient-">deserializeIntoScanner(byte[], KuduClient)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></dt>
+<dd>
+<div class="block">Deserializes a <code>KuduScanToken</code> into a <a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.html#deserializeIntoScannerBuilder-byte:A-org.apache.kudu.client.KuduClient-">deserializeIntoScannerBuilder(byte[], KuduClient)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></dt>
+<dd>
+<div class="block">Deserializes a <code>KuduScanToken</code> into a <a href="org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><code>KuduScanner.KuduScannerBuilder</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#desiredBlockSize-int-">desiredBlockSize(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Set the desired block size for this column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#desiredBlockSize-int-">desiredBlockSize(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Set the desired block size for this column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#diffScan-long-long-">diffScan(long, long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Sets the start timestamp and end timestamp for a diff scan.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#disableStatistics--">disableStatistics()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block">Disable this client's collection of statistics.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#disableStatistics--">disableStatistics()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block">Disable this client's collection of statistics.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#dropColumn-java.lang.String-">dropColumn(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Drop a column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#dropRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-">dropRangePartition(PartialRow, PartialRow)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Drop the range partition from the table with the specified inclusive lower bound and exclusive
+ upper bound.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#dropRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-org.apache.kudu.client.RangePartitionBound-org.apache.kudu.client.RangePartitionBound-">dropRangePartition(PartialRow, PartialRow, RangePartitionBound, RangePartitionBound)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Drop the range partition from the table with the specified lower bound and upper bound.</div>
+</dd>
+</dl>
+<a name="I:E">
+<!--   -->
+</a>
+<h2 class="title">E</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResultIterator.html#empty--">empty()</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#EMPTY_ARRAY">EMPTY_ARRAY</a></span> - Static variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#encodePrimaryKey--">encodePrimaryKey()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Returns the encoded primary key of the row.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#encoding-org.apache.kudu.ColumnSchema.Encoding-">encoding(ColumnSchema.Encoding)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Set the block encoding for this column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#encoding-org.apache.kudu.ColumnSchema.Encoding-">encoding(ColumnSchema.Encoding)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Set the block encoding for this column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#EndOfFile-java.lang.String-">EndOfFile(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#EndOfFile-java.lang.String-int-">EndOfFile(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBound-org.apache.kudu.client.PartialRow-">exclusiveUpperBound(PartialRow)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Add an upper bound (exclusive) primary key for the scan.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBoundRaw-byte:A-">exclusiveUpperBoundRaw(byte[])</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBound-org.apache.kudu.client.PartialRow-"><code>AbstractKuduScannerBuilder.exclusiveUpperBound(PartialRow)</code></a></span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#exportAuthenticationCredentials--">exportAuthenticationCredentials()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Export serialized authentication data that may be passed to a different
+ client instance and imported to provide that client the ability to connect
+ to the cluster.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#exportAuthenticationCredentials--">exportAuthenticationCredentials()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Export serialized authentication data that may be passed to a different
+ client instance and imported to provide that client the ability to connect
+ to the cluster.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">ExternalConsistencyMode</span></a> - Enum in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">The possible external consistency modes on which Kudu operates.</div>
+</dd>
+</dl>
+<a name="I:F">
+<!--   -->
+</a>
+<h2 class="title">F</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#findLeaderMasterServer--">findLeaderMasterServer()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#findLeaderMasterServer--">findLeaderMasterServer()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Find the host and port of the leader master.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#findLeaderTabletServer-org.apache.kudu.client.LocatedTablet-">findLeaderTabletServer(LocatedTablet)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Finds the RPC port of the given tablet's leader tserver.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#flush--">flush()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>
+<div class="block">Flush buffered writes.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#flush--">flush()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>
+<div class="block">Blocking call that force flushes this session's buffers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#fromPB-org.apache.kudu.Schema-org.apache.kudu.Common.ColumnPredicatePB-">fromPB(Schema, Common.ColumnPredicatePB)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Convert a column predicate protobuf message into a predicate.</div>
+</dd>
+</dl>
+<a name="I:G">
+<!--   -->
+</a>
+<h2 class="title">G</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ResourceMetrics.html#get--">get()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client">ResourceMetrics</a></dt>
+<dd>
+<div class="block">Returns a copy of this ResourceMetrics's underlying map of metric name to
+ metric value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getAsyncClient--">getAsyncClient()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get the async client that created this instance.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#getAsyncClient--">getAsyncClient()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getAuthzTokenCache--">getAuthzTokenCache()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#getBaseClusterBuilder--">getBaseClusterBuilder()</a></span> - Static method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Returns the base MiniKuduClusterBuilder used when creating a
+ KuduTestHarness with the default constructor.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#getBatchSizeBytes--">getBatchSizeBytes()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">Returns the maximum number of bytes returned by the scanner, on each batch.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#getBatchSizeBytes--">getBatchSizeBytes()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Returns the maximum number of bytes returned by the scanner, on each batch.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getBinary-java.lang.String-">getBinary(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's binary data.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getBinary-int-">getBinary(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's binary data.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getBinary-java.lang.String-">getBinary(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's binary data.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getBinary-int-">getBinary(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's binary data.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getBinaryCopy-java.lang.String-">getBinaryCopy(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get a copy of the specified column's binary data.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getBinaryCopy-int-">getBinaryCopy(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get a copy of the specified column's binary data.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getBinaryCopy-java.lang.String-">getBinaryCopy(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get a copy of the specified column's binary data.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getBinaryCopy-int-">getBinaryCopy(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get a copy of the specified column's binary data.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#getBitSet--">getBitSet()</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Get the internal bit set in bytes.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getBoolean-java.lang.String-">getBoolean(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's boolean</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getBoolean-int-">getBoolean(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's boolean</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getBoolean-java.lang.String-">getBoolean(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's boolean</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getBoolean-int-">getBoolean(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's boolean</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getByte-java.lang.String-">getByte(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's byte</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getByte-int-">getByte(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's byte</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getByte-java.lang.String-">getByte(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's byte</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getByte-int-">getByte(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's byte</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#getCacheBlocks--">getCacheBlocks()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">Returns if this scanner was configured to cache data blocks or not.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#getCacheBlocks--">getCacheBlocks()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Returns if this scanner was configured to cache data blocks or not.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#getClient--">getClient()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Statistics.html#getClientStatistic-org.apache.kudu.client.Statistics.Statistic-">getClientStatistic(Statistics.Statistic)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></dt>
+<dd>
+<div class="block">Get the statistic count of the whole client.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getClusterId--">getClusterId()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Returns the ID of the cluster that this client is connected to.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#getClusterId--">getClusterId()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Returns the ID of the cluster that this client is connected to.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#getClusterRoot--">getClusterRoot()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#getColumn--">getColumn()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Get the column used by this predicate</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumn-java.lang.String-">getColumn(String)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the column associated with the specified name</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumn-java.lang.String-">getColumn(String)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the column associated with the specified name</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumnByIndex-int-">getColumnByIndex(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the column at the specified index in the original list</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumnByIndex-int-">getColumnByIndex(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the column at the specified index in the original list</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumnCount--">getColumnCount()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the count of columns in this schema</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumnCount--">getColumnCount()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the count of columns in this schema</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumnId-java.lang.String-">getColumnId(String)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the internal column ID for a column name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumnId-java.lang.String-">getColumnId(String)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the internal column ID for a column name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumnIndex-java.lang.String-">getColumnIndex(String)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the index for the provided column name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumnIndex-int-">getColumnIndex(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the column index of the column with the provided ID.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumnIndex-java.lang.String-">getColumnIndex(String)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the index for the provided column name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumnIndex-int-">getColumnIndex(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the column index of the column with the provided ID.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumnOffset-int-">getColumnOffset(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the index at which this column can be found in the backing byte array</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumnOffset-int-">getColumnOffset(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the index at which this column can be found in the backing byte array</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getColumnProjection--">getColumnProjection()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the schema used for this scanner's column projection.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumns--">getColumns()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the list of columns used to create this schema</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getColumns--">getColumns()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the list of columns used to create this schema</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getColumnType-java.lang.String-">getColumnType(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the type of a column in this result.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getColumnType-int-">getColumnType(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the type of a column in this result.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getComment--">getComment()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get this table's comment.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getComment--">getComment()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Return the comment for the column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getComment--">getComment()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Return the comment for the column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getCompressionAlgorithm--">getCompressionAlgorithm()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Return the compression algorithm of this column, or null if it is not known.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getCompressionAlgorithm--">getCompressionAlgorithm()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Return the compression algorithm of this column, or null if it is not known.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#getCreateTableOptions-org.apache.kudu.Schema-int-int-int-">getCreateTableOptions(Schema, int, int, int)</a></span> - Static method in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getDataType--">getDataType()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/Type.html#getDataType-org.apache.kudu.ColumnTypeAttributes-"><code>getDataType(ColumnTypeAttributes)</code></a></span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getDataType-org.apache.kudu.ColumnTypeAttributes-">getDataType(ColumnTypeAttributes)</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">Get the data type from the common's pb</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getDataType--">getDataType()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/Type.html#getDataType-org.apache.kudu.ColumnTypeAttributes-"><code>getDataType(ColumnTypeAttributes)</code></a></span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getDataType-org.apache.kudu.ColumnTypeAttributes-">getDataType(ColumnTypeAttributes)</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">Get the data type from the common's pb</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getDate-java.lang.String-">getDate(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's Date.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getDate-int-">getDate(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's Date.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getDate-java.lang.String-">getDate(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's Date.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getDate-int-">getDate(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's Date.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getDecimal-java.lang.String-">getDecimal(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's BigDecimal</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getDecimal-int-">getDecimal(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's Decimal.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getDecimal-java.lang.String-">getDecimal(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's Decimal.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getDecimal-int-">getDecimal(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's Decimal.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getDefaultAdminOperationTimeoutMs--">getDefaultAdminOperationTimeoutMs()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Get the timeout used for admin operations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#getDefaultAdminOperationTimeoutMs--">getDefaultAdminOperationTimeoutMs()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Get the timeout used for admin operations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getDefaultOperationTimeoutMs--">getDefaultOperationTimeoutMs()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Get the timeout used for operations on sessions and scanners.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#getDefaultOperationTimeoutMs--">getDefaultOperationTimeoutMs()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Get the timeout used for operations on sessions and scanners.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getDefaultSocketReadTimeoutMs--">getDefaultSocketReadTimeoutMs()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">socket read timeouts are no longer used</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getDefaultValue--">getDefaultValue()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">The Java object representation of the default value that's read</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getDefaultValue--">getDefaultValue()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">The Java object representation of the default value that's read</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PleaseThrottleException.html#getDeferred--">getDeferred()</a></span> - Method in exception org.apache.kudu.client.<a href="org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client">PleaseThrottleException</a></dt>
+<dd>
+<div class="block">Returns a deferred one can wait on before retrying the failed RPC.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getDesiredBlockSize--">getDesiredBlockSize()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Gets the desired block size for this column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getDesiredBlockSize--">getDesiredBlockSize()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Gets the desired block size for this column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.Replica.html#getDimensionLabel--">getDimensionLabel()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getDouble-java.lang.String-">getDouble(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's double</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getDouble-int-">getDouble(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's double</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getDouble-java.lang.String-">getDouble(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's double</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getDouble-int-">getDouble(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's double</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getEncoding--">getEncoding()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Return the encoding of this column, or null if it is not known.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getEncoding--">getEncoding()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Return the encoding of this column, or null if it is not known.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.html#getEndKey--">getEndKey()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>LocatedTablet.getPartition()</code></a></span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowError.html#getErrorStatus--">getErrorStatus()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a></dt>
+<dd>
+<div class="block">Get the status code and message of the row error.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getExtraConfig--">getExtraConfig()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get this table's extra configuration properties.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/HasFailedRpcException.html#getFailedRpc--">getFailedRpc()</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client">HasFailedRpcException</a></dt>
+<dd>
+<div class="block">Returns the RPC that caused this exception.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PleaseThrottleException.html#getFailedRpc--">getFailedRpc()</a></span> - Method in exception org.apache.kudu.client.<a href="org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client">PleaseThrottleException</a></dt>
+<dd>
+<div class="block">The RPC that was made to fail with this exception.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getFloat-java.lang.String-">getFloat(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's float</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getFloat-int-">getFloat(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's float</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getFloat-java.lang.String-">getFloat(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's float</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getFloat-int-">getFloat(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's float</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#getFlushMode--">getFlushMode()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#getFlushMode--">getFlushMode()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#getFlushMode--">getFlushMode()</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Get the current flush mode.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getFormattedRangePartitions-long-">getFormattedRangePartitions(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Retrieves a formatted representation of this table's range partitions.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#getHashFunctionName--">getHashFunctionName()</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Get the name of hashing used when updating or checking containment.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#getHeadsTableSchema--">getHeadsTableSchema()</a></span> - Static method in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getHiveMetastoreConfig--">getHiveMetastoreConfig()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Get the Hive Metastore configuration of the most recently connected-to leader master, or
+ <code>null</code> if the Hive Metastore integration is not enabled.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#getHiveMetastoreConfig--">getHiveMetastoreConfig()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Returns the Hive Metastore configuration of the cluster.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getInt-java.lang.String-">getInt(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's integer</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getInt-int-">getInt(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's integer</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getInt-java.lang.String-">getInt(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's integer</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getInt-int-">getInt(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's integer</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#getInternalPbType--">getInternalPbType()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#getInternalPbType--">getInternalPbType()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.Encoding.html#getInternalPbType--">getInternalPbType()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.Encoding.html#getInternalPbType--">getInternalPbType()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getIsDeletedIndex--">getIsDeletedIndex()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getIsDeletedIndex--">getIsDeletedIndex()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#getKeepAlivePeriodMs--">getKeepAlivePeriodMs()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getLastPropagatedTimestamp--">getLastPropagatedTimestamp()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Returns the last timestamp received from a server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#getLastPropagatedTimestamp--">getLastPropagatedTimestamp()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Returns the last timestamp received from a server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.html#getLeaderReplica--">getLeaderReplica()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></dt>
+<dd>
+<div class="block">Return the current leader, or null if there is none.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#getLength--">getLength()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Returns the length;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#getLength--">getLength()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Returns the length;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#getLimit--">getLimit()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">Returns the maximum number of rows that this scanner was configured to return.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#getLimit--">getLimit()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Returns the maximum number of rows that this scanner was configured to return.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTableStatistics.html#getLiveRowCount--">getLiveRowCount()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client">KuduTableStatistics</a></dt>
+<dd>
+<div class="block">Get the table's live row count, this statistic is pre-replication.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getLocationString--">getLocationString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Returns a string representation of this client's location.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#getLocationString--">getLocationString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Returns a string representation of this client's location.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getLong-java.lang.String-">getLong(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's long
+
+ If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds
+ since midnight, January 1, 1970 UTC.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getLong-int-">getLong(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's long
+
+ If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds
+ since midnight, January 1, 1970 UTC.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getLong-java.lang.String-">getLong(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's long
+
+ If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds
+ since midnight, January 1, 1970 UTC.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getLong-int-">getLong(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's long
+
+ If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds
+ since midnight, January 1, 1970 UTC.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#getLowerBound--">getLowerBound()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Get the lower bound in its raw representation</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getMasterAddressesAsString--">getMasterAddressesAsString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#getMasterAddressesAsString--">getMasterAddressesAsString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#getMasterAddressesAsString--">getMasterAddressesAsString()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Return the comma-separated list of "host:port" pairs that describes the master
+ config for this cluster.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#getMasterServers--">getMasterServers()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowError.html#getMessage--">getMessage()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Please use getErrorStatus() instead. Will be removed in a future version.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ResourceMetrics.html#getMetric-java.lang.String-">getMetric(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client">ResourceMetrics</a></dt>
+<dd>
+<div class="block">Returns the value of the metric named by 'name', or 0 if there is no such metric.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getName--">getName()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get this table's name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getName--">getName()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Get the column's name</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getName--">getName()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Get the column's name</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getName--">getName()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">Get the string representation of this type</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getName--">getName()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">Get the string representation of this type</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#getNumHashes--">getNumHashes()</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Get the number of hashing times when updating or checking containment.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getNumReplicas--">getNumReplicas()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get this table's replication factor.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResultIterator.html#getNumRows--">getNumRows()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getObject-java.lang.String-">getObject(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's value as an Object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getObject-int-">getObject(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's value as an Object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getObject-java.lang.String-">getObject(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's value as an Object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getObject-int-">getObject(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's value as an Object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTableStatistics.html#getOnDiskSize--">getOnDiskSize()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client">KuduTableStatistics</a></dt>
+<dd>
+<div class="block">Get the table's on disk size, this statistic is pre-replication.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowError.html#getOperation--">getOperation()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a></dt>
+<dd>
+<div class="block">Get the Operation that failed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getOwner--">getOwner()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get this table's owner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.html#getPartition--">getPartition()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getPartitionSchema--">getPartitionSchema()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Gets the table's partition schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#getPendingErrors--">getPendingErrors()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#getPendingErrors--">getPendingErrors()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#getPendingErrors--">getPendingErrors()</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Return any errors from previous calls.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#getPosixCode--">getPosixCode()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>
+<div class="block">Get the posix code associated with the error.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#getPrecision--">getPrecision()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Return the precision;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#getPrecision--">getPrecision()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Return the precision;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getPrimaryKeyColumnCount--">getPrimaryKeyColumnCount()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the count of columns that are part of the primary key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getPrimaryKeyColumnCount--">getPrimaryKeyColumnCount()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the count of columns that are part of the primary key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getPrimaryKeyColumns--">getPrimaryKeyColumns()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the primary key columns.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getPrimaryKeyColumns--">getPrimaryKeyColumns()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the primary key columns.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#getPrincipal--">getPrincipal()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#getProjectionSchema--">getProjectionSchema()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">Returns the projection schema of this scanner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#getProjectionSchema--">getProjectionSchema()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Returns the projection schema of this scanner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getRangePartitions-long-">getRangePartitions(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Retrieves this table's range partitions.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#getReadMode--">getReadMode()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">Returns the ReadMode for this scanner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#getReadMode--">getReadMode()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Returns the ReadMode for this scanner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.html#getReplicas--">getReplicas()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#getResourceMetrics--">getResourceMetrics()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">Returns the <code>ResourceMetrics</code> for this scanner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#getResourceMetrics--">getResourceMetrics()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Returns the resource metrics of this scanner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.Replica.html#getRole--">getRole()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Operation.html#getRow--">getRow()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></dt>
+<dd>
+<div class="block">Get the underlying row to modify.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/OperationResponse.html#getRowError--">getRowError()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a></dt>
+<dd>
+<div class="block">Returns a row error.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowErrorsAndOverflowStatus.html#getRowErrors--">getRowErrors()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a></dt>
+<dd>
+<div class="block">Get the collected row errors.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getRowKeyProjection--">getRowKeyProjection()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get a schema that only contains the columns which are part of the key</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getRowKeyProjection--">getRowKeyProjection()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get a schema that only contains the columns which are part of the key</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getRowSize--">getRowSize()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the size a row built using this schema would be</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getRowSize--">getRowSize()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the size a row built using this schema would be</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.Replica.html#getRpcHost--">getRpcHost()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.Replica.html#getRpcPort--">getRpcPort()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#getScale--">getScale()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Return the scale;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#getScale--">getScale()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Return the scale;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#getScanRequestTimeout--">getScanRequestTimeout()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">Returns the scan request timeout for this scanner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#getScanRequestTimeout--">getScanRequestTimeout()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Returns the current value of the scanner's scan request timeout.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getSchema--">getSchema()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get this table's schema, as of the moment this instance was created.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getSchema--">getSchema()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the schema used for this row.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getSchema--">getSchema()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the schema associated with this result.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getShort-java.lang.String-">getShort(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's short</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getShort-int-">getShort(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's short</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getShort-java.lang.String-">getShort(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's short</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getShort-int-">getShort(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's short</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getSize--">getSize()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/Type.html#getSize-org.apache.kudu.ColumnTypeAttributes-"><code>getSize(ColumnTypeAttributes)</code></a></span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getSize-org.apache.kudu.ColumnTypeAttributes-">getSize(ColumnTypeAttributes)</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">The size of this type on the wire</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getSize--">getSize()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/Type.html#getSize-org.apache.kudu.ColumnTypeAttributes-"><code>getSize(ColumnTypeAttributes)</code></a></span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getSize-org.apache.kudu.ColumnTypeAttributes-">getSize(ColumnTypeAttributes)</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">The size of this type on the wire</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.html#getStartKey--">getStartKey()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>LocatedTablet.getPartition()</code></a></span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getStatistics--">getStatistics()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Get the statistics object of this client.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#getStatistics--">getStatistics()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Get the statistics object of this client.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduException.html#getStatus--">getStatus()</a></span> - Method in exception org.apache.kudu.client.<a href="org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></dt>
+<dd>
+<div class="block">Get the Status object for this exception.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowError.html#getStatus--">getStatus()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Please use getErrorStatus() instead. Will be removed in a future version.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getString-java.lang.String-">getString(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's string.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getString-int-">getString(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's string.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getString-java.lang.String-">getString(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's string.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getString-int-">getString(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's string.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableResponse.html#getTableId--">getTableId()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client">AlterTableResponse</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getTableId--">getTableId()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get this table's unique identifier.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ListTablesResponse.html#getTableInfosList--">getTableInfosList()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a></dt>
+<dd>
+<div class="block">Get the list of tables as specified in the request.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Statistics.html#getTableName-java.lang.String-">getTableName(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></dt>
+<dd>
+<div class="block">Get table name of the given tablet id.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#getTableSchema--">getTableSchema()</a></span> - Static method in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Statistics.html#getTableSet--">getTableSet()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></dt>
+<dd>
+<div class="block">Get the set of tables which have been written into by this client,
+ which have statistics information.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getTablesList--">getTablesList()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Get the list of all the tables.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getTablesList-java.lang.String-">getTablesList(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Get a list of table names.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#getTablesList--">getTablesList()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Get the list of all the tables.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#getTablesList-java.lang.String-">getTablesList(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Get a list of table names.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ListTablesResponse.html#getTablesList--">getTablesList()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a></dt>
+<dd>
+<div class="block">Get the list of tables as specified in the request.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Statistics.html#getTableStatistic-java.lang.String-org.apache.kudu.client.Statistics.Statistic-">getTableStatistic(String, Statistics.Statistic)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></dt>
+<dd>
+<div class="block">Get the statistic count of this table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#getTableStatistics-java.lang.String-">getTableStatistics(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Get table's statistics from master.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#getTableStatistics-java.lang.String-">getTableStatistics(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Get table's statistics from master.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getTableStatistics--">getTableStatistics()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get this table's statistics.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.html#getTablet--">getTablet()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></dt>
+<dd>
+<div class="block">Returns the tablet which the scanner created from this token will access.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.html#getTabletId--">getTabletId()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPartitioner.html#getTabletMap--">getTabletMap()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client">KuduPartitioner</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#getTabletServers--">getTabletServers()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ListTabletServersResponse.html#getTabletServersCount--">getTabletServersCount()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client">ListTabletServersResponse</a></dt>
+<dd>
+<div class="block">Get the count of tablet servers as reported by the master.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ListTabletServersResponse.html#getTabletServersList--">getTabletServersList()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client">ListTabletServersResponse</a></dt>
+<dd>
+<div class="block">Get the list of tablet servers, as represented by their hostname.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Statistics.html#getTabletSet--">getTabletSet()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></dt>
+<dd>
+<div class="block">Get the set of tablets which have been written into by this client,
+ which have statistics information.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getTabletsLocations-long-">getTabletsLocations(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use the <a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#getTabletsLocations-byte:A-byte:A-long-">getTabletsLocations(byte[], byte[], long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use the <a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Statistics.html#getTabletStatistic-java.lang.String-org.apache.kudu.client.Statistics.Statistic-">getTabletStatistic(String, Statistics.Statistic)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></dt>
+<dd>
+<div class="block">Get the statistic count of this tablet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#getTimeoutMillis--">getTimeoutMillis()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#getTimeoutMillis--">getTimeoutMillis()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#getTimeoutMillis--">getTimeoutMillis()</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Get the current timeout.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getTimestamp-java.lang.String-">getTimestamp(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's Timestamp.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getTimestamp-int-">getTimestamp(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's Timestamp.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getTimestamp-java.lang.String-">getTimestamp(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's Timestamp.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getTimestamp-int-">getTimestamp(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's Timestamp.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowError.html#getTsUUID--">getTsUUID()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a></dt>
+<dd>
+<div class="block">Get the identifier of the tablet server that sent the error.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getType--">getType()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Get the column's Type</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getType--">getType()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Get the column's Type</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getTypeAttributes--">getTypeAttributes()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Return the column type attributes for the column, or null if it is not known.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getTypeAttributes--">getTypeAttributes()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Return the column type attributes for the column, or null if it is not known.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getTypeForDataType-org.apache.kudu.Common.DataType-">getTypeForDataType(Common.DataType)</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">Convert the pb DataType to a Type</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getTypeForDataType-org.apache.kudu.Common.DataType-">getTypeForDataType(Common.DataType)</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">Convert the pb DataType to a Type</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getTypeForName-java.lang.String-">getTypeForName(String)</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">Create a Type from its name</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#getTypeForName-java.lang.String-">getTypeForName(String)</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">Create a Type from its name</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getTypeSize--">getTypeSize()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">The size of this type in bytes on the wire.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getTypeSize--">getTypeSize()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">The size of this type in bytes on the wire.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#getUpperBound--">getUpperBound()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Get the upper bound in its raw representation</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getVarchar-java.lang.String-">getVarchar(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's VARCHAR.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#getVarchar-int-">getVarchar(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get the specified column's VARCHAR.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getVarchar-int-">getVarchar(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's varchar.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getVarchar-java.lang.String-">getVarchar(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get the specified column's varchar.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getVarLengthColumnCount--">getVarLengthColumnCount()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the count of columns with variable length (BINARY/STRING) in
+ this schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#getVarLengthColumnCount--">getVarLengthColumnCount()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Get the count of columns with variable length (BINARY/STRING) in
+ this schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#getVarLengthData-int-">getVarLengthData(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getWireType--">getWireType()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Get the column's underlying DataType.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#getWireType--">getWireType()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Get the column's underlying DataType.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/OperationResponse.html#getWriteTimestampRaw--">getWriteTimestampRaw()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a></dt>
+<dd>
+<div class="block">Gives the write timestamp that was returned by the Tablet Server.</div>
+</dd>
+</dl>
+<a name="I:H">
+<!--   -->
+</a>
+<h2 class="title">H</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#hasColumn-java.lang.String-">hasColumn(String)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Returns true if the column exists.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#hasColumn-java.lang.String-">hasColumn(String)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Returns true if the column exists.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#hasColumnIds--">hasColumnIds()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Tells whether this schema includes IDs for columns.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#hasColumnIds--">hasColumnIds()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Tells whether this schema includes IDs for columns.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">HasFailedRpcException</span></a> - Interface in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Interface implemented by <a href="org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client"><code>KuduException</code></a>s that can tell you which
+ RPC failed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#hashCode--">hashCode()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.html#hashCode--">hashCode()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#hashCode--">hashCode()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#hashCode--">hashCode()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#hashCode--">hashCode()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#hashCode--">hashCode()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#hasIsDeleted--">hasIsDeleted()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#hasIsDeleted--">hasIsDeleted()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#hasIsDeleted--">hasIsDeleted()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#hasLastPropagatedTimestamp--">hasLastPropagatedTimestamp()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Checks if the client received any timestamps from a server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#hasLastPropagatedTimestamp--">hasLastPropagatedTimestamp()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Checks if the client received any timestamps from a server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#hasLength--">hasLength()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Returns true if the length is set;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#hasLength--">hasLength()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Returns true if the length is set;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#hasMoreRows--">hasMoreRows()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">Tells if the last rpc returned that there might be more rows to scan.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#hasMoreRows--">hasMoreRows()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Tells if the last rpc returned that there might be more rows to scan.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScannerIterator.html#hasNext-org.apache.kudu.client.KuduScannerIterator.NextRowsCallback-">hasNext(KuduScannerIterator.NextRowsCallback)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client">KuduScannerIterator</a></dt>
+<dd>
+<div class="block">Special implementation of hasNext that calls a callback each time
+ <a href="org/apache/kudu/client/KuduScanner.html#nextRows--"><code>KuduScanner.nextRows()</code></a> is called.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScannerIterator.html#hasNext--">hasNext()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client">KuduScannerIterator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResultIterator.html#hasNext--">hasNext()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#hasNullableColumns--">hasNullableColumns()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Tells if there's at least one nullable column</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#hasNullableColumns--">hasNullableColumns()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Tells if there's at least one nullable column</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#hasPendingOperations--">hasPendingOperations()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#hasPendingOperations--">hasPendingOperations()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#hasPendingOperations--">hasPendingOperations()</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Check if there are operations that haven't been completely applied.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#hasPrecision--">hasPrecision()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Returns true if the precision is set;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#hasPrecision--">hasPrecision()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Returns true if the precision is set;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/OperationResponse.html#hasRowError--">hasRowError()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a></dt>
+<dd>
+<div class="block">Tells if this operation response contains a row error.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#hasScale--">hasScale()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Returns true if the scale is set;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#hasScale--">hasScale()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Returns true if the scale is set;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#HEADS_TABLE_NAME_KEY">HEADS_TABLE_NAME_KEY</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a name="I:I">
+<!--   -->
+</a>
+<h2 class="title">I</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#IllegalState-java.lang.String-">IllegalState(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#IllegalState-java.lang.String-int-">IllegalState(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#importAuthenticationCredentials-byte:A-">importAuthenticationCredentials(byte[])</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Import data allowing this client to authenticate to the cluster.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#importAuthenticationCredentials-byte:A-">importAuthenticationCredentials(byte[])</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Import data allowing this client to authenticate to the cluster.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html#includeTableMetadata-boolean-">includeTableMetadata(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></dt>
+<dd>
+<div class="block">If the table metadata is included on the scan token a GetTableSchema
+ RPC call to the master can be avoided when deserializing each scan token
+ into a scanner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html#includeTabletMetadata-boolean-">includeTabletMetadata(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></dt>
+<dd>
+<div class="block">If the tablet metadata is included on the scan token a GetTableLocations
+ RPC call to the master can be avoided when scanning with a scanner constructed
+ from a scan token.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#Incomplete-java.lang.String-">Incomplete(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#Incomplete-java.lang.String-int-">Incomplete(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#index">index</a></span> - Variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#INDEX_RESET_LOCATION">INDEX_RESET_LOCATION</a></span> - Static variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Insert</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Represents a single row insert.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">InsertIgnore</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Represents a single row insert ignoring duplicate rows.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.html#intoScanner-org.apache.kudu.client.KuduClient-">intoScanner(KuduClient)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></dt>
+<dd>
+<div class="block">Creates a <a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a> from this scan token.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#INVALID_TXN_ID">INVALID_TXN_ID</a></span> - Static variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#InvalidArgument-java.lang.String-">InvalidArgument(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#InvalidArgument-java.lang.String-int-">InvalidArgument(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#IOError-java.lang.String-">IOError(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#IOError-java.lang.String-int-">IOError(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isAborted--">isAborted()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isAlreadyPresent--">isAlreadyPresent()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#isAlterTableDone-java.lang.String-">isAlterTableDone(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Check whether a previously issued alterTable() is done.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#isAlterTableDone-java.lang.String-">isAlterTableDone(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Waits for all of the tablets in a table to be altered, or until the
+ default admin operation timeout is reached.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">IsAlterTableDoneResponse</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Response to a isAlterTableDone command to use to know if an alter table is currently running on
+ the specified table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#isClosed--">isClosed()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#isClosed--">isClosed()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#isClosed--">isClosed()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#isClosed--">isClosed()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#isClosed--">isClosed()</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Returns true if this session has already been closed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#isCommitComplete--">isCommitComplete()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
+<dd>
+<div class="block">Check whether the commit phase for a transaction is complete.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isConfigurationError--">isConfigurationError()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isCorruption--">isCorruption()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPartitioner.html#isCovered-org.apache.kudu.client.PartialRow-">isCovered(PartialRow)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client">KuduPartitioner</a></dt>
+<dd>
+<div class="block">Determine if the given row falls into a valid partition.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#isCreateTableDone-java.lang.String-">isCreateTableDone(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Check whether a previously issued createTable() is done.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#isCreateTableDone-java.lang.String-">isCreateTableDone(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Waits for all of the tablets in a table to be created, or until the
+ default admin operation timeout is reached.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">IsCreateTableDoneResponse</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Response to an isCreateTableDone command.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#isDeleted--">isDeleted()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/IsAlterTableDoneResponse.html#isDone--">isDone()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client">IsAlterTableDoneResponse</a></dt>
+<dd>
+<div class="block">Tells if the table is done being altered or not.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/IsCreateTableDoneResponse.html#isDone--">isDone()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client">IsCreateTableDoneResponse</a></dt>
+<dd>
+<div class="block">Returns whether the table is done being created.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isEndOfFile--">isEndOfFile()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#isIgnoreAllDuplicateRows--">isIgnoreAllDuplicateRows()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#isIgnoreAllDuplicateRows--">isIgnoreAllDuplicateRows()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllDuplicateRows--">isIgnoreAllDuplicateRows()</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the AlreadyPresent type.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#isIgnoreAllNotFoundRows--">isIgnoreAllNotFoundRows()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#isIgnoreAllNotFoundRows--">isIgnoreAllNotFoundRows()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllNotFoundRows--">isIgnoreAllNotFoundRows()</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the NotFound type.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isIllegalState--">isIllegalState()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isIncomplete--">isIncomplete()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isInvalidArgument--">isInvalidArgument()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isIOError--">isIOError()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#isKey--">isKey()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Answers if the column part of the key</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#isKey--">isKey()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Answers if the column part of the key</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isNetworkError--">isNetworkError()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isNotAuthorized--">isNotAuthorized()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isNotFound--">isNotFound()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isNotSupported--">isNotSupported()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#isNull-java.lang.String-">isNull(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get if the specified column is NULL</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#isNull-int-">isNull(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get if the specified column is NULL</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#isNull-java.lang.String-">isNull(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get if the specified column is NULL</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#isNull-int-">isNull(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Get if the specified column is NULL</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#isNullable--">isNullable()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Answers if the column can be set to null</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#isNullable--">isNullable()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>
+<div class="block">Answers if the column can be set to null</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowErrorsAndOverflowStatus.html#isOverflowed--">isOverflowed()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a></dt>
+<dd>
+<div class="block">Check if the error collector had an overflow and had to discard row errors.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isRemoteError--">isRemoteError()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isRuntimeError--">isRuntimeError()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isServiceUnavailable--">isServiceUnavailable()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#isSet-java.lang.String-">isSet(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get if the specified column has been set</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#isSet-int-">isSet(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Get if the specified column has been set</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#isStatisticsEnabled--">isStatisticsEnabled()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Check if statistics collection is enabled for this client.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#isStatisticsEnabled--">isStatisticsEnabled()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Check if statistics collection is enabled for this client.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isTimedOut--">isTimedOut()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#isUninitialized--">isUninitialized()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#iterator--">iterator()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResultIterator.html#iterator--">iterator()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a name="I:K">
+<!--   -->
+</a>
+<h2 class="title">K</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#kdestroy--">kdestroy()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Removes all credentials for all principals from the Kerberos credential cache.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#keepAlive--">keepAlive()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">Keep the current remote scanner alive.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#keepAlive--">keepAlive()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Keep the current remote scanner alive.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#keepAlivePeriodMs-long-">keepAlivePeriodMs(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Set the period at which to send keep-alive requests to the tablet
+ server to ensure that this scanner will not time out.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#key-boolean-">key(boolean)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Sets if the column is part of the row key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#key-boolean-">key(boolean)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Sets if the column is part of the row key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#killAllMasterServers--">killAllMasterServers()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Kills all the master servers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#killAllTabletServers--">killAllTabletServers()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Kills all the tablet servers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#killLeaderMasterServer--">killLeaderMasterServer()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Helper method to easily kill the leader master.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.KuduTable-">killTabletLeader(KuduTable)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Helper method to easily kill a tablet server that serves the given table's only tablet's
+ leader.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.RemoteTablet-">killTabletLeader(RemoteTablet)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Helper method to kill a tablet server that hosts the given tablet's leader
+ replica.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.LocatedTablet-">killTabletLeader(LocatedTablet)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Helper method to kill a tablet server that serves the given tablet's leader
+ replica.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#kinit-java.lang.String-">kinit(String)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Re-initialize Kerberos credentials for the given username, writing them
+ into the Kerberos credential cache.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduClient</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">A synchronous and thread-safe client for Kudu.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduClient.KuduClientBuilder</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Builder class to use in order to connect to Kudu.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#KuduClientBuilder-java.lang.String-">KuduClientBuilder(String)</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block">Creates a new builder for a client that will connect to the specified masters.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#KuduClientBuilder-java.util.List-">KuduClientBuilder(List&lt;String&gt;)</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block">Creates a new builder for a client that will connect to the specified masters.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduException</span></a> - Exception in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">The parent class of all exceptions sent by the Kudu client.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduException.OriginalException</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">When exceptions are thrown by the asynchronous Kudu client, the stack trace is
+ typically deep within the internals of the Kudu client and/or Netty.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduPartitioner</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">A KuduPartitioner allows clients to determine the target partition of a
+ row without actually performing a write.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPartitioner.html#KuduPartitioner-org.apache.kudu.client.PartitionSchema-java.util.Map-">KuduPartitioner(PartitionSchema, Map&lt;String, Partition&gt;)</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client">KuduPartitioner</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduPartitioner.KuduPartitionerBuilder</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">A Builder class to build <a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><code>KuduPartitioner</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html#KuduPartitionerBuilder-org.apache.kudu.client.KuduTable-">KuduPartitionerBuilder(KuduTable)</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client">KuduPartitioner.KuduPartitionerBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduPredicate</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">A predicate which can be used to filter rows based on the value of a column.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">KuduPredicate.ComparisonOp</span></a> - Enum in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">The comparison operator of a predicate.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanner</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Synchronous version of <a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner</code></a>.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanner.KuduScannerBuilder</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">A Builder class to build <a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a>.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScannerIterator</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">An iterator for the RowResults of a KuduScanner.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanToken</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">A scan token describes a partial scan of a Kudu table limited to a single
+ contiguous physical location.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanToken.KuduScanTokenBuilder</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Builds a sequence of scan tokens.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduSession</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Synchronous version of <a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><code>AsyncKuduSession</code></a>.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTable</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">A KuduTable represents a table on a particular cluster.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTableStatistics</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Represent statistics belongs to a specific kudu table.</div>
+</dd>
+<dt><a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test"><span class="typeNameLink">KuduTestHarness</span></a> - Class in <a href="org/apache/kudu/test/package-summary.html">org.apache.kudu.test</a></dt>
+<dd>
+<div class="block">A Junit Rule that manages a Kudu cluster and clients for testing.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#KuduTestHarness-org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder-">KuduTestHarness(MiniKuduCluster.MiniKuduClusterBuilder)</a></span> - Constructor for class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#KuduTestHarness--">KuduTestHarness()</a></span> - Constructor for class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTransaction</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">A handle for a multi-row transaction in Kudu.</div>
+</dd>
+</dl>
+<a name="I:L">
+<!--   -->
+</a>
+<h2 class="title">L</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#length-int-">length(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#length-int-">length(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#limit-long-">limit(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Sets a limit on the number of rows that will be returned by the scanner.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ListTablesResponse</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#listTabletServers--">listTabletServers()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Get the list of running tablet servers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#listTabletServers--">listTabletServers()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Get the list of running tablet servers.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ListTabletServersResponse</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client"><span class="typeNameLink">LocatedTablet</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Information about the locations of tablets in a Kudu table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.html#LocatedTablet-org.apache.kudu.client.RemoteTablet-">LocatedTablet(RemoteTablet)</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client"><span class="typeNameLink">LocatedTablet.Replica</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">One of the replicas of the tablet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#LOG">LOG</a></span> - Static variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#LOG">LOG</a></span> - Static variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBound-org.apache.kudu.client.PartialRow-">lowerBound(PartialRow)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Add a lower bound (inclusive) primary key for the scan.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBoundRaw-byte:A-">lowerBoundRaw(byte[])</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBound-org.apache.kudu.client.PartialRow-"><code>AbstractKuduScannerBuilder.lowerBound(PartialRow)</code></a></span></div>
+</div>
+</dd>
+</dl>
+<a name="I:M">
+<!--   -->
+</a>
+<h2 class="title">M</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#mayContain-byte:A-">mayContain(byte[])</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#mayContain-boolean-">mayContain(boolean)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#mayContain-byte-">mayContain(byte)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#mayContain-short-">mayContain(short)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#mayContain-int-">mayContain(int)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#mayContain-long-">mayContain(long)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#mayContain-float-">mayContain(float)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#mayContain-double-">mayContain(double)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#mayContain-java.lang.String-">mayContain(String)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a name="I:N">
+<!--   -->
+</a>
+<h2 class="title">N</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#NetworkError-java.lang.String-">NetworkError(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#NetworkError-java.lang.String-int-">NetworkError(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#newAsyncKuduSession--">newAsyncKuduSession()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
+<dd>
+<div class="block">Create a new <a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><code>AsyncKuduSession</code></a> based on this transaction.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-boolean-">newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, boolean)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new <code>KuduPredicate</code> on a boolean column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-long-">newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, long)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new comparison predicate on an integer or timestamp column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.math.BigDecimal-">newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, BigDecimal)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new comparison predicate on a Decimal column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.sql.Timestamp-">newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, Timestamp)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new comparison predicate on a timestamp column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.sql.Date-">newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, Date)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new comparison predicate on a date column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-float-">newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, float)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new comparison predicate on a float column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-double-">newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, double)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new comparison predicate on a double column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.lang.String-">newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new comparison predicate on a string column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-byte:A-">newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, byte[])</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new comparison predicate on a binary column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.lang.Object-">newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, Object)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new comparison predicate on a column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#newDelete--">newDelete()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get a new delete configured with this table's schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#newDeleteIgnore--">newDeleteIgnore()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get a new delete ignore configured with this table's schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newInListPredicate-org.apache.kudu.ColumnSchema-java.util.List-">newInListPredicate(ColumnSchema, List&lt;T&gt;)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new IN list predicate.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#newInsert--">newInsert()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get a new insert configured with this table's schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#newInsertIgnore--">newInsertIgnore()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get a new insert ignore configured with this table's schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newIsNotNullPredicate-org.apache.kudu.ColumnSchema-">newIsNotNullPredicate(ColumnSchema)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new <code>IS NOT NULL</code> predicate.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#newIsNullPredicate-org.apache.kudu.ColumnSchema-">newIsNullPredicate(ColumnSchema)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Creates a new <code>IS NULL</code> predicate.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#newKuduSession--">newKuduSession()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
+<dd>
+<div class="block">Create a new <a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><code>KuduSession</code></a> based on this transaction.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#newPartialRow--">newPartialRow()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Creates a new partial row for the schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#newPartialRow--">newPartialRow()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Creates a new partial row for the schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#newScannerBuilder-org.apache.kudu.client.KuduTable-">newScannerBuilder(KuduTable)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Creates a new <a href="org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner.AsyncKuduScannerBuilder</code></a> for a particular table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#newScannerBuilder-org.apache.kudu.client.KuduTable-">newScannerBuilder(KuduTable)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Creates a new <a href="org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><code>KuduScanner.KuduScannerBuilder</code></a> for a particular table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#newScanTokenBuilder-org.apache.kudu.client.KuduTable-">newScanTokenBuilder(KuduTable)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Creates a new <a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client"><code>KuduScanToken.KuduScanTokenBuilder</code></a> for a particular table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#newSession--">newSession()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Create a new session for interacting with the cluster.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#newSession--">newSession()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Create a new session for interacting with the cluster.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#newTransaction--">newTransaction()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Start a new multi-row distributed transaction.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#newUpdate--">newUpdate()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get a new update configured with this table's schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#newUpdateIgnore--">newUpdateIgnore()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get a new update ignore configured with this table's schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTable.html#newUpsert--">newUpsert()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></dt>
+<dd>
+<div class="block">Get a new upsert configured with this table's schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScannerIterator.html#next--">next()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client">KuduScannerIterator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#nextRows--">nextRows()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">Scans a number of rows.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#nextRows--">nextRows()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Scans a number of rows.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#nioExecutor-java.util.concurrent.Executor-">nioExecutor(Executor)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block">Set the executor which will be used for the embedded Netty workers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#nioExecutor-java.util.concurrent.Executor-">nioExecutor(Executor)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block">Set the executor which will be used for the embedded Netty workers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#nioExecutors-java.util.concurrent.Executor-java.util.concurrent.Executor-">nioExecutors(Executor, Executor)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#nioExecutors-java.util.concurrent.Executor-java.util.concurrent.Executor-">nioExecutors(Executor, Executor)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#NO_TIMESTAMP">NO_TIMESTAMP</a></span> - Static variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#NO_TIMESTAMP">NO_TIMESTAMP</a></span> - Static variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#NotAuthorized-java.lang.String-">NotAuthorized(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#NotAuthorized-java.lang.String-int-">NotAuthorized(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#NotFound-java.lang.String-">NotFound(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#NotFound-java.lang.String-int-">NotFound(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#NotSupported-java.lang.String-">NotSupported(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#NotSupported-java.lang.String-int-">NotSupported(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#nullable-boolean-">nullable(boolean)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Marks the column as allowing null values.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#nullable-boolean-">nullable(boolean)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Marks the column as allowing null values.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPartitioner.html#numPartitions--">numPartitions()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client">KuduPartitioner</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResultIterator.html#numRows">numRows</a></span> - Variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a name="I:O">
+<!--   -->
+</a>
+<h2 class="title">O</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#OK--">OK()</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#ok--">ok()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#openTable-java.lang.String-">openTable(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Open the table with the given name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#openTable-java.lang.String-">openTable(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Open the table with the given name.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Operation</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Base class for the RPCs that related to WriteRequestPB.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">OperationResponse</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/package-summary.html">org.apache.kudu</a> - package org.apache.kudu</dt>
+<dd>&nbsp;</dd>
+</dl>
+<a name="I:P">
+<!--   -->
+</a>
+<h2 class="title">P</h2>
+<dl>
+<dt><a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client"><span class="typeNameLink">PartialRow</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Class used to represent parts of a row along with its schema.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#PartialRow-org.apache.kudu.Schema-">PartialRow(Schema)</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">This is not a stable API, prefer using <a href="org/apache/kudu/Schema.html#newPartialRow--"><code>Schema.newPartialRow()</code></a>
+ to create a new partial row.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Operation.html#partitionKey--">partitionKey()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPartitioner.html#partitionRow-org.apache.kudu.client.PartialRow-">partitionRow(PartialRow)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client">KuduPartitioner</a></dt>
+<dd>
+<div class="block">Determine the partition index that the given row falls into.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#pauseLeaderMaster--">pauseLeaderMaster()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Finds and pauses the leader master.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#pauseMaster-org.apache.kudu.client.HostAndPort-">pauseMaster(HostAndPort)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Pauses the specified master.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html#pbVersion--">pbVersion()</a></span> - Method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ExternalConsistencyMode.html#pbVersion--">pbVersion()</a></span> - Method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">PleaseThrottleException</span></a> - Exception in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">This exception notifies the application to throttle its use of Kudu.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#precision-int-">precision(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></dt>
+<dd>
+<div class="block">Set the precision.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#precision-int-">precision(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></dt>
+<dd>
+<div class="block">Set the precision.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#prefetching-boolean-">prefetching(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Enables prefetching of rows for the scanner, i.e.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#put-byte:A-">put(byte[])</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Update bloom filter with a <code>byte[]</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#put-boolean-">put(boolean)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Update bloom filter with a <code>boolean</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#put-byte-">put(byte)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Update bloom filter with a <code>byte</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#put-short-">put(short)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Update bloom filter with a <code>short</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#put-int-">put(int)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Update bloom filter with a <code>int</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#put-long-">put(long)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Update bloom filter with a <code>long</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#put-float-">put(float)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Update bloom filter with a <code>float</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#put-double-">put(double)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Update bloom filter with a <code>double</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#put-java.lang.String-">put(String)</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>
+<div class="block">Update bloom filter with a <code>String</code>.</div>
+</dd>
+</dl>
+<a name="I:R">
+<!--   -->
+</a>
+<h2 class="title">R</h2>
+<dl>
+<dt><a href="org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">RangePartitionBound</span></a> - Enum in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Specifies whether a range partition bound is inclusive or exclusive.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#readMode-org.apache.kudu.client.AsyncKuduScanner.ReadMode-">readMode(AsyncKuduScanner.ReadMode)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Sets the read mode, the default is to read the latest values.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#RemoteError-java.lang.String-">RemoteError(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#RemoteError-java.lang.String-int-">RemoteError(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResultIterator.html#remove--">remove()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#removeDefault-java.lang.String-">removeDefault(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Remove the default value for a column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#renameColumn-java.lang.String-java.lang.String-">renameColumn(String, String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Change the name of a column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#renameTable-java.lang.String-">renameTable(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Change a table's name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#replicaSelection-org.apache.kudu.client.ReplicaSelection-">replicaSelection(ReplicaSelection)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Sets the replica selection mechanism for this scanner.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">ReplicaSelection</span></a> - Enum in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Policy with which to choose amongst multiple replicas.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#resetClients--">resetClients()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Resets the clients so that their state is completely fresh, including meta
+ cache, connections, open tables, sessions and scanners, and propagated timestamp.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ResourceMetrics</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">A container for scanner resource metrics.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ResourceMetrics.html#ResourceMetrics--">ResourceMetrics()</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client">ResourceMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#restartLeaderMaster--">restartLeaderMaster()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Kills and restarts the leader master.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#restartTabletServer-org.apache.kudu.client.KuduTable-">restartTabletServer(KuduTable)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Picks at random a tablet server that serves tablets from the passed table and restarts it.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#restartTabletServer-org.apache.kudu.client.RemoteTablet-">restartTabletServer(RemoteTablet)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Kills a tablet server that serves the given tablet's leader and restarts it.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#resumeMaster-org.apache.kudu.client.HostAndPort-">resumeMaster(HostAndPort)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Resumes the specified master.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#rollback--">rollback()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
+<dd>
+<div class="block">Rollback the multi-row distributed transaction represented by this object.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowError</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Wrapper class for a single row error.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowErrorsAndOverflowStatus</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Container class used as a response when retrieving pending row errors.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowResult</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">RowResult represents one row from a scanner.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowResultIterator</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Class that contains the rows sent by a tablet server, exhausting this iterator only means
+ that all the rows from the last server response were read.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#rowToString--">rowToString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>
+<div class="block">Return the actual data from this row in a stringified key=value
+ form.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#RuntimeError-java.lang.String-">RuntimeError(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#RuntimeError-java.lang.String-int-">RuntimeError(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a name="I:S">
+<!--   -->
+</a>
+<h2 class="title">S</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#saslProtocolName-java.lang.String-">saslProtocolName(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block">Set the SASL protocol name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#saslProtocolName-java.lang.String-">saslProtocolName(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block">Set the SASL protocol name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#scale-int-">scale(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></dt>
+<dd>
+<div class="block">Set the scale.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#scale-int-">scale(int)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></dt>
+<dd>
+<div class="block">Set the scale.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#scanRequestTimeout-long-">scanRequestTimeout(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Sets how long each scan request to a server can last.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#schema">schema</a></span> - Variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResultIterator.html#schema">schema</a></span> - Variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu"><span class="typeNameLink">Schema</span></a> - Class in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Represents table's schema which is essentially a list of columns.</div>
+</dd>
+<dt><a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu"><span class="typeNameLink">Schema</span></a> - Class in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Represents table's schema which is essentially a list of columns.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#Schema-java.util.List-">Schema(List&lt;ColumnSchema&gt;)</a></span> - Constructor for class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Constructs a schema using the specified columns and does some internal accounting</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#Schema-java.util.List-java.util.List-">Schema(List&lt;ColumnSchema&gt;, List&lt;Integer&gt;)</a></span> - Constructor for class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Constructs a schema using the specified columns and IDs.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#Schema-java.util.List-">Schema(List&lt;ColumnSchema&gt;)</a></span> - Constructor for class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Constructs a schema using the specified columns and does some internal accounting</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Schema.html#Schema-java.util.List-java.util.List-">Schema(List&lt;ColumnSchema&gt;, List&lt;Integer&gt;)</a></span> - Constructor for class org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></dt>
+<dd>
+<div class="block">Constructs a schema using the specified columns and IDs.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#serialize-java.util.List-">serialize(List&lt;KuduPredicate&gt;)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Serializes a list of <code>KuduPredicate</code> into a byte array.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.html#serialize--">serialize()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></dt>
+<dd>
+<div class="block">Serializes this <code>KuduScanToken</code> into a byte array.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#serialize-org.apache.kudu.client.KuduTransaction.SerializationOptions-">serialize(KuduTransaction.SerializationOptions)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
+<dd>
+<div class="block">Export information on the underlying transaction in a serialized form.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#serialize--">serialize()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
+<dd>
+<div class="block">A shortcut for the <a href="org/apache/kudu/client/KuduTransaction.html#serialize-org.apache.kudu.client.KuduTransaction.SerializationOptions-"><code>KuduTransaction.serialize(SerializationOptions)</code></a>
+ method invoked with default-constructed <code>KuduTransaction.SerializationOptions</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#ServiceUnavailable-java.lang.String-">ServiceUnavailable(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#ServiceUnavailable-java.lang.String-int-">ServiceUnavailable(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">SessionConfiguration</span></a> - Interface in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Interface that defines the methods used to configure a session.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">SessionConfiguration.FlushMode</span></a> - Enum in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#setComment-java.lang.String-">setComment(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Change a table's comment.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#setComment-java.lang.String-">setComment(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Set the table comment.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#setDimensionLabel-java.lang.String-">setDimensionLabel(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Sets the dimension label for all tablets created at table creation time.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#setErrorCollectorSpace-int-">setErrorCollectorSpace(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#setErrorCollectorSpace-int-">setErrorCollectorSpace(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#setErrorCollectorSpace-int-">setErrorCollectorSpace(int)</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Set the number of errors that can be collected.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">setExternalConsistencyMode(ExternalConsistencyMode)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">setExternalConsistencyMode(ExternalConsistencyMode)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">setExternalConsistencyMode(ExternalConsistencyMode)</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Set the new external consistency mode for this session.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#setExtraConfigs-java.util.Map-">setExtraConfigs(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Sets the table's extra configuration properties.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#setFaultTolerant-boolean-">setFaultTolerant(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Make scans resumable at another tablet server if current server fails if
+ isFaultTolerant is true.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#setFlushInterval-int-">setFlushInterval(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#setFlushInterval-int-">setFlushInterval(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#setFlushInterval-int-">setFlushInterval(int)</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Set the flush interval, which will be used for the next scheduling decision.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">setFlushMode(SessionConfiguration.FlushMode)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">setFlushMode(SessionConfiguration.FlushMode)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">setFlushMode(SessionConfiguration.FlushMode)</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Set the new flush mode for this session.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#setIgnoreAllDuplicateRows-boolean-">setIgnoreAllDuplicateRows(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#setIgnoreAllDuplicateRows-boolean-">setIgnoreAllDuplicateRows(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllDuplicateRows-boolean-">setIgnoreAllDuplicateRows(boolean)</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Configures the option to ignore all the row errors if they are all of the AlreadyPresent type.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#setIgnoreAllNotFoundRows-boolean-">setIgnoreAllNotFoundRows(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#setIgnoreAllNotFoundRows-boolean-">setIgnoreAllNotFoundRows(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllNotFoundRows-boolean-">setIgnoreAllNotFoundRows(boolean)</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Configures the option to ignore all the row errors if they are all of the NotFound type.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-boolean-">setLowerBound(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a boolean for the lower bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-byte-">setLowerBound(byte)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a byte for the lower bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-short-">setLowerBound(short)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a short for the lower bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-int-">setLowerBound(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set an int for the lower bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-long-">setLowerBound(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a long for the lower bound
+
+ If 'lowerBound' is a timestamp see <a href="org/apache/kudu/client/PartialRow.html#addLong-java.lang.String-long-"><code>PartialRow.addLong(String, long)</code></a> for the
+ format.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-java.lang.String-">setLowerBound(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a string for the lower bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-byte:A-">setLowerBound(byte[])</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a binary value for the lower bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-float-">setLowerBound(float)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a float for the lower bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-double-">setLowerBound(double)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a double for the lower bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-java.math.BigDecimal-">setLowerBound(BigDecimal)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a BigDecimal for the lower bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark(float)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark(float)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark(float)</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">The low watermark no longer has any effect.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#setMutationBufferSpace-int-">setMutationBufferSpace(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#setMutationBufferSpace-int-">setMutationBufferSpace(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#setMutationBufferSpace-int-">setMutationBufferSpace(int)</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Set the number of operations that can be buffered.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#setNull-int-">setNull(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Set the specified column to null</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#setNull-java.lang.String-">setNull(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Set the specified column to null</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#setNumReplicas-int-">setNumReplicas(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Sets the number of replicas that each tablet will have.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#setOwner-java.lang.String-">setOwner(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Change a table's owner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#setOwner-java.lang.String-">setOwner(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Set the table owner as the provided username.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#setProjectedColumnIndexes-java.util.List-">setProjectedColumnIndexes(List&lt;Integer&gt;)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Set which columns will be read by the Scanner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#setProjectedColumnNames-java.util.List-">setProjectedColumnNames(List&lt;String&gt;)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Set which columns will be read by the Scanner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#setRangePartitionColumns-java.util.List-">setRangePartitionColumns(List&lt;String&gt;)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Set the columns on which the table will be range-partitioned.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#setReuseRowResult-boolean-">setReuseRowResult(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">If set to true, the <a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><code>RowResult</code></a> object returned by the <a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><code>RowResultIterator</code></a>
+ will be reused with each call to <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#next--" title="class or interface in java.util"><code>Iterator.next()</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#setReuseRowResult-boolean-">setReuseRowResult(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">If set to true, the <a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><code>RowResult</code></a> object returned by the <a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><code>RowResultIterator</code></a>
+ will be reused with each call to <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#next--" title="class or interface in java.util"><code>Iterator.next()</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Operation.html#setRow-org.apache.kudu.client.PartialRow-">setRow(PartialRow)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></dt>
+<dd>
+<div class="block">Set the underlying row.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#setRowDataFormat-org.apache.kudu.client.AsyncKuduScanner.RowDataFormat-">setRowDataFormat(AsyncKuduScanner.RowDataFormat)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>
+<div class="block">Optionally set expected row data format.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanner.html#setRowDataFormat-org.apache.kudu.client.AsyncKuduScanner.RowDataFormat-">setRowDataFormat(AsyncKuduScanner.RowDataFormat)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dt>
+<dd>
+<div class="block">Optionally set expected row data format.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html#setSplitSizeBytes-long-">setSplitSizeBytes(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></dt>
+<dd>
+<div class="block">Sets the data size of key range.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html#setTimeout-long-">setTimeout(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></dt>
+<dd>
+<div class="block">Sets a timeout value to use when building the list of scan tokens.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduSession.html#setTimeoutMillis-long-">setTimeoutMillis(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduSession.html#setTimeoutMillis-long-">setTimeoutMillis(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.html#setTimeoutMillis-long-">setTimeoutMillis(long)</a></span> - Method in interface org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dt>
+<dd>
+<div class="block">Sets the timeout for the next applied operations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-boolean-">setUpperBound(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a boolean for the upper bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-byte-">setUpperBound(byte)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a byte for the upper bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-short-">setUpperBound(short)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a short for the upper bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-int-">setUpperBound(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set an int for the upper bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-long-">setUpperBound(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a long for the upper bound
+
+ If 'upperBound' is a timestamp see <a href="org/apache/kudu/client/PartialRow.html#addLong-java.lang.String-long-"><code>PartialRow.addLong(String, long)</code></a> for the
+ format.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-java.lang.String-">setUpperBound(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a string for the upper bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-byte:A-">setUpperBound(byte[])</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a binary value for the upper bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-float-">setUpperBound(float)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a float for the upper bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-double-">setUpperBound(double)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a double for the upper bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-java.math.BigDecimal-">setUpperBound(BigDecimal)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Set a BigDecimal for the upper bound</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AlterTableOptions.html#setWait-boolean-">setWait(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></dt>
+<dd>
+<div class="block">Whether to wait for the table to be fully altered before this alter
+ operation is considered to be finished.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/CreateTableOptions.html#setWait-boolean-">setWait(boolean)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></dt>
+<dd>
+<div class="block">Whether to wait for the table to be fully created before this create
+ operation is considered to be finished.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#shutdown--">shutdown()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Performs a graceful shutdown of this instance.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#shutdown--">shutdown()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Performs a graceful shutdown of this instance.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#SLEEP_TIME">SLEEP_TIME</a></span> - Static variable in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#snapshotTimestampMicros-long-">snapshotTimestampMicros(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Sets the timestamp the scan must be executed at, in microseconds since the Unix epoch.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html#snapshotTimestampRaw-long-">snapshotTimestampRaw(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></dt>
+<dd>
+<div class="block">Sets a previously encoded HT timestamp as a snapshot timestamp, for tests.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#startAllMasterServers--">startAllMasterServers()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Starts all the master servers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#startAllTabletServers--">startAllTabletServers()</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Starts all the tablet servers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduTransaction.html#startCommit--">startCommit()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></dt>
+<dd>
+<div class="block">Start committing the multi-row distributed transaction represented by
+ this handle.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#startMaster-org.apache.kudu.client.HostAndPort-">startMaster(HostAndPort)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Start master which has previously been registered at the specified
+ host and port.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/test/KuduTestHarness.html#startTabletServer-org.apache.kudu.client.HostAndPort-">startTabletServer(HostAndPort)</a></span> - Method in class org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></dt>
+<dd>
+<div class="block">Start tablet server which has previously been registered at the specified
+ host and port.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Statistics</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">A Statistics belongs to a specific AsyncKuduClient.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Statistics.html#Statistics--">Statistics()</a></span> - Constructor for class org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Statistics.Statistic</span></a> - Enum in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">The statistic enum to pass when querying.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Status</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Representation of an error code and message.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#stringifyRowKey--">stringifyRowKey()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dd>
+<div class="block">Transforms the row key into a string representation where each column is in the format:
+ "type col_name=value".</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduScanToken.html#stringifySerializedToken-byte:A-org.apache.kudu.client.KuduClient-">stringifySerializedToken(byte[], KuduClient)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></dt>
+<dd>
+<div class="block">Formats the serialized token for debug printing.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#supportsIgnoreOperations--">supportsIgnoreOperations()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Sends a request to the master to check if the cluster supports ignore operations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#supportsIgnoreOperations--">supportsIgnoreOperations()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Sends a request to the master to check if the cluster supports ignore operations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#syncClient--">syncClient()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Returns a synchronous <a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a> which wraps this asynchronous client.</div>
+</dd>
+</dl>
+<a name="I:T">
+<!--   -->
+</a>
+<h2 class="title">T</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html#TABLE_NAME_KEY">TABLE_NAME_KEY</a></span> - Static variable in class org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#tableExists-java.lang.String-">tableExists(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Test if a table exists.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#tableExists-java.lang.String-">tableExists(String)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Test if a table exists.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#TimedOut-java.lang.String-">TimedOut(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#TimedOut-java.lang.String-int-">TimedOut(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#toByteArray-java.util.List-">toByteArray(List&lt;ColumnRangePredicate&gt;)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Converts a list of predicates into an opaque byte array.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ColumnRangePredicate.html#toKuduPredicate--">toKuduPredicate()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Convert this column range predicate into a <a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><code>KuduPredicate</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#toPB--">toPB()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>
+<div class="block">Convert the predicate to the protobuf representation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.html#toString--">toString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.html#toString--">toString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.Replica.html#toString--">toString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/LocatedTablet.html#toString--">toString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/PartialRow.html#toString--">toString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowError.html#toString--">toString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Statistics.html#toString--">toString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#toString--">toString()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>
+<div class="block">Get a human-readable version of the Status message fit for logging or display.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#toString--">toString()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.html#toString--">toString()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#toString--">toString()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#toString--">toString()</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#toString--">toString()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#toString--">toString()</a></span> - Method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/util/BloomFilter.html#toString--">toString()</a></span> - Method in class org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#toStringForType-org.apache.kudu.Type-">toStringForType(Type)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Return a string representation appropriate for `type`.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnTypeAttributes.html#toStringForType-org.apache.kudu.Type-">toStringForType(Type)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dt>
+<dd>
+<div class="block">Return a string representation appropriate for `type`.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RowResult.html#toStringLongFormat--">toStringLongFormat()</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu"><span class="typeNameLink">Type</span></a> - Enum in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Describes all the types available to build table schemas.</div>
+</dd>
+<dt><a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu"><span class="typeNameLink">Type</span></a> - Enum in <a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></dt>
+<dd>
+<div class="block">Describes all the types available to build table schemas.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#typeAttributes-org.apache.kudu.ColumnTypeAttributes-">typeAttributes(ColumnTypeAttributes)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Set the column type attributes for this column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#typeAttributes-org.apache.kudu.ColumnTypeAttributes-">typeAttributes(ColumnTypeAttributes)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Set the column type attributes for this column.</div>
+</dd>
+</dl>
+<a name="I:U">
+<!--   -->
+</a>
+<h2 class="title">U</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#Uninitialized-java.lang.String-">Uninitialized(String)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Status.html#Uninitialized-java.lang.String-int-">Uninitialized(String, int)</a></span> - Static method in class org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Update</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Operation to update columns on an existing row.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">UpdateIgnore</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Represents a single row update ignoring missing rows.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.html#updateLastPropagatedTimestamp-long-">updateLastPropagatedTimestamp(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dt>
+<dd>
+<div class="block">Updates the last timestamp received from a server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.html#updateLastPropagatedTimestamp-long-">updateLastPropagatedTimestamp(long)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dt>
+<dd>
+<div class="block">Updates the last timestamp received from a server.</div>
+</dd>
+<dt><a href="org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Upsert</span></a> - Class in <a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></dt>
+<dd>
+<div class="block">Represents a single row upsert.</div>
+</dd>
+</dl>
+<a name="I:V">
+<!--   -->
+</a>
+<h2 class="title">V</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ExternalConsistencyMode.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.ComparisonOp.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RangePartitionBound.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ReplicaSelection.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.FlushMode.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Statistics.Statistic.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.Encoding.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.Encoding.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html#values--">values()</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html#values--">values()</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ExternalConsistencyMode.html#values--">values()</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduPredicate.ComparisonOp.html#values--">values()</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/RangePartitionBound.html#values--">values()</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/ReplicaSelection.html#values--">values()</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/SessionConfiguration.FlushMode.html#values--">values()</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/Statistics.Statistic.html#values--">values()</a></span> - Static method in enum org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#values--">values()</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#values--">values()</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.Encoding.html#values--">values()</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.Encoding.html#values--">values()</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#values--">values()</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/Type.html#values--">values()</a></span> - Static method in enum org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+</dl>
+<a name="I:W">
+<!--   -->
+</a>
+<h2 class="title">W</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#wireType-org.apache.kudu.Common.DataType-">wireType(Common.DataType)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Allows an alternate <code>Common.DataType</code> to override the <a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu"><code>Type</code></a>
+ when serializing the ColumnSchema on the wire.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#wireType-org.apache.kudu.Common.DataType-">wireType(Common.DataType)</a></span> - Method in class org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></dt>
+<dd>
+<div class="block">Allows an alternate <code>Common.DataType</code> to override the <a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu"><code>Type</code></a>
+ when serializing the ColumnSchema on the wire.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#workerCount-int-">workerCount(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></dt>
+<dd>
+<div class="block">Set the maximum number of Netty worker threads.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html#workerCount-int-">workerCount(int)</a></span> - Method in class org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></dt>
+<dd>
+<div class="block">Set the maximum number of worker threads.</div>
+</dd>
+</dl>
+<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li class="navBarCell1Rev">Index</li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
+<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/index.html b/releases/1.15.0/apidocs/index.html
new file mode 100644
index 0000000..6ed0808
--- /dev/null
+++ b/releases/1.15.0/apidocs/index.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Generated Documentation (Untitled)</title>
+<script type="text/javascript">
+    tmpTargetPage = "" + window.location.search;
+    if (tmpTargetPage != "" && tmpTargetPage != "undefined")
+        tmpTargetPage = tmpTargetPage.substring(1);
+    if (tmpTargetPage.indexOf(":") != -1 || (tmpTargetPage != "" && !validURL(tmpTargetPage)))
+        tmpTargetPage = "undefined";
+    targetPage = tmpTargetPage;
+    function validURL(url) {
+        try {
+            url = decodeURIComponent(url);
+        }
+        catch (error) {
+            return false;
+        }
+        var pos = url.indexOf(".html");
+        if (pos == -1 || pos != url.length - 5)
+            return false;
+        var allowNumber = false;
+        var allowSep = false;
+        var seenDot = false;
+        for (var i = 0; i < url.length - 5; i++) {
+            var ch = url.charAt(i);
+            if ('a' <= ch && ch <= 'z' ||
+                    'A' <= ch && ch <= 'Z' ||
+                    ch == '$' ||
+                    ch == '_' ||
+                    ch.charCodeAt(0) > 127) {
+                allowNumber = true;
+                allowSep = true;
+            } else if ('0' <= ch && ch <= '9'
+                    || ch == '-') {
+                if (!allowNumber)
+                     return false;
+            } else if (ch == '/' || ch == '.') {
+                if (!allowSep)
+                    return false;
+                allowNumber = false;
+                allowSep = false;
+                if (ch == '.')
+                     seenDot = true;
+                if (ch == '/' && seenDot)
+                     return false;
+            } else {
+                return false;
+            }
+        }
+        return true;
+    }
+    function loadFrames() {
+        if (targetPage != "" && targetPage != "undefined")
+             top.classFrame.location = top.targetPage;
+    }
+</script>
+</head>
+<frameset cols="20%,80%" title="Documentation frame" onload="top.loadFrames()">
+<frameset rows="30%,70%" title="Left frames" onload="top.loadFrames()">
+<frame src="overview-frame.html" name="packageListFrame" title="All Packages">
+<frame src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
+</frameset>
+<frame src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
+<noframes>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<h2>Frame Alert</h2>
+<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p>
+</noframes>
+</frameset>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html b/releases/1.15.0/apidocs/org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html
new file mode 100644
index 0000000..8f07d35
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html
@@ -0,0 +1,485 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ColumnSchema.ColumnSchemaBuilder</title>
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnSchema.ColumnSchemaBuilder";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" target="_top">Frames</a></li>
+<li><a href="ColumnSchema.ColumnSchemaBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu</div>
+<h2 title="Class ColumnSchema.ColumnSchemaBuilder" class="title">Class ColumnSchema.ColumnSchemaBuilder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.ColumnSchema.ColumnSchemaBuilder</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static class <span class="typeNameLabel">ColumnSchema.ColumnSchemaBuilder</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Builder for ColumnSchema.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#ColumnSchemaBuilder-org.apache.kudu.ColumnSchema-">ColumnSchemaBuilder</a></span>(<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;that)</code>
+<div class="block">Constructor to copy an existing columnSchema</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#ColumnSchemaBuilder-java.lang.String-org.apache.kudu.Type-">ColumnSchemaBuilder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                   <a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;type)</code>
+<div class="block">Constructor for the required parameters.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#build--">build</a></span>()</code>
+<div class="block">Builds a <a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu"><code>ColumnSchema</code></a> using the passed parameters.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#comment-java.lang.String-">comment</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;comment)</code>
+<div class="block">Set the comment for this column.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#compressionAlgorithm-org.apache.kudu.ColumnSchema.CompressionAlgorithm-">compressionAlgorithm</a></span>(<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a>&nbsp;compressionAlgorithm)</code>
+<div class="block">Set the compression algorithm for this column.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#defaultValue-java.lang.Object-">defaultValue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;defaultValue)</code>
+<div class="block">Sets the default value that will be read from the column.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#desiredBlockSize-int-">desiredBlockSize</a></span>(int&nbsp;desiredBlockSize)</code>
+<div class="block">Set the desired block size for this column.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#encoding-org.apache.kudu.ColumnSchema.Encoding-">encoding</a></span>(<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a>&nbsp;encoding)</code>
+<div class="block">Set the block encoding for this column.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#key-boolean-">key</a></span>(boolean&nbsp;key)</code>
+<div class="block">Sets if the column is part of the row key.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#nullable-boolean-">nullable</a></span>(boolean&nbsp;nullable)</code>
+<div class="block">Marks the column as allowing null values.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html#typeAttributes-org.apache.kudu.ColumnTypeAttributes-">typeAttributes</a></span>(<a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a>&nbsp;typeAttributes)</code>
+<div class="block">Set the column type attributes for this column.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ColumnSchemaBuilder-java.lang.String-org.apache.kudu.Type-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ColumnSchemaBuilder</h4>
+<pre>public&nbsp;ColumnSchemaBuilder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                           <a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;type)</pre>
+<div class="block">Constructor for the required parameters.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - column's name</dd>
+<dd><code>type</code> - column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="ColumnSchemaBuilder-org.apache.kudu.ColumnSchema-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ColumnSchemaBuilder</h4>
+<pre>public&nbsp;ColumnSchemaBuilder(<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;that)</pre>
+<div class="block">Constructor to copy an existing columnSchema</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>that</code> - the columnSchema to copy</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="key-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>key</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a>&nbsp;key(boolean&nbsp;key)</pre>
+<div class="block">Sets if the column is part of the row key. False by default.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>key</code> - a boolean that indicates if the column is part of the key</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="nullable-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nullable</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a>&nbsp;nullable(boolean&nbsp;nullable)</pre>
+<div class="block">Marks the column as allowing null values. False by default.
+ <p>
+ <strong>NOTE:</strong> the "not-nullable-by-default" behavior here differs from
+ the equivalent API in the Python and C++ clients. It also differs from the
+ standard behavior of SQL <code>CREATE TABLE</code> statements. It is
+ recommended to always specify nullability explicitly using this API
+ in order to avoid confusion.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>nullable</code> - a boolean that indicates if the column allows null values</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="defaultValue-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>defaultValue</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a>&nbsp;defaultValue(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;defaultValue)</pre>
+<div class="block">Sets the default value that will be read from the column. Null by default.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>defaultValue</code> - a Java object representation of the default value that's read</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="desiredBlockSize-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>desiredBlockSize</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a>&nbsp;desiredBlockSize(int&nbsp;desiredBlockSize)</pre>
+<div class="block">Set the desired block size for this column.
+
+ This is the number of bytes of user data packed per block on disk, and
+ represents the unit of IO when reading this column. Larger values
+ may improve scan performance, particularly on spinning media. Smaller
+ values may improve random access performance, particularly for workloads
+ that have high cache hit rates or operate on fast storage such as SSD.
+
+ Note that the block size specified here corresponds to uncompressed data.
+ The actual size of the unit read from disk may be smaller if
+ compression is enabled.
+
+ It's recommended that this not be set any lower than 4096 (4KB) or higher
+ than 1048576 (1MB).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>desiredBlockSize</code> - the desired block size, in bytes</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance
+ <!-- TODO(KUDU-1107): move the above info to docs --></dd>
+</dl>
+</li>
+</ul>
+<a name="encoding-org.apache.kudu.ColumnSchema.Encoding-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>encoding</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a>&nbsp;encoding(<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a>&nbsp;encoding)</pre>
+<div class="block">Set the block encoding for this column. See the documentation for the list
+ of valid options.</div>
+</li>
+</ul>
+<a name="compressionAlgorithm-org.apache.kudu.ColumnSchema.CompressionAlgorithm-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compressionAlgorithm</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a>&nbsp;compressionAlgorithm(<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a>&nbsp;compressionAlgorithm)</pre>
+<div class="block">Set the compression algorithm for this column. See the documentation for the list
+ of valid options.</div>
+</li>
+</ul>
+<a name="typeAttributes-org.apache.kudu.ColumnTypeAttributes-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>typeAttributes</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a>&nbsp;typeAttributes(<a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a>&nbsp;typeAttributes)</pre>
+<div class="block">Set the column type attributes for this column.</div>
+</li>
+</ul>
+<a name="comment-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>comment</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a>&nbsp;comment(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;comment)</pre>
+<div class="block">Set the comment for this column.</div>
+</li>
+</ul>
+<a name="build--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;build()</pre>
+<div class="block">Builds a <a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu"><code>ColumnSchema</code></a> using the passed parameters.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new <a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu"><code>ColumnSchema</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" target="_top">Frames</a></li>
+<li><a href="ColumnSchema.ColumnSchemaBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/ColumnSchema.CompressionAlgorithm.html b/releases/1.15.0/apidocs/org/apache/kudu/ColumnSchema.CompressionAlgorithm.html
new file mode 100644
index 0000000..d57a36c
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/ColumnSchema.CompressionAlgorithm.html
@@ -0,0 +1,393 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ColumnSchema.CompressionAlgorithm</title>
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnSchema.CompressionAlgorithm";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" target="_top">Frames</a></li>
+<li><a href="ColumnSchema.CompressionAlgorithm.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu</div>
+<h2 title="Enum ColumnSchema.CompressionAlgorithm" class="title">Enum ColumnSchema.CompressionAlgorithm</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.ColumnSchema.CompressionAlgorithm</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static enum <span class="typeNameLabel">ColumnSchema.CompressionAlgorithm</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a>&gt;</pre>
+<div class="block">Specifies the compression algorithm of data for a column on disk.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#DEFAULT_COMPRESSION">DEFAULT_COMPRESSION</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#LZ4">LZ4</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#NO_COMPRESSION">NO_COMPRESSION</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#SNAPPY">SNAPPY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#UNKNOWN">UNKNOWN</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#ZLIB">ZLIB</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="UNKNOWN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UNKNOWN</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a> UNKNOWN</pre>
+</li>
+</ul>
+<a name="DEFAULT_COMPRESSION">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DEFAULT_COMPRESSION</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a> DEFAULT_COMPRESSION</pre>
+</li>
+</ul>
+<a name="NO_COMPRESSION">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NO_COMPRESSION</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a> NO_COMPRESSION</pre>
+</li>
+</ul>
+<a name="SNAPPY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SNAPPY</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a> SNAPPY</pre>
+</li>
+</ul>
+<a name="LZ4">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LZ4</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a> LZ4</pre>
+</li>
+</ul>
+<a name="ZLIB">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ZLIB</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a> ZLIB</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (ColumnSchema.CompressionAlgorithm c : ColumnSchema.CompressionAlgorithm.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" target="_top">Frames</a></li>
+<li><a href="ColumnSchema.CompressionAlgorithm.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/ColumnSchema.Encoding.html b/releases/1.15.0/apidocs/org/apache/kudu/ColumnSchema.Encoding.html
new file mode 100644
index 0000000..5351401
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/ColumnSchema.Encoding.html
@@ -0,0 +1,419 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ColumnSchema.Encoding</title>
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnSchema.Encoding";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/ColumnSchema.Encoding.html" target="_top">Frames</a></li>
+<li><a href="ColumnSchema.Encoding.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu</div>
+<h2 title="Enum ColumnSchema.Encoding" class="title">Enum ColumnSchema.Encoding</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.ColumnSchema.Encoding</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static enum <span class="typeNameLabel">ColumnSchema.Encoding</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a>&gt;</pre>
+<div class="block">Specifies the encoding of data for a column on disk.
+ Not all encodings are available for all data types.
+ Refer to the Kudu documentation for more information on each encoding.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html#AUTO_ENCODING">AUTO_ENCODING</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html#BIT_SHUFFLE">BIT_SHUFFLE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html#DICT_ENCODING">DICT_ENCODING</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html#GROUP_VARINT">GROUP_VARINT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html#PLAIN_ENCODING">PLAIN_ENCODING</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html#PREFIX_ENCODING">PREFIX_ENCODING</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html#RLE">RLE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html#UNKNOWN">UNKNOWN</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="UNKNOWN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UNKNOWN</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a> UNKNOWN</pre>
+</li>
+</ul>
+<a name="AUTO_ENCODING">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AUTO_ENCODING</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a> AUTO_ENCODING</pre>
+</li>
+</ul>
+<a name="PLAIN_ENCODING">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PLAIN_ENCODING</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a> PLAIN_ENCODING</pre>
+</li>
+</ul>
+<a name="PREFIX_ENCODING">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PREFIX_ENCODING</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a> PREFIX_ENCODING</pre>
+</li>
+</ul>
+<a name="GROUP_VARINT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>GROUP_VARINT</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a> GROUP_VARINT</pre>
+</li>
+</ul>
+<a name="RLE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RLE</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a> RLE</pre>
+</li>
+</ul>
+<a name="DICT_ENCODING">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DICT_ENCODING</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a> DICT_ENCODING</pre>
+</li>
+</ul>
+<a name="BIT_SHUFFLE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>BIT_SHUFFLE</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a> BIT_SHUFFLE</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (ColumnSchema.Encoding c : ColumnSchema.Encoding.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/ColumnSchema.Encoding.html" target="_top">Frames</a></li>
+<li><a href="ColumnSchema.Encoding.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/ColumnSchema.html b/releases/1.15.0/apidocs/org/apache/kudu/ColumnSchema.html
new file mode 100644
index 0000000..a5bdf8d
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/ColumnSchema.html
@@ -0,0 +1,515 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ColumnSchema</title>
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnSchema";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/ColumnSchema.html" target="_top">Frames</a></li>
+<li><a href="ColumnSchema.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu</div>
+<h2 title="Class ColumnSchema" class="title">Class ColumnSchema</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.ColumnSchema</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">ColumnSchema</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Represents a Kudu Table column. Use <a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu"><code>ColumnSchema.ColumnSchemaBuilder</code></a> in order to
+ create columns.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></span></code>
+<div class="block">Builder for ColumnSchema.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></span></code>
+<div class="block">Specifies the compression algorithm of data for a column on disk.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></span></code>
+<div class="block">Specifies the encoding of data for a column on disk.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#getComment--">getComment</a></span>()</code>
+<div class="block">Return the comment for the column.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#getCompressionAlgorithm--">getCompressionAlgorithm</a></span>()</code>
+<div class="block">Return the compression algorithm of this column, or null if it is not known.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#getDefaultValue--">getDefaultValue</a></span>()</code>
+<div class="block">The Java object representation of the default value that's read</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#getDesiredBlockSize--">getDesiredBlockSize</a></span>()</code>
+<div class="block">Gets the desired block size for this column.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#getEncoding--">getEncoding</a></span>()</code>
+<div class="block">Return the encoding of this column, or null if it is not known.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#getName--">getName</a></span>()</code>
+<div class="block">Get the column's name</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#getType--">getType</a></span>()</code>
+<div class="block">Get the column's Type</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#getTypeAttributes--">getTypeAttributes</a></span>()</code>
+<div class="block">Return the column type attributes for the column, or null if it is not known.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#getTypeSize--">getTypeSize</a></span>()</code>
+<div class="block">The size of this type in bytes on the wire.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#isKey--">isKey</a></span>()</code>
+<div class="block">Answers if the column part of the key</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#isNullable--">isNullable</a></span>()</code>
+<div class="block">Answers if the column can be set to null</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnSchema.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getType</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;getType()</pre>
+<div class="block">Get the column's Type</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the type</dd>
+</dl>
+</li>
+</ul>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<div class="block">Get the column's name</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A string representation of the name</dd>
+</dl>
+</li>
+</ul>
+<a name="isKey--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isKey</h4>
+<pre>public&nbsp;boolean&nbsp;isKey()</pre>
+<div class="block">Answers if the column part of the key</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the column is part of the key, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="isNullable--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isNullable</h4>
+<pre>public&nbsp;boolean&nbsp;isNullable()</pre>
+<div class="block">Answers if the column can be set to null</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if it can be set to null, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="getDefaultValue--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDefaultValue</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getDefaultValue()</pre>
+<div class="block">The Java object representation of the default value that's read</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the default read value</dd>
+</dl>
+</li>
+</ul>
+<a name="getDesiredBlockSize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDesiredBlockSize</h4>
+<pre>public&nbsp;int&nbsp;getDesiredBlockSize()</pre>
+<div class="block">Gets the desired block size for this column.
+ If no block size has been explicitly specified for this column,
+ returns 0 to indicate that the server-side default will be used.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the block size, in bytes, or 0 if none has been configured.</dd>
+</dl>
+</li>
+</ul>
+<a name="getEncoding--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEncoding</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a>&nbsp;getEncoding()</pre>
+<div class="block">Return the encoding of this column, or null if it is not known.</div>
+</li>
+</ul>
+<a name="getCompressionAlgorithm--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCompressionAlgorithm</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a>&nbsp;getCompressionAlgorithm()</pre>
+<div class="block">Return the compression algorithm of this column, or null if it is not known.</div>
+</li>
+</ul>
+<a name="getTypeAttributes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTypeAttributes</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a>&nbsp;getTypeAttributes()</pre>
+<div class="block">Return the column type attributes for the column, or null if it is not known.</div>
+</li>
+</ul>
+<a name="getTypeSize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTypeSize</h4>
+<pre>public&nbsp;int&nbsp;getTypeSize()</pre>
+<div class="block">The size of this type in bytes on the wire.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A size</dd>
+</dl>
+</li>
+</ul>
+<a name="getComment--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getComment</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getComment()</pre>
+<div class="block">Return the comment for the column. An empty string means there is no comment.</div>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/ColumnSchema.html" target="_top">Frames</a></li>
+<li><a href="ColumnSchema.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html b/releases/1.15.0/apidocs/org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html
new file mode 100644
index 0000000..4e7cf39
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html
@@ -0,0 +1,327 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ColumnTypeAttributes.ColumnTypeAttributesBuilder</title>
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnTypeAttributes.ColumnTypeAttributesBuilder";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" target="_top">Frames</a></li>
+<li><a href="ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu</div>
+<h2 title="Class ColumnTypeAttributes.ColumnTypeAttributesBuilder" class="title">Class ColumnTypeAttributes.ColumnTypeAttributesBuilder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.ColumnTypeAttributes.ColumnTypeAttributesBuilder</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static class <span class="typeNameLabel">ColumnTypeAttributes.ColumnTypeAttributesBuilder</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Builder for ColumnTypeAttributes.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#ColumnTypeAttributesBuilder--">ColumnTypeAttributesBuilder</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#build--">build</a></span>()</code>
+<div class="block">Builds a <a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><code>ColumnTypeAttributes</code></a> using the passed parameters.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#length-int-">length</a></span>(int&nbsp;length)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#precision-int-">precision</a></span>(int&nbsp;precision)</code>
+<div class="block">Set the precision.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html#scale-int-">scale</a></span>(int&nbsp;scale)</code>
+<div class="block">Set the scale.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ColumnTypeAttributesBuilder--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ColumnTypeAttributesBuilder</h4>
+<pre>public&nbsp;ColumnTypeAttributesBuilder()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="precision-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>precision</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a>&nbsp;precision(int&nbsp;precision)</pre>
+<div class="block">Set the precision. Only used for Decimal columns.</div>
+</li>
+</ul>
+<a name="scale-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scale</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a>&nbsp;scale(int&nbsp;scale)</pre>
+<div class="block">Set the scale. Only used for Decimal columns.</div>
+</li>
+</ul>
+<a name="length-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>length</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a>&nbsp;length(int&nbsp;length)</pre>
+</li>
+</ul>
+<a name="build--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a>&nbsp;build()</pre>
+<div class="block">Builds a <a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><code>ColumnTypeAttributes</code></a> using the passed parameters.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new <a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><code>ColumnTypeAttributes</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" target="_top">Frames</a></li>
+<li><a href="ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/ColumnTypeAttributes.html b/releases/1.15.0/apidocs/org/apache/kudu/ColumnTypeAttributes.html
new file mode 100644
index 0000000..966845e
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/ColumnTypeAttributes.html
@@ -0,0 +1,416 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ColumnTypeAttributes</title>
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnTypeAttributes";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/ColumnTypeAttributes.html" target="_top">Frames</a></li>
+<li><a href="ColumnTypeAttributes.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu</div>
+<h2 title="Class ColumnTypeAttributes" class="title">Class ColumnTypeAttributes</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.ColumnTypeAttributes</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">ColumnTypeAttributes</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Represents a Kudu Table column's type attributes.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></span></code>
+<div class="block">Builder for ColumnTypeAttributes.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.html#getLength--">getLength</a></span>()</code>
+<div class="block">Returns the length;</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.html#getPrecision--">getPrecision</a></span>()</code>
+<div class="block">Return the precision;</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.html#getScale--">getScale</a></span>()</code>
+<div class="block">Return the scale;</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.html#hasLength--">hasLength</a></span>()</code>
+<div class="block">Returns true if the length is set;</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.html#hasPrecision--">hasPrecision</a></span>()</code>
+<div class="block">Returns true if the precision is set;</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.html#hasScale--">hasScale</a></span>()</code>
+<div class="block">Returns true if the scale is set;</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/ColumnTypeAttributes.html#toStringForType-org.apache.kudu.Type-">toStringForType</a></span>(<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;type)</code>
+<div class="block">Return a string representation appropriate for `type`.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="hasPrecision--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasPrecision</h4>
+<pre>public&nbsp;boolean&nbsp;hasPrecision()</pre>
+<div class="block">Returns true if the precision is set;</div>
+</li>
+</ul>
+<a name="getPrecision--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPrecision</h4>
+<pre>public&nbsp;int&nbsp;getPrecision()</pre>
+<div class="block">Return the precision;</div>
+</li>
+</ul>
+<a name="hasScale--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasScale</h4>
+<pre>public&nbsp;boolean&nbsp;hasScale()</pre>
+<div class="block">Returns true if the scale is set;</div>
+</li>
+</ul>
+<a name="getScale--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getScale</h4>
+<pre>public&nbsp;int&nbsp;getScale()</pre>
+<div class="block">Return the scale;</div>
+</li>
+</ul>
+<a name="hasLength--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasLength</h4>
+<pre>public&nbsp;boolean&nbsp;hasLength()</pre>
+<div class="block">Returns true if the length is set;</div>
+</li>
+</ul>
+<a name="getLength--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLength</h4>
+<pre>public&nbsp;int&nbsp;getLength()</pre>
+<div class="block">Returns the length;</div>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toStringForType-org.apache.kudu.Type-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toStringForType</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toStringForType(<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;type)</pre>
+<div class="block">Return a string representation appropriate for `type`.
+ This is meant to be postfixed to the name of a primitive type to describe
+ the full type, e.g. decimal(10, 4).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>type</code> - the type.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a postfix string.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/ColumnTypeAttributes.html" target="_top">Frames</a></li>
+<li><a href="ColumnTypeAttributes.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/Schema.html b/releases/1.15.0/apidocs/org/apache/kudu/Schema.html
new file mode 100644
index 0000000..89c98c8
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/Schema.html
@@ -0,0 +1,633 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Schema</title>
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Schema";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/Schema.html" target="_top">Frames</a></li>
+<li><a href="Schema.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu</div>
+<h2 title="Class Schema" class="title">Class Schema</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.Schema</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">Schema</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Represents table's schema which is essentially a list of columns.
+ This class offers a few utility methods for querying it.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#Schema-java.util.List-">Schema</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&gt;&nbsp;columns)</code>
+<div class="block">Constructs a schema using the specified columns and does some internal accounting</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#Schema-java.util.List-java.util.List-">Schema</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&gt;&nbsp;columns,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;columnIds)</code>
+<div class="block">Constructs a schema using the specified columns and IDs.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#getColumn-java.lang.String-">getColumn</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the column associated with the specified name</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#getColumnByIndex-int-">getColumnByIndex</a></span>(int&nbsp;idx)</code>
+<div class="block">Get the column at the specified index in the original list</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#getColumnCount--">getColumnCount</a></span>()</code>
+<div class="block">Get the count of columns in this schema</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#getColumnIndex-int-">getColumnIndex</a></span>(int&nbsp;columnId)</code>
+<div class="block">Get the column index of the column with the provided ID.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#getColumnIndex-java.lang.String-">getColumnIndex</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the index for the provided column name.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#getColumnOffset-int-">getColumnOffset</a></span>(int&nbsp;idx)</code>
+<div class="block">Get the index at which this column can be found in the backing byte array</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#getColumns--">getColumns</a></span>()</code>
+<div class="block">Get the list of columns used to create this schema</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#getPrimaryKeyColumnCount--">getPrimaryKeyColumnCount</a></span>()</code>
+<div class="block">Get the count of columns that are part of the primary key.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#getPrimaryKeyColumns--">getPrimaryKeyColumns</a></span>()</code>
+<div class="block">Get the primary key columns.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#getRowKeyProjection--">getRowKeyProjection</a></span>()</code>
+<div class="block">Get a schema that only contains the columns which are part of the key</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#getRowSize--">getRowSize</a></span>()</code>
+<div class="block">Get the size a row built using this schema would be</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#getVarLengthColumnCount--">getVarLengthColumnCount</a></span>()</code>
+<div class="block">Get the count of columns with variable length (BINARY/STRING) in
+ this schema.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#hasColumn-java.lang.String-">hasColumn</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Returns true if the column exists.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#hasColumnIds--">hasColumnIds</a></span>()</code>
+<div class="block">Tells whether this schema includes IDs for columns.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#hasNullableColumns--">hasNullableColumns</a></span>()</code>
+<div class="block">Tells if there's at least one nullable column</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Schema.html#newPartialRow--">newPartialRow</a></span>()</code>
+<div class="block">Creates a new partial row for the schema.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Schema-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Schema</h4>
+<pre>public&nbsp;Schema(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&gt;&nbsp;columns)</pre>
+<div class="block">Constructs a schema using the specified columns and does some internal accounting</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columns</code> - the columns in index order
+
+ See <code>ColumnPBsToSchema()</code> in <code>src/kudu/common/wire_protocol.cc</code></dd>
+</dl>
+</li>
+</ul>
+<a name="Schema-java.util.List-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Schema</h4>
+<pre>public&nbsp;Schema(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&gt;&nbsp;columns,
+              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;columnIds)</pre>
+<div class="block">Constructs a schema using the specified columns and IDs.
+
+ This is not a stable API, prefer using <a href="../../../org/apache/kudu/Schema.html#Schema-java.util.List-"><code>Schema(List)</code></a> to create a new schema.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columns</code> - the columns in index order</dd>
+<dd><code>columnIds</code> - the column ids of the provided columns, or null</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If the column ids length does not match the columns length
+
+ See <code>ColumnPBsToSchema()</code> in <code>src/kudu/common/wire_protocol.cc</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getColumns--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumns</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&gt;&nbsp;getColumns()</pre>
+<div class="block">Get the list of columns used to create this schema</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of columns</dd>
+</dl>
+</li>
+</ul>
+<a name="getVarLengthColumnCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVarLengthColumnCount</h4>
+<pre>public&nbsp;int&nbsp;getVarLengthColumnCount()</pre>
+<div class="block">Get the count of columns with variable length (BINARY/STRING) in
+ this schema.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>strings count</dd>
+</dl>
+</li>
+</ul>
+<a name="getRowSize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRowSize</h4>
+<pre>public&nbsp;int&nbsp;getRowSize()</pre>
+<div class="block">Get the size a row built using this schema would be</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>size in bytes</dd>
+</dl>
+</li>
+</ul>
+<a name="getColumnOffset-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumnOffset</h4>
+<pre>public&nbsp;int&nbsp;getColumnOffset(int&nbsp;idx)</pre>
+<div class="block">Get the index at which this column can be found in the backing byte array</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>idx</code> - column's index</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>column's offset</dd>
+</dl>
+</li>
+</ul>
+<a name="hasColumn-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasColumn</h4>
+<pre>public&nbsp;boolean&nbsp;hasColumn(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Returns true if the column exists.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - column to search for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the column exists</dd>
+</dl>
+</li>
+</ul>
+<a name="getColumnIndex-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumnIndex</h4>
+<pre>public&nbsp;int&nbsp;getColumnIndex(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the index for the provided column name.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - column to search for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an index in the schema</dd>
+</dl>
+</li>
+</ul>
+<a name="getColumnIndex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumnIndex</h4>
+<pre>public&nbsp;int&nbsp;getColumnIndex(int&nbsp;columnId)</pre>
+<div class="block">Get the column index of the column with the provided ID.
+ This method is not part of the stable API.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnId</code> - the column id of the column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the column index of the column.</dd>
+</dl>
+</li>
+</ul>
+<a name="getColumnByIndex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumnByIndex</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;getColumnByIndex(int&nbsp;idx)</pre>
+<div class="block">Get the column at the specified index in the original list</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>idx</code> - column's index</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the column</dd>
+</dl>
+</li>
+</ul>
+<a name="getColumn-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumn</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;getColumn(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the column associated with the specified name</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - column's name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the column</dd>
+</dl>
+</li>
+</ul>
+<a name="getColumnCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumnCount</h4>
+<pre>public&nbsp;int&nbsp;getColumnCount()</pre>
+<div class="block">Get the count of columns in this schema</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>count of columns</dd>
+</dl>
+</li>
+</ul>
+<a name="getPrimaryKeyColumnCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPrimaryKeyColumnCount</h4>
+<pre>public&nbsp;int&nbsp;getPrimaryKeyColumnCount()</pre>
+<div class="block">Get the count of columns that are part of the primary key.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>count of primary key columns.</dd>
+</dl>
+</li>
+</ul>
+<a name="getPrimaryKeyColumns--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPrimaryKeyColumns</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&gt;&nbsp;getPrimaryKeyColumns()</pre>
+<div class="block">Get the primary key columns.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the primary key columns.</dd>
+</dl>
+</li>
+</ul>
+<a name="getRowKeyProjection--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRowKeyProjection</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getRowKeyProjection()</pre>
+<div class="block">Get a schema that only contains the columns which are part of the key</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>new schema with only the keys</dd>
+</dl>
+</li>
+</ul>
+<a name="hasNullableColumns--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasNullableColumns</h4>
+<pre>public&nbsp;boolean&nbsp;hasNullableColumns()</pre>
+<div class="block">Tells if there's at least one nullable column</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if at least one column is nullable, else false.</dd>
+</dl>
+</li>
+</ul>
+<a name="hasColumnIds--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasColumnIds</h4>
+<pre>public&nbsp;boolean&nbsp;hasColumnIds()</pre>
+<div class="block">Tells whether this schema includes IDs for columns. A schema created by a client as part of
+ table creation will not include IDs, but schemas for open tables will include IDs.
+ This method is not part of the stable API.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether this schema includes column IDs.</dd>
+</dl>
+</li>
+</ul>
+<a name="newPartialRow--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>newPartialRow</h4>
+<pre>public&nbsp;<a href="../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;newPartialRow()</pre>
+<div class="block">Creates a new partial row for the schema.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new partial row</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/Schema.html" target="_top">Frames</a></li>
+<li><a href="Schema.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/Type.html b/releases/1.15.0/apidocs/org/apache/kudu/Type.html
new file mode 100644
index 0000000..1c3f12b
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/Type.html
@@ -0,0 +1,650 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Type</title>
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Type";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":42,"i1":10,"i2":10,"i3":42,"i4":10,"i5":9,"i6":9,"i7":10,"i8":9,"i9":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/Type.html" target="_top">Frames</a></li>
+<li><a href="Type.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu</div>
+<h2 title="Enum Type" class="title">Enum Type</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.Type</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public enum <span class="typeNameLabel">Type</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&gt;</pre>
+<div class="block">Describes all the types available to build table schemas.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#BINARY">BINARY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#BOOL">BOOL</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#DATE">DATE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#DECIMAL">DECIMAL</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#DOUBLE">DOUBLE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#FLOAT">FLOAT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#INT16">INT16</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#INT32">INT32</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#INT64">INT64</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#INT8">INT8</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#STRING">STRING</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#UNIXTIME_MICROS">UNIXTIME_MICROS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#VARCHAR">VARCHAR</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>org.apache.kudu.Common.DataType</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#getDataType--">getDataType</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../org/apache/kudu/Type.html#getDataType-org.apache.kudu.ColumnTypeAttributes-"><code>getDataType(ColumnTypeAttributes)</code></a></span></div>
+</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>org.apache.kudu.Common.DataType</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#getDataType-org.apache.kudu.ColumnTypeAttributes-">getDataType</a></span>(<a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a>&nbsp;typeAttributes)</code>
+<div class="block">Get the data type from the common's pb</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#getName--">getName</a></span>()</code>
+<div class="block">Get the string representation of this type</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#getSize--">getSize</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../org/apache/kudu/Type.html#getSize-org.apache.kudu.ColumnTypeAttributes-"><code>getSize(ColumnTypeAttributes)</code></a></span></div>
+</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#getSize-org.apache.kudu.ColumnTypeAttributes-">getSize</a></span>(<a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a>&nbsp;typeAttributes)</code>
+<div class="block">The size of this type on the wire</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#getTypeForDataType-org.apache.kudu.Common.DataType-">getTypeForDataType</a></span>(org.apache.kudu.Common.DataType&nbsp;type)</code>
+<div class="block">Convert the pb DataType to a Type</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static <a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#getTypeForName-java.lang.String-">getTypeForName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Create a Type from its name</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/kudu/Type.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="INT8">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>INT8</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> INT8</pre>
+</li>
+</ul>
+<a name="INT16">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>INT16</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> INT16</pre>
+</li>
+</ul>
+<a name="INT32">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>INT32</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> INT32</pre>
+</li>
+</ul>
+<a name="INT64">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>INT64</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> INT64</pre>
+</li>
+</ul>
+<a name="BINARY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BINARY</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> BINARY</pre>
+</li>
+</ul>
+<a name="STRING">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>STRING</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> STRING</pre>
+</li>
+</ul>
+<a name="BOOL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BOOL</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> BOOL</pre>
+</li>
+</ul>
+<a name="FLOAT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FLOAT</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> FLOAT</pre>
+</li>
+</ul>
+<a name="DOUBLE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DOUBLE</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> DOUBLE</pre>
+</li>
+</ul>
+<a name="UNIXTIME_MICROS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UNIXTIME_MICROS</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> UNIXTIME_MICROS</pre>
+</li>
+</ul>
+<a name="DECIMAL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DECIMAL</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> DECIMAL</pre>
+</li>
+</ul>
+<a name="VARCHAR">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>VARCHAR</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> VARCHAR</pre>
+</li>
+</ul>
+<a name="DATE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DATE</h4>
+<pre>public static final&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a> DATE</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (Type c : Type.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+<a name="getDataType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDataType</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;org.apache.kudu.Common.DataType&nbsp;getDataType()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../org/apache/kudu/Type.html#getDataType-org.apache.kudu.ColumnTypeAttributes-"><code>getDataType(ColumnTypeAttributes)</code></a></span></div>
+<div class="block">Get the data type from the common's pb</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A DataType</dd>
+</dl>
+</li>
+</ul>
+<a name="getDataType-org.apache.kudu.ColumnTypeAttributes-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDataType</h4>
+<pre>public&nbsp;org.apache.kudu.Common.DataType&nbsp;getDataType(<a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a>&nbsp;typeAttributes)</pre>
+<div class="block">Get the data type from the common's pb</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>typeAttributes</code> - the additional attributes of the type.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A DataType</dd>
+</dl>
+</li>
+</ul>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<div class="block">Get the string representation of this type</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The type's name</dd>
+</dl>
+</li>
+</ul>
+<a name="getSize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSize</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;int&nbsp;getSize()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../org/apache/kudu/Type.html#getSize-org.apache.kudu.ColumnTypeAttributes-"><code>getSize(ColumnTypeAttributes)</code></a></span></div>
+<div class="block">The size of this type on the wire</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A size</dd>
+</dl>
+</li>
+</ul>
+<a name="getSize-org.apache.kudu.ColumnTypeAttributes-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSize</h4>
+<pre>public&nbsp;int&nbsp;getSize(<a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a>&nbsp;typeAttributes)</pre>
+<div class="block">The size of this type on the wire</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>typeAttributes</code> - the additional attributes of the type.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A size</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getTypeForDataType-org.apache.kudu.Common.DataType-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTypeForDataType</h4>
+<pre>public static&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;getTypeForDataType(org.apache.kudu.Common.DataType&nbsp;type)</pre>
+<div class="block">Convert the pb DataType to a Type</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>type</code> - DataType to convert</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a matching Type</dd>
+</dl>
+</li>
+</ul>
+<a name="getTypeForName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTypeForName</h4>
+<pre>public static&nbsp;<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;getTypeForName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Create a Type from its name</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - The DataType name. It accepts Type name (from the getName()
+ method) and ENUM name (from the name() method).</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a matching Type.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the provided name doesn't map to any
+ known type.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/Type.html" target="_top">Frames</a></li>
+<li><a href="Type.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/AbstractKuduScannerBuilder.html b/releases/1.15.0/apidocs/org/apache/kudu/client/AbstractKuduScannerBuilder.html
new file mode 100644
index 0000000..142556f
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/AbstractKuduScannerBuilder.html
@@ -0,0 +1,712 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>AbstractKuduScannerBuilder</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractKuduScannerBuilder";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":42,"i1":42,"i2":10,"i3":10,"i4":6,"i5":10,"i6":10,"i7":42,"i8":10,"i9":10,"i10":10,"i11":42,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AbstractKuduScannerBuilder.html" target="_top">Frames</a></li>
+<li><a href="AbstractKuduScannerBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class AbstractKuduScannerBuilder" class="title">Class AbstractKuduScannerBuilder&lt;S extends AbstractKuduScannerBuilder&lt;? super S,T&gt;,T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.AbstractKuduScannerBuilder&lt;S,T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client">AsyncKuduScanner.AsyncKuduScannerBuilder</a>, <a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a>, <a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public abstract class <span class="typeNameLabel">AbstractKuduScannerBuilder&lt;S extends AbstractKuduScannerBuilder&lt;? super S,T&gt;,T&gt;</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Abstract class to extend in order to create builders for scanners.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addColumnRangePredicate-org.apache.kudu.client.ColumnRangePredicate-">addColumnRangePredicate</a></span>(<a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a>&nbsp;predicate)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-"><code>addPredicate(KuduPredicate)</code></a></span></div>
+</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addColumnRangePredicatesRaw-byte:A-">addColumnRangePredicatesRaw</a></span>(byte[]&nbsp;predicateBytes)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-"><code>addPredicate(org.apache.kudu.client.KuduPredicate)</code></a></span></div>
+</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-">addPredicate</a></span>(<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;predicate)</code>
+<div class="block">Adds a predicate to the scan.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#batchSizeBytes-int-">batchSizeBytes</a></span>(int&nbsp;batchSizeBytes)</code>
+<div class="block">Sets the maximum number of bytes returned by the scanner, on each batch.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#build--">build</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#cacheBlocks-boolean-">cacheBlocks</a></span>(boolean&nbsp;cacheBlocks)</code>
+<div class="block">Sets the block caching policy for the scanner.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBound-org.apache.kudu.client.PartialRow-">exclusiveUpperBound</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;partialRow)</code>
+<div class="block">Add an upper bound (exclusive) primary key for the scan.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBoundRaw-byte:A-">exclusiveUpperBoundRaw</a></span>(byte[]&nbsp;endPrimaryKey)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBound-org.apache.kudu.client.PartialRow-"><code>exclusiveUpperBound(PartialRow)</code></a></span></div>
+</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#keepAlivePeriodMs-long-">keepAlivePeriodMs</a></span>(long&nbsp;keepAlivePeriodMs)</code>
+<div class="block">Set the period at which to send keep-alive requests to the tablet
+ server to ensure that this scanner will not time out.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#limit-long-">limit</a></span>(long&nbsp;limit)</code>
+<div class="block">Sets a limit on the number of rows that will be returned by the scanner.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBound-org.apache.kudu.client.PartialRow-">lowerBound</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;partialRow)</code>
+<div class="block">Add a lower bound (inclusive) primary key for the scan.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBoundRaw-byte:A-">lowerBoundRaw</a></span>(byte[]&nbsp;startPrimaryKey)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBound-org.apache.kudu.client.PartialRow-"><code>lowerBound(PartialRow)</code></a></span></div>
+</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#prefetching-boolean-">prefetching</a></span>(boolean&nbsp;prefetching)</code>
+<div class="block">Enables prefetching of rows for the scanner, i.e.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#readMode-org.apache.kudu.client.AsyncKuduScanner.ReadMode-">readMode</a></span>(<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a>&nbsp;readMode)</code>
+<div class="block">Sets the read mode, the default is to read the latest values.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#replicaSelection-org.apache.kudu.client.ReplicaSelection-">replicaSelection</a></span>(<a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a>&nbsp;replicaSelection)</code>
+<div class="block">Sets the replica selection mechanism for this scanner.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#scanRequestTimeout-long-">scanRequestTimeout</a></span>(long&nbsp;scanRequestTimeout)</code>
+<div class="block">Sets how long each scan request to a server can last.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setFaultTolerant-boolean-">setFaultTolerant</a></span>(boolean&nbsp;isFaultTolerant)</code>
+<div class="block">Make scans resumable at another tablet server if current server fails if
+ isFaultTolerant is true.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setProjectedColumnIndexes-java.util.List-">setProjectedColumnIndexes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;columnIndexes)</code>
+<div class="block">Set which columns will be read by the Scanner.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setProjectedColumnNames-java.util.List-">setProjectedColumnNames</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;columnNames)</code>
+<div class="block">Set which columns will be read by the Scanner.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#snapshotTimestampMicros-long-">snapshotTimestampMicros</a></span>(long&nbsp;timestamp)</code>
+<div class="block">Sets the timestamp the scan must be executed at, in microseconds since the Unix epoch.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="readMode-org.apache.kudu.client.AsyncKuduScanner.ReadMode-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readMode</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;readMode(<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a>&nbsp;readMode)</pre>
+<div class="block">Sets the read mode, the default is to read the latest values.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>readMode</code> - a read mode for the scanner</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="setFaultTolerant-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFaultTolerant</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;setFaultTolerant(boolean&nbsp;isFaultTolerant)</pre>
+<div class="block">Make scans resumable at another tablet server if current server fails if
+ isFaultTolerant is true.
+ <p>
+ Scans are by default non fault-tolerant, and scans will fail
+ if scanning an individual tablet fails (for example, if a tablet server
+ crashes in the middle of a tablet scan). If isFaultTolerant is set to true,
+ scans will be resumed at another tablet server in the case of failure.
+
+ Fault-tolerant scans typically have lower throughput than non
+ fault-tolerant scans. Fault tolerant scans use READ_AT_SNAPSHOT read mode.
+ If no snapshot timestamp is provided, the server will pick one.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>isFaultTolerant</code> - a boolean that indicates if scan is fault-tolerant</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addColumnRangePredicate-org.apache.kudu.client.ColumnRangePredicate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addColumnRangePredicate</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;addColumnRangePredicate(<a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a>&nbsp;predicate)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-"><code>addPredicate(KuduPredicate)</code></a></span></div>
+<div class="block">Adds a predicate for a column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>predicate</code> - predicate for a column to add</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addColumnRangePredicatesRaw-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addColumnRangePredicatesRaw</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;addColumnRangePredicatesRaw(byte[]&nbsp;predicateBytes)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-"><code>addPredicate(org.apache.kudu.client.KuduPredicate)</code></a></span></div>
+<div class="block">Adds a list of predicates in their raw format,
+ as given by <a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#toByteArray-java.util.List-"><code>ColumnRangePredicate.toByteArray(List)</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>predicateBytes</code> - predicates to add</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - thrown when the passed bytes aren't valid</dd>
+</dl>
+</li>
+</ul>
+<a name="addPredicate-org.apache.kudu.client.KuduPredicate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addPredicate</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;addPredicate(<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;predicate)</pre>
+<div class="block">Adds a predicate to the scan.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>predicate</code> - predicate to add</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="setProjectedColumnNames-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setProjectedColumnNames</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;setProjectedColumnNames(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;columnNames)</pre>
+<div class="block">Set which columns will be read by the Scanner.
+ Calling this method after <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setProjectedColumnIndexes-java.util.List-"><code>setProjectedColumnIndexes(List)</code></a> will reset the projected
+ columns to those specified in <code>columnNames</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnNames</code> - the names of columns to read, or 'null' to read all columns
+ (the default)</dd>
+</dl>
+</li>
+</ul>
+<a name="setProjectedColumnIndexes-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setProjectedColumnIndexes</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;setProjectedColumnIndexes(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;columnIndexes)</pre>
+<div class="block">Set which columns will be read by the Scanner.
+ Calling this method after <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setProjectedColumnNames-java.util.List-"><code>setProjectedColumnNames(List)</code></a> will reset the projected
+ columns to those specified in <code>columnIndexes</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndexes</code> - the indexes of columns to read, or 'null' to read all columns
+ (the default)</dd>
+</dl>
+</li>
+</ul>
+<a name="batchSizeBytes-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>batchSizeBytes</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;batchSizeBytes(int&nbsp;batchSizeBytes)</pre>
+<div class="block">Sets the maximum number of bytes returned by the scanner, on each batch. The default is 1MB.
+ <p>
+ Kudu may actually return more than this many bytes because it will not
+ truncate a rowResult in the middle.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>batchSizeBytes</code> - a strictly positive number of bytes</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="limit-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>limit</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;limit(long&nbsp;limit)</pre>
+<div class="block">Sets a limit on the number of rows that will be returned by the scanner. There's no limit
+ by default.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>limit</code> - a positive long</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="prefetching-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prefetching</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;prefetching(boolean&nbsp;prefetching)</pre>
+<div class="block">Enables prefetching of rows for the scanner, i.e. whether to send a request for more data
+ to the server immediately after we receive a response (instead of waiting for the user
+ to call <code>nextRows()</code>). Disabled by default.
+ NOTE: This is risky until KUDU-1260 is resolved.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>prefetching</code> - a boolean that indicates if the scanner should prefetch rows</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="cacheBlocks-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cacheBlocks</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;cacheBlocks(boolean&nbsp;cacheBlocks)</pre>
+<div class="block">Sets the block caching policy for the scanner. If true, scanned data blocks will be cached
+ in memory and made available for future scans. Enabled by default.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cacheBlocks</code> - a boolean that indicates if data blocks should be cached or not</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="snapshotTimestampMicros-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>snapshotTimestampMicros</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;snapshotTimestampMicros(long&nbsp;timestamp)</pre>
+<div class="block">Sets the timestamp the scan must be executed at, in microseconds since the Unix epoch. None is
+ used by default.
+ Requires that the ReadMode is READ_AT_SNAPSHOT.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timestamp</code> - a long representing an instant in microseconds since the unix epoch.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - on build(), if the timestamp is less than 0 or if the
+                                  read mode was not set to READ_AT_SNAPSHOT</dd>
+</dl>
+</li>
+</ul>
+<a name="scanRequestTimeout-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scanRequestTimeout</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;scanRequestTimeout(long&nbsp;scanRequestTimeout)</pre>
+<div class="block">Sets how long each scan request to a server can last.
+ Defaults to <a href="../../../../org/apache/kudu/client/KuduClient.html#getDefaultOperationTimeoutMs--"><code>KuduClient.getDefaultOperationTimeoutMs()</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>scanRequestTimeout</code> - a long representing time in milliseconds</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="lowerBound-org.apache.kudu.client.PartialRow-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lowerBound</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;lowerBound(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;partialRow)</pre>
+<div class="block">Add a lower bound (inclusive) primary key for the scan.
+ If any bound is already added, this bound is intersected with that one.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>partialRow</code> - a partial row with specified key columns</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="lowerBoundRaw-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lowerBoundRaw</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;lowerBoundRaw(byte[]&nbsp;startPrimaryKey)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBound-org.apache.kudu.client.PartialRow-"><code>lowerBound(PartialRow)</code></a></span></div>
+<div class="block">Like lowerBoundPrimaryKey() but the encoded primary key is an opaque byte
+ array obtained elsewhere.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>startPrimaryKey</code> - bytes containing an encoded start key</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="exclusiveUpperBound-org.apache.kudu.client.PartialRow-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>exclusiveUpperBound</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;exclusiveUpperBound(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;partialRow)</pre>
+<div class="block">Add an upper bound (exclusive) primary key for the scan.
+ If any bound is already added, this bound is intersected with that one.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>partialRow</code> - a partial row with specified key columns</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="exclusiveUpperBoundRaw-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>exclusiveUpperBoundRaw</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;exclusiveUpperBoundRaw(byte[]&nbsp;endPrimaryKey)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBound-org.apache.kudu.client.PartialRow-"><code>exclusiveUpperBound(PartialRow)</code></a></span></div>
+<div class="block">Like exclusiveUpperBound() but the encoded primary key is an opaque byte
+ array obtained elsewhere.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>endPrimaryKey</code> - bytes containing an encoded end key</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="replicaSelection-org.apache.kudu.client.ReplicaSelection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>replicaSelection</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;replicaSelection(<a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a>&nbsp;replicaSelection)</pre>
+<div class="block">Sets the replica selection mechanism for this scanner. The default is to read from the
+ currently known leader.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>replicaSelection</code> - replication selection mechanism to use</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="keepAlivePeriodMs-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>keepAlivePeriodMs</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">S</a>&nbsp;keepAlivePeriodMs(long&nbsp;keepAlivePeriodMs)</pre>
+<div class="block">Set the period at which to send keep-alive requests to the tablet
+ server to ensure that this scanner will not time out.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>keepAlivePeriodMs</code> - the keep alive period in milliseconds</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="build--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>build</h4>
+<pre>public abstract&nbsp;<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="type parameter in AbstractKuduScannerBuilder">T</a>&nbsp;build()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AbstractKuduScannerBuilder.html" target="_top">Frames</a></li>
+<li><a href="AbstractKuduScannerBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/AlterTableOptions.html b/releases/1.15.0/apidocs/org/apache/kudu/client/AlterTableOptions.html
new file mode 100644
index 0000000..41c1a0a
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/AlterTableOptions.html
@@ -0,0 +1,889 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>AlterTableOptions</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AlterTableOptions";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AlterTableOptions.html" target="_top">Frames</a></li>
+<li><a href="AlterTableOptions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class AlterTableOptions" class="title">Class AlterTableOptions</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.AlterTableOptions</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Unstable
+public class <span class="typeNameLabel">AlterTableOptions</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This builder must be used to alter a table. At least one change must be specified.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#AlterTableOptions--">AlterTableOptions</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#addColumn-org.apache.kudu.ColumnSchema-">addColumn</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;colSchema)</code>
+<div class="block">Add a new column.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#addColumn-java.lang.String-org.apache.kudu.Type-java.lang.Object-">addColumn</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+         <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;type,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;defaultVal)</code>
+<div class="block">Add a new column that's not nullable.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#addNullableColumn-java.lang.String-org.apache.kudu.Type-">addNullableColumn</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                 <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;type)</code>
+<div class="block">Add a new column that's nullable and has no default value.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#addNullableColumn-java.lang.String-org.apache.kudu.Type-java.lang.Object-">addNullableColumn</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                 <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;type,
+                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;defaultVal)</code>
+<div class="block">Add a new column that's nullable.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-">addRangePartition</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lowerBound,
+                 <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upperBound)</code>
+<div class="block">Add a range partition to the table with an inclusive lower bound and an exclusive upper bound.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-org.apache.kudu.client.RangePartitionBound-org.apache.kudu.client.RangePartitionBound-">addRangePartition</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lowerBound,
+                 <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upperBound,
+                 <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;lowerBoundType,
+                 <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;upperBoundType)</code>
+<div class="block">Add a range partition to the table with a lower bound and upper bound.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-java.lang.String-org.apache.kudu.client.RangePartitionBound-org.apache.kudu.client.RangePartitionBound-">addRangePartition</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lowerBound,
+                 <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upperBound,
+                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dimensionLabel,
+                 <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;lowerBoundType,
+                 <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;upperBoundType)</code>
+<div class="block">Add a range partition to the table with dimension label.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#alterExtraConfigs-java.util.Map-">alterExtraConfigs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;extraConfig)</code>
+<div class="block">Change the table's extra configuration properties.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#changeComment-java.lang.String-java.lang.String-">changeComment</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;comment)</code>
+<div class="block">Change the comment for the column.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#changeCompressionAlgorithm-java.lang.String-org.apache.kudu.ColumnSchema.CompressionAlgorithm-">changeCompressionAlgorithm</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                          <a href="../../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a>&nbsp;ca)</code>
+<div class="block">Change the compression used for a column.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#changeDefault-java.lang.String-java.lang.Object-">changeDefault</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;newDefault)</code>
+<div class="block">Change the default value for a column.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#changeDesiredBlockSize-java.lang.String-int-">changeDesiredBlockSize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                      int&nbsp;blockSize)</code>
+<div class="block">Change the block size of a column's storage.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#changeEncoding-java.lang.String-org.apache.kudu.ColumnSchema.Encoding-">changeEncoding</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+              <a href="../../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a>&nbsp;encoding)</code>
+<div class="block">Change the encoding used for a column.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#dropColumn-java.lang.String-">dropColumn</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Drop a column.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#dropRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-">dropRangePartition</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lowerBound,
+                  <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upperBound)</code>
+<div class="block">Drop the range partition from the table with the specified inclusive lower bound and exclusive
+ upper bound.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#dropRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-org.apache.kudu.client.RangePartitionBound-org.apache.kudu.client.RangePartitionBound-">dropRangePartition</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lowerBound,
+                  <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upperBound,
+                  <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;lowerBoundType,
+                  <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;upperBoundType)</code>
+<div class="block">Drop the range partition from the table with the specified lower bound and upper bound.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#removeDefault-java.lang.String-">removeDefault</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Remove the default value for a column.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#renameColumn-java.lang.String-java.lang.String-">renameColumn</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oldName,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;newName)</code>
+<div class="block">Change the name of a column.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#renameTable-java.lang.String-">renameTable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;newName)</code>
+<div class="block">Change a table's name.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#setComment-java.lang.String-">setComment</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;comment)</code>
+<div class="block">Change a table's comment.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#setOwner-java.lang.String-">setOwner</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner)</code>
+<div class="block">Change a table's owner.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html#setWait-boolean-">setWait</a></span>(boolean&nbsp;wait)</code>
+<div class="block">Whether to wait for the table to be fully altered before this alter
+ operation is considered to be finished.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AlterTableOptions--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AlterTableOptions</h4>
+<pre>public&nbsp;AlterTableOptions()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="renameTable-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>renameTable</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;renameTable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;newName)</pre>
+<div class="block">Change a table's name.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>newName</code> - new table's name, must be used to check progress</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="setOwner-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setOwner</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;setOwner(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner)</pre>
+<div class="block">Change a table's owner.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>owner</code> - the new table owner</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="setComment-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setComment</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;setComment(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;comment)</pre>
+<div class="block">Change a table's comment.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>comment</code> - the new table comment</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addColumn-org.apache.kudu.ColumnSchema-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addColumn</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;addColumn(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;colSchema)</pre>
+<div class="block">Add a new column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>colSchema</code> - the schema of the new column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addColumn-java.lang.String-org.apache.kudu.Type-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addColumn</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;addColumn(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                                   <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;type,
+                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;defaultVal)</pre>
+<div class="block">Add a new column that's not nullable.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name of the new column</dd>
+<dd><code>type</code> - type of the new column</dd>
+<dd><code>defaultVal</code> - default value used for the currently existing rows</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addNullableColumn-java.lang.String-org.apache.kudu.Type-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addNullableColumn</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;addNullableColumn(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                                           <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;type)</pre>
+<div class="block">Add a new column that's nullable and has no default value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name of the new column</dd>
+<dd><code>type</code> - type of the new column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addNullableColumn-java.lang.String-org.apache.kudu.Type-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addNullableColumn</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;addNullableColumn(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                                           <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;type,
+                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;defaultVal)</pre>
+<div class="block">Add a new column that's nullable.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name of the new column</dd>
+<dd><code>type</code> - type of the new column</dd>
+<dd><code>defaultVal</code> - the default value of the new column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="dropColumn-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dropColumn</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;dropColumn(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Drop a column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name of the column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="renameColumn-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>renameColumn</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;renameColumn(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;oldName,
+                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;newName)</pre>
+<div class="block">Change the name of a column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>oldName</code> - old column's name, must exist</dd>
+<dd><code>newName</code> - new name to use</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="removeDefault-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeDefault</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;removeDefault(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Remove the default value for a column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name of the column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="changeDefault-java.lang.String-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>changeDefault</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;changeDefault(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;newDefault)</pre>
+<div class="block">Change the default value for a column. `newDefault` must not be null or
+ else throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang"><code>IllegalArgumentException</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name of the column</dd>
+<dd><code>newDefault</code> - the new default value</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="changeDesiredBlockSize-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>changeDesiredBlockSize</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;changeDesiredBlockSize(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                                                int&nbsp;blockSize)</pre>
+<div class="block">Change the block size of a column's storage. A nonpositive value indicates
+ a server-side default.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name of the column</dd>
+<dd><code>blockSize</code> - the new block size</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="changeEncoding-java.lang.String-org.apache.kudu.ColumnSchema.Encoding-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>changeEncoding</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;changeEncoding(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                                        <a href="../../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a>&nbsp;encoding)</pre>
+<div class="block">Change the encoding used for a column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name of the column</dd>
+<dd><code>encoding</code> - the new encoding</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="changeCompressionAlgorithm-java.lang.String-org.apache.kudu.ColumnSchema.CompressionAlgorithm-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>changeCompressionAlgorithm</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;changeCompressionAlgorithm(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                                                    <a href="../../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a>&nbsp;ca)</pre>
+<div class="block">Change the compression used for a column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the column</dd>
+<dd><code>ca</code> - the new compression algorithm</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addRangePartition</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;addRangePartition(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lowerBound,
+                                           <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upperBound)</pre>
+<div class="block">Add a range partition to the table with an inclusive lower bound and an exclusive upper bound.
+
+ If either row is empty, then that end of the range will be unbounded. If a range column is
+ missing a value, the logical minimum value for that column type will be used as the default.
+
+ Multiple range partitions may be added as part of a single alter table transaction by calling
+ this method multiple times. Added range partitions must not overlap with each
+ other or any existing range partitions (unless the existing range partitions are dropped as
+ part of the alter transaction first). The lower bound must be less than the upper bound.
+
+ This client will immediately be able to write and scan the new tablets when the alter table
+ operation returns success, however other existing clients may have to wait for a timeout period
+ to elapse before the tablets become visible. This period is configured by the master's
+ 'table_locations_ttl_ms' flag, and defaults to 5 minutes.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - inclusive lower bound, may be empty but not null</dd>
+<dd><code>upperBound</code> - exclusive upper bound, may be empty but not null</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-org.apache.kudu.client.RangePartitionBound-org.apache.kudu.client.RangePartitionBound-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addRangePartition</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;addRangePartition(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lowerBound,
+                                           <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upperBound,
+                                           <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;lowerBoundType,
+                                           <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;upperBoundType)</pre>
+<div class="block">Add a range partition to the table with a lower bound and upper bound.
+
+ If either row is empty, then that end of the range will be unbounded. If a range column is
+ missing a value, the logical minimum value for that column type will be used as the default.
+
+ Multiple range partitions may be added as part of a single alter table transaction by calling
+ this method multiple times. Added range partitions must not overlap with each
+ other or any existing range partitions (unless the existing range partitions are dropped as
+ part of the alter transaction first). The lower bound must be less than the upper bound.
+
+ This client will immediately be able to write and scan the new tablets when the alter table
+ operation returns success, however other existing clients may have to wait for a timeout period
+ to elapse before the tablets become visible. This period is configured by the master's
+ 'table_locations_ttl_ms' flag, and defaults to 5 minutes.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - lower bound, may be empty but not null</dd>
+<dd><code>upperBound</code> - upper bound, may be empty but not null</dd>
+<dd><code>lowerBoundType</code> - the type of the lower bound, either inclusive or exclusive</dd>
+<dd><code>upperBoundType</code> - the type of the upper bound, either inclusive or exclusive</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-java.lang.String-org.apache.kudu.client.RangePartitionBound-org.apache.kudu.client.RangePartitionBound-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addRangePartition</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;addRangePartition(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lowerBound,
+                                           <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upperBound,
+                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dimensionLabel,
+                                           <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;lowerBoundType,
+                                           <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;upperBoundType)</pre>
+<div class="block">Add a range partition to the table with dimension label.
+
+ If either row is empty, then that end of the range will be unbounded. If a range column is
+ missing a value, the logical minimum value for that column type will be used as the default.
+
+ Multiple range partitions may be added as part of a single alter table transaction by calling
+ this method multiple times. Added range partitions must not overlap with each
+ other or any existing range partitions (unless the existing range partitions are dropped as
+ part of the alter transaction first). The lower bound must be less than the upper bound.
+
+ This client will immediately be able to write and scan the new tablets when the alter table
+ operation returns success, however other existing clients may have to wait for a timeout period
+ to elapse before the tablets become visible. This period is configured by the master's
+ 'table_locations_ttl_ms' flag, and defaults to 5 minutes.
+
+ By default, the master will try to place newly created tablet replicas on tablet
+ servers with a small number of tablet replicas. If the dimension label is provided,
+ newly created replicas will be evenly distributed in the cluster based on the dimension
+ label. In other words, the master will try to place newly created tablet replicas on
+ tablet servers with a small number of tablet replicas belonging to this dimension label.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - lower bound, may be empty but not null</dd>
+<dd><code>upperBound</code> - upper bound, may be empty but not null</dd>
+<dd><code>dimensionLabel</code> - the dimension label for the tablet to be created</dd>
+<dd><code>lowerBoundType</code> - the type of the lower bound, either inclusive or exclusive</dd>
+<dd><code>upperBoundType</code> - the type of the upper bound, either inclusive or exclusive</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="dropRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dropRangePartition</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;dropRangePartition(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lowerBound,
+                                            <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upperBound)</pre>
+<div class="block">Drop the range partition from the table with the specified inclusive lower bound and exclusive
+ upper bound. The bounds must match exactly, and may not span multiple range partitions.
+
+ If either row is empty, then that end of the range will be unbounded. If a range column is
+ missing a value, the logical minimum value for that column type will be used as the default.
+
+ Multiple range partitions may be dropped as part of a single alter table transaction by calling
+ this method multiple times.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - inclusive lower bound, can be empty but not null</dd>
+<dd><code>upperBound</code> - exclusive upper bound, can be empty but not null</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="dropRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-org.apache.kudu.client.RangePartitionBound-org.apache.kudu.client.RangePartitionBound-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dropRangePartition</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;dropRangePartition(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lowerBound,
+                                            <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upperBound,
+                                            <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;lowerBoundType,
+                                            <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;upperBoundType)</pre>
+<div class="block">Drop the range partition from the table with the specified lower bound and upper bound.
+ The bounds must match exactly, and may not span multiple range partitions.
+
+ If either row is empty, then that end of the range will be unbounded. If a range column is
+ missing a value, the logical minimum value for that column type will be used as the default.
+
+ Multiple range partitions may be dropped as part of a single alter table transaction by calling
+ this method multiple times.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - inclusive lower bound, can be empty but not null</dd>
+<dd><code>upperBound</code> - exclusive upper bound, can be empty but not null</dd>
+<dd><code>lowerBoundType</code> - the type of the lower bound, either inclusive or exclusive</dd>
+<dd><code>upperBoundType</code> - the type of the upper bound, either inclusive or exclusive</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="changeComment-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>changeComment</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;changeComment(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;comment)</pre>
+<div class="block">Change the comment for the column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name of the column</dd>
+<dd><code>comment</code> - the new comment for the column, an empty comment means
+        deleting an existing comment.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="alterExtraConfigs-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>alterExtraConfigs</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;alterExtraConfigs(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;extraConfig)</pre>
+<div class="block">Change the table's extra configuration properties.
+ These configuration properties will be merged into existing configuration properties.
+
+ If the value of the kv pair is empty, the property will be unset.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>extraConfig</code> - the table's extra configuration properties</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="setWait-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setWait</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;setWait(boolean&nbsp;wait)</pre>
+<div class="block">Whether to wait for the table to be fully altered before this alter
+ operation is considered to be finished.
+ <p>
+ If false, the alter will finish quickly, but a subsequent
+ <a href="../../../../org/apache/kudu/client/KuduClient.html#openTable-java.lang.String-"><code>KuduClient.openTable(String)</code></a> may return a <a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client"><code>KuduTable</code></a> with
+ an out-of-date schema.
+ <p>
+ If true, the alter will take longer, but the very next schema is guaranteed
+ to be up-to-date.
+ <p>
+ If not provided, defaults to true.
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>wait</code> - whether to wait for the table to be fully altered</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AlterTableOptions.html" target="_top">Frames</a></li>
+<li><a href="AlterTableOptions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/AlterTableResponse.html b/releases/1.15.0/apidocs/org/apache/kudu/client/AlterTableResponse.html
new file mode 100644
index 0000000..9a1d555
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/AlterTableResponse.html
@@ -0,0 +1,283 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>AlterTableResponse</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AlterTableResponse";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AlterTableResponse.html" target="_top">Frames</a></li>
+<li><a href="AlterTableResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class AlterTableResponse" class="title">Class AlterTableResponse</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.AlterTableResponse</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">AlterTableResponse</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableResponse.html#getElapsedMillis--">getElapsedMillis</a></span>()</code>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableResponse.html#getTableId--">getTableId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AlterTableResponse.html#getTsUUID--">getTsUUID</a></span>()</code>
+<div class="block">Get the identifier of the tablet server that sent the response.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTableId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableId</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTableId()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the ID of the altered table</dd>
+</dl>
+</li>
+</ul>
+<a name="getElapsedMillis--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElapsedMillis</h4>
+<pre>public&nbsp;long&nbsp;getElapsedMillis()</pre>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>elapsed time in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getTsUUID--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTsUUID</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTsUUID()</pre>
+<div class="block">Get the identifier of the tablet server that sent the response. May be
+ <code>null</code> if the RPC failed before tablet location lookup succeeded.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string containing a UUID</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AlterTableResponse.html" target="_top">Frames</a></li>
+<li><a href="AlterTableResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html
new file mode 100644
index 0000000..e152662
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html
@@ -0,0 +1,533 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>AsyncKuduClient.AsyncKuduClientBuilder</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AsyncKuduClient.AsyncKuduClientBuilder";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":42,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":42,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduClient.AsyncKuduClientBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class AsyncKuduClient.AsyncKuduClientBuilder" class="title">Class AsyncKuduClient.AsyncKuduClientBuilder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static final class <span class="typeNameLabel">AsyncKuduClient.AsyncKuduClientBuilder</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Builder class to use in order to connect to Kudu.
+ All the parameters beyond those in the constructors are optional.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#AsyncKuduClientBuilder-java.util.List-">AsyncKuduClientBuilder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;masterAddresses)</code>
+<div class="block">Creates a new builder for a client that will connect to the specified masters.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#AsyncKuduClientBuilder-java.lang.String-">AsyncKuduClientBuilder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;masterAddresses)</code>
+<div class="block">Creates a new builder for a client that will connect to the specified masters.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#bossCount-int-">bossCount</a></span>(int&nbsp;bossCount)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#build--">build</a></span>()</code>
+<div class="block">Creates a new client that connects to the masters.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#defaultAdminOperationTimeoutMs-long-">defaultAdminOperationTimeoutMs</a></span>(long&nbsp;timeoutMs)</code>
+<div class="block">Sets the default timeout used for administrative operations (e.g.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#defaultOperationTimeoutMs-long-">defaultOperationTimeoutMs</a></span>(long&nbsp;timeoutMs)</code>
+<div class="block">Sets the default timeout used for user operations (using sessions and scanners).</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#defaultSocketReadTimeoutMs-long-">defaultSocketReadTimeoutMs</a></span>(long&nbsp;timeoutMs)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">this option no longer has any effect</span></div>
+</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#disableStatistics--">disableStatistics</a></span>()</code>
+<div class="block">Disable this client's collection of statistics.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#nioExecutor-java.util.concurrent.Executor-">nioExecutor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;workerExecutor)</code>
+<div class="block">Set the executor which will be used for the embedded Netty workers.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#nioExecutors-java.util.concurrent.Executor-java.util.concurrent.Executor-">nioExecutors</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;bossExecutor,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;workerExecutor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#saslProtocolName-java.lang.String-">saslProtocolName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;saslProtocolName)</code>
+<div class="block">Set the SASL protocol name.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html#workerCount-int-">workerCount</a></span>(int&nbsp;workerCount)</code>
+<div class="block">Set the maximum number of Netty worker threads.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AsyncKuduClientBuilder-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AsyncKuduClientBuilder</h4>
+<pre>public&nbsp;AsyncKuduClientBuilder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;masterAddresses)</pre>
+<div class="block">Creates a new builder for a client that will connect to the specified masters.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>masterAddresses</code> - comma-separated list of "host:port" pairs of the masters</dd>
+</dl>
+</li>
+</ul>
+<a name="AsyncKuduClientBuilder-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AsyncKuduClientBuilder</h4>
+<pre>public&nbsp;AsyncKuduClientBuilder(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;masterAddresses)</pre>
+<div class="block">Creates a new builder for a client that will connect to the specified masters.
+
+ <p>Here are some examples of recognized formats:
+ <ul>
+   <li>example.com
+   <li>example.com:80
+   <li>192.0.2.1
+   <li>192.0.2.1:80
+   <li>[2001:db8::1]
+   <li>[2001:db8::1]:80
+   <li>2001:db8::1
+ </ul></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>masterAddresses</code> - list of master addresses</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="defaultAdminOperationTimeoutMs-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>defaultAdminOperationTimeoutMs</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a>&nbsp;defaultAdminOperationTimeoutMs(long&nbsp;timeoutMs)</pre>
+<div class="block">Sets the default timeout used for administrative operations (e.g. createTable, deleteTable,
+ etc).
+ Optional.
+ If not provided, defaults to 30s.
+ A value of 0 disables the timeout.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeoutMs</code> - a timeout in milliseconds</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="defaultOperationTimeoutMs-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>defaultOperationTimeoutMs</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a>&nbsp;defaultOperationTimeoutMs(long&nbsp;timeoutMs)</pre>
+<div class="block">Sets the default timeout used for user operations (using sessions and scanners).
+ Optional.
+ If not provided, defaults to 30s.
+ A value of 0 disables the timeout.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeoutMs</code> - a timeout in milliseconds</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="defaultSocketReadTimeoutMs-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>defaultSocketReadTimeoutMs</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a>&nbsp;defaultSocketReadTimeoutMs(long&nbsp;timeoutMs)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">this option no longer has any effect</span></div>
+<div class="block">Socket read timeouts are no longer used in the Java client and have no effect.
+ Setting this has no effect.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeoutMs</code> - a timeout in milliseconds</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="nioExecutors-java.util.concurrent.Executor-java.util.concurrent.Executor-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nioExecutors</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a>&nbsp;nioExecutors(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;bossExecutor,
+                                                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;workerExecutor)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</li>
+</ul>
+<a name="nioExecutor-java.util.concurrent.Executor-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nioExecutor</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a>&nbsp;nioExecutor(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;workerExecutor)</pre>
+<div class="block">Set the executor which will be used for the embedded Netty workers.
+
+ Optional.
+ If not provided, uses a simple cached threadpool. If workerExecutor is null,
+ then such a thread pool will be used.
+ Note: executor's max thread number must be greater or equal to corresponding
+ worker count, or netty cannot start enough threads, and client will get stuck.
+ If not sure, please just use CachedThreadPool.</div>
+</li>
+</ul>
+<a name="bossCount-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bossCount</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a>&nbsp;bossCount(int&nbsp;bossCount)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</li>
+</ul>
+<a name="workerCount-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>workerCount</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a>&nbsp;workerCount(int&nbsp;workerCount)</pre>
+<div class="block">Set the maximum number of Netty worker threads.
+ A worker thread performs non-blocking read and write for one or more
+ Netty Channels in a non-blocking mode.
+
+ Optional.
+ If not provided, (2 * the number of available processors) is used. If
+ this client instance will be used on a machine running many client
+ instances, it may be wise to lower this count, for example to avoid
+ resource limits, at the possible cost of some performance of this client
+ instance.</div>
+</li>
+</ul>
+<a name="disableStatistics--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>disableStatistics</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a>&nbsp;disableStatistics()</pre>
+<div class="block">Disable this client's collection of statistics.
+ Statistics are enabled by default.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="saslProtocolName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>saslProtocolName</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a>&nbsp;saslProtocolName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;saslProtocolName)</pre>
+<div class="block">Set the SASL protocol name.
+ SASL protocol name is used when connecting to a secure (Kerberos-enabled)
+ cluster. It must match the servers' service principal name (SPN).
+
+ Optional.
+ If not provided, it will use the default SASL protocol name ("kudu").</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="build--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a>&nbsp;build()</pre>
+<div class="block">Creates a new client that connects to the masters.
+ Doesn't block and won't throw an exception if the masters don't exist.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new asynchronous Kudu client</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduClient.AsyncKuduClientBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduClient.html b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduClient.html
new file mode 100644
index 0000000..26e968b
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduClient.html
@@ -0,0 +1,1246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>AsyncKuduClient</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AsyncKuduClient";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":42,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduClient.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduClient.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class AsyncKuduClient" class="title">Class AsyncKuduClient</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.AsyncKuduClient</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Unstable
+public class <span class="typeNameLabel">AsyncKuduClient</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></pre>
+<div class="block">A fully asynchronous and thread-safe client for Kudu.
+ <p>
+ A single Kudu client instance corresponds to a single remote Kudu cluster,
+ and can be used to read or write any number of tables within that cluster.
+ An application should use exactly one Kudu client instance per distinct Kudu
+ cluster it connects to.
+
+ In rare cases where a single application needs multiple instances connected
+ to the same cluster, or when many applications each using one or more Kudu
+ client instances are running on the same machine, it may be necessary to
+ adjust the instances to use less resources. See the options in
+ <a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client"><code>AsyncKuduClient.AsyncKuduClientBuilder</code></a>.
+
+ <h1>Creating a client instance</h1> An <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><code>AsyncKuduClient</code></a> instance may
+ be created using the <a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client"><code>AsyncKuduClient.AsyncKuduClientBuilder</code></a> class. If
+ a synchronous API is preferred, <a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client"><code>KuduClient.KuduClientBuilder</code></a> may be
+ used instead. See the documentation on these classes for more details on
+ client configuration options.
+
+ <h1>Authenticating to a secure cluster</h1> A Kudu cluster may be configured
+ such that it requires clients to connect using strong authentication. Clients
+ can authenticate to such clusters using either of two methods:
+ <ol>
+ <li><em>Kerberos credentials</em></li>
+ <li><em>Authentication tokens</em></li>
+ </ol>
+
+ In a typical environment, Kerberos credentials are used for non-distributed
+ client applications and for applications which <em>spawn</em> distributed
+ jobs. Tokens are used for the <em>tasks</em> of distributed jobs, since those
+ tasks do not have access to the user's Kerberos credentials.
+
+ <h2>Authenticating using Kerberos credentials</h2>
+
+ In order to integrate with Kerberos, Kudu uses the standard <em>Java
+ Authentication and Authorization Service</em> (JAAS) API provided by the JDK.
+ JAAS provides a common way for applications to initialize Kerberos
+ credentials, store these credentials in a <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/Subject.html?is-external=true" title="class or interface in javax.security.auth"><code>Subject</code></a>
+ instance, and associate the Subject with the current thread of execution.
+ The Kudu client then accesses the Kerberos credentials in the
+ <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/Subject.html?is-external=true" title="class or interface in javax.security.auth"><code>Subject</code></a> and uses them to authenticate to the
+ remote cluster as necessary.
+ <p>
+ Kerberos credentials are typically obtained in one of two ways:
+ <ol>
+ <li>The <em>Kerberos ticket cache</em></li>
+ <li>A <em>keytab</em> file</li>
+ </ol>
+
+ <h3>Authenticating from the Kerberos ticket cache</h3>
+
+ The Kerberos <em>ticket cache</em> is a file stored on the local file system
+ which is automatically initialized when a user runs <em>kinit</em> at the
+ command line. This is the predominant method for authenticating users in
+ interactive applications: the user is expected to have run <em>kinit</em>
+ recently, and the application will find the appropriate credentials in the
+ ticket cache.
+ <p>
+ In the case of the Kudu client, Kudu will automatically look for credentials
+ in the standard system-configured ticket cache location. No additional code
+ needs to be written to enable this behavior.
+ <p>
+ Kudu will automatically detect if the ticket it has obtained from the ticket
+ cache is about to expire. When that is the case, it will attempt to re-read
+ the ticket cache to obtain a new ticket with a later expiration time. So, if
+ an application needs to run for longer than the lifetime of a single ticket,
+ the user must ensure that the ticket cache is periodically refreshed, for
+ example by re-running 'kinit' once each day.
+
+ <h3>Authenticating from a keytab</h3>
+
+ Long-running applications typically obtain Kerberos credentials from a
+ Kerberos <em>keytab</em> file. A keytab is essentially a saved password, and
+ allows the application to obtain new Kerberos tickets whenever the prior
+ ticket is about to expire.
+ <p>
+ The Kudu client does not provide any utility code to facilitate logging in
+ from a keytab. Instead, applications should invoke the JAAS APIs directly,
+ and then ensure that the resulting <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/Subject.html?is-external=true" title="class or interface in javax.security.auth"><code>Subject</code></a>
+ instance is associated with the current thread's
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/security/AccessControlContext.html?is-external=true" title="class or interface in java.security"><code>AccessControlContext</code></a> when instantiating the Kudu client
+ instance for the first time. The <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/Subject.html?is-external=true" title="class or interface in javax.security.auth"><code>Subject</code></a> instance
+ will be stored and used whenever Kerberos authentication is required.
+ <p>
+ <b>Note</b>: if the Kudu client is instantiated with a
+ <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/Subject.html?is-external=true" title="class or interface in javax.security.auth"><code>Subject</code></a> as described above, it will <em>not</em>
+ make any attempt to re-login from the keytab. Instead, the application should
+ arrange to periodically re-initiate the login process and update the
+ credentials stored in the same Subject instance as was provided when the
+ client was instantiated.
+ <p>
+ The easiest way to authenticate using a keytab is by creating a JAAS config
+ file such as this: <pre>
+ ExampleLoginContextName {
+   com.sun.security.auth.module.Krb5LoginModule required
+   useKeyTab = true
+   keyTab = "/path/to/app.keytab"
+   principal = "appuser";
+ };
+ </pre>
+ This can then be passed to the application by adding <code>-Djava.security.auth.login.config=/path/to/jaas.conf</code> to the command when
+ starting it.
+ This authentication method needs to be set in the code as well by wrapping
+ the code interacting with Kudu with a <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/Subject.html?is-external=true#doAs-javax.security.auth.Subject-java.security.PrivilegedAction-" title="class or interface in javax.security.auth"><code>Subject.doAs(javax.security.auth.Subject, java.security.PrivilegedAction&lt;T&gt;)</code></a> after creating a login context using the
+ JAAS config, logging in, and passing the <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/Subject.html?is-external=true" title="class or interface in javax.security.auth"><code>Subject</code></a>
+ to the <i>doAs</i>:
+ <pre>
+ LoginContext login = new LoginContext("ExampleLoginContextName");
+ login.login();
+ KuduClient c = Subject.doAs(login.getSubject(),
+                             (PrivilegedAction&lt;KuduClient&gt;) () -> {
+   return myClientBuilder.build();
+ });
+ </pre>
+ In this case it's necessary to periodically re-login as needed and run doAs
+ using the new subject.
+ <p>
+ In the context of the Hadoop ecosystem, the <code>org.apache.hadoop.security.UserGroupInformation</code> class provides utility
+ methods to login from a keytab and then run code as the resulting <a href="https://docs.oracle.com/javase/8/docs/api/javax/security/auth/Subject.html?is-external=true" title="class or interface in javax.security.auth"><code>Subject</code></a>: <pre>
+   UserGroupInformation.loginUserFromKeytab("appuser", "/path/to/app.keytab");
+   KuduClient c = UserGroupInformation.getLoginUser().doAs(
+     new PrivilegedExceptionAction<KuduClient>() {
+       &#64;Override
+       public KuduClient run() throws Exception {
+         return myClientBuilder.build();
+       }
+     }
+   );
+ </pre> The <code>UserGroupInformation</code> class will also automatically
+ start a thread to periodically re-login from the keytab. It's not necessary
+ to pass a JAAS config.
+
+ <h3>Debugging Kudu's usage of Kerberos credentials</h3>
+
+ The Kudu client emits DEBUG-level logs under the
+ <code>org.apache.kudu.client.SecurityContext</code> slf4j category. Enabling DEBUG
+ logging for this class may help you understand which credentials are being
+ obtained by the Kudu client when it is instantiated. Additionally, if the
+ Java system property <code>kudu.jaas.debug</code> is set to <code>true</code>, Kudu
+ will enable the <code>debug</code> option when configuring <code>Krb5LoginModule</code>
+ when it attempts to log in from a ticket cache. JDK-specific system properties
+ such as <code>sun.security.krb5.debug</code> may also be useful in troubleshooting
+ Kerberos authentication failures.
+
+ <h2>Authenticating using tokens</h2>
+
+ In the case of distributed applications, the worker tasks often do not have
+ access to Kerberos credentials such as ticket caches or keytabs.
+ Additionally, there may be hundreds or thousands of workers with relatively
+ short life-times, and if each task attempted to authenticate using Kerberos,
+ the amount of load on the Kerberos infrastructure could be substantial enough
+ to cause instability. To solve this issue, Kudu provides support for
+ <em>authentication tokens</em>.
+ <p>
+ An authentication token is a time-limited credential which can be obtained by
+ an application which has already authenticated via Kerberos. The token is
+ represented by an opaque byte string, and it can be passed from one client to
+ another to transfer credentials.
+ <p>
+ A token may be generated using the
+ <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#exportAuthenticationCredentials--"><code>exportAuthenticationCredentials()</code></a> API, and then
+ imported to another client using
+ <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#importAuthenticationCredentials-byte:A-"><code>importAuthenticationCredentials(byte[])</code></a>.
+
+ <h2>Authentication in Spark jobs</h2>
+
+ Note that the Spark integration provided by the <em>kudu-spark</em> package
+ automatically handles the interaction with Kerberos and the passing of tokens
+ from the Spark driver to tasks. Refer to the Kudu documentation for details
+ on how to submit a Spark job on a secure cluster.
+
+ <h1>API Compatibility</h1>
+
+ Note that some methods in the Kudu client implementation are public but
+ annotated with the InterfaceAudience.Private annotation. This
+ annotation indicates that, despite having <code>public</code> visibility, the
+ method is not part of the public API and there is no guarantee that its
+ existence or behavior will be maintained in subsequent versions of the Kudu
+ client library.
+
+ Other APIs are annotated with the InterfaceStability.Unstable annotation.
+ These APIs are meant for public consumption but may change between minor releases.
+ Note that the asynchronous client is currently considered unstable.
+
+ <h1>Thread Safety</h1>
+
+ The Kudu client instance itself is thread-safe; however, not all associated
+ classes are themselves thread-safe. For example, neither
+ <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><code>AsyncKuduSession</code></a> nor its synchronous wrapper <a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><code>KuduSession</code></a> is
+ thread-safe. Refer to the documentation for each individual class for more
+ details.
+
+ <h1>Asynchronous usage</h1>
+
+ This client is fully non-blocking, any blocking operation will return a
+ <code>Deferred</code> instance to which you can attach a <code>Callback</code> chain
+ that will execute when the asynchronous operation completes.
+ <p>
+ The asynchronous calls themselves typically do not throw exceptions. Instead,
+ an <code>errback</code> should be attached which will be called with the Exception
+ that occurred.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></span></code>
+<div class="block">Builder class to use in order to connect to Kudu.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#DEFAULT_KEEP_ALIVE_PERIOD_MS">DEFAULT_KEEP_ALIVE_PERIOD_MS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#DEFAULT_OPERATION_TIMEOUT_MS">DEFAULT_OPERATION_TIMEOUT_MS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#EMPTY_ARRAY">EMPTY_ARRAY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#INVALID_TXN_ID">INVALID_TXN_ID</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static org.slf4j.Logger</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#LOG">LOG</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#NO_TIMESTAMP">NO_TIMESTAMP</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#SLEEP_TIME">SLEEP_TIME</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client">AlterTableResponse</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#alterTable-java.lang.String-org.apache.kudu.client.AlterTableOptions-">alterTable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+          <a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;ato)</code>
+<div class="block">Alter a table on the cluster as specified by the builder.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#close--">close</a></span>()</code>
+<div class="block">Invokes <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#shutdown--"><code>shutdown()</code></a> and waits.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#createTable-java.lang.String-org.apache.kudu.Schema-org.apache.kudu.client.CreateTableOptions-">createTable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema,
+           <a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;builder)</code>
+<div class="block">Create a table on the cluster with the specified name, schema, and table configurations.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client">DeleteTableResponse</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#deleteTable-java.lang.String-">deleteTable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Delete a table on the cluster with the specified name.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#exportAuthenticationCredentials--">exportAuthenticationCredentials</a></span>()</code>
+<div class="block">Export serialized authentication data that may be passed to a different
+ client instance and imported to provide that client the ability to connect
+ to the cluster.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#getClusterId--">getClusterId</a></span>()</code>
+<div class="block">Returns the ID of the cluster that this client is connected to.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#getDefaultAdminOperationTimeoutMs--">getDefaultAdminOperationTimeoutMs</a></span>()</code>
+<div class="block">Get the timeout used for admin operations.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#getDefaultOperationTimeoutMs--">getDefaultOperationTimeoutMs</a></span>()</code>
+<div class="block">Get the timeout used for operations on sessions and scanners.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#getDefaultSocketReadTimeoutMs--">getDefaultSocketReadTimeoutMs</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">socket read timeouts are no longer used</span></div>
+</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#getLastPropagatedTimestamp--">getLastPropagatedTimestamp</a></span>()</code>
+<div class="block">Returns the last timestamp received from a server.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#getLocationString--">getLocationString</a></span>()</code>
+<div class="block">Returns a string representation of this client's location.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#getMasterAddressesAsString--">getMasterAddressesAsString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#getStatistics--">getStatistics</a></span>()</code>
+<div class="block">Get the statistics object of this client.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#getTablesList--">getTablesList</a></span>()</code>
+<div class="block">Get the list of all the tables.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#getTablesList-java.lang.String-">getTablesList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;nameFilter)</code>
+<div class="block">Get a list of table names.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client">KuduTableStatistics</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#getTableStatistics-java.lang.String-">getTableStatistics</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Get table's statistics from master.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#hasLastPropagatedTimestamp--">hasLastPropagatedTimestamp</a></span>()</code>
+<div class="block">Checks if the client received any timestamps from a server.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#importAuthenticationCredentials-byte:A-">importAuthenticationCredentials</a></span>(byte[]&nbsp;authnData)</code>
+<div class="block">Import data allowing this client to authenticate to the cluster.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client">IsAlterTableDoneResponse</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#isAlterTableDone-java.lang.String-">isAlterTableDone</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Check whether a previously issued alterTable() is done.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client">IsCreateTableDoneResponse</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#isCreateTableDone-java.lang.String-">isCreateTableDone</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Check whether a previously issued createTable() is done.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#isStatisticsEnabled--">isStatisticsEnabled</a></span>()</code>
+<div class="block">Check if statistics collection is enabled for this client.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client">ListTabletServersResponse</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#listTabletServers--">listTabletServers</a></span>()</code>
+<div class="block">Get the list of running tablet servers.</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client">AsyncKuduScanner.AsyncKuduScannerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#newScannerBuilder-org.apache.kudu.client.KuduTable-">newScannerBuilder</a></span>(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</code>
+<div class="block">Creates a new <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner.AsyncKuduScannerBuilder</code></a> for a particular table.</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#newSession--">newSession</a></span>()</code>
+<div class="block">Create a new session for interacting with the cluster.</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#openTable-java.lang.String-">openTable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Open the table with the given name.</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#shutdown--">shutdown</a></span>()</code>
+<div class="block">Performs a graceful shutdown of this instance.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#syncClient--">syncClient</a></span>()</code>
+<div class="block">Returns a synchronous <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a> which wraps this asynchronous client.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#tableExists-java.lang.String-">tableExists</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Test if a table exists.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#updateLastPropagatedTimestamp-long-">updateLastPropagatedTimestamp</a></span>(long&nbsp;lastPropagatedTimestamp)</code>
+<div class="block">Updates the last timestamp received from a server.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="LOG">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LOG</h4>
+<pre>public static final&nbsp;org.slf4j.Logger LOG</pre>
+</li>
+</ul>
+<a name="SLEEP_TIME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SLEEP_TIME</h4>
+<pre>public static final&nbsp;int SLEEP_TIME</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.kudu.client.AsyncKuduClient.SLEEP_TIME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="EMPTY_ARRAY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EMPTY_ARRAY</h4>
+<pre>public static final&nbsp;byte[] EMPTY_ARRAY</pre>
+</li>
+</ul>
+<a name="NO_TIMESTAMP">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NO_TIMESTAMP</h4>
+<pre>public static final&nbsp;long NO_TIMESTAMP</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.kudu.client.AsyncKuduClient.NO_TIMESTAMP">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="INVALID_TXN_ID">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>INVALID_TXN_ID</h4>
+<pre>public static final&nbsp;long INVALID_TXN_ID</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.kudu.client.AsyncKuduClient.INVALID_TXN_ID">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="DEFAULT_OPERATION_TIMEOUT_MS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DEFAULT_OPERATION_TIMEOUT_MS</h4>
+<pre>public static final&nbsp;long DEFAULT_OPERATION_TIMEOUT_MS</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.kudu.client.AsyncKuduClient.DEFAULT_OPERATION_TIMEOUT_MS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="DEFAULT_KEEP_ALIVE_PERIOD_MS">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DEFAULT_KEEP_ALIVE_PERIOD_MS</h4>
+<pre>public static final&nbsp;long DEFAULT_KEEP_ALIVE_PERIOD_MS</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.kudu.client.AsyncKuduClient.DEFAULT_KEEP_ALIVE_PERIOD_MS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="updateLastPropagatedTimestamp-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateLastPropagatedTimestamp</h4>
+<pre>public&nbsp;void&nbsp;updateLastPropagatedTimestamp(long&nbsp;lastPropagatedTimestamp)</pre>
+<div class="block">Updates the last timestamp received from a server. Used for CLIENT_PROPAGATED
+ external consistency.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lastPropagatedTimestamp</code> - the last timestamp received from a server</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastPropagatedTimestamp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastPropagatedTimestamp</h4>
+<pre>public&nbsp;long&nbsp;getLastPropagatedTimestamp()</pre>
+<div class="block">Returns the last timestamp received from a server. Used for CLIENT_PROPAGATED
+ external consistency. Note that the returned timestamp is encoded and cannot be
+ interpreted as a raw timestamp.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a long indicating the specially-encoded last timestamp received from a server</dd>
+</dl>
+</li>
+</ul>
+<a name="hasLastPropagatedTimestamp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasLastPropagatedTimestamp</h4>
+<pre>public&nbsp;boolean&nbsp;hasLastPropagatedTimestamp()</pre>
+<div class="block">Checks if the client received any timestamps from a server. Used for
+ CLIENT_PROPAGATED external consistency.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if last propagated timestamp has been set</dd>
+</dl>
+</li>
+</ul>
+<a name="getLocationString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLocationString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLocationString()</pre>
+<div class="block">Returns a string representation of this client's location. If this
+ client was not assigned a location, returns the empty string.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string representation of this client's location</dd>
+</dl>
+</li>
+</ul>
+<a name="getClusterId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClusterId</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClusterId()</pre>
+<div class="block">Returns the ID of the cluster that this client is connected to.
+ It will be an empty string if the client is not connected or
+ the client is connected to a cluster that doesn't support
+ cluster IDs.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the ID of the cluster that this client is connected to</dd>
+</dl>
+</li>
+</ul>
+<a name="syncClient--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>syncClient</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;syncClient()</pre>
+<div class="block">Returns a synchronous <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><code>KuduClient</code></a> which wraps this asynchronous client.
+ Calling <a href="../../../../org/apache/kudu/client/KuduClient.html#close--"><code>KuduClient.close()</code></a> on the returned client will close this client.
+ If this asynchronous client should outlive the returned synchronous client,
+ then do not close the synchronous client.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new synchronous <code>KuduClient</code></dd>
+</dl>
+</li>
+</ul>
+<a name="createTable-java.lang.String-org.apache.kudu.Schema-org.apache.kudu.client.CreateTableOptions-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createTable</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&gt;&nbsp;createTable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                                                             <a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema,
+                                                             <a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;builder)</pre>
+<div class="block">Create a table on the cluster with the specified name, schema, and table configurations.
+ If the primary key columns of the table schema aren't specified first, the deferred result
+ will be a <code>NonRecoverableException</code></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the table's name</dd>
+<dd><code>schema</code> - the table's schema</dd>
+<dd><code>builder</code> - a builder containing the table's configurations</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a deferred object to track the progress of the createTable command that gives
+ an object to communicate with the created table</dd>
+</dl>
+</li>
+</ul>
+<a name="isCreateTableDone-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isCreateTableDone</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client">IsCreateTableDoneResponse</a>&gt;&nbsp;isCreateTableDone(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Check whether a previously issued createTable() is done.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - table's name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a deferred object to track the progress of the isCreateTableDone command</dd>
+</dl>
+</li>
+</ul>
+<a name="deleteTable-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deleteTable</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client">DeleteTableResponse</a>&gt;&nbsp;deleteTable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Delete a table on the cluster with the specified name.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the table's name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a deferred object to track the progress of the deleteTable command</dd>
+</dl>
+</li>
+</ul>
+<a name="alterTable-java.lang.String-org.apache.kudu.client.AlterTableOptions-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>alterTable</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client">AlterTableResponse</a>&gt;&nbsp;alterTable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                                                                     <a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;ato)</pre>
+<div class="block">Alter a table on the cluster as specified by the builder.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the table's name (old name if the table is being renamed)</dd>
+<dd><code>ato</code> - the alter table options</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a deferred object to track the progress of the alter command</dd>
+</dl>
+</li>
+</ul>
+<a name="isAlterTableDone-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAlterTableDone</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client">IsAlterTableDoneResponse</a>&gt;&nbsp;isAlterTableDone(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Check whether a previously issued alterTable() is done.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - table name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a deferred object to track the progress of the isAlterTableDone command</dd>
+</dl>
+</li>
+</ul>
+<a name="listTabletServers--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>listTabletServers</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client">ListTabletServersResponse</a>&gt;&nbsp;listTabletServers()</pre>
+<div class="block">Get the list of running tablet servers.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a deferred object that yields a list of tablet servers</dd>
+</dl>
+</li>
+</ul>
+<a name="getTablesList--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTablesList</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a>&gt;&nbsp;getTablesList()</pre>
+<div class="block">Get the list of all the tables.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a deferred object that yields a list of all the tables</dd>
+</dl>
+</li>
+</ul>
+<a name="getTablesList-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTablesList</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a>&gt;&nbsp;getTablesList(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;nameFilter)</pre>
+<div class="block">Get a list of table names. Passing a null filter returns all the tables. When a filter is
+ specified, it only returns tables that satisfy a substring match.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>nameFilter</code> - an optional table name filter</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a deferred that yields the list of table names</dd>
+</dl>
+</li>
+</ul>
+<a name="getTableStatistics-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableStatistics</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client">KuduTableStatistics</a>&gt;&nbsp;getTableStatistics(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Get table's statistics from master.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the table's name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an deferred KuduTableStatistics</dd>
+</dl>
+</li>
+</ul>
+<a name="tableExists-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tableExists</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;tableExists(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Test if a table exists.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - a non-null table name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the table exists, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="openTable-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>openTable</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&gt;&nbsp;openTable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Open the table with the given name.
+
+ New range partitions created by other clients will immediately be available
+ after opening the table.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - table to open</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a deferred KuduTable</dd>
+</dl>
+</li>
+</ul>
+<a name="exportAuthenticationCredentials--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>exportAuthenticationCredentials</h4>
+<pre>@InterfaceStability.Unstable
+public&nbsp;com.stumbleupon.async.Deferred&lt;byte[]&gt;&nbsp;exportAuthenticationCredentials()</pre>
+<div class="block">Export serialized authentication data that may be passed to a different
+ client instance and imported to provide that client the ability to connect
+ to the cluster.</div>
+</li>
+</ul>
+<a name="importAuthenticationCredentials-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>importAuthenticationCredentials</h4>
+<pre>@InterfaceStability.Unstable
+public&nbsp;void&nbsp;importAuthenticationCredentials(byte[]&nbsp;authnData)</pre>
+<div class="block">Import data allowing this client to authenticate to the cluster.
+ This will typically be used before making any connections to servers
+ in the cluster.
+
+ Note that, if this client has already been used by one user, this
+ method cannot be used to switch authenticated users. Attempts to
+ do so have undefined results, and may throw an exception.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>authnData</code> - then authentication data provided by a prior call to
+ <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#exportAuthenticationCredentials--"><code>exportAuthenticationCredentials()</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="getDefaultOperationTimeoutMs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDefaultOperationTimeoutMs</h4>
+<pre>public&nbsp;long&nbsp;getDefaultOperationTimeoutMs()</pre>
+<div class="block">Get the timeout used for operations on sessions and scanners.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a timeout in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getDefaultAdminOperationTimeoutMs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDefaultAdminOperationTimeoutMs</h4>
+<pre>public&nbsp;long&nbsp;getDefaultAdminOperationTimeoutMs()</pre>
+<div class="block">Get the timeout used for admin operations.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a timeout in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getDefaultSocketReadTimeoutMs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDefaultSocketReadTimeoutMs</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;long&nbsp;getDefaultSocketReadTimeoutMs()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">socket read timeouts are no longer used</span></div>
+<div class="block">Socket read timeouts are no longer used in the Java client and have no effect.
+ This method always returns 0, as that previously indicated no socket read timeout.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a timeout in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getMasterAddressesAsString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMasterAddressesAsString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMasterAddressesAsString()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the list of master addresses, stringified using commas to separate
+ them</dd>
+</dl>
+</li>
+</ul>
+<a name="isStatisticsEnabled--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isStatisticsEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isStatisticsEnabled()</pre>
+<div class="block">Check if statistics collection is enabled for this client.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if it is enabled, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="getStatistics--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getStatistics</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a>&nbsp;getStatistics()</pre>
+<div class="block">Get the statistics object of this client.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this client's Statistics object</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - thrown if statistics collection has been disabled</dd>
+</dl>
+</li>
+</ul>
+<a name="newScannerBuilder-org.apache.kudu.client.KuduTable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newScannerBuilder</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client">AsyncKuduScanner.AsyncKuduScannerBuilder</a>&nbsp;newScannerBuilder(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</pre>
+<div class="block">Creates a new <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner.AsyncKuduScannerBuilder</code></a> for a particular table.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>table</code> - the name of the table you intend to scan.
+ The string is assumed to use the platform's default charset.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new scanner builder for this table</dd>
+</dl>
+</li>
+</ul>
+<a name="newSession--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newSession</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a>&nbsp;newSession()</pre>
+<div class="block">Create a new session for interacting with the cluster.
+ User is responsible for destroying the session object.
+ This is a fully local operation (no RPCs or blocking).</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new AsyncKuduSession</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Invokes <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#shutdown--"><code>shutdown()</code></a> and waits. This method returns void, so consider invoking
+ <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#shutdown--"><code>shutdown()</code></a> directly if there's a need to handle dangling RPCs.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if an error happens while closing the connections</dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;shutdown()</pre>
+<div class="block">Performs a graceful shutdown of this instance.
+ <p>
+ <ul>
+   <li><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#flush--"><code>Flushes</code></a> all buffered edits.</li>
+   <li>Cancels all the other requests.</li>
+   <li>Terminates all connections.</li>
+   <li>Releases all other resources.</li>
+ </ul>
+ <strong>Not calling this method before losing the last reference to this
+ instance may result in data loss and other unwanted side effects.</strong></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <code>Deferred</code>, whose callback chain will be invoked once all
+ of the above have been done. If this callback chain doesn't fail, then
+ the clean shutdown will be successful, and all the data will be safe on
+ the Kudu side. In case of a failure (the "errback" is invoked) you will have
+ to open a new AsyncKuduClient if you want to retry those operations.
+ The Deferred doesn't actually hold any content.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduClient.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduClient.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html
new file mode 100644
index 0000000..5cc518e
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>AsyncKuduScanner.AsyncKuduScannerBuilder</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AsyncKuduScanner.AsyncKuduScannerBuilder";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduScanner.AsyncKuduScannerBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class AsyncKuduScanner.AsyncKuduScannerBuilder" class="title">Class AsyncKuduScanner.AsyncKuduScannerBuilder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">org.apache.kudu.client.AbstractKuduScannerBuilder</a>&lt;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client">AsyncKuduScanner.AsyncKuduScannerBuilder</a>,<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.AsyncKuduScanner.AsyncKuduScannerBuilder</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static class <span class="typeNameLabel">AsyncKuduScanner.AsyncKuduScannerBuilder</span>
+extends <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a>&lt;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client">AsyncKuduScanner.AsyncKuduScannerBuilder</a>,<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a>&gt;</pre>
+<div class="block">A Builder class to build <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner</code></a>.
+ Use <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#newScannerBuilder-org.apache.kudu.client.KuduTable-"><code>AsyncKuduClient.newScannerBuilder(org.apache.kudu.client.KuduTable)</code></a> in order to get a builder instance.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html#build--">build</a></span>()</code>
+<div class="block">Builds an <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner</code></a> using the passed configurations.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.AbstractKuduScannerBuilder">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></h3>
+<code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addColumnRangePredicate-org.apache.kudu.client.ColumnRangePredicate-">addColumnRangePredicate</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addColumnRangePredicatesRaw-byte:A-">addColumnRangePredicatesRaw</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-">addPredicate</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#batchSizeBytes-int-">batchSizeBytes</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#cacheBlocks-boolean-">cacheBlocks</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBound-org.apache.kudu.client.PartialRow-">exclusiveUpperBound</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBoundRaw-byte:A-">exclusiveUpperBoundRaw</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#keepAlivePeriodMs-long-">keepAlivePeriodMs</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#limit-long-">limit</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBound-org.apache.kudu.client.PartialRow-">lowerBound</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBoundRaw-byte:A-">lowerBoundRaw</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#prefetching-boolean-">prefetching</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#readMode-org.apache.kudu.client.AsyncKuduScanner.ReadMode-">readMode</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#replicaSelection-org.apache.kudu.client.ReplicaSelection-">replicaSelection</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#scanRequestTimeout-long-">scanRequestTimeout</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setFaultTolerant-boolean-">setFaultTolerant</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setProjectedColumnIndexes-java.util.List-">setProjectedColumnIndexes</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setProjectedColumnNames-java.util.List-">setProjectedColumnNames</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#snapshotTimestampMicros-long-">snapshotTimestampMicros</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="build--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a>&nbsp;build()</pre>
+<div class="block">Builds an <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner</code></a> using the passed configurations.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#build--">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a>&lt;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client">AsyncKuduScanner.AsyncKuduScannerBuilder</a>,<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduScanner.AsyncKuduScannerBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduScanner.ReadMode.html b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduScanner.ReadMode.html
new file mode 100644
index 0000000..c5fa506
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduScanner.ReadMode.html
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>AsyncKuduScanner.ReadMode</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AsyncKuduScanner.ReadMode";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduScanner.ReadMode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Enum AsyncKuduScanner.ReadMode" class="title">Enum AsyncKuduScanner.ReadMode</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.AsyncKuduScanner.ReadMode</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static enum <span class="typeNameLabel">AsyncKuduScanner.ReadMode</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a>&gt;</pre>
+<div class="block">The possible read modes for scanners.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html#READ_AT_SNAPSHOT">READ_AT_SNAPSHOT</a></span></code>
+<div class="block">When READ_AT_SNAPSHOT is specified the server will attempt to perform a read
+ at the provided timestamp.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html#READ_LATEST">READ_LATEST</a></span></code>
+<div class="block">When READ_LATEST is specified the server will always return committed writes at
+ the time the request was received.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html#READ_YOUR_WRITES">READ_YOUR_WRITES</a></span></code>
+<div class="block">When @c READ_YOUR_WRITES is specified, the client will perform a read
+ such that it follows all previously known writes and reads from this client.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="READ_LATEST">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>READ_LATEST</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a> READ_LATEST</pre>
+<div class="block">When READ_LATEST is specified the server will always return committed writes at
+ the time the request was received. This type of read does not return a snapshot
+ timestamp and is not repeatable.
+
+ In ACID terms this corresponds to Isolation mode: "Read Committed"
+
+ This is the default mode.</div>
+</li>
+</ul>
+<a name="READ_AT_SNAPSHOT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>READ_AT_SNAPSHOT</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a> READ_AT_SNAPSHOT</pre>
+<div class="block">When READ_AT_SNAPSHOT is specified the server will attempt to perform a read
+ at the provided timestamp. If no timestamp is provided the server will take the
+ current time as the snapshot timestamp. In this mode reads are repeatable, i.e.
+ all future reads at the same timestamp will yield the same data. This is
+ performed at the expense of waiting for in-flight transactions whose timestamp
+ is lower than the snapshot's timestamp to complete, so it might incur a latency
+ penalty.
+
+ In ACID terms this, by itself, corresponds to Isolation mode "Repeatable
+ Read". If all writes to the scanned tablet are made externally consistent,
+ then this corresponds to Isolation mode "Strict-Serializable".
+
+ Note: there currently "holes", which happen in rare edge conditions, by which writes
+ are sometimes not externally consistent even when action was taken to make them so.
+ In these cases Isolation may degenerate to mode "Read Committed". See KUDU-430.</div>
+</li>
+</ul>
+<a name="READ_YOUR_WRITES">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>READ_YOUR_WRITES</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a> READ_YOUR_WRITES</pre>
+<div class="block">When @c READ_YOUR_WRITES is specified, the client will perform a read
+ such that it follows all previously known writes and reads from this client.
+ Specifically this mode:
+  (1) ensures read-your-writes and read-your-reads session guarantees,
+  (2) minimizes latency caused by waiting for outstanding write
+      transactions to complete.
+
+ Reads in this mode are not repeatable: two READ_YOUR_WRITES reads, even if
+ they provide the same propagated timestamp bound, can execute at different
+ timestamps and thus may return different results.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (AsyncKuduScanner.ReadMode c : AsyncKuduScanner.ReadMode.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduScanner.ReadMode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html
new file mode 100644
index 0000000..3cb0bcd
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html
@@ -0,0 +1,359 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>AsyncKuduScanner.RowDataFormat</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AsyncKuduScanner.RowDataFormat";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduScanner.RowDataFormat.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Enum AsyncKuduScanner.RowDataFormat" class="title">Enum AsyncKuduScanner.RowDataFormat</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.AsyncKuduScanner.RowDataFormat</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static enum <span class="typeNameLabel">AsyncKuduScanner.RowDataFormat</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a>&gt;</pre>
+<div class="block">Expected row data format in scanner result set.
+
+ The server may or may not support the expected layout, and the actual layout is internal
+ hidden by <a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><code>RowResult</code></a> and <a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><code>RowResultIterator</code></a> interfaces so it's transparent to
+ application code.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html#COLUMNAR">COLUMNAR</a></span></code>
+<div class="block">Server is expected to return scanner result data in columnar layout.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html#ROWWISE">ROWWISE</a></span></code>
+<div class="block">Server is expected to return scanner result data in row-wise layout.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="ROWWISE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ROWWISE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a> ROWWISE</pre>
+<div class="block">Server is expected to return scanner result data in row-wise layout.
+ This is currently the default layout.</div>
+</li>
+</ul>
+<a name="COLUMNAR">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>COLUMNAR</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a> COLUMNAR</pre>
+<div class="block">Server is expected to return scanner result data in columnar layout.
+ This layout is more efficient in processing and bandwidth for both server and client side.
+ It requires server support (kudu-1.12.0 and later), if it's not supported server still
+ returns data in row-wise layout.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (AsyncKuduScanner.RowDataFormat c : AsyncKuduScanner.RowDataFormat.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduScanner.RowDataFormat.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduScanner.html b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduScanner.html
new file mode 100644
index 0000000..0b34f7f
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduScanner.html
@@ -0,0 +1,618 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>AsyncKuduScanner</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AsyncKuduScanner";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduScanner.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduScanner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class AsyncKuduScanner" class="title">Class AsyncKuduScanner</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.AsyncKuduScanner</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Unstable
+public final class <span class="typeNameLabel">AsyncKuduScanner</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Creates a scanner to read data from Kudu.
+ <p>
+ This class is <strong>not synchronized</strong> as it's expected to be
+ used from a single thread at a time. It's rarely (if ever?) useful to
+ scan concurrently from a shared scanner using multiple threads. If you
+ want to optimize large table scans using extra parallelism, create a few
+ scanners through the <a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API. Or use MapReduce.
+ <p>
+ There's no method in this class to explicitly open the scanner. It will open
+ itself automatically when you start scanning by calling <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#nextRows--"><code>nextRows()</code></a>.
+ Also, the scanner will automatically call <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#close--"><code>close()</code></a> when it reaches the
+ end key. If, however, you would like to stop scanning <i>before reaching the
+ end key</i>, you <b>must</b> call <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#close--"><code>close()</code></a> before disposing of the scanner.
+ Note that it's always safe to call <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#close--"><code>close()</code></a> on a scanner.
+ <p>
+ A <code>AsyncKuduScanner</code> is not re-usable. Should you want to scan the same rows
+ or the same table again, you must create a new one.
+
+ <h1>A note on passing <code>byte</code> arrays in argument</h1>
+ None of the method that receive a <code>byte[]</code> in argument will copy it.
+ For more info, please refer to the documentation of <code>KuduRpc</code>.
+ <h1>A note on passing <code>String</code>s in argument</h1>
+ All strings are assumed to use the platform's default charset.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client">AsyncKuduScanner.AsyncKuduScannerBuilder</a></span></code>
+<div class="block">A Builder class to build <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></span></code>
+<div class="block">The possible read modes for scanners.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a></span></code>
+<div class="block">Expected row data format in scanner result set.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#close--">close</a></span>()</code>
+<div class="block">Closes this scanner (don't forget to call this when you're done with it!).</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getBatchSizeBytes--">getBatchSizeBytes</a></span>()</code>
+<div class="block">Returns the maximum number of bytes returned by the scanner, on each batch.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getCacheBlocks--">getCacheBlocks</a></span>()</code>
+<div class="block">Returns if this scanner was configured to cache data blocks or not.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getKeepAlivePeriodMs--">getKeepAlivePeriodMs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getLimit--">getLimit</a></span>()</code>
+<div class="block">Returns the maximum number of rows that this scanner was configured to return.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getProjectionSchema--">getProjectionSchema</a></span>()</code>
+<div class="block">Returns the projection schema of this scanner.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getReadMode--">getReadMode</a></span>()</code>
+<div class="block">Returns the ReadMode for this scanner.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client">ResourceMetrics</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getResourceMetrics--">getResourceMetrics</a></span>()</code>
+<div class="block">Returns the <code>ResourceMetrics</code> for this scanner.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getScanRequestTimeout--">getScanRequestTimeout</a></span>()</code>
+<div class="block">Returns the scan request timeout for this scanner.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#hasMoreRows--">hasMoreRows</a></span>()</code>
+<div class="block">Tells if the last rpc returned that there might be more rows to scan.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#isClosed--">isClosed</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#keepAlive--">keepAlive</a></span>()</code>
+<div class="block">Keep the current remote scanner alive.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#nextRows--">nextRows</a></span>()</code>
+<div class="block">Scans a number of rows.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#setReuseRowResult-boolean-">setReuseRowResult</a></span>(boolean&nbsp;reuseRowResult)</code>
+<div class="block">If set to true, the <a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><code>RowResult</code></a> object returned by the <a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><code>RowResultIterator</code></a>
+ will be reused with each call to <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#next--" title="class or interface in java.util"><code>Iterator.next()</code></a>.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#setRowDataFormat-org.apache.kudu.client.AsyncKuduScanner.RowDataFormat-">setRowDataFormat</a></span>(<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a>&nbsp;rowDataFormat)</code>
+<div class="block">Optionally set expected row data format.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getLimit--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLimit</h4>
+<pre>public&nbsp;long&nbsp;getLimit()</pre>
+<div class="block">Returns the maximum number of rows that this scanner was configured to return.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a long representing the maximum number of rows that can be returned</dd>
+</dl>
+</li>
+</ul>
+<a name="hasMoreRows--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasMoreRows</h4>
+<pre>public&nbsp;boolean&nbsp;hasMoreRows()</pre>
+<div class="block">Tells if the last rpc returned that there might be more rows to scan.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if there might be more data to scan, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="getCacheBlocks--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCacheBlocks</h4>
+<pre>public&nbsp;boolean&nbsp;getCacheBlocks()</pre>
+<div class="block">Returns if this scanner was configured to cache data blocks or not.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if this scanner will cache blocks, else else.</dd>
+</dl>
+</li>
+</ul>
+<a name="getBatchSizeBytes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBatchSizeBytes</h4>
+<pre>public&nbsp;long&nbsp;getBatchSizeBytes()</pre>
+<div class="block">Returns the maximum number of bytes returned by the scanner, on each batch.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a long representing the maximum number of bytes that a scanner can receive at once
+ from a tablet server</dd>
+</dl>
+</li>
+</ul>
+<a name="getReadMode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReadMode</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a>&nbsp;getReadMode()</pre>
+<div class="block">Returns the ReadMode for this scanner.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the configured read mode for this scanner</dd>
+</dl>
+</li>
+</ul>
+<a name="getScanRequestTimeout--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getScanRequestTimeout</h4>
+<pre>public&nbsp;long&nbsp;getScanRequestTimeout()</pre>
+<div class="block">Returns the scan request timeout for this scanner.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the scan request timeout, in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getProjectionSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getProjectionSchema</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getProjectionSchema()</pre>
+<div class="block">Returns the projection schema of this scanner. If specific columns were
+ not specified during scanner creation, the table schema is returned.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the projection schema for this scanner</dd>
+</dl>
+</li>
+</ul>
+<a name="getKeepAlivePeriodMs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getKeepAlivePeriodMs</h4>
+<pre>public&nbsp;long&nbsp;getKeepAlivePeriodMs()</pre>
+</li>
+</ul>
+<a name="getResourceMetrics--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getResourceMetrics</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client">ResourceMetrics</a>&nbsp;getResourceMetrics()</pre>
+<div class="block">Returns the <code>ResourceMetrics</code> for this scanner. These metrics are
+ updated with each batch of rows returned from the server.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the resource metrics for this scanner</dd>
+</dl>
+</li>
+</ul>
+<a name="setReuseRowResult-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setReuseRowResult</h4>
+<pre>public&nbsp;void&nbsp;setReuseRowResult(boolean&nbsp;reuseRowResult)</pre>
+<div class="block">If set to true, the <a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><code>RowResult</code></a> object returned by the <a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><code>RowResultIterator</code></a>
+ will be reused with each call to <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#next--" title="class or interface in java.util"><code>Iterator.next()</code></a>.
+ This can be a useful optimization to reduce the number of objects created.
+
+ Note: DO NOT use this if the RowResult is stored between calls to next().
+ Enabling this optimization means that a call to next() mutates the previously returned
+ RowResult. Accessing the previously returned RowResult after a call to next(), by storing all
+ RowResults in a collection and accessing them later for example, will lead to all of the
+ stored RowResults being mutated as per the data in the last RowResult returned.</div>
+</li>
+</ul>
+<a name="setRowDataFormat-org.apache.kudu.client.AsyncKuduScanner.RowDataFormat-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setRowDataFormat</h4>
+<pre>public&nbsp;void&nbsp;setRowDataFormat(<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a>&nbsp;rowDataFormat)</pre>
+<div class="block">Optionally set expected row data format.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rowDataFormat</code> - Row data format to be expected.</dd>
+</dl>
+</li>
+</ul>
+<a name="nextRows--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nextRows</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a>&gt;&nbsp;nextRows()</pre>
+<div class="block">Scans a number of rows.
+ <p>
+ Once this method returns <code>null</code> once (which indicates that this
+ <code>Scanner</code> is done scanning), calling it again leads to an undefined
+ behavior.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a deferred list of rows.</dd>
+</dl>
+</li>
+</ul>
+<a name="isClosed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isClosed</h4>
+<pre>public&nbsp;boolean&nbsp;isClosed()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the scanner has been closed.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a>&gt;&nbsp;close()</pre>
+<div class="block">Closes this scanner (don't forget to call this when you're done with it!).
+ <p>
+ Closing a scanner already closed has no effect.  The deferred returned
+ will be called back immediately.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A deferred object that indicates the completion of the request.
+ The <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><code>Object</code></a> can be null, a RowResultIterator if there was data left
+ in the scanner, or an Exception.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="keepAlive--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>keepAlive</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;keepAlive()</pre>
+<div class="block">Keep the current remote scanner alive.
+ <p>
+ Keep the current remote scanner alive on the Tablet server for an
+ additional time-to-live. This is useful if the interval in between
+ nextRows() calls is big enough that the remote scanner might be garbage
+ collected. The scanner time-to-live can be configured on the tablet
+ server via the --scanner_ttl_ms configuration flag and has a default
+ of 60 seconds.
+ <p>
+ This does not invalidate any previously fetched results.
+ <p>
+ Note that an error returned by this method should not be taken as indication
+ that the scan has failed. Subsequent calls to nextRows() might still be successful,
+ particularly if the scanner is configured to be fault tolerant.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A deferred object that indicates the completion of the request.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the scanner is already closed.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduScanner.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduScanner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduSession.html b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduSession.html
new file mode 100644
index 0000000..72f8b08
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/AsyncKuduSession.html
@@ -0,0 +1,834 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>AsyncKuduSession</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AsyncKuduSession";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":42,"i18":10,"i19":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduSession.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduSession.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class AsyncKuduSession" class="title">Class AsyncKuduSession</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.AsyncKuduSession</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Unstable
+ <a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/concurrent.NotThreadSafe.html?is-external=true" title="class or interface in javax.annotation">@NotThreadSafe</a>
+public class <span class="typeNameLabel">AsyncKuduSession</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></pre>
+<div class="block">An <code>AsyncKuduSession</code> belongs to a specific <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><code>AsyncKuduClient</code></a>, and represents a
+ context in which all write data access should take place. Within a session,
+ multiple operations may be accumulated and batched together for better
+ efficiency. Settings like timeouts, priorities, and trace IDs are also set
+ per session.
+
+ <p><code>AsyncKuduSession</code> is separate from <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><code>AsyncKuduClient</code></a> because, in a multi-threaded
+ application, different threads may need to concurrently execute
+ transactions. Similar to a JDBC "session", transaction boundaries will be
+ delineated on a per-session basis -- in between a "BeginTransaction" and
+ "Commit" call on a given session, all operations will be part of the same
+ transaction. Meanwhile another concurrent session object can safely run
+ non-transactional work or other transactions without interfering.
+
+ <p>Therefore, this class is <b>not</b> thread-safe.
+
+ <p>Additionally, there is a guarantee that writes from different sessions do not
+ get batched together into the same RPCs -- this means that latency-sensitive
+ clients can run through the same <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><code>AsyncKuduClient</code></a> object as throughput-oriented
+ clients, perhaps by setting the latency-sensitive session's timeouts low and
+ priorities high. Without the separation of batches, a latency-sensitive
+ single-row insert might get batched along with 10MB worth of inserts from the
+ batch writer, thus delaying the response significantly.
+
+ <p>Timeouts are handled differently depending on the flush mode.
+ With <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_SYNC"><code>AUTO_FLUSH_SYNC</code></a>, the timeout is set
+ on each <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#apply-org.apache.kudu.client.Operation-">apply</a>()'d operation.
+ With <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_BACKGROUND"><code>AUTO_FLUSH_BACKGROUND</code></a> and
+ <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#MANUAL_FLUSH"><code>MANUAL_FLUSH</code></a>, the timeout is assigned to a
+ whole batch of operations upon <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#flush--">flush</a>()'ing. It means that in a situation
+ with a timeout of 500ms and a flush interval of 1000ms, an operation can be outstanding for up to
+ 1500ms before being timed out.
+
+ <p><strong>Warning: a note on out-of-order operations</strong>
+
+ <p>When using <code>AsyncKuduSession</code>, it is not difficult to trigger concurrent flushes on
+ the same session. The result is that operations applied in a particular order within a single
+ session may be applied in a different order on the server side, even for a single tablet. To
+ prevent this behavior, ensure that only one flush is outstanding at a given time (the maximum
+ concurrent flushes per <code>AsyncKuduSession</code> is hard-coded to 2).
+
+ <p>If operation interleaving would be unacceptable for your application, consider using one of
+ the following strategies to avoid it:
+
+ <ol>
+ <li>When using <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#MANUAL_FLUSH"><code>MANUAL_FLUSH</code></a> mode,
+ wait for one <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#flush--"><code>flush()</code></a> to <code>join()</code> before triggering another flush.
+ <li>When using <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_SYNC"><code>AUTO_FLUSH_SYNC</code></a>
+ mode, wait for each <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#apply-org.apache.kudu.client.Operation-"><code>apply()</code></a> to <code>join()</code> before applying another operation.
+ <li>Consider not using
+ <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_BACKGROUND"><code>AUTO_FLUSH_BACKGROUND</code></a> mode.
+ <li>Make your application resilient to out-of-order application of writes.
+ <li>Avoid applying an <a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client"><code>Operation</code></a> on a particular row until any previous write to that
+ row has been successfully flushed.
+ </ol>
+
+ <p>For more information on per-session operation interleaving, see
+ <a href="https://issues.apache.org/jira/browse/KUDU-1767">KUDU-1767</a>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.kudu.client.SessionConfiguration">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></h3>
+<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static org.slf4j.Logger</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#LOG">LOG</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#apply-org.apache.kudu.client.Operation-">apply</a></span>(<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&nbsp;operation)</code>
+<div class="block">Apply the given operation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#close--">close</a></span>()</code>
+<div class="block">Flushes the buffered operations and marks this session as closed.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#countPendingErrors--">countPendingErrors</a></span>()</code>
+<div class="block">Return the number of errors which are pending.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#flush--">flush</a></span>()</code>
+<div class="block">Flush buffered writes.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#getFlushMode--">getFlushMode</a></span>()</code>
+<div class="block">Get the current flush mode.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#getPendingErrors--">getPendingErrors</a></span>()</code>
+<div class="block">Return any errors from previous calls.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#getTimeoutMillis--">getTimeoutMillis</a></span>()</code>
+<div class="block">Get the current timeout.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#hasPendingOperations--">hasPendingOperations</a></span>()</code>
+<div class="block">Check if there are operations that haven't been completely applied.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#isClosed--">isClosed</a></span>()</code>
+<div class="block">Returns true if this session has already been closed.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#isIgnoreAllDuplicateRows--">isIgnoreAllDuplicateRows</a></span>()</code>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the AlreadyPresent type.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#isIgnoreAllNotFoundRows--">isIgnoreAllNotFoundRows</a></span>()</code>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the NotFound type.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setErrorCollectorSpace-int-">setErrorCollectorSpace</a></span>(int&nbsp;size)</code>
+<div class="block">Set the number of errors that can be collected.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">setExternalConsistencyMode</a></span>(<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>&nbsp;consistencyMode)</code>
+<div class="block">Set the new external consistency mode for this session.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setFlushInterval-int-">setFlushInterval</a></span>(int&nbsp;flushIntervalMillis)</code>
+<div class="block">Set the flush interval, which will be used for the next scheduling decision.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">setFlushMode</a></span>(<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;flushMode)</code>
+<div class="block">Set the new flush mode for this session.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setIgnoreAllDuplicateRows-boolean-">setIgnoreAllDuplicateRows</a></span>(boolean&nbsp;ignoreAllDuplicateRows)</code>
+<div class="block">Configures the option to ignore all the row errors if they are all of the AlreadyPresent type.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setIgnoreAllNotFoundRows-boolean-">setIgnoreAllNotFoundRows</a></span>(boolean&nbsp;ignoreAllNotFoundRows)</code>
+<div class="block">Configures the option to ignore all the row errors if they are all of the NotFound type.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark</a></span>(float&nbsp;mutationBufferLowWatermarkPercentage)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setMutationBufferSpace-int-">setMutationBufferSpace</a></span>(int&nbsp;numOps)</code>
+<div class="block">Set the number of operations that can be buffered.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setTimeoutMillis-long-">setTimeoutMillis</a></span>(long&nbsp;timeout)</code>
+<div class="block">Sets the timeout for the next applied operations.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="LOG">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LOG</h4>
+<pre>public static final&nbsp;org.slf4j.Logger LOG</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getFlushMode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFlushMode</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;getFlushMode()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getFlushMode--">SessionConfiguration</a></code></span></div>
+<div class="block">Get the current flush mode.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getFlushMode--">getFlushMode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>flush mode, <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_SYNC"><code>AUTO_FLUSH_SYNC</code></a> by default</dd>
+</dl>
+</li>
+</ul>
+<a name="setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFlushMode</h4>
+<pre>public&nbsp;void&nbsp;setFlushMode(<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;flushMode)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">SessionConfiguration</a></code></span></div>
+<div class="block">Set the new flush mode for this session.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">setFlushMode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>flushMode</code> - new flush mode, can be the same as the previous one.</dd>
+</dl>
+</li>
+</ul>
+<a name="setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setExternalConsistencyMode</h4>
+<pre>public&nbsp;void&nbsp;setExternalConsistencyMode(<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>&nbsp;consistencyMode)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">SessionConfiguration</a></code></span></div>
+<div class="block">Set the new external consistency mode for this session.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">setExternalConsistencyMode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>consistencyMode</code> - new external consistency mode, can the same as the previous one.</dd>
+</dl>
+</li>
+</ul>
+<a name="setMutationBufferSpace-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMutationBufferSpace</h4>
+<pre>public&nbsp;void&nbsp;setMutationBufferSpace(int&nbsp;numOps)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferSpace-int-">SessionConfiguration</a></code></span></div>
+<div class="block">Set the number of operations that can be buffered.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferSpace-int-">setMutationBufferSpace</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>numOps</code> - number of ops.</dd>
+</dl>
+</li>
+</ul>
+<a name="setErrorCollectorSpace-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setErrorCollectorSpace</h4>
+<pre>public&nbsp;void&nbsp;setErrorCollectorSpace(int&nbsp;size)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setErrorCollectorSpace-int-">SessionConfiguration</a></code></span></div>
+<div class="block">Set the number of errors that can be collected.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setErrorCollectorSpace-int-">setErrorCollectorSpace</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>size</code> - number of errors.</dd>
+</dl>
+</li>
+</ul>
+<a name="setMutationBufferLowWatermark-float-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMutationBufferLowWatermark</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;void&nbsp;setMutationBufferLowWatermark(float&nbsp;mutationBufferLowWatermarkPercentage)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferLowWatermark-float-">SessionConfiguration</a></code></span></div>
+<div class="block">Set the low watermark for this session. The default is set to half the mutation buffer space.
+ For example, a buffer space of 1000 with a low watermark set to 50% (0.5) will start randomly
+ sending PleaseRetryExceptions once there's an outstanding flush and the buffer is over 500.
+ As the buffer gets fuller, it becomes likelier to hit the exception.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mutationBufferLowWatermarkPercentage</code> - a new low watermark as a percentage,
+                             has to be between 0  and 1 (inclusive). A value of 1 disables
+                             the low watermark since it's the same as the high one</dd>
+</dl>
+</li>
+</ul>
+<a name="setFlushInterval-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFlushInterval</h4>
+<pre>public&nbsp;void&nbsp;setFlushInterval(int&nbsp;flushIntervalMillis)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushInterval-int-">SessionConfiguration</a></code></span></div>
+<div class="block">Set the flush interval, which will be used for the next scheduling decision.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushInterval-int-">setFlushInterval</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>flushIntervalMillis</code> - interval in milliseconds.</dd>
+</dl>
+</li>
+</ul>
+<a name="setTimeoutMillis-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTimeoutMillis</h4>
+<pre>public&nbsp;void&nbsp;setTimeoutMillis(long&nbsp;timeout)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setTimeoutMillis-long-">SessionConfiguration</a></code></span></div>
+<div class="block">Sets the timeout for the next applied operations.
+ The default timeout is 0, which disables the timeout functionality.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setTimeoutMillis-long-">setTimeoutMillis</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeout</code> - Timeout in milliseconds.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTimeoutMillis--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTimeoutMillis</h4>
+<pre>public&nbsp;long&nbsp;getTimeoutMillis()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getTimeoutMillis--">SessionConfiguration</a></code></span></div>
+<div class="block">Get the current timeout.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getTimeoutMillis--">getTimeoutMillis</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>operation timeout in milliseconds, 0 if none was configured.</dd>
+</dl>
+</li>
+</ul>
+<a name="isClosed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isClosed</h4>
+<pre>public&nbsp;boolean&nbsp;isClosed()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isClosed--">SessionConfiguration</a></code></span></div>
+<div class="block">Returns true if this session has already been closed.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isClosed--">isClosed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isIgnoreAllDuplicateRows--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isIgnoreAllDuplicateRows</h4>
+<pre>public&nbsp;boolean&nbsp;isIgnoreAllDuplicateRows()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllDuplicateRows--">SessionConfiguration</a></code></span></div>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the AlreadyPresent type.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllDuplicateRows--">isIgnoreAllDuplicateRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the session is enforcing this, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="setIgnoreAllDuplicateRows-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setIgnoreAllDuplicateRows</h4>
+<pre>public&nbsp;void&nbsp;setIgnoreAllDuplicateRows(boolean&nbsp;ignoreAllDuplicateRows)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllDuplicateRows-boolean-">SessionConfiguration</a></code></span></div>
+<div class="block">Configures the option to ignore all the row errors if they are all of the AlreadyPresent type.
+ This can be useful when it is possible for INSERT operations to be retried and fail.
+ The effect of enabling this is that operation responses that match this pattern will be
+ cleared of their row errors, meaning that we consider them successful.
+
+ TODO(KUDU-1563): Implement server side ignore capabilities to improve performance and
+  reliability of INSERT ignore operations.
+
+ <p>Disabled by default.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllDuplicateRows-boolean-">setIgnoreAllDuplicateRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ignoreAllDuplicateRows</code> - true if this session should enforce this, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="isIgnoreAllNotFoundRows--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isIgnoreAllNotFoundRows</h4>
+<pre>public&nbsp;boolean&nbsp;isIgnoreAllNotFoundRows()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllNotFoundRows--">SessionConfiguration</a></code></span></div>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the NotFound type.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllNotFoundRows--">isIgnoreAllNotFoundRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the session is enforcing this, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="setIgnoreAllNotFoundRows-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setIgnoreAllNotFoundRows</h4>
+<pre>public&nbsp;void&nbsp;setIgnoreAllNotFoundRows(boolean&nbsp;ignoreAllNotFoundRows)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllNotFoundRows-boolean-">SessionConfiguration</a></code></span></div>
+<div class="block">Configures the option to ignore all the row errors if they are all of the NotFound type.
+ This can be useful when it is possible for DELETE operations to be retried and fail.
+ The effect of enabling this is that operation responses that match this pattern will be
+ cleared of their row errors, meaning that we consider them successful.
+
+ TODO(KUDU-1563): Implement server side ignore capabilities to improve performance and
+  reliability of DELETE ignore operations.
+
+ <p>Disabled by default.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllNotFoundRows-boolean-">setIgnoreAllNotFoundRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ignoreAllNotFoundRows</code> - true if this session should enforce this, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="countPendingErrors--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countPendingErrors</h4>
+<pre>public&nbsp;int&nbsp;countPendingErrors()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#countPendingErrors--">SessionConfiguration</a></code></span></div>
+<div class="block">Return the number of errors which are pending. Errors may accumulate when
+ using <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_BACKGROUND"><code>AUTO_FLUSH_BACKGROUND</code></a> mode.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#countPendingErrors--">countPendingErrors</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a count of errors</dd>
+</dl>
+</li>
+</ul>
+<a name="getPendingErrors--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPendingErrors</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a>&nbsp;getPendingErrors()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getPendingErrors--">SessionConfiguration</a></code></span></div>
+<div class="block">Return any errors from previous calls. If there were more errors
+ than could be held in the session's error storage, the overflow state is set to true.
+
+ <p>Clears the pending errors.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getPendingErrors--">getPendingErrors</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an object that contains the errors and the overflow status</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&gt;&nbsp;close()</pre>
+<div class="block">Flushes the buffered operations and marks this session as closed.
+ See the javadoc on <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#flush--"><code>flush()</code></a> on how to deal with exceptions coming out of this method.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a Deferred whose callback chain will be invoked when.
+ everything that was buffered at the time of the call has been flushed.</dd>
+</dl>
+</li>
+</ul>
+<a name="flush--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>flush</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&gt;&nbsp;flush()</pre>
+<div class="block">Flush buffered writes.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <code>Deferred</code> whose callback chain will be invoked when all applied operations at
+         the time of the call have been flushed.</dd>
+</dl>
+</li>
+</ul>
+<a name="hasPendingOperations--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasPendingOperations</h4>
+<pre>public&nbsp;boolean&nbsp;hasPendingOperations()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#hasPendingOperations--">SessionConfiguration</a></code></span></div>
+<div class="block">Check if there are operations that haven't been completely applied.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#hasPendingOperations--">hasPendingOperations</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if operations are pending, else false.</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.kudu.client.Operation-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&nbsp;apply(<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&nbsp;operation)
+                                                        throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Apply the given operation.
+ <p>
+ The behavior of this method depends on the configured
+ <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><code>FlushMode</code></a>. Regardless
+ of flush mode, however, <code>apply()</code> may begin to perform processing in the background
+ for the call (e.g looking up the tablet location, etc).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>operation</code> - operation to apply</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a Deferred to track this operation</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if an error happens or <a href="../../../../org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client"><code>PleaseThrottleException</code></a> is triggered</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><code>FlushMode</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduSession.html" target="_top">Frames</a></li>
+<li><a href="AsyncKuduSession.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/ColumnRangePredicate.html b/releases/1.15.0/apidocs/org/apache/kudu/client/ColumnRangePredicate.html
new file mode 100644
index 0000000..6ffbe3e
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/ColumnRangePredicate.html
@@ -0,0 +1,836 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ColumnRangePredicate</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnRangePredicate";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":42,"i13":42,"i14":42,"i15":42,"i16":42,"i17":42,"i18":42,"i19":42,"i20":42,"i21":42,"i22":42,"i23":41,"i24":42};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/ColumnRangePredicate.html" target="_top">Frames</a></li>
+<li><a href="ColumnRangePredicate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class ColumnRangePredicate" class="title">Class ColumnRangePredicate</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.ColumnRangePredicate</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use the <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><code>KuduPredicate</code></a> class instead.</span></div>
+</div>
+<br>
+<pre>@InterfaceAudience.Public
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public class <span class="typeNameLabel">ColumnRangePredicate</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A range predicate on one of the columns in the underlying data.
+ Both boundaries are inclusive.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#ColumnRangePredicate-org.apache.kudu.ColumnSchema-">ColumnRangePredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Create the predicate on the specified column</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#getColumn--">getColumn</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Get the column used by this predicate</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#getLowerBound--">getLowerBound</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Get the lower bound in its raw representation</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#getUpperBound--">getUpperBound</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Get the upper bound in its raw representation</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-java.math.BigDecimal-">setLowerBound</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;lowerBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a BigDecimal for the lower bound</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-boolean-">setLowerBound</a></span>(boolean&nbsp;lowerBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a boolean for the lower bound</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-byte-">setLowerBound</a></span>(byte&nbsp;lowerBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a byte for the lower bound</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-byte:A-">setLowerBound</a></span>(byte[]&nbsp;lowerBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a binary value for the lower bound</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-double-">setLowerBound</a></span>(double&nbsp;lowerBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a double for the lower bound</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-float-">setLowerBound</a></span>(float&nbsp;lowerBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a float for the lower bound</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-int-">setLowerBound</a></span>(int&nbsp;lowerBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set an int for the lower bound</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-long-">setLowerBound</a></span>(long&nbsp;lowerBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a long for the lower bound
+
+ If 'lowerBound' is a timestamp see <a href="../../../../org/apache/kudu/client/PartialRow.html#addLong-java.lang.String-long-"><code>PartialRow.addLong(String, long)</code></a> for the
+ format.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-short-">setLowerBound</a></span>(short&nbsp;lowerBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a short for the lower bound</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setLowerBound-java.lang.String-">setLowerBound</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lowerBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a string for the lower bound</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-java.math.BigDecimal-">setUpperBound</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;upperBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a BigDecimal for the upper bound</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-boolean-">setUpperBound</a></span>(boolean&nbsp;upperBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a boolean for the upper bound</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-byte-">setUpperBound</a></span>(byte&nbsp;upperBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a byte for the upper bound</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-byte:A-">setUpperBound</a></span>(byte[]&nbsp;upperBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a binary value for the upper bound</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-double-">setUpperBound</a></span>(double&nbsp;upperBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a double for the upper bound</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-float-">setUpperBound</a></span>(float&nbsp;upperBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a float for the upper bound</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-int-">setUpperBound</a></span>(int&nbsp;upperBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set an int for the upper bound</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-long-">setUpperBound</a></span>(long&nbsp;upperBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a long for the upper bound
+
+ If 'upperBound' is a timestamp see <a href="../../../../org/apache/kudu/client/PartialRow.html#addLong-java.lang.String-long-"><code>PartialRow.addLong(String, long)</code></a> for the
+ format.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-short-">setUpperBound</a></span>(short&nbsp;upperBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a short for the upper bound</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#setUpperBound-java.lang.String-">setUpperBound</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;upperBound)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a string for the upper bound</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>static byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#toByteArray-java.util.List-">toByteArray</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a>&gt;&nbsp;predicates)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Converts a list of predicates into an opaque byte array.</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html#toKuduPredicate--">toKuduPredicate</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Convert this column range predicate into a <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><code>KuduPredicate</code></a>.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ColumnRangePredicate-org.apache.kudu.ColumnSchema-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ColumnRangePredicate</h4>
+<pre>public&nbsp;ColumnRangePredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Create the predicate on the specified column</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - </dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="toKuduPredicate--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toKuduPredicate</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;toKuduPredicate()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Convert this column range predicate into a <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><code>KuduPredicate</code></a>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the column predicate.</dd>
+</dl>
+</li>
+</ul>
+<a name="setLowerBound-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLowerBound</h4>
+<pre>public&nbsp;void&nbsp;setLowerBound(boolean&nbsp;lowerBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a boolean for the lower bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - value for the lower bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setLowerBound-byte-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLowerBound</h4>
+<pre>public&nbsp;void&nbsp;setLowerBound(byte&nbsp;lowerBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a byte for the lower bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - value for the lower bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setLowerBound-short-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLowerBound</h4>
+<pre>public&nbsp;void&nbsp;setLowerBound(short&nbsp;lowerBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a short for the lower bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - value for the lower bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setLowerBound-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLowerBound</h4>
+<pre>public&nbsp;void&nbsp;setLowerBound(int&nbsp;lowerBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set an int for the lower bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - value for the lower bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setLowerBound-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLowerBound</h4>
+<pre>public&nbsp;void&nbsp;setLowerBound(long&nbsp;lowerBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a long for the lower bound
+
+ If 'lowerBound' is a timestamp see <a href="../../../../org/apache/kudu/client/PartialRow.html#addLong-java.lang.String-long-"><code>PartialRow.addLong(String, long)</code></a> for the
+ format.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - value for the lower bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setLowerBound-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLowerBound</h4>
+<pre>public&nbsp;void&nbsp;setLowerBound(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lowerBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a string for the lower bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - value for the lower bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setLowerBound-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLowerBound</h4>
+<pre>public&nbsp;void&nbsp;setLowerBound(byte[]&nbsp;lowerBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a binary value for the lower bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - value for the lower bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setLowerBound-float-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLowerBound</h4>
+<pre>public&nbsp;void&nbsp;setLowerBound(float&nbsp;lowerBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a float for the lower bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - value for the lower bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setLowerBound-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLowerBound</h4>
+<pre>public&nbsp;void&nbsp;setLowerBound(double&nbsp;lowerBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a double for the lower bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - value for the lower bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setLowerBound-java.math.BigDecimal-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLowerBound</h4>
+<pre>public&nbsp;void&nbsp;setLowerBound(<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;lowerBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a BigDecimal for the lower bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - value for the lower bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setUpperBound-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUpperBound</h4>
+<pre>public&nbsp;void&nbsp;setUpperBound(boolean&nbsp;upperBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a boolean for the upper bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>upperBound</code> - value for the upper bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setUpperBound-byte-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUpperBound</h4>
+<pre>public&nbsp;void&nbsp;setUpperBound(byte&nbsp;upperBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a byte for the upper bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>upperBound</code> - value for the upper bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setUpperBound-short-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUpperBound</h4>
+<pre>public&nbsp;void&nbsp;setUpperBound(short&nbsp;upperBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a short for the upper bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>upperBound</code> - value for the upper bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setUpperBound-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUpperBound</h4>
+<pre>public&nbsp;void&nbsp;setUpperBound(int&nbsp;upperBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set an int for the upper bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>upperBound</code> - value for the upper bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setUpperBound-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUpperBound</h4>
+<pre>public&nbsp;void&nbsp;setUpperBound(long&nbsp;upperBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a long for the upper bound
+
+ If 'upperBound' is a timestamp see <a href="../../../../org/apache/kudu/client/PartialRow.html#addLong-java.lang.String-long-"><code>PartialRow.addLong(String, long)</code></a> for the
+ format.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>upperBound</code> - value for the upper bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setUpperBound-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUpperBound</h4>
+<pre>public&nbsp;void&nbsp;setUpperBound(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;upperBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a string for the upper bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>upperBound</code> - value for the upper bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setUpperBound-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUpperBound</h4>
+<pre>public&nbsp;void&nbsp;setUpperBound(byte[]&nbsp;upperBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a binary value for the upper bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>upperBound</code> - value for the upper bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setUpperBound-float-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUpperBound</h4>
+<pre>public&nbsp;void&nbsp;setUpperBound(float&nbsp;upperBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a float for the upper bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>upperBound</code> - value for the upper bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setUpperBound-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUpperBound</h4>
+<pre>public&nbsp;void&nbsp;setUpperBound(double&nbsp;upperBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a double for the upper bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>upperBound</code> - value for the upper bound</dd>
+</dl>
+</li>
+</ul>
+<a name="setUpperBound-java.math.BigDecimal-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUpperBound</h4>
+<pre>public&nbsp;void&nbsp;setUpperBound(<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;upperBound)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Set a BigDecimal for the upper bound</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>upperBound</code> - value for the upper bound</dd>
+</dl>
+</li>
+</ul>
+<a name="getColumn--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumn</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;getColumn()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Get the column used by this predicate</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the column</dd>
+</dl>
+</li>
+</ul>
+<a name="getLowerBound--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLowerBound</h4>
+<pre>public&nbsp;byte[]&nbsp;getLowerBound()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Get the lower bound in its raw representation</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>lower bound as a byte array</dd>
+</dl>
+</li>
+</ul>
+<a name="getUpperBound--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getUpperBound</h4>
+<pre>public&nbsp;byte[]&nbsp;getUpperBound()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Get the upper bound in its raw representation</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>upper bound as a byte array</dd>
+</dl>
+</li>
+</ul>
+<a name="toByteArray-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toByteArray</h4>
+<pre>public static&nbsp;byte[]&nbsp;toByteArray(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a>&gt;&nbsp;predicates)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Converts a list of predicates into an opaque byte array. This is a convenience method for use
+ cases that require passing predicates as messages.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>predicates</code> - a list of predicates</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an opaque byte array, or null if the list was empty</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/ColumnRangePredicate.html" target="_top">Frames</a></li>
+<li><a href="ColumnRangePredicate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/CreateTableOptions.html b/releases/1.15.0/apidocs/org/apache/kudu/client/CreateTableOptions.html
new file mode 100644
index 0000000..b437bdb
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/CreateTableOptions.html
@@ -0,0 +1,620 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>CreateTableOptions</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CreateTableOptions";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/CreateTableOptions.html" target="_top">Frames</a></li>
+<li><a href="CreateTableOptions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class CreateTableOptions" class="title">Class CreateTableOptions</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.CreateTableOptions</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">CreateTableOptions</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This is a builder class for all the options that can be provided while creating a table.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#CreateTableOptions--">CreateTableOptions</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#addHashPartitions-java.util.List-int-">addHashPartitions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;columns,
+                 int&nbsp;buckets)</code>
+<div class="block">Add a set of hash partitions to the table.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#addHashPartitions-java.util.List-int-int-">addHashPartitions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;columns,
+                 int&nbsp;buckets,
+                 int&nbsp;seed)</code>
+<div class="block">Add a set of hash partitions to the table.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-">addRangePartition</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lower,
+                 <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upper)</code>
+<div class="block">Add a range partition to the table with an inclusive lower bound and an
+ exclusive upper bound.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-org.apache.kudu.client.RangePartitionBound-org.apache.kudu.client.RangePartitionBound-">addRangePartition</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lower,
+                 <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upper,
+                 <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;lowerBoundType,
+                 <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;upperBoundType)</code>
+<div class="block">Add a range partition partition to the table with a lower bound and upper
+ bound.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#addSplitRow-org.apache.kudu.client.PartialRow-">addSplitRow</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;row)</code>
+<div class="block">Add a range partition split.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setComment-java.lang.String-">setComment</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;comment)</code>
+<div class="block">Set the table comment.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setDimensionLabel-java.lang.String-">setDimensionLabel</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dimensionLabel)</code>
+<div class="block">Sets the dimension label for all tablets created at table creation time.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setExtraConfigs-java.util.Map-">setExtraConfigs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;extraConfig)</code>
+<div class="block">Sets the table's extra configuration properties.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setNumReplicas-int-">setNumReplicas</a></span>(int&nbsp;numReplicas)</code>
+<div class="block">Sets the number of replicas that each tablet will have.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setOwner-java.lang.String-">setOwner</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner)</code>
+<div class="block">Set the table owner as the provided username.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setRangePartitionColumns-java.util.List-">setRangePartitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;columns)</code>
+<div class="block">Set the columns on which the table will be range-partitioned.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html#setWait-boolean-">setWait</a></span>(boolean&nbsp;wait)</code>
+<div class="block">Whether to wait for the table to be fully created before this create
+ operation is considered to be finished.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="CreateTableOptions--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CreateTableOptions</h4>
+<pre>public&nbsp;CreateTableOptions()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="addHashPartitions-java.util.List-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addHashPartitions</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;addHashPartitions(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;columns,
+                                            int&nbsp;buckets)</pre>
+<div class="block">Add a set of hash partitions to the table.
+
+ Each column must be a part of the table's primary key, and an individual
+ column may only appear in a single hash component.
+
+ For each set of hash partitions added to the table, the total number of
+ table partitions is multiplied by the number of buckets. For example, if a
+ table is created with 3 split rows, and two hash partitions with 4 and 5
+ buckets respectively, the total number of table partitions will be 80
+ (4 range partitions * 4 hash buckets * 5 hash buckets).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columns</code> - the columns to hash</dd>
+<dd><code>buckets</code> - the number of buckets to hash into</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addHashPartitions-java.util.List-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addHashPartitions</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;addHashPartitions(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;columns,
+                                            int&nbsp;buckets,
+                                            int&nbsp;seed)</pre>
+<div class="block">Add a set of hash partitions to the table.
+
+ This constructor takes a seed value, which can be used to randomize the
+ mapping of rows to hash buckets. Setting the seed may provide some
+ amount of protection against denial of service attacks when the hashed
+ columns contain user provided values.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columns</code> - the columns to hash</dd>
+<dd><code>buckets</code> - the number of buckets to hash into</dd>
+<dd><code>seed</code> - a hash seed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="setRangePartitionColumns-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setRangePartitionColumns</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;setRangePartitionColumns(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;columns)</pre>
+<div class="block">Set the columns on which the table will be range-partitioned.
+
+ Every column must be a part of the table's primary key. If not set,
+ the table is range partitioned by the primary key columns with a single
+ unbounded partition. If called with an empty vector, the table will be
+ created without range partitioning.
+
+ Tables must be created with either range, hash, or range and hash
+ partitioning. To force the use of a single tablet (not recommended),
+ call this method with an empty list and set no split rows and no hash
+ partitions.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columns</code> - the range partitioned columns</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addRangePartition</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;addRangePartition(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lower,
+                                            <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upper)</pre>
+<div class="block">Add a range partition to the table with an inclusive lower bound and an
+ exclusive upper bound.
+
+ If either row is empty, then that end of the range will be unbounded. If a
+ range column is missing a value, the logical minimum value for that column
+ type will be used as the default.
+
+ Multiple range bounds may be added, but they must not overlap. All split
+ rows must fall in one of the range bounds. The lower bound must be less
+ than the upper bound.
+
+ If not provided, the table's range will be unbounded.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lower</code> - the inclusive lower bound</dd>
+<dd><code>upper</code> - the exclusive upper bound</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addRangePartition-org.apache.kudu.client.PartialRow-org.apache.kudu.client.PartialRow-org.apache.kudu.client.RangePartitionBound-org.apache.kudu.client.RangePartitionBound-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addRangePartition</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;addRangePartition(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;lower,
+                                            <a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;upper,
+                                            <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;lowerBoundType,
+                                            <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;upperBoundType)</pre>
+<div class="block">Add a range partition partition to the table with a lower bound and upper
+ bound.
+
+ If either row is empty, then that end of the range will be unbounded. If a
+ range column is missing a value, the logical minimum value for that column
+ type will be used as the default.
+
+ Multiple range bounds may be added, but they must not overlap. All split
+ rows must fall in one of the range bounds. The lower bound must be less
+ than the upper bound.
+
+ If not provided, the table's range will be unbounded.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lower</code> - the lower bound</dd>
+<dd><code>upper</code> - the upper bound</dd>
+<dd><code>lowerBoundType</code> - the type of the lower bound, either inclusive or exclusive</dd>
+<dd><code>upperBoundType</code> - the type of the upper bound, either inclusive or exclusive</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="addSplitRow-org.apache.kudu.client.PartialRow-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addSplitRow</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;addSplitRow(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;row)</pre>
+<div class="block">Add a range partition split. The split row must fall in a range partition,
+ and causes the range partition to split into two contiguous range partitions.
+ The row may be reused or modified safely after this call without changing
+ the split point.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>row</code> - a key row for the split point</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="setNumReplicas-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setNumReplicas</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;setNumReplicas(int&nbsp;numReplicas)</pre>
+<div class="block">Sets the number of replicas that each tablet will have. If not specified, it uses the
+ server-side default which is usually 3 unless changed by an administrator.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>numReplicas</code> - the number of replicas to use</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="setDimensionLabel-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setDimensionLabel</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;setDimensionLabel(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dimensionLabel)</pre>
+<div class="block">Sets the dimension label for all tablets created at table creation time.
+
+ By default, the master will try to place newly created tablet replicas on tablet
+ servers with a small number of tablet replicas. If the dimension label is provided,
+ newly created replicas will be evenly distributed in the cluster based on the dimension
+ label. In other words, the master will try to place newly created tablet replicas on
+ tablet servers with a small number of tablet replicas belonging to this dimension label.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dimensionLabel</code> - the dimension label for the tablet to be created.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="setExtraConfigs-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setExtraConfigs</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;setExtraConfigs(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;extraConfig)</pre>
+<div class="block">Sets the table's extra configuration properties.
+
+ If the value of the kv pair is empty, the property will be ignored.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>extraConfig</code> - the table's extra configuration properties</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="setWait-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setWait</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;setWait(boolean&nbsp;wait)</pre>
+<div class="block">Whether to wait for the table to be fully created before this create
+ operation is considered to be finished.
+ <p>
+ If false, the create will finish quickly, but subsequent row operations
+ may take longer as they may need to wait for portions of the table to be
+ fully created.
+ <p>
+ If true, the create will take longer, but the speed of subsequent row
+ operations will not be impacted.
+ <p>
+ If not provided, defaults to true.
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>wait</code> - whether to wait for the table to be fully created</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="setOwner-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setOwner</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;setOwner(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner)</pre>
+<div class="block">Set the table owner as the provided username.
+ Overrides the default of the currently logged-in username or Kerberos principal.
+
+ This is an unstable method because it is not yet clear whether this should
+ be supported directly in the long run, rather than requiring the table creator
+ to re-assign ownership explicitly.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>owner</code> - the username to set as the table owner.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+<a name="setComment-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setComment</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;setComment(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;comment)</pre>
+<div class="block">Set the table comment.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>comment</code> - the table comment</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this instance</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/CreateTableOptions.html" target="_top">Frames</a></li>
+<li><a href="CreateTableOptions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/Delete.html b/releases/1.15.0/apidocs/org/apache/kudu/client/Delete.html
new file mode 100644
index 0000000..de977e6
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/Delete.html
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Delete</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Delete";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Delete.html" target="_top">Frames</a></li>
+<li><a href="Delete.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class Delete" class="title">Class Delete</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduRpc&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">org.apache.kudu.client.Operation</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.Delete</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">Delete</span>
+extends <a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></pre>
+<div class="block">Class of Operation for whole row removals.
+ Only columns which are part of the key can be set.
+ Instances of this class should not be reused.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.Operation">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></h3>
+<code><a href="../../../../org/apache/kudu/client/Operation.html#getRow--">getRow</a>, <a href="../../../../org/apache/kudu/client/Operation.html#partitionKey--">partitionKey</a>, <a href="../../../../org/apache/kudu/client/Operation.html#setRow-org.apache.kudu.client.PartialRow-">setRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>getExternalConsistencyMode, getTable, setExternalConsistencyMode, setPropagatedTimestamp, toString</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Delete.html" target="_top">Frames</a></li>
+<li><a href="Delete.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/DeleteIgnore.html b/releases/1.15.0/apidocs/org/apache/kudu/client/DeleteIgnore.html
new file mode 100644
index 0000000..a09b6ad
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/DeleteIgnore.html
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>DeleteIgnore</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DeleteIgnore";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/DeleteIgnore.html" target="_top">Frames</a></li>
+<li><a href="DeleteIgnore.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class DeleteIgnore" class="title">Class DeleteIgnore</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduRpc&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">org.apache.kudu.client.Operation</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.DeleteIgnore</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">DeleteIgnore</span>
+extends <a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></pre>
+<div class="block">Class of Operation for whole row removals ignoring missing rows.
+ Only columns which are part of the key can be set.
+ Instances of this class should not be reused.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.Operation">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></h3>
+<code><a href="../../../../org/apache/kudu/client/Operation.html#getRow--">getRow</a>, <a href="../../../../org/apache/kudu/client/Operation.html#partitionKey--">partitionKey</a>, <a href="../../../../org/apache/kudu/client/Operation.html#setRow-org.apache.kudu.client.PartialRow-">setRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>getExternalConsistencyMode, getTable, setExternalConsistencyMode, setPropagatedTimestamp, toString</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/DeleteIgnore.html" target="_top">Frames</a></li>
+<li><a href="DeleteIgnore.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/DeleteTableResponse.html b/releases/1.15.0/apidocs/org/apache/kudu/client/DeleteTableResponse.html
new file mode 100644
index 0000000..ca51443
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/DeleteTableResponse.html
@@ -0,0 +1,266 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>DeleteTableResponse</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DeleteTableResponse";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/DeleteTableResponse.html" target="_top">Frames</a></li>
+<li><a href="DeleteTableResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class DeleteTableResponse" class="title">Class DeleteTableResponse</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.DeleteTableResponse</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">DeleteTableResponse</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/DeleteTableResponse.html#getElapsedMillis--">getElapsedMillis</a></span>()</code>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/DeleteTableResponse.html#getTsUUID--">getTsUUID</a></span>()</code>
+<div class="block">Get the identifier of the tablet server that sent the response.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getElapsedMillis--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElapsedMillis</h4>
+<pre>public&nbsp;long&nbsp;getElapsedMillis()</pre>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>elapsed time in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getTsUUID--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTsUUID</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTsUUID()</pre>
+<div class="block">Get the identifier of the tablet server that sent the response. May be
+ <code>null</code> if the RPC failed before tablet location lookup succeeded.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string containing a UUID</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/DeleteTableResponse.html" target="_top">Frames</a></li>
+<li><a href="DeleteTableResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/ExternalConsistencyMode.html b/releases/1.15.0/apidocs/org/apache/kudu/client/ExternalConsistencyMode.html
new file mode 100644
index 0000000..c9a0fe2
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/ExternalConsistencyMode.html
@@ -0,0 +1,343 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ExternalConsistencyMode</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ExternalConsistencyMode";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/ExternalConsistencyMode.html" target="_top">Frames</a></li>
+<li><a href="ExternalConsistencyMode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Enum ExternalConsistencyMode" class="title">Enum ExternalConsistencyMode</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.ExternalConsistencyMode</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public enum <span class="typeNameLabel">ExternalConsistencyMode</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>&gt;</pre>
+<div class="block">The possible external consistency modes on which Kudu operates.
+ See <code>src/kudu/common/common.proto</code> for a detailed explanations on the
+      meaning and implications of each mode.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html#CLIENT_PROPAGATED">CLIENT_PROPAGATED</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html#COMMIT_WAIT">COMMIT_WAIT</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="CLIENT_PROPAGATED">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CLIENT_PROPAGATED</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a> CLIENT_PROPAGATED</pre>
+</li>
+</ul>
+<a name="COMMIT_WAIT">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>COMMIT_WAIT</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a> COMMIT_WAIT</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (ExternalConsistencyMode c : ExternalConsistencyMode.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/ExternalConsistencyMode.html" target="_top">Frames</a></li>
+<li><a href="ExternalConsistencyMode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/HasFailedRpcException.html b/releases/1.15.0/apidocs/org/apache/kudu/client/HasFailedRpcException.html
new file mode 100644
index 0000000..ae400f0
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/HasFailedRpcException.html
@@ -0,0 +1,229 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>HasFailedRpcException</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="HasFailedRpcException";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/HasFailedRpcException.html" target="_top">Frames</a></li>
+<li><a href="HasFailedRpcException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Interface HasFailedRpcException" class="title">Interface HasFailedRpcException</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client">PleaseThrottleException</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public interface <span class="typeNameLabel">HasFailedRpcException</span></pre>
+<div class="block">Interface implemented by <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client"><code>KuduException</code></a>s that can tell you which
+ RPC failed.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>org.apache.kudu.client.KuduRpc&lt;?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/HasFailedRpcException.html#getFailedRpc--">getFailedRpc</a></span>()</code>
+<div class="block">Returns the RPC that caused this exception.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getFailedRpc--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getFailedRpc</h4>
+<pre>org.apache.kudu.client.KuduRpc&lt;?&gt;&nbsp;getFailedRpc()</pre>
+<div class="block">Returns the RPC that caused this exception.</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/HasFailedRpcException.html" target="_top">Frames</a></li>
+<li><a href="HasFailedRpcException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/Insert.html b/releases/1.15.0/apidocs/org/apache/kudu/client/Insert.html
new file mode 100644
index 0000000..f80582d
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/Insert.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Insert</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Insert";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Insert.html" target="_top">Frames</a></li>
+<li><a href="Insert.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class Insert" class="title">Class Insert</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduRpc&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">org.apache.kudu.client.Operation</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.Insert</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">Insert</span>
+extends <a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></pre>
+<div class="block">Represents a single row insert.
+ Instances of this class should not be reused.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.Operation">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></h3>
+<code><a href="../../../../org/apache/kudu/client/Operation.html#getRow--">getRow</a>, <a href="../../../../org/apache/kudu/client/Operation.html#partitionKey--">partitionKey</a>, <a href="../../../../org/apache/kudu/client/Operation.html#setRow-org.apache.kudu.client.PartialRow-">setRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>getExternalConsistencyMode, getTable, setExternalConsistencyMode, setPropagatedTimestamp, toString</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Insert.html" target="_top">Frames</a></li>
+<li><a href="Insert.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/InsertIgnore.html b/releases/1.15.0/apidocs/org/apache/kudu/client/InsertIgnore.html
new file mode 100644
index 0000000..62616e0
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/InsertIgnore.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>InsertIgnore</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="InsertIgnore";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/InsertIgnore.html" target="_top">Frames</a></li>
+<li><a href="InsertIgnore.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class InsertIgnore" class="title">Class InsertIgnore</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduRpc&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">org.apache.kudu.client.Operation</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.InsertIgnore</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">InsertIgnore</span>
+extends <a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></pre>
+<div class="block">Represents a single row insert ignoring duplicate rows.
+ Instances of this class should not be reused.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.Operation">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></h3>
+<code><a href="../../../../org/apache/kudu/client/Operation.html#getRow--">getRow</a>, <a href="../../../../org/apache/kudu/client/Operation.html#partitionKey--">partitionKey</a>, <a href="../../../../org/apache/kudu/client/Operation.html#setRow-org.apache.kudu.client.PartialRow-">setRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>getExternalConsistencyMode, getTable, setExternalConsistencyMode, setPropagatedTimestamp, toString</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/InsertIgnore.html" target="_top">Frames</a></li>
+<li><a href="InsertIgnore.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/IsAlterTableDoneResponse.html b/releases/1.15.0/apidocs/org/apache/kudu/client/IsAlterTableDoneResponse.html
new file mode 100644
index 0000000..03d2a6f
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/IsAlterTableDoneResponse.html
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>IsAlterTableDoneResponse</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="IsAlterTableDoneResponse";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/IsAlterTableDoneResponse.html" target="_top">Frames</a></li>
+<li><a href="IsAlterTableDoneResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class IsAlterTableDoneResponse" class="title">Class IsAlterTableDoneResponse</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.IsAlterTableDoneResponse</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">IsAlterTableDoneResponse</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Response to a isAlterTableDone command to use to know if an alter table is currently running on
+ the specified table.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/IsAlterTableDoneResponse.html#getElapsedMillis--">getElapsedMillis</a></span>()</code>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/IsAlterTableDoneResponse.html#getTsUUID--">getTsUUID</a></span>()</code>
+<div class="block">Get the identifier of the tablet server that sent the response.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/IsAlterTableDoneResponse.html#isDone--">isDone</a></span>()</code>
+<div class="block">Tells if the table is done being altered or not.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="isDone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isDone</h4>
+<pre>public&nbsp;boolean&nbsp;isDone()</pre>
+<div class="block">Tells if the table is done being altered or not.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether the table alter is done</dd>
+</dl>
+</li>
+</ul>
+<a name="getElapsedMillis--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElapsedMillis</h4>
+<pre>public&nbsp;long&nbsp;getElapsedMillis()</pre>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>elapsed time in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getTsUUID--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTsUUID</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTsUUID()</pre>
+<div class="block">Get the identifier of the tablet server that sent the response. May be
+ <code>null</code> if the RPC failed before tablet location lookup succeeded.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string containing a UUID</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/IsAlterTableDoneResponse.html" target="_top">Frames</a></li>
+<li><a href="IsAlterTableDoneResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/IsCreateTableDoneResponse.html b/releases/1.15.0/apidocs/org/apache/kudu/client/IsCreateTableDoneResponse.html
new file mode 100644
index 0000000..2f4e82c
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/IsCreateTableDoneResponse.html
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>IsCreateTableDoneResponse</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="IsCreateTableDoneResponse";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/IsCreateTableDoneResponse.html" target="_top">Frames</a></li>
+<li><a href="IsCreateTableDoneResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class IsCreateTableDoneResponse" class="title">Class IsCreateTableDoneResponse</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.IsCreateTableDoneResponse</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">IsCreateTableDoneResponse</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Response to an isCreateTableDone command. Describes whether the table is
+ still being created.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/IsCreateTableDoneResponse.html#getElapsedMillis--">getElapsedMillis</a></span>()</code>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/IsCreateTableDoneResponse.html#getTsUUID--">getTsUUID</a></span>()</code>
+<div class="block">Get the identifier of the tablet server that sent the response.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/IsCreateTableDoneResponse.html#isDone--">isDone</a></span>()</code>
+<div class="block">Returns whether the table is done being created.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="isDone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isDone</h4>
+<pre>public&nbsp;boolean&nbsp;isDone()</pre>
+<div class="block">Returns whether the table is done being created.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether table creation is finished</dd>
+</dl>
+</li>
+</ul>
+<a name="getElapsedMillis--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElapsedMillis</h4>
+<pre>public&nbsp;long&nbsp;getElapsedMillis()</pre>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>elapsed time in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getTsUUID--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTsUUID</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTsUUID()</pre>
+<div class="block">Get the identifier of the tablet server that sent the response. May be
+ <code>null</code> if the RPC failed before tablet location lookup succeeded.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string containing a UUID</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/IsCreateTableDoneResponse.html" target="_top">Frames</a></li>
+<li><a href="IsCreateTableDoneResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduClient.KuduClientBuilder.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduClient.KuduClientBuilder.html
new file mode 100644
index 0000000..033323b
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduClient.KuduClientBuilder.html
@@ -0,0 +1,533 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduClient.KuduClientBuilder</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduClient.KuduClientBuilder";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":42,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":42,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduClient.KuduClientBuilder.html" target="_top">Frames</a></li>
+<li><a href="KuduClient.KuduClientBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduClient.KuduClientBuilder" class="title">Class KuduClient.KuduClientBuilder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduClient.KuduClientBuilder</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static final class <span class="typeNameLabel">KuduClient.KuduClientBuilder</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Builder class to use in order to connect to Kudu.
+ All the parameters beyond those in the constructors are optional.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#KuduClientBuilder-java.util.List-">KuduClientBuilder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;masterAddresses)</code>
+<div class="block">Creates a new builder for a client that will connect to the specified masters.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#KuduClientBuilder-java.lang.String-">KuduClientBuilder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;masterAddresses)</code>
+<div class="block">Creates a new builder for a client that will connect to the specified masters.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#bossCount-int-">bossCount</a></span>(int&nbsp;bossCount)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#build--">build</a></span>()</code>
+<div class="block">Creates a new client that connects to the masters.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#defaultAdminOperationTimeoutMs-long-">defaultAdminOperationTimeoutMs</a></span>(long&nbsp;timeoutMs)</code>
+<div class="block">Sets the default timeout used for administrative operations (e.g.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#defaultOperationTimeoutMs-long-">defaultOperationTimeoutMs</a></span>(long&nbsp;timeoutMs)</code>
+<div class="block">Sets the default timeout used for user operations (using sessions and scanners).</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#defaultSocketReadTimeoutMs-long-">defaultSocketReadTimeoutMs</a></span>(long&nbsp;timeoutMs)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">socket read timeouts are no longer used</span></div>
+</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#disableStatistics--">disableStatistics</a></span>()</code>
+<div class="block">Disable this client's collection of statistics.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#nioExecutor-java.util.concurrent.Executor-">nioExecutor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;workerExecutor)</code>
+<div class="block">Set the executor which will be used for the embedded Netty workers.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#nioExecutors-java.util.concurrent.Executor-java.util.concurrent.Executor-">nioExecutors</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;bossExecutor,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;workerExecutor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#saslProtocolName-java.lang.String-">saslProtocolName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;saslProtocolName)</code>
+<div class="block">Set the SASL protocol name.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html#workerCount-int-">workerCount</a></span>(int&nbsp;workerCount)</code>
+<div class="block">Set the maximum number of worker threads.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="KuduClientBuilder-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>KuduClientBuilder</h4>
+<pre>public&nbsp;KuduClientBuilder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;masterAddresses)</pre>
+<div class="block">Creates a new builder for a client that will connect to the specified masters.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>masterAddresses</code> - comma-separated list of "host:port" pairs of the masters</dd>
+</dl>
+</li>
+</ul>
+<a name="KuduClientBuilder-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>KuduClientBuilder</h4>
+<pre>public&nbsp;KuduClientBuilder(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;masterAddresses)</pre>
+<div class="block">Creates a new builder for a client that will connect to the specified masters.
+
+ <p>Here are some examples of recognized formats:
+ <ul>
+   <li>example.com
+   <li>example.com:80
+   <li>192.0.2.1
+   <li>192.0.2.1:80
+   <li>[2001:db8::1]
+   <li>[2001:db8::1]:80
+   <li>2001:db8::1
+ </ul></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>masterAddresses</code> - list of master addresses</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="defaultAdminOperationTimeoutMs-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>defaultAdminOperationTimeoutMs</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a>&nbsp;defaultAdminOperationTimeoutMs(long&nbsp;timeoutMs)</pre>
+<div class="block">Sets the default timeout used for administrative operations (e.g. createTable, deleteTable,
+ etc).
+ Optional.
+ If not provided, defaults to 30s.
+ A value of 0 disables the timeout.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeoutMs</code> - a timeout in milliseconds</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="defaultOperationTimeoutMs-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>defaultOperationTimeoutMs</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a>&nbsp;defaultOperationTimeoutMs(long&nbsp;timeoutMs)</pre>
+<div class="block">Sets the default timeout used for user operations (using sessions and scanners).
+ Optional.
+ If not provided, defaults to 30s.
+ A value of 0 disables the timeout.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeoutMs</code> - a timeout in milliseconds</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="defaultSocketReadTimeoutMs-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>defaultSocketReadTimeoutMs</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a>&nbsp;defaultSocketReadTimeoutMs(long&nbsp;timeoutMs)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">socket read timeouts are no longer used</span></div>
+<div class="block">Socket read timeouts are no longer used in the Java client and have no effect.
+ Setting this has no effect.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeoutMs</code> - a timeout in milliseconds</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="disableStatistics--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>disableStatistics</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a>&nbsp;disableStatistics()</pre>
+<div class="block">Disable this client's collection of statistics.
+ Statistics are enabled by default.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="nioExecutors-java.util.concurrent.Executor-java.util.concurrent.Executor-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nioExecutors</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a>&nbsp;nioExecutors(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;bossExecutor,
+                                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;workerExecutor)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</li>
+</ul>
+<a name="nioExecutor-java.util.concurrent.Executor-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nioExecutor</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a>&nbsp;nioExecutor(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;workerExecutor)</pre>
+<div class="block">Set the executor which will be used for the embedded Netty workers.
+
+ Optional.
+ If not provided, uses a simple cached threadpool. If workerExecutor is null,
+ then such a thread pool will be used.
+ Note: executor's max thread number must be greater or equal to corresponding
+ worker count, or netty cannot start enough threads, and client will get stuck.
+ If not sure, please just use CachedThreadPool.</div>
+</li>
+</ul>
+<a name="bossCount-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bossCount</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a>&nbsp;bossCount(int&nbsp;bossCount)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">the bossExecutor is no longer used and will have no effect if provided</span></div>
+</li>
+</ul>
+<a name="workerCount-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>workerCount</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a>&nbsp;workerCount(int&nbsp;workerCount)</pre>
+<div class="block">Set the maximum number of worker threads.
+ A worker thread performs non-blocking read and write for one or more
+ Netty Channels in a non-blocking mode.
+
+ Optional.
+ If not provided, (2 * the number of available processors) is used. If
+ this client instance will be used on a machine running many client
+ instances, it may be wise to lower this count, for example to avoid
+ resource limits, at the possible cost of some performance of this client
+ instance.</div>
+</li>
+</ul>
+<a name="saslProtocolName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>saslProtocolName</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a>&nbsp;saslProtocolName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;saslProtocolName)</pre>
+<div class="block">Set the SASL protocol name.
+ SASL protocol name is used when connecting to a secure (Kerberos-enabled)
+ cluster. It must match the servers' service principal name (SPN).
+
+ Optional.
+ If not provided, it will use the default SASL protocol name ("kudu").</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="build--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;build()</pre>
+<div class="block">Creates a new client that connects to the masters.
+ Doesn't block and won't throw an exception if the masters don't exist.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new asynchronous Kudu client</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduClient.KuduClientBuilder.html" target="_top">Frames</a></li>
+<li><a href="KuduClient.KuduClientBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduClient.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduClient.html
new file mode 100644
index 0000000..862dd55
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduClient.html
@@ -0,0 +1,987 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduClient</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduClient";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduClient.html" target="_top">Frames</a></li>
+<li><a href="KuduClient.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduClient" class="title">Class KuduClient</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduClient</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">KuduClient</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></pre>
+<div class="block">A synchronous and thread-safe client for Kudu.
+ <p>
+ This class acts as a wrapper around <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><code>AsyncKuduClient</code></a> which contains all the relevant
+ documentation.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></span></code>
+<div class="block">Builder class to use in order to connect to Kudu.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#NO_TIMESTAMP">NO_TIMESTAMP</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client">AlterTableResponse</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#alterTable-java.lang.String-org.apache.kudu.client.AlterTableOptions-">alterTable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+          <a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;ato)</code>
+<div class="block">Alter a table on the cluster as specified by the builder.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#close--">close</a></span>()</code>
+<div class="block">Analogous to <a href="../../../../org/apache/kudu/client/KuduClient.html#shutdown--"><code>shutdown()</code></a>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#createTable-java.lang.String-org.apache.kudu.Schema-org.apache.kudu.client.CreateTableOptions-">createTable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema,
+           <a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;builder)</code>
+<div class="block">Create a table on the cluster with the specified name, schema, and table configurations.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client">DeleteTableResponse</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#deleteTable-java.lang.String-">deleteTable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Delete a table on the cluster with the specified name.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#exportAuthenticationCredentials--">exportAuthenticationCredentials</a></span>()</code>
+<div class="block">Export serialized authentication data that may be passed to a different
+ client instance and imported to provide that client the ability to connect
+ to the cluster.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#getClusterId--">getClusterId</a></span>()</code>
+<div class="block">Returns the ID of the cluster that this client is connected to.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#getDefaultAdminOperationTimeoutMs--">getDefaultAdminOperationTimeoutMs</a></span>()</code>
+<div class="block">Get the timeout used for admin operations.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#getDefaultOperationTimeoutMs--">getDefaultOperationTimeoutMs</a></span>()</code>
+<div class="block">Get the timeout used for operations on sessions and scanners.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#getLastPropagatedTimestamp--">getLastPropagatedTimestamp</a></span>()</code>
+<div class="block">Returns the last timestamp received from a server.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#getLocationString--">getLocationString</a></span>()</code>
+<div class="block">Returns a string representation of this client's location.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#getMasterAddressesAsString--">getMasterAddressesAsString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#getStatistics--">getStatistics</a></span>()</code>
+<div class="block">Get the statistics object of this client.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#getTablesList--">getTablesList</a></span>()</code>
+<div class="block">Get the list of all the tables.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#getTablesList-java.lang.String-">getTablesList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;nameFilter)</code>
+<div class="block">Get a list of table names.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client">KuduTableStatistics</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#getTableStatistics-java.lang.String-">getTableStatistics</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Get table's statistics from master.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#hasLastPropagatedTimestamp--">hasLastPropagatedTimestamp</a></span>()</code>
+<div class="block">Checks if the client received any timestamps from a server.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#importAuthenticationCredentials-byte:A-">importAuthenticationCredentials</a></span>(byte[]&nbsp;authnData)</code>
+<div class="block">Import data allowing this client to authenticate to the cluster.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#isAlterTableDone-java.lang.String-">isAlterTableDone</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Waits for all of the tablets in a table to be altered, or until the
+ default admin operation timeout is reached.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#isCreateTableDone-java.lang.String-">isCreateTableDone</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Waits for all of the tablets in a table to be created, or until the
+ default admin operation timeout is reached.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#isStatisticsEnabled--">isStatisticsEnabled</a></span>()</code>
+<div class="block">Check if statistics collection is enabled for this client.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client">ListTabletServersResponse</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#listTabletServers--">listTabletServers</a></span>()</code>
+<div class="block">Get the list of running tablet servers.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#newScannerBuilder-org.apache.kudu.client.KuduTable-">newScannerBuilder</a></span>(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</code>
+<div class="block">Creates a new <a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><code>KuduScanner.KuduScannerBuilder</code></a> for a particular table.</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#newScanTokenBuilder-org.apache.kudu.client.KuduTable-">newScanTokenBuilder</a></span>(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</code>
+<div class="block">Creates a new <a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client"><code>KuduScanToken.KuduScanTokenBuilder</code></a> for a particular table.</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#newSession--">newSession</a></span>()</code>
+<div class="block">Create a new session for interacting with the cluster.</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#newTransaction--">newTransaction</a></span>()</code>
+<div class="block">Start a new multi-row distributed transaction.</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#openTable-java.lang.String-">openTable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Open the table with the given name.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#shutdown--">shutdown</a></span>()</code>
+<div class="block">Performs a graceful shutdown of this instance.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#tableExists-java.lang.String-">tableExists</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Test if a table exists.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduClient.html#updateLastPropagatedTimestamp-long-">updateLastPropagatedTimestamp</a></span>(long&nbsp;lastPropagatedTimestamp)</code>
+<div class="block">Updates the last timestamp received from a server.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="NO_TIMESTAMP">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>NO_TIMESTAMP</h4>
+<pre>public static final&nbsp;long NO_TIMESTAMP</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.kudu.client.KuduClient.NO_TIMESTAMP">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="updateLastPropagatedTimestamp-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateLastPropagatedTimestamp</h4>
+<pre>public&nbsp;void&nbsp;updateLastPropagatedTimestamp(long&nbsp;lastPropagatedTimestamp)</pre>
+<div class="block">Updates the last timestamp received from a server. Used for CLIENT_PROPAGATED
+ external consistency.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lastPropagatedTimestamp</code> - the last timestamp received from a server.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastPropagatedTimestamp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastPropagatedTimestamp</h4>
+<pre>public&nbsp;long&nbsp;getLastPropagatedTimestamp()</pre>
+<div class="block">Returns the last timestamp received from a server. Used for CLIENT_PROPAGATED
+ external consistency. Note that the returned timestamp is encoded and cannot be
+ interpreted as a raw timestamp.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a long indicating the specially-encoded last timestamp received from a server</dd>
+</dl>
+</li>
+</ul>
+<a name="hasLastPropagatedTimestamp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasLastPropagatedTimestamp</h4>
+<pre>public&nbsp;boolean&nbsp;hasLastPropagatedTimestamp()</pre>
+<div class="block">Checks if the client received any timestamps from a server. Used for
+ CLIENT_PROPAGATED external consistency.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if last propagated timestamp has been set</dd>
+</dl>
+</li>
+</ul>
+<a name="getLocationString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLocationString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLocationString()</pre>
+<div class="block">Returns a string representation of this client's location. If this
+ client was not assigned a location, returns the empty string.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string representation of this client's location</dd>
+</dl>
+</li>
+</ul>
+<a name="getClusterId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClusterId</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClusterId()</pre>
+<div class="block">Returns the ID of the cluster that this client is connected to.
+ It will be an empty string if the client is not connected or
+ the client is connected to a cluster that doesn't support
+ cluster IDs.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the ID of the cluster that this client is connected to</dd>
+</dl>
+</li>
+</ul>
+<a name="createTable-java.lang.String-org.apache.kudu.Schema-org.apache.kudu.client.CreateTableOptions-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createTable</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;createTable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                             <a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema,
+                             <a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;builder)
+                      throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Create a table on the cluster with the specified name, schema, and table configurations.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the table's name</dd>
+<dd><code>schema</code> - the table's schema</dd>
+<dd><code>builder</code> - a builder containing the table's configurations</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an object to communicate with the created table</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="isCreateTableDone-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isCreateTableDone</h4>
+<pre>public&nbsp;boolean&nbsp;isCreateTableDone(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+                          throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Waits for all of the tablets in a table to be created, or until the
+ default admin operation timeout is reached.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the table's name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the table is done being created, or false if the default
+         admin operation timeout was reached.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - for any error returned by sending RPCs to the master
+         (e.g. the table does not exist)</dd>
+</dl>
+</li>
+</ul>
+<a name="deleteTable-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deleteTable</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client">DeleteTableResponse</a>&nbsp;deleteTable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+                                throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Delete a table on the cluster with the specified name.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the table's name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an rpc response object</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="alterTable-java.lang.String-org.apache.kudu.client.AlterTableOptions-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>alterTable</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client">AlterTableResponse</a>&nbsp;alterTable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                                     <a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a>&nbsp;ato)
+                              throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Alter a table on the cluster as specified by the builder.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the table's name (old name if the table is being renamed)</dd>
+<dd><code>ato</code> - the alter table options</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an rpc response object</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="isAlterTableDone-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAlterTableDone</h4>
+<pre>public&nbsp;boolean&nbsp;isAlterTableDone(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+                         throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Waits for all of the tablets in a table to be altered, or until the
+ default admin operation timeout is reached.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the table's name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the table is done being altered, or false if the default
+         admin operation timeout was reached.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - for any error returned by sending RPCs to the master
+         (e.g. the table does not exist)</dd>
+</dl>
+</li>
+</ul>
+<a name="listTabletServers--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>listTabletServers</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client">ListTabletServersResponse</a>&nbsp;listTabletServers()
+                                            throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Get the list of running tablet servers.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list of tablet servers</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="getTablesList--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTablesList</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a>&nbsp;getTablesList()
+                                 throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Get the list of all the tables.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list of all the tables</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="getTablesList-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTablesList</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a>&nbsp;getTablesList(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;nameFilter)
+                                 throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Get a list of table names. Passing a null filter returns all the tables. When a filter is
+ specified, it only returns tables that satisfy a substring match.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>nameFilter</code> - an optional table name filter</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a deferred that contains the list of table names</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="getTableStatistics-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableStatistics</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client">KuduTableStatistics</a>&nbsp;getTableStatistics(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+                                       throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Get table's statistics from master.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the table's name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the statistics of table</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="tableExists-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tableExists</h4>
+<pre>public&nbsp;boolean&nbsp;tableExists(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+                    throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Test if a table exists.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - a non-null table name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the table exists, else false</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="openTable-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>openTable</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;openTable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+                    throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Open the table with the given name.
+
+ New range partitions created by other clients will immediately be available
+ after opening the table.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - table to open</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a KuduTable if the table exists</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="newSession--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newSession</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a>&nbsp;newSession()</pre>
+<div class="block">Create a new session for interacting with the cluster.
+ User is responsible for destroying the session object.
+ This is a fully local operation (no RPCs or blocking).</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a synchronous wrapper around KuduSession.</dd>
+</dl>
+</li>
+</ul>
+<a name="newTransaction--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newTransaction</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a>&nbsp;newTransaction()
+                               throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Start a new multi-row distributed transaction.
+ <p>
+ Start a new multi-row transaction and return a handle for the transactional
+ object to manage the newly started transaction. Under the hood, this makes
+ an RPC call to the Kudu cluster and registers a newly created transaction
+ in the system. This call is blocking.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a handle to the newly started transaction in case of success</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isStatisticsEnabled--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isStatisticsEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isStatisticsEnabled()</pre>
+<div class="block">Check if statistics collection is enabled for this client.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if it is enabled, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="getStatistics--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getStatistics</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a>&nbsp;getStatistics()</pre>
+<div class="block">Get the statistics object of this client.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this client's Statistics object</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - thrown if statistics collection has been disabled</dd>
+</dl>
+</li>
+</ul>
+<a name="newScannerBuilder-org.apache.kudu.client.KuduTable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newScannerBuilder</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a>&nbsp;newScannerBuilder(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</pre>
+<div class="block">Creates a new <a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><code>KuduScanner.KuduScannerBuilder</code></a> for a particular table.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>table</code> - the table you intend to scan.
+ The string is assumed to use the platform's default charset.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new scanner builder for the table</dd>
+</dl>
+</li>
+</ul>
+<a name="newScanTokenBuilder-org.apache.kudu.client.KuduTable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newScanTokenBuilder</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a>&nbsp;newScanTokenBuilder(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</pre>
+<div class="block">Creates a new <a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client"><code>KuduScanToken.KuduScanTokenBuilder</code></a> for a particular table.
+ Used for integrations with compute frameworks.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>table</code> - the table you intend to scan</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new scan token builder for the table</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Analogous to <a href="../../../../org/apache/kudu/client/KuduClient.html#shutdown--"><code>shutdown()</code></a>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if an error happens while closing the connections</dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()
+              throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Performs a graceful shutdown of this instance.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="exportAuthenticationCredentials--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>exportAuthenticationCredentials</h4>
+<pre>@InterfaceStability.Unstable
+public&nbsp;byte[]&nbsp;exportAuthenticationCredentials()
+                                                                    throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Export serialized authentication data that may be passed to a different
+ client instance and imported to provide that client the ability to connect
+ to the cluster.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="importAuthenticationCredentials-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>importAuthenticationCredentials</h4>
+<pre>@InterfaceStability.Unstable
+public&nbsp;void&nbsp;importAuthenticationCredentials(byte[]&nbsp;authnData)</pre>
+<div class="block">Import data allowing this client to authenticate to the cluster.
+ This will typically be used before making any connections to servers
+ in the cluster.
+
+ Note that, if this client has already been used by one user, this
+ method cannot be used to switch authenticated users. Attempts to
+ do so have undefined results, and may throw an exception.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>authnData</code> - then authentication data provided by a prior call to
+ <a href="../../../../org/apache/kudu/client/KuduClient.html#exportAuthenticationCredentials--"><code>exportAuthenticationCredentials()</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="getDefaultOperationTimeoutMs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDefaultOperationTimeoutMs</h4>
+<pre>public&nbsp;long&nbsp;getDefaultOperationTimeoutMs()</pre>
+<div class="block">Get the timeout used for operations on sessions and scanners.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a timeout in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getDefaultAdminOperationTimeoutMs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDefaultAdminOperationTimeoutMs</h4>
+<pre>public&nbsp;long&nbsp;getDefaultAdminOperationTimeoutMs()</pre>
+<div class="block">Get the timeout used for admin operations.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a timeout in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getMasterAddressesAsString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getMasterAddressesAsString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMasterAddressesAsString()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the list of master addresses, stringified using commas to separate
+ them</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduClient.html" target="_top">Frames</a></li>
+<li><a href="KuduClient.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduException.OriginalException.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduException.OriginalException.html
new file mode 100644
index 0000000..fca79f8
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduException.OriginalException.html
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduException.OriginalException</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduException.OriginalException";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduException.OriginalException.html" target="_top">Frames</a></li>
+<li><a href="KuduException.OriginalException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Throwable">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduException.OriginalException" class="title">Class KuduException.OriginalException</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduException.OriginalException</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static class <span class="typeNameLabel">KuduException.OriginalException</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></pre>
+<div class="block">When exceptions are thrown by the asynchronous Kudu client, the stack trace is
+ typically deep within the internals of the Kudu client and/or Netty.
+ Thus, when the synchronous Kudu client wraps and throws the exception,
+ we suppress that stack trace and replace it with the stack trace of the user's
+ calling thread. The original stack trace is added to the <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client"><code>KuduException</code></a>
+ as a suppressed exception (see Throwable#addSuppressed(Throwable)) of
+ this</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../serialized-form.html#org.apache.kudu.client.KuduException.OriginalException">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Throwable">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#addSuppressed-java.lang.Throwable-" title="class or interface in java.lang">addSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace--" title="class or interface in java.lang">fillInStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getCause--" title="class or interface in java.lang">getCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage--" title="class or interface in java.lang">getLocalizedMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getMessage--" title="class or interface in java.lang">getMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getSuppressed--" title="class or interface in java.lang">getSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#initCause-java.lang.Throwable-" title="class or interface in java.lang">initCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace--" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintStream-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintWriter-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#setStackTrace-java.lang.StackTraceElement:A-" title="class or interface in java.lang">setStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduException.OriginalException.html" target="_top">Frames</a></li>
+<li><a href="KuduException.OriginalException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Throwable">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduException.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduException.html
new file mode 100644
index 0000000..f079a5d
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduException.html
@@ -0,0 +1,304 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduException</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduException";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduException.html" target="_top">Frames</a></li>
+<li><a href="KuduException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduException" class="title">Class KuduException</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">java.io.IOException</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduException</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client">PleaseThrottleException</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public abstract class <span class="typeNameLabel">KuduException</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">The parent class of all exceptions sent by the Kudu client. This is the only exception you will
+ see if you're using the non-async API, such as <a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><code>KuduSession</code></a> instead of
+ <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><code>AsyncKuduSession</code></a>.
+
+ Each instance of this class has a <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client"><code>Status</code></a> which gives more information about the error.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../serialized-form.html#org.apache.kudu.client.KuduException">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client">KuduException.OriginalException</a></span></code>
+<div class="block">When exceptions are thrown by the asynchronous Kudu client, the stack trace is
+ typically deep within the internals of the Kudu client and/or Netty.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduException.html#getStatus--">getStatus</a></span>()</code>
+<div class="block">Get the Status object for this exception.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Throwable">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#addSuppressed-java.lang.Throwable-" title="class or interface in java.lang">addSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace--" title="class or interface in java.lang">fillInStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getCause--" title="class or interface in java.lang">getCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage--" title="class or interface in java.lang">getLocalizedMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getMessage--" title="class or interface in java.lang">getMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getSuppressed--" title="class or interface in java.lang">getSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#initCause-java.lang.Throwable-" title="class or interface in java.lang">initCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace--" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintStream-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintWriter-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#setStackTrace-java.lang.StackTraceElement:A-" title="class or interface in java.lang">setStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getStatus--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getStatus</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;getStatus()</pre>
+<div class="block">Get the Status object for this exception.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a status object indicating the reason for the exception</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduException.html" target="_top">Frames</a></li>
+<li><a href="KuduException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html
new file mode 100644
index 0000000..44917a6
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduPartitioner.KuduPartitionerBuilder</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduPartitioner.KuduPartitionerBuilder";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" target="_top">Frames</a></li>
+<li><a href="KuduPartitioner.KuduPartitionerBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduPartitioner.KuduPartitionerBuilder" class="title">Class KuduPartitioner.KuduPartitionerBuilder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduPartitioner.KuduPartitionerBuilder</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client">KuduPartitioner</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static class <span class="typeNameLabel">KuduPartitioner.KuduPartitionerBuilder</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A Builder class to build <a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><code>KuduPartitioner</code></a>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html#KuduPartitionerBuilder-org.apache.kudu.client.KuduTable-">KuduPartitionerBuilder</a></span>(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client">KuduPartitioner</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html#build--">build</a></span>()</code>
+<div class="block">Builds a <a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><code>KuduPartitioner</code></a> using the passed configurations.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client">KuduPartitioner.KuduPartitionerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html#buildTimeout-long-">buildTimeout</a></span>(long&nbsp;timeoutMillis)</code>
+<div class="block">Set the timeout used for building the <a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><code>KuduPartitioner</code></a>.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="KuduPartitionerBuilder-org.apache.kudu.client.KuduTable-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>KuduPartitionerBuilder</h4>
+<pre>public&nbsp;KuduPartitionerBuilder(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="buildTimeout-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>buildTimeout</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client">KuduPartitioner.KuduPartitionerBuilder</a>&nbsp;buildTimeout(long&nbsp;timeoutMillis)</pre>
+<div class="block">Set the timeout used for building the <a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><code>KuduPartitioner</code></a>.
+ Defaults to the <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html#getDefaultAdminOperationTimeoutMs--"><code>AsyncKuduClient.getDefaultAdminOperationTimeoutMs()</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeoutMillis</code> - the timeout to set in milliseconds.</dd>
+</dl>
+</li>
+</ul>
+<a name="build--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client">KuduPartitioner</a>&nbsp;build()
+                      throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Builds a <a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><code>KuduPartitioner</code></a> using the passed configurations.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new <a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><code>KuduPartitioner</code></a></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" target="_top">Frames</a></li>
+<li><a href="KuduPartitioner.KuduPartitionerBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduPartitioner.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduPartitioner.html
new file mode 100644
index 0000000..881ac6d
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduPartitioner.html
@@ -0,0 +1,361 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduPartitioner</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduPartitioner";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduPartitioner.html" target="_top">Frames</a></li>
+<li><a href="KuduPartitioner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduPartitioner" class="title">Class KuduPartitioner</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduPartitioner</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">KuduPartitioner</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A KuduPartitioner allows clients to determine the target partition of a
+ row without actually performing a write. The set of partitions is eagerly
+ fetched when the KuduPartitioner is constructed so that the actual partitioning
+ step can be performed synchronously without any network trips.
+
+ NOTE: Because this operates on a metadata snapshot retrieved at construction
+ time, it will not reflect any metadata changes to the table that have occurred
+ since its creation.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client">KuduPartitioner.KuduPartitionerBuilder</a></span></code>
+<div class="block">A Builder class to build <a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><code>KuduPartitioner</code></a>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPartitioner.html#KuduPartitioner-org.apache.kudu.client.PartitionSchema-java.util.Map-">KuduPartitioner</a></span>(org.apache.kudu.client.PartitionSchema&nbsp;partitionSchema,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.kudu.client.Partition&gt;&nbsp;tabletIdToPartition)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPartitioner.html#isCovered-org.apache.kudu.client.PartialRow-">isCovered</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;row)</code>
+<div class="block">Determine if the given row falls into a valid partition.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPartitioner.html#numPartitions--">numPartitions</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPartitioner.html#partitionRow-org.apache.kudu.client.PartialRow-">partitionRow</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;row)</code>
+<div class="block">Determine the partition index that the given row falls into.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="KuduPartitioner-org.apache.kudu.client.PartitionSchema-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>KuduPartitioner</h4>
+<pre>@InterfaceAudience.Private
+ @InterfaceStability.Unstable
+public&nbsp;KuduPartitioner(org.apache.kudu.client.PartitionSchema&nbsp;partitionSchema,
+                                                                                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.kudu.client.Partition&gt;&nbsp;tabletIdToPartition)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="numPartitions--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>numPartitions</h4>
+<pre>public&nbsp;int&nbsp;numPartitions()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of partitions known by this partitioner.</dd>
+</dl>
+</li>
+</ul>
+<a name="isCovered-org.apache.kudu.client.PartialRow-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isCovered</h4>
+<pre>public&nbsp;boolean&nbsp;isCovered(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;row)</pre>
+<div class="block">Determine if the given row falls into a valid partition.
+
+ NOTE: The row must be constructed with a schema returned from the Kudu server.
+ ex: `KuduTable.getSchema().newPartialRow();`</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>row</code> - The row to check.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the row falls into a valid partition.</dd>
+</dl>
+</li>
+</ul>
+<a name="partitionRow-org.apache.kudu.client.PartialRow-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>partitionRow</h4>
+<pre>public&nbsp;int&nbsp;partitionRow(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;row)
+                 throws org.apache.kudu.client.NonCoveredRangeException</pre>
+<div class="block">Determine the partition index that the given row falls into.
+
+ NOTE: The row must be constructed with a schema returned from the Kudu server.
+ ex: `KuduTable.getSchema().newPartialRow();`</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>row</code> - The row to be partitioned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The resulting partition index.
+         The result will be less than numPartitions()</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.kudu.client.NonCoveredRangeException</code> - if the row falls into a non-covered range.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduPartitioner.html" target="_top">Frames</a></li>
+<li><a href="KuduPartitioner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduPredicate.ComparisonOp.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduPredicate.ComparisonOp.html
new file mode 100644
index 0000000..7be0659
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduPredicate.ComparisonOp.html
@@ -0,0 +1,381 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduPredicate.ComparisonOp</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduPredicate.ComparisonOp";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduPredicate.ComparisonOp.html" target="_top">Frames</a></li>
+<li><a href="KuduPredicate.ComparisonOp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Enum KuduPredicate.ComparisonOp" class="title">Enum KuduPredicate.ComparisonOp</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduPredicate.ComparisonOp</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static enum <span class="typeNameLabel">KuduPredicate.ComparisonOp</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&gt;</pre>
+<div class="block">The comparison operator of a predicate.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html#EQUAL">EQUAL</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html#GREATER">GREATER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html#GREATER_EQUAL">GREATER_EQUAL</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html#LESS">LESS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html#LESS_EQUAL">LESS_EQUAL</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="GREATER">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>GREATER</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a> GREATER</pre>
+</li>
+</ul>
+<a name="GREATER_EQUAL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>GREATER_EQUAL</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a> GREATER_EQUAL</pre>
+</li>
+</ul>
+<a name="EQUAL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EQUAL</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a> EQUAL</pre>
+</li>
+</ul>
+<a name="LESS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LESS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a> LESS</pre>
+</li>
+</ul>
+<a name="LESS_EQUAL">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LESS_EQUAL</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a> LESS_EQUAL</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (KuduPredicate.ComparisonOp c : KuduPredicate.ComparisonOp.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduPredicate.ComparisonOp.html" target="_top">Frames</a></li>
+<li><a href="KuduPredicate.ComparisonOp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduPredicate.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduPredicate.html
new file mode 100644
index 0000000..907d170
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduPredicate.html
@@ -0,0 +1,647 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduPredicate</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduPredicate";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduPredicate.html" target="_top">Frames</a></li>
+<li><a href="KuduPredicate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduPredicate" class="title">Class KuduPredicate</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduPredicate</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">KuduPredicate</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A predicate which can be used to filter rows based on the value of a column.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a></span></code>
+<div class="block">The comparison operator of a predicate.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.math.BigDecimal-">newComparisonPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                      <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;value)</code>
+<div class="block">Creates a new comparison predicate on a Decimal column.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-boolean-">newComparisonPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                      <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                      boolean&nbsp;value)</code>
+<div class="block">Creates a new <code>KuduPredicate</code> on a boolean column.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-byte:A-">newComparisonPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                      <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                      byte[]&nbsp;value)</code>
+<div class="block">Creates a new comparison predicate on a binary column.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.sql.Date-">newComparisonPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                      <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a>&nbsp;value)</code>
+<div class="block">Creates a new comparison predicate on a date column.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-double-">newComparisonPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                      <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                      double&nbsp;value)</code>
+<div class="block">Creates a new comparison predicate on a double column.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-float-">newComparisonPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                      <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                      float&nbsp;value)</code>
+<div class="block">Creates a new comparison predicate on a float column.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-long-">newComparisonPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                      <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                      long&nbsp;value)</code>
+<div class="block">Creates a new comparison predicate on an integer or timestamp column.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.lang.Object-">newComparisonPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                      <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
+<div class="block">Creates a new comparison predicate on a column.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.lang.String-">newComparisonPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                      <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
+<div class="block">Creates a new comparison predicate on a string column.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.sql.Timestamp-">newComparisonPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                      <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;value)</code>
+<div class="block">Creates a new comparison predicate on a timestamp column.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newInListPredicate-org.apache.kudu.ColumnSchema-java.util.List-">newInListPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&nbsp;values)</code>
+<div class="block">Creates a new IN list predicate.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newIsNotNullPredicate-org.apache.kudu.ColumnSchema-">newIsNotNullPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column)</code>
+<div class="block">Creates a new <code>IS NOT NULL</code> predicate.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#newIsNullPredicate-org.apache.kudu.ColumnSchema-">newIsNullPredicate</a></span>(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column)</code>
+<div class="block">Creates a new <code>IS NULL</code> predicate.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduPredicate.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newComparisonPredicate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newComparisonPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                                                   <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                                                   boolean&nbsp;value)</pre>
+<div class="block">Creates a new <code>KuduPredicate</code> on a boolean column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - the column schema</dd>
+<dd><code>op</code> - the comparison operation</dd>
+<dd><code>value</code> - the value to compare against</dd>
+</dl>
+</li>
+</ul>
+<a name="newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newComparisonPredicate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newComparisonPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                                                   <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                                                   long&nbsp;value)</pre>
+<div class="block">Creates a new comparison predicate on an integer or timestamp column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - the column schema</dd>
+<dd><code>op</code> - the comparison operation</dd>
+<dd><code>value</code> - the value to compare against</dd>
+</dl>
+</li>
+</ul>
+<a name="newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.math.BigDecimal-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newComparisonPredicate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newComparisonPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                                                   <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;value)</pre>
+<div class="block">Creates a new comparison predicate on a Decimal column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - the column schema</dd>
+<dd><code>op</code> - the comparison operation</dd>
+<dd><code>value</code> - the value to compare against</dd>
+</dl>
+</li>
+</ul>
+<a name="newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.sql.Timestamp-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newComparisonPredicate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newComparisonPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                                                   <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;value)</pre>
+<div class="block">Creates a new comparison predicate on a timestamp column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - the column schema</dd>
+<dd><code>op</code> - the comparison operation</dd>
+<dd><code>value</code> - the value to compare against</dd>
+</dl>
+</li>
+</ul>
+<a name="newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.sql.Date-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newComparisonPredicate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newComparisonPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                                                   <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a>&nbsp;value)</pre>
+<div class="block">Creates a new comparison predicate on a date column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - the column schema</dd>
+<dd><code>op</code> - the comparison operation</dd>
+<dd><code>value</code> - the value to compare against</dd>
+</dl>
+</li>
+</ul>
+<a name="newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-float-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newComparisonPredicate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newComparisonPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                                                   <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                                                   float&nbsp;value)</pre>
+<div class="block">Creates a new comparison predicate on a float column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - the column schema</dd>
+<dd><code>op</code> - the comparison operation</dd>
+<dd><code>value</code> - the value to compare against</dd>
+</dl>
+</li>
+</ul>
+<a name="newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newComparisonPredicate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newComparisonPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                                                   <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                                                   double&nbsp;value)</pre>
+<div class="block">Creates a new comparison predicate on a double column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - the column schema</dd>
+<dd><code>op</code> - the comparison operation</dd>
+<dd><code>value</code> - the value to compare against</dd>
+</dl>
+</li>
+</ul>
+<a name="newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newComparisonPredicate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newComparisonPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                                                   <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<div class="block">Creates a new comparison predicate on a string column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - the column schema</dd>
+<dd><code>op</code> - the comparison operation</dd>
+<dd><code>value</code> - the value to compare against</dd>
+</dl>
+</li>
+</ul>
+<a name="newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newComparisonPredicate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newComparisonPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                                                   <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                                                   byte[]&nbsp;value)</pre>
+<div class="block">Creates a new comparison predicate on a binary column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - the column schema</dd>
+<dd><code>op</code> - the comparison operation</dd>
+<dd><code>value</code> - the value to compare against</dd>
+</dl>
+</li>
+</ul>
+<a name="newComparisonPredicate-org.apache.kudu.ColumnSchema-org.apache.kudu.client.KuduPredicate.ComparisonOp-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newComparisonPredicate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newComparisonPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                                                   <a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a>&nbsp;op,
+                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<div class="block">Creates a new comparison predicate on a column.
+
+ This method is useful when you don't care about autoboxing
+ and your existing type handling logic is based on Java types.
+
+ The accepted Object type is based on the column's <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu"><code>Type</code></a>:
+  Type.BOOL -> java.lang.Boolean
+  Type.INT8 -> java.lang.Byte
+  Type.INT16 -> java.lang.Short
+  Type.INT32 -> java.lang.Integer
+  Type.INT64 -> java.lang.Long
+  Type.UNIXTIME_MICROS -> java.sql.Timestamp or java.lang.Long
+  Type.FLOAT -> java.lang.Float
+  Type.DOUBLE -> java.lang.Double
+  Type.STRING -> java.lang.String
+  Type.VARCHAR -> java.lang.String
+  Type.BINARY -> byte[]
+  Type.DECIMAL -> java.math.BigDecimal
+  Type.DATE -> java.sql.Date</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - column the column schema</dd>
+<dd><code>op</code> - the comparison operation</dd>
+<dd><code>value</code> - the value to compare against</dd>
+</dl>
+</li>
+</ul>
+<a name="newInListPredicate-org.apache.kudu.ColumnSchema-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newInListPredicate</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newInListPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column,
+                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&nbsp;values)</pre>
+<div class="block">Creates a new IN list predicate.
+
+ The list must contain values of the correct type for the column.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - the type of values, must match the type of the column</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - the column that the predicate applies to</dd>
+<dd><code>values</code> - list of values which the column values must match</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an IN list predicate</dd>
+</dl>
+</li>
+</ul>
+<a name="newIsNotNullPredicate-org.apache.kudu.ColumnSchema-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newIsNotNullPredicate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newIsNotNullPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column)</pre>
+<div class="block">Creates a new <code>IS NOT NULL</code> predicate.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - the column that the predicate applies to</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an <code>IS NOT NULL</code> predicate</dd>
+</dl>
+</li>
+</ul>
+<a name="newIsNullPredicate-org.apache.kudu.ColumnSchema-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newIsNullPredicate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a>&nbsp;newIsNullPredicate(<a href="../../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a>&nbsp;column)</pre>
+<div class="block">Creates a new <code>IS NULL</code> predicate.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>column</code> - the column that the predicate applies to</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an <code>IS NULL</code> predicate</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduPredicate.html" target="_top">Frames</a></li>
+<li><a href="KuduPredicate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html
new file mode 100644
index 0000000..a29da9b
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html
@@ -0,0 +1,349 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduScanToken.KuduScanTokenBuilder</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduScanToken.KuduScanTokenBuilder";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" target="_top">Frames</a></li>
+<li><a href="KuduScanToken.KuduScanTokenBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduScanToken.KuduScanTokenBuilder" class="title">Class KuduScanToken.KuduScanTokenBuilder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">org.apache.kudu.client.AbstractKuduScannerBuilder</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a>&gt;&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduScanToken.KuduScanTokenBuilder</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Unstable
+public static class <span class="typeNameLabel">KuduScanToken.KuduScanTokenBuilder</span>
+extends <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a>&gt;&gt;</pre>
+<div class="block">Builds a sequence of scan tokens.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html#build--">build</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html#includeTableMetadata-boolean-">includeTableMetadata</a></span>(boolean&nbsp;includeMetadata)</code>
+<div class="block">If the table metadata is included on the scan token a GetTableSchema
+ RPC call to the master can be avoided when deserializing each scan token
+ into a scanner.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html#includeTabletMetadata-boolean-">includeTabletMetadata</a></span>(boolean&nbsp;includeMetadata)</code>
+<div class="block">If the tablet metadata is included on the scan token a GetTableLocations
+ RPC call to the master can be avoided when scanning with a scanner constructed
+ from a scan token.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html#setSplitSizeBytes-long-">setSplitSizeBytes</a></span>(long&nbsp;splitSizeBytes)</code>
+<div class="block">Sets the data size of key range.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html#setTimeout-long-">setTimeout</a></span>(long&nbsp;timeoutMs)</code>
+<div class="block">Sets a timeout value to use when building the list of scan tokens.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.AbstractKuduScannerBuilder">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></h3>
+<code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addColumnRangePredicate-org.apache.kudu.client.ColumnRangePredicate-">addColumnRangePredicate</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addColumnRangePredicatesRaw-byte:A-">addColumnRangePredicatesRaw</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-">addPredicate</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#batchSizeBytes-int-">batchSizeBytes</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#cacheBlocks-boolean-">cacheBlocks</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBound-org.apache.kudu.client.PartialRow-">exclusiveUpperBound</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBoundRaw-byte:A-">exclusiveUpperBoundRaw</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#keepAlivePeriodMs-long-">keepAlivePeriodMs</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#limit-long-">limit</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBound-org.apache.kudu.client.PartialRow-">lowerBound</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBoundRaw-byte:A-">lowerBoundRaw</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#prefetching-boolean-">prefetching</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#readMode-org.apache.kudu.client.AsyncKuduScanner.ReadMode-">readMode</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#replicaSelection-org.apache.kudu.client.ReplicaSelection-">replicaSelection</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#scanRequestTimeout-long-">scanRequestTimeout</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setFaultTolerant-boolean-">setFaultTolerant</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setProjectedColumnIndexes-java.util.List-">setProjectedColumnIndexes</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setProjectedColumnNames-java.util.List-">setProjectedColumnNames</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#snapshotTimestampMicros-long-">snapshotTimestampMicros</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setTimeout-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTimeout</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a>&nbsp;setTimeout(long&nbsp;timeoutMs)</pre>
+<div class="block">Sets a timeout value to use when building the list of scan tokens. If
+ unset, the client operation timeout will be used.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeoutMs</code> - the timeout in milliseconds.</dd>
+</dl>
+</li>
+</ul>
+<a name="setSplitSizeBytes-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSplitSizeBytes</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a>&nbsp;setSplitSizeBytes(long&nbsp;splitSizeBytes)</pre>
+<div class="block">Sets the data size of key range. It is used to split tablet's primary key range
+ into smaller ranges. The split doesn't change the layout of the tablet. This is a hint:
+ The tablet server may return the size of key range larger or smaller than this value.
+ If unset or <= 0, the key range includes all the data of the tablet.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>splitSizeBytes</code> - the data size of key range.</dd>
+</dl>
+</li>
+</ul>
+<a name="includeTableMetadata-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>includeTableMetadata</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a>&nbsp;includeTableMetadata(boolean&nbsp;includeMetadata)</pre>
+<div class="block">If the table metadata is included on the scan token a GetTableSchema
+ RPC call to the master can be avoided when deserializing each scan token
+ into a scanner.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>includeMetadata</code> - true, if table metadata should be included.</dd>
+</dl>
+</li>
+</ul>
+<a name="includeTabletMetadata-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>includeTabletMetadata</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a>&nbsp;includeTabletMetadata(boolean&nbsp;includeMetadata)</pre>
+<div class="block">If the tablet metadata is included on the scan token a GetTableLocations
+ RPC call to the master can be avoided when scanning with a scanner constructed
+ from a scan token.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>includeMetadata</code> - true, if tablet metadata should be included.</dd>
+</dl>
+</li>
+</ul>
+<a name="build--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a>&gt;&nbsp;build()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#build--">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a>&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" target="_top">Frames</a></li>
+<li><a href="KuduScanToken.KuduScanTokenBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScanToken.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScanToken.html
new file mode 100644
index 0000000..08a3478
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScanToken.html
@@ -0,0 +1,469 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduScanToken</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduScanToken";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":9,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduScanToken.html" target="_top">Frames</a></li>
+<li><a href="KuduScanToken.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduScanToken" class="title">Class KuduScanToken</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduScanToken</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Unstable
+public class <span class="typeNameLabel">KuduScanToken</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a>&gt;</pre>
+<div class="block">A scan token describes a partial scan of a Kudu table limited to a single
+ contiguous physical location. Using the <a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client"><code>KuduScanToken.KuduScanTokenBuilder</code></a>, clients can
+ describe the desired scan, including predicates, bounds, timestamps, and
+ caching, and receive back a collection of scan tokens.
+
+ Each scan token may be separately turned into a scanner using
+ <a href="../../../../org/apache/kudu/client/KuduScanToken.html#intoScanner-org.apache.kudu.client.KuduClient-"><code>intoScanner(org.apache.kudu.client.KuduClient)</code></a>, with each scanner responsible for a disjoint section
+ of the table.
+
+ Scan tokens may be serialized using the <a href="../../../../org/apache/kudu/client/KuduScanToken.html#serialize--"><code>serialize()</code></a> method and
+ deserialized back into a scanner using the <a href="../../../../org/apache/kudu/client/KuduScanToken.html#deserializeIntoScanner-byte:A-org.apache.kudu.client.KuduClient-"><code>deserializeIntoScanner(byte[], org.apache.kudu.client.KuduClient)</code></a>
+ method. This allows use cases such as generating scan tokens in the planner
+ component of a query engine, then sending the tokens to execution nodes based
+ on locality, and then instantiating the scanners on those nodes.
+
+ Scan token locality information can be inspected using the <a href="../../../../org/apache/kudu/client/KuduScanToken.html#getTablet--"><code>getTablet()</code></a>
+ method.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></span></code>
+<div class="block">Builds a sequence of scan tokens.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.html#compareTo-org.apache.kudu.client.KuduScanToken-">compareTo</a></span>(<a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.html#deserializeIntoScanner-byte:A-org.apache.kudu.client.KuduClient-">deserializeIntoScanner</a></span>(byte[]&nbsp;buf,
+                      <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;client)</code>
+<div class="block">Deserializes a <code>KuduScanToken</code> into a <a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.html#deserializeIntoScannerBuilder-byte:A-org.apache.kudu.client.KuduClient-">deserializeIntoScannerBuilder</a></span>(byte[]&nbsp;buf,
+                             <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;client)</code>
+<div class="block">Deserializes a <code>KuduScanToken</code> into a <a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><code>KuduScanner.KuduScannerBuilder</code></a>.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.html#getTablet--">getTablet</a></span>()</code>
+<div class="block">Returns the tablet which the scanner created from this token will access.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.html#intoScanner-org.apache.kudu.client.KuduClient-">intoScanner</a></span>(<a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;client)</code>
+<div class="block">Creates a <a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a> from this scan token.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.html#serialize--">serialize</a></span>()</code>
+<div class="block">Serializes this <code>KuduScanToken</code> into a byte array.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanToken.html#stringifySerializedToken-byte:A-org.apache.kudu.client.KuduClient-">stringifySerializedToken</a></span>(byte[]&nbsp;buf,
+                        <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;client)</code>
+<div class="block">Formats the serialized token for debug printing.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTablet--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTablet</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;getTablet()</pre>
+<div class="block">Returns the tablet which the scanner created from this token will access.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the located tablet</dd>
+</dl>
+</li>
+</ul>
+<a name="intoScanner-org.apache.kudu.client.KuduClient-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>intoScanner</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a>&nbsp;intoScanner(<a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;client)
+                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Creates a <a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a> from this scan token.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>client</code> - a Kudu client for the cluster</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a scanner for the scan token</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="serialize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serialize</h4>
+<pre>public&nbsp;byte[]&nbsp;serialize()
+                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Serializes this <code>KuduScanToken</code> into a byte array.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the serialized scan token</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="deserializeIntoScanner-byte:A-org.apache.kudu.client.KuduClient-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deserializeIntoScanner</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a>&nbsp;deserializeIntoScanner(byte[]&nbsp;buf,
+                                                 <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;client)
+                                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Deserializes a <code>KuduScanToken</code> into a <a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>buf</code> - a byte array containing the serialized scan token.</dd>
+<dd><code>client</code> - a Kudu client for the cluster</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a scanner for the serialized scan token</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="deserializeIntoScannerBuilder-byte:A-org.apache.kudu.client.KuduClient-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deserializeIntoScannerBuilder</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a>&nbsp;deserializeIntoScannerBuilder(byte[]&nbsp;buf,
+                                                                           <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;client)
+                                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Deserializes a <code>KuduScanToken</code> into a <a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><code>KuduScanner.KuduScannerBuilder</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>buf</code> - a byte array containing the serialized scan token.</dd>
+<dd><code>client</code> - a Kudu client for the cluster</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a scanner builder for the serialized scan token</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="stringifySerializedToken-byte:A-org.apache.kudu.client.KuduClient-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>stringifySerializedToken</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stringifySerializedToken(byte[]&nbsp;buf,
+                                              <a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;client)
+                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Formats the serialized token for debug printing.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>buf</code> - the serialized token</dd>
+<dd><code>client</code> - a Kudu client for the cluster to which the token belongs</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a debug string</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="compareTo-org.apache.kudu.client.KuduScanToken-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compareTo</h4>
+<pre>public&nbsp;int&nbsp;compareTo(<a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a>&nbsp;other)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduScanToken.html" target="_top">Frames</a></li>
+<li><a href="KuduScanToken.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html
new file mode 100644
index 0000000..657f87d
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduScanner.KuduScannerBuilder</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduScanner.KuduScannerBuilder";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" target="_top">Frames</a></li>
+<li><a href="KuduScanner.KuduScannerBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduScanner.KuduScannerBuilder" class="title">Class KuduScanner.KuduScannerBuilder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">org.apache.kudu.client.AbstractKuduScannerBuilder</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a>,<a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduScanner.KuduScannerBuilder</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static class <span class="typeNameLabel">KuduScanner.KuduScannerBuilder</span>
+extends <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a>,<a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a>&gt;</pre>
+<div class="block">A Builder class to build <a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a>.
+ Use <a href="../../../../org/apache/kudu/client/KuduClient.html#newScannerBuilder-org.apache.kudu.client.KuduTable-"><code>KuduClient.newScannerBuilder(org.apache.kudu.client.KuduTable)</code></a> in order to get a builder instance.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html#build--">build</a></span>()</code>
+<div class="block">Builds a <a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a> using the passed configurations.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.AbstractKuduScannerBuilder">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></h3>
+<code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addColumnRangePredicate-org.apache.kudu.client.ColumnRangePredicate-">addColumnRangePredicate</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addColumnRangePredicatesRaw-byte:A-">addColumnRangePredicatesRaw</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#addPredicate-org.apache.kudu.client.KuduPredicate-">addPredicate</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#batchSizeBytes-int-">batchSizeBytes</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#cacheBlocks-boolean-">cacheBlocks</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBound-org.apache.kudu.client.PartialRow-">exclusiveUpperBound</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#exclusiveUpperBoundRaw-byte:A-">exclusiveUpperBoundRaw</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#keepAlivePeriodMs-long-">keepAlivePeriodMs</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#limit-long-">limit</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBound-org.apache.kudu.client.PartialRow-">lowerBound</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#lowerBoundRaw-byte:A-">lowerBoundRaw</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#prefetching-boolean-">prefetching</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#readMode-org.apache.kudu.client.AsyncKuduScanner.ReadMode-">readMode</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#replicaSelection-org.apache.kudu.client.ReplicaSelection-">replicaSelection</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#scanRequestTimeout-long-">scanRequestTimeout</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setFaultTolerant-boolean-">setFaultTolerant</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setProjectedColumnIndexes-java.util.List-">setProjectedColumnIndexes</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#setProjectedColumnNames-java.util.List-">setProjectedColumnNames</a>, <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#snapshotTimestampMicros-long-">snapshotTimestampMicros</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="build--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a>&nbsp;build()</pre>
+<div class="block">Builds a <a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a> using the passed configurations.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html#build--">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a>&lt;<a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a>,<a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new <a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" target="_top">Frames</a></li>
+<li><a href="KuduScanner.KuduScannerBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScanner.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScanner.html
new file mode 100644
index 0000000..cd752ec
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScanner.html
@@ -0,0 +1,584 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduScanner</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduScanner";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduScanner.html" target="_top">Frames</a></li>
+<li><a href="KuduScanner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduScanner" class="title">Class KuduScanner</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduScanner</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">KuduScanner</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</pre>
+<div class="block">Synchronous version of <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner</code></a>. Offers the same API but with blocking methods.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a></span></code>
+<div class="block">A Builder class to build <a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#close--">close</a></span>()</code>
+<div class="block">Closes this scanner (don't forget to call this when you're done with it!).</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#getBatchSizeBytes--">getBatchSizeBytes</a></span>()</code>
+<div class="block">Returns the maximum number of bytes returned by the scanner, on each batch.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#getCacheBlocks--">getCacheBlocks</a></span>()</code>
+<div class="block">Returns if this scanner was configured to cache data blocks or not.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#getLimit--">getLimit</a></span>()</code>
+<div class="block">Returns the maximum number of rows that this scanner was configured to return.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#getProjectionSchema--">getProjectionSchema</a></span>()</code>
+<div class="block">Returns the projection schema of this scanner.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#getReadMode--">getReadMode</a></span>()</code>
+<div class="block">Returns the ReadMode for this scanner.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client">ResourceMetrics</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#getResourceMetrics--">getResourceMetrics</a></span>()</code>
+<div class="block">Returns the resource metrics of this scanner.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#getScanRequestTimeout--">getScanRequestTimeout</a></span>()</code>
+<div class="block">Returns the current value of the scanner's scan request timeout.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#hasMoreRows--">hasMoreRows</a></span>()</code>
+<div class="block">Tells if the last rpc returned that there might be more rows to scan.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#isClosed--">isClosed</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client">KuduScannerIterator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#iterator--">iterator</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#keepAlive--">keepAlive</a></span>()</code>
+<div class="block">Keep the current remote scanner alive.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#nextRows--">nextRows</a></span>()</code>
+<div class="block">Scans a number of rows.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#setReuseRowResult-boolean-">setReuseRowResult</a></span>(boolean&nbsp;reuseRowResult)</code>
+<div class="block">If set to true, the <a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><code>RowResult</code></a> object returned by the <a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><code>RowResultIterator</code></a>
+ will be reused with each call to <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#next--" title="class or interface in java.util"><code>Iterator.next()</code></a>.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScanner.html#setRowDataFormat-org.apache.kudu.client.AsyncKuduScanner.RowDataFormat-">setRowDataFormat</a></span>(<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a>&nbsp;rowDataFormat)</code>
+<div class="block">Optionally set expected row data format.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Iterable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#forEach-java.util.function.Consumer-" title="class or interface in java.lang">forEach</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#spliterator--" title="class or interface in java.lang">spliterator</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="hasMoreRows--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasMoreRows</h4>
+<pre>public&nbsp;boolean&nbsp;hasMoreRows()</pre>
+<div class="block">Tells if the last rpc returned that there might be more rows to scan.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if there might be more data to scan, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="setReuseRowResult-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setReuseRowResult</h4>
+<pre>public&nbsp;void&nbsp;setReuseRowResult(boolean&nbsp;reuseRowResult)</pre>
+<div class="block">If set to true, the <a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><code>RowResult</code></a> object returned by the <a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><code>RowResultIterator</code></a>
+ will be reused with each call to <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#next--" title="class or interface in java.util"><code>Iterator.next()</code></a>.
+ This can be a useful optimization to reduce the number of objects created.
+
+ Note: DO NOT use this if the RowResult is stored between calls to next().
+ Enabling this optimization means that a call to next() mutates the previously returned
+ RowResult. Accessing the previously returned RowResult after a call to next(), by storing all
+ RowResults in a collection and accessing them later for example, will lead to all of the
+ stored RowResults being mutated as per the data in the last RowResult returned.</div>
+</li>
+</ul>
+<a name="setRowDataFormat-org.apache.kudu.client.AsyncKuduScanner.RowDataFormat-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setRowDataFormat</h4>
+<pre>public&nbsp;void&nbsp;setRowDataFormat(<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a>&nbsp;rowDataFormat)</pre>
+<div class="block">Optionally set expected row data format.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rowDataFormat</code> - Row data format to be expected.</dd>
+</dl>
+</li>
+</ul>
+<a name="nextRows--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nextRows</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a>&nbsp;nextRows()
+                           throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Scans a number of rows.
+ <p>
+ Once this method returns <code>null</code> once (which indicates that this
+ <code>Scanner</code> is done scanning), calling it again leads to an undefined
+ behavior.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list of rows.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong.</dd>
+</dl>
+</li>
+</ul>
+<a name="keepAlive--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>keepAlive</h4>
+<pre>public final&nbsp;void&nbsp;keepAlive()
+                     throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Keep the current remote scanner alive.
+ <p>
+ Keep the current remote scanner alive on the Tablet server for an
+ additional time-to-live. This is useful if the interval in between
+ nextRows() calls is big enough that the remote scanner might be garbage
+ collected. The scanner time-to-live can be configured on the tablet
+ server via the --scanner_ttl_ms configuration flag and has a default
+ of 60 seconds.
+ <p>
+ This does not invalidate any previously fetched results.
+ <p>
+ Note that an exception thrown by this method should not be taken as indication
+ that the scan has failed. Subsequent calls to nextRows() might still be successful,
+ particularly if the scanner is configured to be fault tolerant.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong.</dd>
+</dl>
+</li>
+</ul>
+<a name="isClosed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isClosed</h4>
+<pre>public&nbsp;boolean&nbsp;isClosed()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the scanner has been closed.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a>&nbsp;close()
+                        throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Closes this scanner (don't forget to call this when you're done with it!).
+ <p>
+ Closing a scanner already closed has no effect.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a deferred object that indicates the completion of the request</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLimit--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLimit</h4>
+<pre>public&nbsp;long&nbsp;getLimit()</pre>
+<div class="block">Returns the maximum number of rows that this scanner was configured to return.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a long representing the maximum number of rows that can be returned</dd>
+</dl>
+</li>
+</ul>
+<a name="getCacheBlocks--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCacheBlocks</h4>
+<pre>public&nbsp;boolean&nbsp;getCacheBlocks()</pre>
+<div class="block">Returns if this scanner was configured to cache data blocks or not.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if this scanner will cache blocks, else else.</dd>
+</dl>
+</li>
+</ul>
+<a name="getBatchSizeBytes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBatchSizeBytes</h4>
+<pre>public&nbsp;long&nbsp;getBatchSizeBytes()</pre>
+<div class="block">Returns the maximum number of bytes returned by the scanner, on each batch.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a long representing the maximum number of bytes that a scanner can receive at once
+ from a tablet server</dd>
+</dl>
+</li>
+</ul>
+<a name="getReadMode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReadMode</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a>&nbsp;getReadMode()</pre>
+<div class="block">Returns the ReadMode for this scanner.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the configured read mode for this scanner</dd>
+</dl>
+</li>
+</ul>
+<a name="getProjectionSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getProjectionSchema</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getProjectionSchema()</pre>
+<div class="block">Returns the projection schema of this scanner. If specific columns were
+ not specified during scanner creation, the table schema is returned.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the projection schema for this scanner</dd>
+</dl>
+</li>
+</ul>
+<a name="getResourceMetrics--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getResourceMetrics</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client">ResourceMetrics</a>&nbsp;getResourceMetrics()</pre>
+<div class="block">Returns the resource metrics of this scanner.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the resource metrics for this scanner</dd>
+</dl>
+</li>
+</ul>
+<a name="getScanRequestTimeout--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getScanRequestTimeout</h4>
+<pre>public&nbsp;long&nbsp;getScanRequestTimeout()</pre>
+<div class="block">Returns the current value of the scanner's scan request timeout.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the timeout value, in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="iterator--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>iterator</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client">KuduScannerIterator</a>&nbsp;iterator()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#iterator--" title="class or interface in java.lang">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduScanner.html" target="_top">Frames</a></li>
+<li><a href="KuduScanner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScannerIterator.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScannerIterator.html
new file mode 100644
index 0000000..2d5c0c0
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduScannerIterator.html
@@ -0,0 +1,274 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduScannerIterator</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduScannerIterator";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduScannerIterator.html" target="_top">Frames</a></li>
+<li><a href="KuduScannerIterator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduScannerIterator" class="title">Class KuduScannerIterator</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduScannerIterator</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">KuduScannerIterator</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</pre>
+<div class="block">An iterator for the RowResults of a KuduScanner.
+ Exhausting this iterator means that all of the rows from a KuduScanner have been read.
+
+ This iterator also handles sending keep alive requests to ensure the scanner
+ does not time out.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScannerIterator.html#hasNext--">hasNext</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduScannerIterator.html#next--">next</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.Iterator">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#forEachRemaining-java.util.function.Consumer-" title="class or interface in java.util">forEachRemaining</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#remove--" title="class or interface in java.util">remove</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="hasNext--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasNext</h4>
+<pre>public&nbsp;boolean&nbsp;hasNext()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#hasNext--" title="class or interface in java.util">hasNext</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="next--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>next</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&nbsp;next()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#next--" title="class or interface in java.util">next</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduScannerIterator.html" target="_top">Frames</a></li>
+<li><a href="KuduScannerIterator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduSession.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduSession.html
new file mode 100644
index 0000000..95ac851
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduSession.html
@@ -0,0 +1,765 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduSession</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduSession";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":42,"i18":10,"i19":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduSession.html" target="_top">Frames</a></li>
+<li><a href="KuduSession.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduSession" class="title">Class KuduSession</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduSession</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">KuduSession</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></pre>
+<div class="block">Synchronous version of <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><code>AsyncKuduSession</code></a>.
+ Offers the same API but with blocking methods.<p>
+
+ This class is <b>not</b> thread-safe.<p></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.kudu.client.SessionConfiguration">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></h3>
+<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#apply-org.apache.kudu.client.Operation-">apply</a></span>(<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&nbsp;operation)</code>
+<div class="block">Apply a given <a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client"><code>Operation</code></a> to Kudu as part of this session.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#close--">close</a></span>()</code>
+<div class="block">Blocking call that flushes the buffers (see <a href="../../../../org/apache/kudu/client/KuduSession.html#flush--"><code>flush()</code></a>) and closes the sessions.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#countPendingErrors--">countPendingErrors</a></span>()</code>
+<div class="block">Return the number of errors which are pending.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#flush--">flush</a></span>()</code>
+<div class="block">Blocking call that force flushes this session's buffers.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#getFlushMode--">getFlushMode</a></span>()</code>
+<div class="block">Get the current flush mode.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#getPendingErrors--">getPendingErrors</a></span>()</code>
+<div class="block">Return any errors from previous calls.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#getTimeoutMillis--">getTimeoutMillis</a></span>()</code>
+<div class="block">Get the current timeout.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#hasPendingOperations--">hasPendingOperations</a></span>()</code>
+<div class="block">Check if there are operations that haven't been completely applied.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#isClosed--">isClosed</a></span>()</code>
+<div class="block">Returns true if this session has already been closed.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#isIgnoreAllDuplicateRows--">isIgnoreAllDuplicateRows</a></span>()</code>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the AlreadyPresent type.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#isIgnoreAllNotFoundRows--">isIgnoreAllNotFoundRows</a></span>()</code>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the NotFound type.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#setErrorCollectorSpace-int-">setErrorCollectorSpace</a></span>(int&nbsp;size)</code>
+<div class="block">Set the number of errors that can be collected.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">setExternalConsistencyMode</a></span>(<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>&nbsp;consistencyMode)</code>
+<div class="block">Set the new external consistency mode for this session.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#setFlushInterval-int-">setFlushInterval</a></span>(int&nbsp;intervalMillis)</code>
+<div class="block">Set the flush interval, which will be used for the next scheduling decision.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">setFlushMode</a></span>(<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;flushMode)</code>
+<div class="block">Set the new flush mode for this session.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#setIgnoreAllDuplicateRows-boolean-">setIgnoreAllDuplicateRows</a></span>(boolean&nbsp;ignoreAllDuplicateRows)</code>
+<div class="block">Configures the option to ignore all the row errors if they are all of the AlreadyPresent type.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#setIgnoreAllNotFoundRows-boolean-">setIgnoreAllNotFoundRows</a></span>(boolean&nbsp;ignoreAllNotFoundRows)</code>
+<div class="block">Configures the option to ignore all the row errors if they are all of the NotFound type.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark</a></span>(float&nbsp;mutationBufferLowWatermarkPercentage)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;&nbsp;</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#setMutationBufferSpace-int-">setMutationBufferSpace</a></span>(int&nbsp;numOps)</code>
+<div class="block">Set the number of operations that can be buffered.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduSession.html#setTimeoutMillis-long-">setTimeoutMillis</a></span>(long&nbsp;timeout)</code>
+<div class="block">Sets the timeout for the next applied operations.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="apply-org.apache.kudu.client.Operation-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&nbsp;apply(<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&nbsp;operation)
+                        throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Apply a given <a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client"><code>Operation</code></a> to Kudu as part of this session.
+
+ <p>
+ This is a blocking call that has different behavior based on the configured flush mode:
+
+ <ul>
+ <li><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_SYNC"><code>AUTO_FLUSH_SYNC</code></a>:
+ the call returns when the operation is persisted, else it throws an exception.
+
+ <li><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_BACKGROUND"><code>AUTO_FLUSH_BACKGROUND</code></a>:
+ the call returns when the operation has been added to the buffer.
+ This call should normally perform only fast in-memory operations but
+ it may have to wait when the buffer is full and there's another buffer being flushed. Row
+ errors can be checked by calling <a href="../../../../org/apache/kudu/client/KuduSession.html#countPendingErrors--"><code>countPendingErrors()</code></a> and can be retrieved by calling
+ <a href="../../../../org/apache/kudu/client/KuduSession.html#getPendingErrors--"><code>getPendingErrors()</code></a>.
+
+ <li><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#MANUAL_FLUSH"><code>MANUAL_FLUSH</code></a>:
+ the call returns when the operation has been added to the buffer, else it throws a
+ <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client"><code>KuduException</code></a> if the buffer is full.
+ </ul>
+
+ <p>
+ Note: <a href="../../../../org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client"><code>PleaseThrottleException</code></a> is handled by this method and will not be thrown, unlike
+ with <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#apply-org.apache.kudu.client.Operation-"><code>AsyncKuduSession.apply()</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>operation</code> - operation to apply</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an OperationResponse for the applied Operation</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><code>FlushMode</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="flush--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>flush</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&nbsp;flush()
+                              throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Blocking call that force flushes this session's buffers. Data is persisted when this call
+ returns, else it will throw an exception.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list of OperationResponse, one per operation that was flushed</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&nbsp;close()
+                              throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Blocking call that flushes the buffers (see <a href="../../../../org/apache/kudu/client/KuduSession.html#flush--"><code>flush()</code></a>) and closes the sessions.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>List of OperationResponse, one per operation that was flushed</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if anything went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="getFlushMode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFlushMode</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;getFlushMode()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getFlushMode--">SessionConfiguration</a></code></span></div>
+<div class="block">Get the current flush mode.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getFlushMode--">getFlushMode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>flush mode, <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_SYNC"><code>AUTO_FLUSH_SYNC</code></a> by default</dd>
+</dl>
+</li>
+</ul>
+<a name="setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFlushMode</h4>
+<pre>public&nbsp;void&nbsp;setFlushMode(<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;flushMode)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">SessionConfiguration</a></code></span></div>
+<div class="block">Set the new flush mode for this session.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">setFlushMode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>flushMode</code> - new flush mode, can be the same as the previous one.</dd>
+</dl>
+</li>
+</ul>
+<a name="setMutationBufferSpace-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMutationBufferSpace</h4>
+<pre>public&nbsp;void&nbsp;setMutationBufferSpace(int&nbsp;numOps)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferSpace-int-">SessionConfiguration</a></code></span></div>
+<div class="block">Set the number of operations that can be buffered.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferSpace-int-">setMutationBufferSpace</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>numOps</code> - number of ops.</dd>
+</dl>
+</li>
+</ul>
+<a name="setErrorCollectorSpace-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setErrorCollectorSpace</h4>
+<pre>public&nbsp;void&nbsp;setErrorCollectorSpace(int&nbsp;size)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setErrorCollectorSpace-int-">SessionConfiguration</a></code></span></div>
+<div class="block">Set the number of errors that can be collected.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setErrorCollectorSpace-int-">setErrorCollectorSpace</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>size</code> - number of errors.</dd>
+</dl>
+</li>
+</ul>
+<a name="setMutationBufferLowWatermark-float-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMutationBufferLowWatermark</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;void&nbsp;setMutationBufferLowWatermark(float&nbsp;mutationBufferLowWatermarkPercentage)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferLowWatermark-float-">SessionConfiguration</a></code></span></div>
+<div class="block">Set the low watermark for this session. The default is set to half the mutation buffer space.
+ For example, a buffer space of 1000 with a low watermark set to 50% (0.5) will start randomly
+ sending PleaseRetryExceptions once there's an outstanding flush and the buffer is over 500.
+ As the buffer gets fuller, it becomes likelier to hit the exception.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mutationBufferLowWatermarkPercentage</code> - a new low watermark as a percentage,
+                             has to be between 0  and 1 (inclusive). A value of 1 disables
+                             the low watermark since it's the same as the high one</dd>
+</dl>
+</li>
+</ul>
+<a name="setFlushInterval-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFlushInterval</h4>
+<pre>public&nbsp;void&nbsp;setFlushInterval(int&nbsp;intervalMillis)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushInterval-int-">SessionConfiguration</a></code></span></div>
+<div class="block">Set the flush interval, which will be used for the next scheduling decision.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushInterval-int-">setFlushInterval</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>intervalMillis</code> - interval in milliseconds.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTimeoutMillis--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTimeoutMillis</h4>
+<pre>public&nbsp;long&nbsp;getTimeoutMillis()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getTimeoutMillis--">SessionConfiguration</a></code></span></div>
+<div class="block">Get the current timeout.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getTimeoutMillis--">getTimeoutMillis</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>operation timeout in milliseconds, 0 if none was configured.</dd>
+</dl>
+</li>
+</ul>
+<a name="setTimeoutMillis-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTimeoutMillis</h4>
+<pre>public&nbsp;void&nbsp;setTimeoutMillis(long&nbsp;timeout)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setTimeoutMillis-long-">SessionConfiguration</a></code></span></div>
+<div class="block">Sets the timeout for the next applied operations.
+ The default timeout is 0, which disables the timeout functionality.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setTimeoutMillis-long-">setTimeoutMillis</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeout</code> - Timeout in milliseconds.</dd>
+</dl>
+</li>
+</ul>
+<a name="isClosed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isClosed</h4>
+<pre>public&nbsp;boolean&nbsp;isClosed()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isClosed--">SessionConfiguration</a></code></span></div>
+<div class="block">Returns true if this session has already been closed.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isClosed--">isClosed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hasPendingOperations--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasPendingOperations</h4>
+<pre>public&nbsp;boolean&nbsp;hasPendingOperations()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#hasPendingOperations--">SessionConfiguration</a></code></span></div>
+<div class="block">Check if there are operations that haven't been completely applied.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#hasPendingOperations--">hasPendingOperations</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if operations are pending, else false.</dd>
+</dl>
+</li>
+</ul>
+<a name="setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setExternalConsistencyMode</h4>
+<pre>public&nbsp;void&nbsp;setExternalConsistencyMode(<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>&nbsp;consistencyMode)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">SessionConfiguration</a></code></span></div>
+<div class="block">Set the new external consistency mode for this session.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">setExternalConsistencyMode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>consistencyMode</code> - new external consistency mode, can the same as the previous one.</dd>
+</dl>
+</li>
+</ul>
+<a name="isIgnoreAllDuplicateRows--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isIgnoreAllDuplicateRows</h4>
+<pre>public&nbsp;boolean&nbsp;isIgnoreAllDuplicateRows()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllDuplicateRows--">SessionConfiguration</a></code></span></div>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the AlreadyPresent type.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllDuplicateRows--">isIgnoreAllDuplicateRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the session is enforcing this, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="setIgnoreAllDuplicateRows-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setIgnoreAllDuplicateRows</h4>
+<pre>public&nbsp;void&nbsp;setIgnoreAllDuplicateRows(boolean&nbsp;ignoreAllDuplicateRows)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllDuplicateRows-boolean-">SessionConfiguration</a></code></span></div>
+<div class="block">Configures the option to ignore all the row errors if they are all of the AlreadyPresent type.
+ This can be useful when it is possible for INSERT operations to be retried and fail.
+ The effect of enabling this is that operation responses that match this pattern will be
+ cleared of their row errors, meaning that we consider them successful.
+
+ TODO(KUDU-1563): Implement server side ignore capabilities to improve performance and
+  reliability of INSERT ignore operations.
+
+ <p>Disabled by default.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllDuplicateRows-boolean-">setIgnoreAllDuplicateRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ignoreAllDuplicateRows</code> - true if this session should enforce this, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="isIgnoreAllNotFoundRows--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isIgnoreAllNotFoundRows</h4>
+<pre>public&nbsp;boolean&nbsp;isIgnoreAllNotFoundRows()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllNotFoundRows--">SessionConfiguration</a></code></span></div>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the NotFound type.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllNotFoundRows--">isIgnoreAllNotFoundRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the session is enforcing this, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="setIgnoreAllNotFoundRows-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setIgnoreAllNotFoundRows</h4>
+<pre>public&nbsp;void&nbsp;setIgnoreAllNotFoundRows(boolean&nbsp;ignoreAllNotFoundRows)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllNotFoundRows-boolean-">SessionConfiguration</a></code></span></div>
+<div class="block">Configures the option to ignore all the row errors if they are all of the NotFound type.
+ This can be useful when it is possible for DELETE operations to be retried and fail.
+ The effect of enabling this is that operation responses that match this pattern will be
+ cleared of their row errors, meaning that we consider them successful.
+
+ TODO(KUDU-1563): Implement server side ignore capabilities to improve performance and
+  reliability of DELETE ignore operations.
+
+ <p>Disabled by default.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllNotFoundRows-boolean-">setIgnoreAllNotFoundRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ignoreAllNotFoundRows</code> - true if this session should enforce this, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="countPendingErrors--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countPendingErrors</h4>
+<pre>public&nbsp;int&nbsp;countPendingErrors()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#countPendingErrors--">SessionConfiguration</a></code></span></div>
+<div class="block">Return the number of errors which are pending. Errors may accumulate when
+ using <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_BACKGROUND"><code>AUTO_FLUSH_BACKGROUND</code></a> mode.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#countPendingErrors--">countPendingErrors</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a count of errors</dd>
+</dl>
+</li>
+</ul>
+<a name="getPendingErrors--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getPendingErrors</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a>&nbsp;getPendingErrors()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getPendingErrors--">SessionConfiguration</a></code></span></div>
+<div class="block">Return any errors from previous calls. If there were more errors
+ than could be held in the session's error storage, the overflow state is set to true.
+
+ <p>Clears the pending errors.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getPendingErrors--">getPendingErrors</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an object that contains the errors and the overflow status</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduSession.html" target="_top">Frames</a></li>
+<li><a href="KuduSession.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduTable.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduTable.html
new file mode 100644
index 0000000..2c7698f
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduTable.html
@@ -0,0 +1,694 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduTable</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduTable";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":42,"i1":42,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":42,"i12":42,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduTable.html" target="_top">Frames</a></li>
+<li><a href="KuduTable.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduTable" class="title">Class KuduTable</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduTable</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">KuduTable</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A KuduTable represents a table on a particular cluster. It holds the current
+ schema of the table. Any given KuduTable instance belongs to a specific AsyncKuduClient
+ instance.
+
+ Upon construction, the table is looked up in the catalog (or catalog cache),
+ and the schema fetched for introspection. The schema is not kept in sync with the master.
+
+ This class is thread-safe.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#asyncGetTabletsLocations-byte:A-byte:A-long-">asyncGetTabletsLocations</a></span>(byte[]&nbsp;startKey,
+                        byte[]&nbsp;endKey,
+                        long&nbsp;deadline)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use the <a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#asyncGetTabletsLocations-long-">asyncGetTabletsLocations</a></span>(long&nbsp;deadline)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use the <a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getAsyncClient--">getAsyncClient</a></span>()</code>
+<div class="block">Get the async client that created this instance.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getComment--">getComment</a></span>()</code>
+<div class="block">Get this table's comment.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getExtraConfig--">getExtraConfig</a></span>()</code>
+<div class="block">Get this table's extra configuration properties.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getName--">getName</a></span>()</code>
+<div class="block">Get this table's name.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getNumReplicas--">getNumReplicas</a></span>()</code>
+<div class="block">Get this table's replication factor.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getOwner--">getOwner</a></span>()</code>
+<div class="block">Get this table's owner.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getSchema--">getSchema</a></span>()</code>
+<div class="block">Get this table's schema, as of the moment this instance was created.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getTableId--">getTableId</a></span>()</code>
+<div class="block">Get this table's unique identifier.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client">KuduTableStatistics</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getTableStatistics--">getTableStatistics</a></span>()</code>
+<div class="block">Get this table's statistics.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getTabletsLocations-byte:A-byte:A-long-">getTabletsLocations</a></span>(byte[]&nbsp;startKey,
+                   byte[]&nbsp;endKey,
+                   long&nbsp;deadline)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use the <a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#getTabletsLocations-long-">getTabletsLocations</a></span>(long&nbsp;deadline)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use the <a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client">Delete</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newDelete--">newDelete</a></span>()</code>
+<div class="block">Get a new delete configured with this table's schema.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client">DeleteIgnore</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newDeleteIgnore--">newDeleteIgnore</a></span>()</code>
+<div class="block">Get a new delete ignore configured with this table's schema.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client">Insert</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newInsert--">newInsert</a></span>()</code>
+<div class="block">Get a new insert configured with this table's schema.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client">InsertIgnore</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newInsertIgnore--">newInsertIgnore</a></span>()</code>
+<div class="block">Get a new insert ignore configured with this table's schema.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client">Update</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newUpdate--">newUpdate</a></span>()</code>
+<div class="block">Get a new update configured with this table's schema.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client">UpdateIgnore</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newUpdateIgnore--">newUpdateIgnore</a></span>()</code>
+<div class="block">Get a new update ignore configured with this table's schema.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client">Upsert</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTable.html#newUpsert--">newUpsert</a></span>()</code>
+<div class="block">Get a new upsert configured with this table's schema.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSchema</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getSchema()</pre>
+<div class="block">Get this table's schema, as of the moment this instance was created.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this table's schema</dd>
+</dl>
+</li>
+</ul>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<div class="block">Get this table's name.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this table's name</dd>
+</dl>
+</li>
+</ul>
+<a name="getTableId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableId</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTableId()</pre>
+<div class="block">Get this table's unique identifier.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this table's tableId</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumReplicas--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumReplicas</h4>
+<pre>public&nbsp;int&nbsp;getNumReplicas()</pre>
+<div class="block">Get this table's replication factor.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this table's replication factor</dd>
+</dl>
+</li>
+</ul>
+<a name="getExtraConfig--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExtraConfig</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getExtraConfig()</pre>
+<div class="block">Get this table's extra configuration properties.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this table's extra configuration properties</dd>
+</dl>
+</li>
+</ul>
+<a name="getOwner--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOwner</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getOwner()</pre>
+<div class="block">Get this table's owner.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this table's owner or an empty string if the table was created without owner on a
+  version of Kudu that didn't automatically assign an owner.</dd>
+</dl>
+</li>
+</ul>
+<a name="getComment--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getComment</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getComment()</pre>
+<div class="block">Get this table's comment.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this table's comment.</dd>
+</dl>
+</li>
+</ul>
+<a name="getAsyncClient--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAsyncClient</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a>&nbsp;getAsyncClient()</pre>
+<div class="block">Get the async client that created this instance.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an async kudu client</dd>
+</dl>
+</li>
+</ul>
+<a name="newInsert--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newInsert</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client">Insert</a>&nbsp;newInsert()</pre>
+<div class="block">Get a new insert configured with this table's schema. The returned object should not be reused.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an insert with this table's schema</dd>
+</dl>
+</li>
+</ul>
+<a name="newUpdate--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newUpdate</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client">Update</a>&nbsp;newUpdate()</pre>
+<div class="block">Get a new update configured with this table's schema. The returned object should not be reused.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an update with this table's schema</dd>
+</dl>
+</li>
+</ul>
+<a name="newDelete--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newDelete</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client">Delete</a>&nbsp;newDelete()</pre>
+<div class="block">Get a new delete configured with this table's schema. The returned object should not be reused.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a delete with this table's schema</dd>
+</dl>
+</li>
+</ul>
+<a name="newUpsert--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newUpsert</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client">Upsert</a>&nbsp;newUpsert()</pre>
+<div class="block">Get a new upsert configured with this table's schema. The returned object should not be reused.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an upsert with this table's schema</dd>
+</dl>
+</li>
+</ul>
+<a name="newInsertIgnore--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newInsertIgnore</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client">InsertIgnore</a>&nbsp;newInsertIgnore()</pre>
+<div class="block">Get a new insert ignore configured with this table's schema. An insert ignore will
+ ignore duplicate row errors. This is useful when the same insert may be sent multiple times.
+ The returned object should not be reused.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an insert ignore with this table's schema</dd>
+</dl>
+</li>
+</ul>
+<a name="newUpdateIgnore--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newUpdateIgnore</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client">UpdateIgnore</a>&nbsp;newUpdateIgnore()</pre>
+<div class="block">Get a new update ignore configured with this table's schema. An update ignore will
+ ignore missing row errors. This is useful to update a row only if it exists.
+ The returned object should not be reused.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an update ignore with this table's schema</dd>
+</dl>
+</li>
+</ul>
+<a name="newDeleteIgnore--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newDeleteIgnore</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client">DeleteIgnore</a>&nbsp;newDeleteIgnore()</pre>
+<div class="block">Get a new delete ignore configured with this table's schema. An delete ignore will
+ ignore missing row errors. This is useful to delete a row only if it exists.
+ The returned object should not be reused.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a delete ignore with this table's schema</dd>
+</dl>
+</li>
+</ul>
+<a name="asyncGetTabletsLocations-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>asyncGetTabletsLocations</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&gt;&gt;&nbsp;asyncGetTabletsLocations(long&nbsp;deadline)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use the <a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+<div class="block">Asynchronously get all the tablets for this table.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deadline</code> - max time spent in milliseconds for the deferred result of this method to
+         get called back, if deadline is reached, the deferred result will get erred back</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <code>Deferred</code> object that yields a list containing the metadata and
+ locations for each of the tablets in the table</dd>
+</dl>
+</li>
+</ul>
+<a name="asyncGetTabletsLocations-byte:A-byte:A-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>asyncGetTabletsLocations</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&gt;&gt;&nbsp;asyncGetTabletsLocations(byte[]&nbsp;startKey,
+                                                                                                byte[]&nbsp;endKey,
+                                                                                                long&nbsp;deadline)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use the <a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+<div class="block">Asynchronously get all or some tablets for this table.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>startKey</code> - where to start in the table, pass null to start at the beginning</dd>
+<dd><code>endKey</code> - where to stop in the table (exclusive), pass null to get all the tablets until
+               the end of the table</dd>
+<dd><code>deadline</code> - max time spent in milliseconds for the deferred result of this method to
+         get called back, if deadline is reached, the deferred result will get erred back</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <code>Deferred</code> object that yields a list containing the metadata and locations
+           for each of the tablets in the table</dd>
+</dl>
+</li>
+</ul>
+<a name="getTabletsLocations-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTabletsLocations</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&gt;&nbsp;getTabletsLocations(long&nbsp;deadline)
+                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use the <a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+<div class="block">Get all the tablets for this table. This may query the master multiple times if there
+ are a lot of tablets.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deadline</code> - deadline in milliseconds for this method to finish</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list containing the metadata and locations for each of the tablets in the
+         table</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getTabletsLocations-byte:A-byte:A-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTabletsLocations</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&gt;&nbsp;getTabletsLocations(byte[]&nbsp;startKey,
+                                                           byte[]&nbsp;endKey,
+                                                           long&nbsp;deadline)
+                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use the <a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API</span></div>
+<div class="block">Get all or some tablets for this table. This may query the master multiple times if there
+ are a lot of tablets.
+ This method blocks until it gets all the tablets.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>startKey</code> - where to start in the table, pass null to start at the beginning</dd>
+<dd><code>endKey</code> - where to stop in the table (exclusive), pass null to get all the tablets until
+               the end of the table</dd>
+<dd><code>deadline</code> - deadline in milliseconds for this method to finish</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list containing the metadata and locations for each of the tablets in the
+         table</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getTableStatistics--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTableStatistics</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client">KuduTableStatistics</a>&nbsp;getTableStatistics()
+                                       throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Get this table's statistics.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this table's statistics</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduTable.html" target="_top">Frames</a></li>
+<li><a href="KuduTable.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduTableStatistics.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduTableStatistics.html
new file mode 100644
index 0000000..50e3965
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduTableStatistics.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduTableStatistics</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduTableStatistics";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduTableStatistics.html" target="_top">Frames</a></li>
+<li><a href="KuduTableStatistics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduTableStatistics" class="title">Class KuduTableStatistics</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduTableStatistics</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">KuduTableStatistics</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Represent statistics belongs to a specific kudu table.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTableStatistics.html#getLiveRowCount--">getLiveRowCount</a></span>()</code>
+<div class="block">Get the table's live row count, this statistic is pre-replication.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTableStatistics.html#getOnDiskSize--">getOnDiskSize</a></span>()</code>
+<div class="block">Get the table's on disk size, this statistic is pre-replication.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getOnDiskSize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOnDiskSize</h4>
+<pre>public&nbsp;long&nbsp;getOnDiskSize()</pre>
+<div class="block">Get the table's on disk size, this statistic is pre-replication.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Table's on disk size</dd>
+</dl>
+</li>
+</ul>
+<a name="getLiveRowCount--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLiveRowCount</h4>
+<pre>public&nbsp;long&nbsp;getLiveRowCount()</pre>
+<div class="block">Get the table's live row count, this statistic is pre-replication.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Table's live row count</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduTableStatistics.html" target="_top">Frames</a></li>
+<li><a href="KuduTableStatistics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/KuduTransaction.html b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduTransaction.html
new file mode 100644
index 0000000..fb7db29
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/KuduTransaction.html
@@ -0,0 +1,525 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduTransaction</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduTransaction";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduTransaction.html" target="_top">Frames</a></li>
+<li><a href="KuduTransaction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class KuduTransaction" class="title">Class KuduTransaction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduTransaction</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Unstable
+public class <span class="typeNameLabel">KuduTransaction</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></pre>
+<div class="block">A handle for a multi-row transaction in Kudu.
+ <p>
+ Once created using <a href="../../../../org/apache/kudu/client/KuduClient.html#newTransaction--"><code>KuduClient.newTransaction()</code></a> or
+ <a href="../../../../org/apache/kudu/client/KuduTransaction.html#deserialize-byte:A-org.apache.kudu.client.AsyncKuduClient-"><code>deserialize(byte[], org.apache.kudu.client.AsyncKuduClient)</code></a> methods, an instance of this class
+ can be used to commit or rollback the underlying multi-row transaction. To
+ issue write operations as a part of the transaction, use the
+ <a href="../../../../org/apache/kudu/client/KuduTransaction.html#newKuduSession--"><code>newKuduSession()</code></a> or
+ <a href="../../../../org/apache/kudu/client/KuduTransaction.html#newAsyncKuduSession--"><code>newAsyncKuduSession()</code></a> methods to create a new
+ transactional session and apply write operations using it.
+ <p>
+ The <a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client"><code>KuduTransaction</code></a> implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a> and should be
+ used with try-with-resource code construct. Once an object of this class
+ is constructed, it starts sending automatic keep-alive heartbeat messages
+ to keep the underlying transaction open. Once the object goes out of scope
+ and <a href="../../../../org/apache/kudu/client/KuduTransaction.html#close--"><code>close()</code></a> is automatically called by the Java
+ runtime (or the method is called explicitly), the heartbeating stops and the
+ transaction is automatically aborted by the system after not receiving
+ heartbeat messages for a few keep-alive intervals.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#close--">close</a></span>()</code>
+<div class="block">Stop keepalive heartbeating, if any was in progress for this transaction
+ handle.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#commit--">commit</a></span>()</code>
+<div class="block">Commit the multi-row distributed transaction represented by this handle.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#deserialize-byte:A-org.apache.kudu.client.AsyncKuduClient-">deserialize</a></span>(byte[]&nbsp;buf,
+           <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a>&nbsp;client)</code>
+<div class="block">Re-create KuduTransaction object given its serialized representation.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#isCommitComplete--">isCommitComplete</a></span>()</code>
+<div class="block">Check whether the commit phase for a transaction is complete.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#newAsyncKuduSession--">newAsyncKuduSession</a></span>()</code>
+<div class="block">Create a new <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><code>AsyncKuduSession</code></a> based on this transaction.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#newKuduSession--">newKuduSession</a></span>()</code>
+<div class="block">Create a new <a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><code>KuduSession</code></a> based on this transaction.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#rollback--">rollback</a></span>()</code>
+<div class="block">Rollback the multi-row distributed transaction represented by this object.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#serialize--">serialize</a></span>()</code>
+<div class="block">A shortcut for the <a href="../../../../org/apache/kudu/client/KuduTransaction.html#serialize-org.apache.kudu.client.KuduTransaction.SerializationOptions-"><code>serialize(SerializationOptions)</code></a>
+ method invoked with default-constructed <code>KuduTransaction.SerializationOptions</code>.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#serialize-org.apache.kudu.client.KuduTransaction.SerializationOptions-">serialize</a></span>(org.apache.kudu.client.KuduTransaction.SerializationOptions&nbsp;options)</code>
+<div class="block">Export information on the underlying transaction in a serialized form.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/KuduTransaction.html#startCommit--">startCommit</a></span>()</code>
+<div class="block">Start committing the multi-row distributed transaction represented by
+ this handle.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="newAsyncKuduSession--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newAsyncKuduSession</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a>&nbsp;newAsyncKuduSession()</pre>
+<div class="block">Create a new <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><code>AsyncKuduSession</code></a> based on this transaction.
+ <p>
+ All write operations using the result session will be performed in the
+ context of this transaction.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><code>AsyncKuduSession</code></a> instance</dd>
+</dl>
+</li>
+</ul>
+<a name="newKuduSession--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newKuduSession</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a>&nbsp;newKuduSession()</pre>
+<div class="block">Create a new <a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><code>KuduSession</code></a> based on this transaction.
+ <p>
+ All write operations using the result session will be performed in the
+ context of this transaction.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new <a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><code>KuduSession</code></a> instance</dd>
+</dl>
+</li>
+</ul>
+<a name="commit--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commit</h4>
+<pre>public&nbsp;void&nbsp;commit()
+            throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Commit the multi-row distributed transaction represented by this handle.
+ <p>
+ This method starts committing the transaction and awaits for the commit
+ phase to finalize.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if something went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="startCommit--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startCommit</h4>
+<pre>public&nbsp;void&nbsp;startCommit()
+                 throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Start committing the multi-row distributed transaction represented by
+ this handle.
+ <p>
+ This method only starts committing the transaction, not awaiting for the
+ commit phase to finalize. Use <a href="../../../../org/apache/kudu/client/KuduTransaction.html#isCommitComplete--"><code>isCommitComplete()</code></a>
+ to check whether the transaction is committed.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if something went wrong upon starting to commit</dd>
+</dl>
+</li>
+</ul>
+<a name="isCommitComplete--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isCommitComplete</h4>
+<pre>public&nbsp;boolean&nbsp;isCommitComplete()
+                         throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Check whether the commit phase for a transaction is complete.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if transaction has finalized, otherwise <code>false</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>NonRecoverableException</code> - with Status.Aborted()
+   if transaction has been or is being aborted</dd>
+<dd><code>NonRecoverableException</code> - with Status.IllegalState()
+   if transaction is still open (i.e. commit() hasn't been called yet)</dd>
+<dd><code>NonRecoverableException</code> - with Status.NotSupported()
+   if transaction is in unexpected state (non-compatible backend?)</dd>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if an error happens while querying the system about
+                       the state of the transaction</dd>
+</dl>
+</li>
+</ul>
+<a name="rollback--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rollback</h4>
+<pre>public&nbsp;void&nbsp;rollback()
+              throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
+<div class="block">Rollback the multi-row distributed transaction represented by this object.
+ <p>
+ This method initiates rolling back the transaction and returns right after
+ that. The system takes care of the rest. Once the control returns and
+ no exception is thrown, a client have a guarantee that all write
+ operations issued in the context of this transaction cannot be seen seen
+ outside.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if something went wrong</dd>
+</dl>
+</li>
+</ul>
+<a name="serialize-org.apache.kudu.client.KuduTransaction.SerializationOptions-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serialize</h4>
+<pre>public&nbsp;byte[]&nbsp;serialize(org.apache.kudu.client.KuduTransaction.SerializationOptions&nbsp;options)
+                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Export information on the underlying transaction in a serialized form.
+ <p>
+ This method transforms this handle into its serialized representation.
+ <p>
+ The serialized information on a Kudu transaction can be passed among
+ different Kudu clients running at multiple nodes, so those separate
+ Kudu clients can perform operations to be a part of the same distributed
+ transaction. The resulting string is referred as "transaction token" and
+ it can be deserialized into a transaction handle (i.e. an object of this
+ class) via the <a href="../../../../org/apache/kudu/client/KuduTransaction.html#deserialize-byte:A-org.apache.kudu.client.AsyncKuduClient-"><code>deserialize(byte[], org.apache.kudu.client.AsyncKuduClient)</code></a> method.
+ <p>
+ This method doesn't perform any RPC under the hood.
+ <p>
+ The representation of the data in the serialized form (i.e. the format of
+ a Kudu transaction token) is an implementation detail, not a part of the
+ public API and can be changed without notice.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the serialized form of this transaction handle</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if serialization fails</dd>
+</dl>
+</li>
+</ul>
+<a name="serialize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serialize</h4>
+<pre>public&nbsp;byte[]&nbsp;serialize()
+                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">A shortcut for the <a href="../../../../org/apache/kudu/client/KuduTransaction.html#serialize-org.apache.kudu.client.KuduTransaction.SerializationOptions-"><code>serialize(SerializationOptions)</code></a>
+ method invoked with default-constructed <code>KuduTransaction.SerializationOptions</code>.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="deserialize-byte:A-org.apache.kudu.client.AsyncKuduClient-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deserialize</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a>&nbsp;deserialize(byte[]&nbsp;buf,
+                                          <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a>&nbsp;client)
+                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Re-create KuduTransaction object given its serialized representation.
+ <p>
+ This method doesn't perform any RPC under the hood. The newly created
+ object automatically does or does not send keep-alive messages depending
+ on the <code>KuduTransaction.SerializationOptions.isKeepaliveEnabled()</code> setting when
+ the original <a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client"><code>KuduTransaction</code></a> object was serialized using
+ <a href="../../../../org/apache/kudu/client/KuduTransaction.html#serialize-org.apache.kudu.client.KuduTransaction.SerializationOptions-"><code>serialize(org.apache.kudu.client.KuduTransaction.SerializationOptions)</code></a> method.
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>client</code> - Client instance to bound the result object to</dd>
+<dd><code>buf</code> - serialized representation of a <a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client"><code>KuduTransaction</code></a> object</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Operation result status.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if deserialization fails</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()</pre>
+<div class="block">Stop keepalive heartbeating, if any was in progress for this transaction
+ handle.
+ <p>
+ This method is called automatically when the object goes out of scope
+ as prescribed for <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>.
+ <p>
+ This method doesn't throw according to the recommendations for
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang"><code>AutoCloseable.close()</code></a>. In case of an error, this method just logs
+ the corresponding error message.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/KuduTransaction.html" target="_top">Frames</a></li>
+<li><a href="KuduTransaction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/ListTablesResponse.html b/releases/1.15.0/apidocs/org/apache/kudu/client/ListTablesResponse.html
new file mode 100644
index 0000000..b170913
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/ListTablesResponse.html
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ListTablesResponse</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ListTablesResponse";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/ListTablesResponse.html" target="_top">Frames</a></li>
+<li><a href="ListTablesResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class ListTablesResponse" class="title">Class ListTablesResponse</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.ListTablesResponse</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">ListTablesResponse</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ListTablesResponse.html#getElapsedMillis--">getElapsedMillis</a></span>()</code>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.kudu.client.ListTablesResponse.TableInfo&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ListTablesResponse.html#getTableInfosList--">getTableInfosList</a></span>()</code>
+<div class="block">Get the list of tables as specified in the request.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ListTablesResponse.html#getTablesList--">getTablesList</a></span>()</code>
+<div class="block">Get the list of tables as specified in the request.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ListTablesResponse.html#getTsUUID--">getTsUUID</a></span>()</code>
+<div class="block">Get the identifier of the tablet server that sent the response.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTablesList--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTablesList</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTablesList()</pre>
+<div class="block">Get the list of tables as specified in the request.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list of table names</dd>
+</dl>
+</li>
+</ul>
+<a name="getTableInfosList--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableInfosList</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.kudu.client.ListTablesResponse.TableInfo&gt;&nbsp;getTableInfosList()</pre>
+<div class="block">Get the list of tables as specified in the request.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list of TableInfo</dd>
+</dl>
+</li>
+</ul>
+<a name="getElapsedMillis--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElapsedMillis</h4>
+<pre>public&nbsp;long&nbsp;getElapsedMillis()</pre>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>elapsed time in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getTsUUID--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTsUUID</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTsUUID()</pre>
+<div class="block">Get the identifier of the tablet server that sent the response. May be
+ <code>null</code> if the RPC failed before tablet location lookup succeeded.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string containing a UUID</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/ListTablesResponse.html" target="_top">Frames</a></li>
+<li><a href="ListTablesResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/ListTabletServersResponse.html b/releases/1.15.0/apidocs/org/apache/kudu/client/ListTabletServersResponse.html
new file mode 100644
index 0000000..012333f
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/ListTabletServersResponse.html
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ListTabletServersResponse</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ListTabletServersResponse";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/ListTabletServersResponse.html" target="_top">Frames</a></li>
+<li><a href="ListTabletServersResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class ListTabletServersResponse" class="title">Class ListTabletServersResponse</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.ListTabletServersResponse</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">ListTabletServersResponse</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html#getElapsedMillis--">getElapsedMillis</a></span>()</code>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html#getTabletServersCount--">getTabletServersCount</a></span>()</code>
+<div class="block">Get the count of tablet servers as reported by the master.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html#getTabletServersList--">getTabletServersList</a></span>()</code>
+<div class="block">Get the list of tablet servers, as represented by their hostname.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html#getTsUUID--">getTsUUID</a></span>()</code>
+<div class="block">Get the identifier of the tablet server that sent the response.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTabletServersCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTabletServersCount</h4>
+<pre>public&nbsp;int&nbsp;getTabletServersCount()</pre>
+<div class="block">Get the count of tablet servers as reported by the master.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TS count.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTabletServersList--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTabletServersList</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTabletServersList()</pre>
+<div class="block">Get the list of tablet servers, as represented by their hostname.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>List of hostnames, one per TS.</dd>
+</dl>
+</li>
+</ul>
+<a name="getElapsedMillis--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElapsedMillis</h4>
+<pre>public&nbsp;long&nbsp;getElapsedMillis()</pre>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>elapsed time in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getTsUUID--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTsUUID</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTsUUID()</pre>
+<div class="block">Get the identifier of the tablet server that sent the response. May be
+ <code>null</code> if the RPC failed before tablet location lookup succeeded.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string containing a UUID</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/ListTabletServersResponse.html" target="_top">Frames</a></li>
+<li><a href="ListTabletServersResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/LocatedTablet.Replica.html b/releases/1.15.0/apidocs/org/apache/kudu/client/LocatedTablet.Replica.html
new file mode 100644
index 0000000..43e9ec1
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/LocatedTablet.Replica.html
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>LocatedTablet.Replica</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="LocatedTablet.Replica";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/LocatedTablet.Replica.html" target="_top">Frames</a></li>
+<li><a href="LocatedTablet.Replica.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class LocatedTablet.Replica" class="title">Class LocatedTablet.Replica</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.LocatedTablet.Replica</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static class <span class="typeNameLabel">LocatedTablet.Replica</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">One of the replicas of the tablet.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html#getDimensionLabel--">getDimensionLabel</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html#getRole--">getRole</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html#getRpcHost--">getRpcHost</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html#getRpcPort--">getRpcPort</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getRpcHost--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRpcHost</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getRpcHost()</pre>
+</li>
+</ul>
+<a name="getRpcPort--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRpcPort</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;getRpcPort()</pre>
+</li>
+</ul>
+<a name="getRole--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRole</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getRole()</pre>
+</li>
+</ul>
+<a name="getDimensionLabel--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDimensionLabel</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDimensionLabel()</pre>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/LocatedTablet.Replica.html" target="_top">Frames</a></li>
+<li><a href="LocatedTablet.Replica.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/LocatedTablet.html b/releases/1.15.0/apidocs/org/apache/kudu/client/LocatedTablet.html
new file mode 100644
index 0000000..622c1bb
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/LocatedTablet.html
@@ -0,0 +1,379 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>LocatedTablet</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="LocatedTablet";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":42,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/LocatedTablet.html" target="_top">Frames</a></li>
+<li><a href="LocatedTablet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class LocatedTablet" class="title">Class LocatedTablet</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.LocatedTablet</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">LocatedTablet</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Information about the locations of tablets in a Kudu table.
+ This should be treated as immutable data (it does not reflect
+ any updates the client may have heard since being constructed).</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a></span></code>
+<div class="block">One of the replicas of the tablet.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.html#LocatedTablet-org.apache.kudu.client.RemoteTablet-">LocatedTablet</a></span>(org.apache.kudu.client.RemoteTablet&nbsp;tablet)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.html#getEndKey--">getEndKey</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>getPartition()</code></a></span></div>
+</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.html#getLeaderReplica--">getLeaderReplica</a></span>()</code>
+<div class="block">Return the current leader, or null if there is none.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.html#getReplicas--">getReplicas</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.html#getStartKey--">getStartKey</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>getPartition()</code></a></span></div>
+</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.html#getTabletId--">getTabletId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/LocatedTablet.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LocatedTablet-org.apache.kudu.client.RemoteTablet-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LocatedTablet</h4>
+<pre>@InterfaceAudience.LimitedPrivate(value="Tests")
+public&nbsp;LocatedTablet(org.apache.kudu.client.RemoteTablet&nbsp;tablet)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getReplicas--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReplicas</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a>&gt;&nbsp;getReplicas()</pre>
+</li>
+</ul>
+<a name="getStartKey--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getStartKey</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;byte[]&nbsp;getStartKey()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>getPartition()</code></a></span></div>
+</li>
+</ul>
+<a name="getEndKey--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEndKey</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;byte[]&nbsp;getEndKey()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/kudu/client/LocatedTablet.html#getPartition--"><code>getPartition()</code></a></span></div>
+</li>
+</ul>
+<a name="getTabletId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTabletId</h4>
+<pre>public&nbsp;byte[]&nbsp;getTabletId()</pre>
+</li>
+</ul>
+<a name="getLeaderReplica--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLeaderReplica</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a>&nbsp;getLeaderReplica()</pre>
+<div class="block">Return the current leader, or null if there is none.</div>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/LocatedTablet.html" target="_top">Frames</a></li>
+<li><a href="LocatedTablet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/Operation.html b/releases/1.15.0/apidocs/org/apache/kudu/client/Operation.html
new file mode 100644
index 0000000..747aeee
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/Operation.html
@@ -0,0 +1,335 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Operation</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Operation";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Operation.html" target="_top">Frames</a></li>
+<li><a href="Operation.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class Operation" class="title">Class Operation</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduRpc&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.Operation</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client">Delete</a>, <a href="../../../../org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client">DeleteIgnore</a>, <a href="../../../../org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client">Insert</a>, <a href="../../../../org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client">InsertIgnore</a>, <a href="../../../../org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client">Update</a>, <a href="../../../../org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client">UpdateIgnore</a>, <a href="../../../../org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client">Upsert</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public abstract class <span class="typeNameLabel">Operation</span>
+extends org.apache.kudu.client.KuduRpc&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</pre>
+<div class="block">Base class for the RPCs that related to WriteRequestPB. It contains almost all the logic
+ and knows how to serialize its child classes.
+
+ TODO(todd): this should not extend KuduRpc. Rather, we should make single-operation writes
+ just use a Batch instance with a single operation in it.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Operation.html#getRow--">getRow</a></span>()</code>
+<div class="block">Get the underlying row to modify.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Operation.html#partitionKey--">partitionKey</a></span>()</code>
+<div class="block">Returns the partition key this RPC is for, or <code>null</code> if the RPC is
+ not tablet specific.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Operation.html#setRow-org.apache.kudu.client.PartialRow-">setRow</a></span>(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;row)</code>
+<div class="block">Set the underlying row.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>getExternalConsistencyMode, getTable, setExternalConsistencyMode, setPropagatedTimestamp, toString</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="partitionKey--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>partitionKey</h4>
+<pre>public&nbsp;byte[]&nbsp;partitionKey()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.kudu.client.KuduRpc</code></span></div>
+<div class="block">Returns the partition key this RPC is for, or <code>null</code> if the RPC is
+ not tablet specific.
+ <p>
+ <strong>DO NOT MODIFY THE CONTENTS OF THE RETURNED ARRAY.</strong></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>partitionKey</code>&nbsp;in class&nbsp;<code>org.apache.kudu.client.KuduRpc&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getRow--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRow</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;getRow()</pre>
+<div class="block">Get the underlying row to modify.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a partial row that will be sent with this Operation</dd>
+</dl>
+</li>
+</ul>
+<a name="setRow-org.apache.kudu.client.PartialRow-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setRow</h4>
+<pre>public&nbsp;void&nbsp;setRow(<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a>&nbsp;row)</pre>
+<div class="block">Set the underlying row.
+
+ Note: The schema of the underlying row and the table must be equal by reference.
+ To ensure they are equal, create the partial row from the table's schema.
+
+ <pre><code>
+   KuduTable table = client.openTable("my-table");
+   PartialRow row = table.getSchema().newPartialRow();
+   ...
+   Operation op = table.newInsert();
+   op.setRow(row);
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>row</code> - the row to set</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Operation.html" target="_top">Frames</a></li>
+<li><a href="Operation.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/OperationResponse.html b/releases/1.15.0/apidocs/org/apache/kudu/client/OperationResponse.html
new file mode 100644
index 0000000..5d5c706
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/OperationResponse.html
@@ -0,0 +1,328 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>OperationResponse</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="OperationResponse";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/OperationResponse.html" target="_top">Frames</a></li>
+<li><a href="OperationResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class OperationResponse" class="title">Class OperationResponse</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.OperationResponse</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">OperationResponse</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/OperationResponse.html#collectErrors-java.util.List-">collectErrors</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&nbsp;responses)</code>
+<div class="block">Utility method that collects all the row errors from the given list of responses.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/OperationResponse.html#getElapsedMillis--">getElapsedMillis</a></span>()</code>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/OperationResponse.html#getRowError--">getRowError</a></span>()</code>
+<div class="block">Returns a row error.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/OperationResponse.html#getTsUUID--">getTsUUID</a></span>()</code>
+<div class="block">Get the identifier of the tablet server that sent the response.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/OperationResponse.html#hasRowError--">hasRowError</a></span>()</code>
+<div class="block">Tells if this operation response contains a row error.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="collectErrors-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>collectErrors</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a>&gt;&nbsp;collectErrors(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&nbsp;responses)</pre>
+<div class="block">Utility method that collects all the row errors from the given list of responses.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>responses</code> - a list of operation responses to collect the row errors from</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a combined list of row errors</dd>
+</dl>
+</li>
+</ul>
+<a name="getRowError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRowError</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a>&nbsp;getRowError()</pre>
+<div class="block">Returns a row error. If <a href="../../../../org/apache/kudu/client/OperationResponse.html#hasRowError--"><code>hasRowError()</code></a> returns false, then this method returns null.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a row error, or null if the operation was successful</dd>
+</dl>
+</li>
+</ul>
+<a name="hasRowError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasRowError</h4>
+<pre>public&nbsp;boolean&nbsp;hasRowError()</pre>
+<div class="block">Tells if this operation response contains a row error.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if this operation response has errors, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="getElapsedMillis--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElapsedMillis</h4>
+<pre>public&nbsp;long&nbsp;getElapsedMillis()</pre>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>elapsed time in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getTsUUID--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTsUUID</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTsUUID()</pre>
+<div class="block">Get the identifier of the tablet server that sent the response. May be
+ <code>null</code> if the RPC failed before tablet location lookup succeeded.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string containing a UUID</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/OperationResponse.html" target="_top">Frames</a></li>
+<li><a href="OperationResponse.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/PartialRow.html b/releases/1.15.0/apidocs/org/apache/kudu/client/PartialRow.html
new file mode 100644
index 0000000..ce582fc
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/PartialRow.html
@@ -0,0 +1,2229 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>PartialRow</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PartialRow";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/PartialRow.html" target="_top">Frames</a></li>
+<li><a href="PartialRow.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class PartialRow" class="title">Class PartialRow</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.PartialRow</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">PartialRow</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Class used to represent parts of a row along with its schema.<p>
+
+ Values can be replaced as often as needed, but once the enclosing <a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client"><code>Operation</code></a> is applied
+ then they cannot be changed again. This means that a PartialRow cannot be reused.<p>
+
+ Each PartialRow is backed by an byte array where all the cells (except strings and binary data)
+ are written. The others are kept in a List.<p>
+
+ This class isn't thread-safe.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#PartialRow-org.apache.kudu.Schema-">PartialRow</a></span>(<a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema)</code>
+<div class="block">This is not a stable API, prefer using <a href="../../../../org/apache/kudu/Schema.html#newPartialRow--"><code>Schema.newPartialRow()</code></a>
+ to create a new partial row.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addBinary-int-byte:A-">addBinary</a></span>(int&nbsp;columnIndex,
+         byte[]&nbsp;val)</code>
+<div class="block">Add binary data with the specified value.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addBinary-int-java.nio.ByteBuffer-">addBinary</a></span>(int&nbsp;columnIndex,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;value)</code>
+<div class="block">Add binary data with the specified value, from the current ByteBuffer's position to its limit.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addBinary-java.lang.String-byte:A-">addBinary</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+         byte[]&nbsp;val)</code>
+<div class="block">Add binary data with the specified value.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addBinary-java.lang.String-java.nio.ByteBuffer-">addBinary</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;value)</code>
+<div class="block">Add binary data with the specified value, from the current ByteBuffer's position to its limit.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addBoolean-int-boolean-">addBoolean</a></span>(int&nbsp;columnIndex,
+          boolean&nbsp;val)</code>
+<div class="block">Add a boolean for the specified column.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addBoolean-java.lang.String-boolean-">addBoolean</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+          boolean&nbsp;val)</code>
+<div class="block">Add a boolean for the specified column.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addByte-int-byte-">addByte</a></span>(int&nbsp;columnIndex,
+       byte&nbsp;val)</code>
+<div class="block">Add a byte for the specified column.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addByte-java.lang.String-byte-">addByte</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+       byte&nbsp;val)</code>
+<div class="block">Add a byte for the specified column.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addDate-int-java.sql.Date-">addDate</a></span>(int&nbsp;columnIndex,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a>&nbsp;val)</code>
+<div class="block">Add a sql.Date for the specified column.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addDate-java.lang.String-java.sql.Date-">addDate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a>&nbsp;val)</code>
+<div class="block">Add a Date for the specified column.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addDecimal-int-java.math.BigDecimal-">addDecimal</a></span>(int&nbsp;columnIndex,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;val)</code>
+<div class="block">Add a Decimal for the specified column.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addDecimal-java.lang.String-java.math.BigDecimal-">addDecimal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;val)</code>
+<div class="block">Add a Decimal for the specified column.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addDouble-int-double-">addDouble</a></span>(int&nbsp;columnIndex,
+         double&nbsp;val)</code>
+<div class="block">Add an double for the specified column.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addDouble-java.lang.String-double-">addDouble</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+         double&nbsp;val)</code>
+<div class="block">Add an double for the specified column.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addFloat-int-float-">addFloat</a></span>(int&nbsp;columnIndex,
+        float&nbsp;val)</code>
+<div class="block">Add an float for the specified column.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addFloat-java.lang.String-float-">addFloat</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+        float&nbsp;val)</code>
+<div class="block">Add an float for the specified column.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addInt-int-int-">addInt</a></span>(int&nbsp;columnIndex,
+      int&nbsp;val)</code>
+<div class="block">Add an int for the specified column.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addInt-java.lang.String-int-">addInt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+      int&nbsp;val)</code>
+<div class="block">Add an int for the specified column.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addLong-int-long-">addLong</a></span>(int&nbsp;columnIndex,
+       long&nbsp;val)</code>
+<div class="block">Add an long for the specified column.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addLong-java.lang.String-long-">addLong</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+       long&nbsp;val)</code>
+<div class="block">Add an long for the specified column.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addObject-int-java.lang.Object-">addObject</a></span>(int&nbsp;columnIndex,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;val)</code>
+<div class="block">Add the specified column's value as an Object.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addObject-java.lang.String-java.lang.Object-">addObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;val)</code>
+<div class="block">Add the specified column's value as an Object.</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addShort-int-short-">addShort</a></span>(int&nbsp;columnIndex,
+        short&nbsp;val)</code>
+<div class="block">Add a short for the specified column.</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addShort-java.lang.String-short-">addShort</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+        short&nbsp;val)</code>
+<div class="block">Add a short for the specified column.</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addString-int-java.lang.String-">addString</a></span>(int&nbsp;columnIndex,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</code>
+<div class="block">Add a String for the specified column.</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addString-java.lang.String-java.lang.String-">addString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</code>
+<div class="block">Add a String for the specified column.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addStringUtf8-int-byte:A-">addStringUtf8</a></span>(int&nbsp;columnIndex,
+             byte[]&nbsp;val)</code>
+<div class="block">Add a String for the specified value, encoded as UTF8.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addStringUtf8-java.lang.String-byte:A-">addStringUtf8</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+             byte[]&nbsp;val)</code>
+<div class="block">Add a String for the specified value, encoded as UTF8.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addTimestamp-int-java.sql.Timestamp-">addTimestamp</a></span>(int&nbsp;columnIndex,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;val)</code>
+<div class="block">Add a Timestamp for the specified column.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addTimestamp-java.lang.String-java.sql.Timestamp-">addTimestamp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;val)</code>
+<div class="block">Add a Timestamp for the specified column.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addVarchar-int-java.lang.String-">addVarchar</a></span>(int&nbsp;columnIndex,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</code>
+<div class="block">Add a VARCHAR for the specified column.</div>
+</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#addVarchar-java.lang.String-java.lang.String-">addVarchar</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</code>
+<div class="block">Add a VARCHAR for the specified column.</div>
+</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#encodePrimaryKey--">encodePrimaryKey</a></span>()</code>
+<div class="block">Returns the encoded primary key of the row.</div>
+</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getBinary-int-">getBinary</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's binary data.</div>
+</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getBinary-java.lang.String-">getBinary</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's binary data.</div>
+</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getBinaryCopy-int-">getBinaryCopy</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get a copy of the specified column's binary data.</div>
+</td>
+</tr>
+<tr id="i36" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getBinaryCopy-java.lang.String-">getBinaryCopy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get a copy of the specified column's binary data.</div>
+</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getBoolean-int-">getBoolean</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's boolean</div>
+</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getBoolean-java.lang.String-">getBoolean</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's boolean</div>
+</td>
+</tr>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code>byte</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getByte-int-">getByte</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's byte</div>
+</td>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code>byte</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getByte-java.lang.String-">getByte</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's byte</div>
+</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getDate-int-">getDate</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's Date.</div>
+</td>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getDate-java.lang.String-">getDate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's Date.</div>
+</td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getDecimal-int-">getDecimal</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's Decimal.</div>
+</td>
+</tr>
+<tr id="i44" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getDecimal-java.lang.String-">getDecimal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's BigDecimal</div>
+</td>
+</tr>
+<tr id="i45" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getDouble-int-">getDouble</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's double</div>
+</td>
+</tr>
+<tr id="i46" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getDouble-java.lang.String-">getDouble</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's double</div>
+</td>
+</tr>
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code>float</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getFloat-int-">getFloat</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's float</div>
+</td>
+</tr>
+<tr id="i48" class="altColor">
+<td class="colFirst"><code>float</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getFloat-java.lang.String-">getFloat</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's float</div>
+</td>
+</tr>
+<tr id="i49" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getInt-int-">getInt</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's integer</div>
+</td>
+</tr>
+<tr id="i50" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getInt-java.lang.String-">getInt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's integer</div>
+</td>
+</tr>
+<tr id="i51" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getLong-int-">getLong</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's long
+
+ If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds
+ since midnight, January 1, 1970 UTC.</div>
+</td>
+</tr>
+<tr id="i52" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getLong-java.lang.String-">getLong</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's long
+
+ If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds
+ since midnight, January 1, 1970 UTC.</div>
+</td>
+</tr>
+<tr id="i53" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getObject-int-">getObject</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's value as an Object.</div>
+</td>
+</tr>
+<tr id="i54" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getObject-java.lang.String-">getObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's value as an Object.</div>
+</td>
+</tr>
+<tr id="i55" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getSchema--">getSchema</a></span>()</code>
+<div class="block">Get the schema used for this row.</div>
+</td>
+</tr>
+<tr id="i56" class="altColor">
+<td class="colFirst"><code>short</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getShort-int-">getShort</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's short</div>
+</td>
+</tr>
+<tr id="i57" class="rowColor">
+<td class="colFirst"><code>short</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getShort-java.lang.String-">getShort</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's short</div>
+</td>
+</tr>
+<tr id="i58" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getString-int-">getString</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's string.</div>
+</td>
+</tr>
+<tr id="i59" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getString-java.lang.String-">getString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's string.</div>
+</td>
+</tr>
+<tr id="i60" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getTimestamp-int-">getTimestamp</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's Timestamp.</div>
+</td>
+</tr>
+<tr id="i61" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getTimestamp-java.lang.String-">getTimestamp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's Timestamp.</div>
+</td>
+</tr>
+<tr id="i62" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getVarchar-int-">getVarchar</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's VARCHAR.</div>
+</td>
+</tr>
+<tr id="i63" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#getVarchar-java.lang.String-">getVarchar</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's VARCHAR.</div>
+</td>
+</tr>
+<tr id="i64" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#isNull-int-">isNull</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get if the specified column is NULL</div>
+</td>
+</tr>
+<tr id="i65" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#isNull-java.lang.String-">isNull</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get if the specified column is NULL</div>
+</td>
+</tr>
+<tr id="i66" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#isSet-int-">isSet</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get if the specified column has been set</div>
+</td>
+</tr>
+<tr id="i67" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#isSet-java.lang.String-">isSet</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get if the specified column has been set</div>
+</td>
+</tr>
+<tr id="i68" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#setNull-int-">setNull</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Set the specified column to null</div>
+</td>
+</tr>
+<tr id="i69" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#setNull-java.lang.String-">setNull</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Set the specified column to null</div>
+</td>
+</tr>
+<tr id="i70" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#stringifyRowKey--">stringifyRowKey</a></span>()</code>
+<div class="block">Transforms the row key into a string representation where each column is in the format:
+ "type col_name=value".</div>
+</td>
+</tr>
+<tr id="i71" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PartialRow.html#toString--">toString</a></span>()</code></td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PartialRow-org.apache.kudu.Schema-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PartialRow</h4>
+<pre>public&nbsp;PartialRow(<a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema)</pre>
+<div class="block">This is not a stable API, prefer using <a href="../../../../org/apache/kudu/Schema.html#newPartialRow--"><code>Schema.newPartialRow()</code></a>
+ to create a new partial row.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>schema</code> - the schema to use for this row</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="addBoolean-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addBoolean</h4>
+<pre>public&nbsp;void&nbsp;addBoolean(int&nbsp;columnIndex,
+                       boolean&nbsp;val)</pre>
+<div class="block">Add a boolean for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addBoolean-java.lang.String-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addBoolean</h4>
+<pre>public&nbsp;void&nbsp;addBoolean(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                       boolean&nbsp;val)</pre>
+<div class="block">Add a boolean for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="getBoolean-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBoolean</h4>
+<pre>public&nbsp;boolean&nbsp;getBoolean(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's boolean</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a boolean</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getBoolean-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBoolean</h4>
+<pre>public&nbsp;boolean&nbsp;getBoolean(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's boolean</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a boolean</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addByte-int-byte-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addByte</h4>
+<pre>public&nbsp;void&nbsp;addByte(int&nbsp;columnIndex,
+                    byte&nbsp;val)</pre>
+<div class="block">Add a byte for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addByte-java.lang.String-byte-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addByte</h4>
+<pre>public&nbsp;void&nbsp;addByte(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                    byte&nbsp;val)</pre>
+<div class="block">Add a byte for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="getByte-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getByte</h4>
+<pre>public&nbsp;byte&nbsp;getByte(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's byte</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a byte</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getByte-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getByte</h4>
+<pre>public&nbsp;byte&nbsp;getByte(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's byte</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a byte</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addShort-int-short-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addShort</h4>
+<pre>public&nbsp;void&nbsp;addShort(int&nbsp;columnIndex,
+                     short&nbsp;val)</pre>
+<div class="block">Add a short for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addShort-java.lang.String-short-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addShort</h4>
+<pre>public&nbsp;void&nbsp;addShort(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                     short&nbsp;val)</pre>
+<div class="block">Add a short for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="getShort-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getShort</h4>
+<pre>public&nbsp;short&nbsp;getShort(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's short</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a short</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getShort-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getShort</h4>
+<pre>public&nbsp;short&nbsp;getShort(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's short</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a short</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addInt-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addInt</h4>
+<pre>public&nbsp;void&nbsp;addInt(int&nbsp;columnIndex,
+                   int&nbsp;val)</pre>
+<div class="block">Add an int for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addInt-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addInt</h4>
+<pre>public&nbsp;void&nbsp;addInt(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                   int&nbsp;val)</pre>
+<div class="block">Add an int for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="getInt-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInt</h4>
+<pre>public&nbsp;int&nbsp;getInt(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's integer</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an integer</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getInt-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInt</h4>
+<pre>public&nbsp;int&nbsp;getInt(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's integer</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an integer</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addLong-int-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addLong</h4>
+<pre>public&nbsp;void&nbsp;addLong(int&nbsp;columnIndex,
+                    long&nbsp;val)</pre>
+<div class="block">Add an long for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addLong-java.lang.String-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addLong</h4>
+<pre>public&nbsp;void&nbsp;addLong(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                    long&nbsp;val)</pre>
+<div class="block">Add an long for the specified column.
+
+ If this is a UNIXTIME_MICROS column, the long value provided should be the number of
+ microseconds between a given time and January 1, 1970 UTC.
+ For example, to encode the current time, use setLong(System.currentTimeMillis() * 1000);</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="getLong-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLong</h4>
+<pre>public&nbsp;long&nbsp;getLong(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's long
+
+ If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds
+ since midnight, January 1, 1970 UTC.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a long</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getLong-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLong</h4>
+<pre>public&nbsp;long&nbsp;getLong(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's long
+
+ If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds
+ since midnight, January 1, 1970 UTC.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a long</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addFloat-int-float-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addFloat</h4>
+<pre>public&nbsp;void&nbsp;addFloat(int&nbsp;columnIndex,
+                     float&nbsp;val)</pre>
+<div class="block">Add an float for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addFloat-java.lang.String-float-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addFloat</h4>
+<pre>public&nbsp;void&nbsp;addFloat(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                     float&nbsp;val)</pre>
+<div class="block">Add an float for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="getFloat-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFloat</h4>
+<pre>public&nbsp;float&nbsp;getFloat(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's float</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a float</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getFloat-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFloat</h4>
+<pre>public&nbsp;float&nbsp;getFloat(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's float</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a float</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addDouble-int-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addDouble</h4>
+<pre>public&nbsp;void&nbsp;addDouble(int&nbsp;columnIndex,
+                      double&nbsp;val)</pre>
+<div class="block">Add an double for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addDouble-java.lang.String-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addDouble</h4>
+<pre>public&nbsp;void&nbsp;addDouble(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                      double&nbsp;val)</pre>
+<div class="block">Add an double for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="getDouble-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDouble</h4>
+<pre>public&nbsp;double&nbsp;getDouble(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's double</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a double</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getDouble-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDouble</h4>
+<pre>public&nbsp;double&nbsp;getDouble(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's double</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a double</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addDecimal-int-java.math.BigDecimal-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addDecimal</h4>
+<pre>public&nbsp;void&nbsp;addDecimal(int&nbsp;columnIndex,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;val)</pre>
+<div class="block">Add a Decimal for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addDecimal-java.lang.String-java.math.BigDecimal-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addDecimal</h4>
+<pre>public&nbsp;void&nbsp;addDecimal(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;val)</pre>
+<div class="block">Add a Decimal for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="getDecimal-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDecimal</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;getDecimal(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's BigDecimal</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a BigDecimal</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getDecimal-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDecimal</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;getDecimal(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's Decimal.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a BigDecimal</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addTimestamp-int-java.sql.Timestamp-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addTimestamp</h4>
+<pre>public&nbsp;void&nbsp;addTimestamp(int&nbsp;columnIndex,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;val)</pre>
+<div class="block">Add a Timestamp for the specified column.
+
+ Note: Timestamp instances with nanosecond precision are truncated to microseconds.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addTimestamp-java.lang.String-java.sql.Timestamp-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addTimestamp</h4>
+<pre>public&nbsp;void&nbsp;addTimestamp(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;val)</pre>
+<div class="block">Add a Timestamp for the specified column.
+
+ Note: Timestamp instances with nanosecond precision are truncated to microseconds.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="getTimestamp-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTimestamp</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;getTimestamp(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's Timestamp.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a Timestamp</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getTimestamp-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTimestamp</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;getTimestamp(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's Timestamp.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a Timestamp</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addDate-int-java.sql.Date-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addDate</h4>
+<pre>public&nbsp;void&nbsp;addDate(int&nbsp;columnIndex,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a>&nbsp;val)</pre>
+<div class="block">Add a sql.Date for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addDate-java.lang.String-java.sql.Date-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addDate</h4>
+<pre>public&nbsp;void&nbsp;addDate(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a>&nbsp;val)</pre>
+<div class="block">Add a Date for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="getDate-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDate</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a>&nbsp;getDate(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's Date.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a Date</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getDate-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDate</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a>&nbsp;getDate(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's Date.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a Date</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addString-int-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addString</h4>
+<pre>public&nbsp;void&nbsp;addString(int&nbsp;columnIndex,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</pre>
+<div class="block">Add a String for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addString-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addString</h4>
+<pre>public&nbsp;void&nbsp;addString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</pre>
+<div class="block">Add a String for the specified column.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="addVarchar-int-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addVarchar</h4>
+<pre>public&nbsp;void&nbsp;addVarchar(int&nbsp;columnIndex,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</pre>
+<div class="block">Add a VARCHAR for the specified column.
+
+ Truncates val to the length of the column in characters.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Index of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist, is the wrong type
+         or the string is not UTF-8</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="addVarchar-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addVarchar</h4>
+<pre>public&nbsp;void&nbsp;addVarchar(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</pre>
+<div class="block">Add a VARCHAR for the specified column.
+
+ Truncates val to the length of the column in characters.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist, is the wrong type
+         or the string is not UTF-8</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="getString-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's string.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getString-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getString(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's string.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getVarchar-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVarchar</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getVarchar(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's VARCHAR.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column to get the data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a VARCHAR</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+         or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getVarchar-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVarchar</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getVarchar(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's VARCHAR.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a VARCHAR</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+         or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addStringUtf8-int-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addStringUtf8</h4>
+<pre>public&nbsp;void&nbsp;addStringUtf8(int&nbsp;columnIndex,
+                          byte[]&nbsp;val)</pre>
+<div class="block">Add a String for the specified value, encoded as UTF8.
+ Note that the provided value must not be mutated after this.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addStringUtf8-java.lang.String-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addStringUtf8</h4>
+<pre>public&nbsp;void&nbsp;addStringUtf8(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                          byte[]&nbsp;val)</pre>
+<div class="block">Add a String for the specified value, encoded as UTF8.
+ Note that the provided value must not be mutated after this.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="addBinary-int-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addBinary</h4>
+<pre>public&nbsp;void&nbsp;addBinary(int&nbsp;columnIndex,
+                      byte[]&nbsp;val)</pre>
+<div class="block">Add binary data with the specified value.
+ Note that the provided value must not be mutated after this.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addBinary-int-java.nio.ByteBuffer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addBinary</h4>
+<pre>public&nbsp;void&nbsp;addBinary(int&nbsp;columnIndex,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;value)</pre>
+<div class="block">Add binary data with the specified value, from the current ByteBuffer's position to its limit.
+ This method duplicates the ByteBuffer but doesn't copy the data. This means that the wrapped
+ data must not be mutated after this.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dd><code>value</code> - byte buffer to get the value from</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addBinary-java.lang.String-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addBinary</h4>
+<pre>public&nbsp;void&nbsp;addBinary(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                      byte[]&nbsp;val)</pre>
+<div class="block">Add binary data with the specified value.
+ Note that the provided value must not be mutated after this.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>val</code> - value to add</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="addBinary-java.lang.String-java.nio.ByteBuffer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addBinary</h4>
+<pre>public&nbsp;void&nbsp;addBinary(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;value)</pre>
+<div class="block">Add binary data with the specified value, from the current ByteBuffer's position to its limit.
+ This method duplicates the ByteBuffer but doesn't copy the data. This means that the wrapped
+ data must not be mutated after this.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dd><code>value</code> - byte buffer to get the value from</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist
+ or if the value doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="getBinaryCopy-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBinaryCopy</h4>
+<pre>public&nbsp;byte[]&nbsp;getBinaryCopy(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get a copy of the specified column's binary data.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a byte[] with the binary data.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getBinaryCopy-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBinaryCopy</h4>
+<pre>public&nbsp;byte[]&nbsp;getBinaryCopy(int&nbsp;columnIndex)</pre>
+<div class="block">Get a copy of the specified column's binary data.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a byte[] with the binary data.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getBinary-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBinary</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;getBinary(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's binary data.
+
+ This doesn't copy the data and instead returns a ByteBuffer that wraps it.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a ByteBuffer with the binary data.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getBinary-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBinary</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;getBinary(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's binary data.
+
+ This doesn't copy the data and instead returns a ByteBuffer that wraps it.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a ByteBuffer with the binary data.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="setNull-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setNull</h4>
+<pre>public&nbsp;void&nbsp;setNull(int&nbsp;columnIndex)</pre>
+<div class="block">Set the specified column to null</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - the column's index in the schema</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist or cannot be set to null</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="setNull-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setNull</h4>
+<pre>public&nbsp;void&nbsp;setNull(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Set the specified column to null</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - Name of the column</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist or cannot be set to null</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+</dl>
+</li>
+</ul>
+<a name="isNull-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isNull</h4>
+<pre>public&nbsp;boolean&nbsp;isNull(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get if the specified column is NULL</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the column cell is null and the column is nullable,
+ false otherwise</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="isNull-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isNull</h4>
+<pre>public&nbsp;boolean&nbsp;isNull(int&nbsp;columnIndex)</pre>
+<div class="block">Get if the specified column is NULL</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the column cell is null and the column is nullable,
+ false otherwise</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addObject-java.lang.String-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addObject</h4>
+<pre>public&nbsp;void&nbsp;addObject(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;val)</pre>
+<div class="block">Add the specified column's value as an Object.
+
+ This method is useful when you don't care about autoboxing
+ and your existing type handling logic is based on Java types.
+
+ The accepted Object type is based on the column's <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu"><code>Type</code></a>:
+  Type.BOOL -> java.lang.Boolean
+  Type.INT8 -> java.lang.Byte
+  Type.INT16 -> java.lang.Short
+  Type.INT32 -> java.lang.Integer
+  Type.INT64 -> java.lang.Long
+  Type.UNIXTIME_MICROS -> java.sql.Timestamp or java.lang.Long
+  Type.FLOAT -> java.lang.Float
+  Type.DOUBLE -> java.lang.Double
+  Type.STRING -> java.lang.String
+  Type.VARCHAR -> java.lang.String
+  Type.BINARY -> byte[] or java.lang.ByteBuffer
+  Type.DECIMAL -> java.math.BigDecimal</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column in the schema</dd>
+<dd><code>val</code> - the value to add as an Object</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="addObject-int-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addObject</h4>
+<pre>public&nbsp;void&nbsp;addObject(int&nbsp;columnIndex,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;val)</pre>
+<div class="block">Add the specified column's value as an Object.
+
+ This method is useful when you don't care about autoboxing
+ and your existing type handling logic is based on Java types.
+
+ The accepted Object type is based on the column's <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu"><code>Type</code></a>:
+  Type.BOOL -> java.lang.Boolean
+  Type.INT8 -> java.lang.Byte
+  Type.INT16 -> java.lang.Short
+  Type.INT32 -> java.lang.Integer
+  Type.INT64 -> java.lang.Long
+  Type.UNIXTIME_MICROS -> java.sql.Timestamp or java.lang.Long
+  Type.FLOAT -> java.lang.Float
+  Type.DOUBLE -> java.lang.Double
+  Type.STRING -> java.lang.String
+  Type.VARCHAR -> java.lang.String
+  Type.BINARY -> byte[] or java.lang.ByteBuffer
+  Type.DECIMAL -> java.math.BigDecimal
+  Type.DATE -> java.sql.Date</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - column index in the schema</dd>
+<dd><code>val</code> - the value to add as an Object</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the row was already applied</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getObject-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObject</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getObject(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's value as an Object.
+
+ This method is useful when you don't care about autoboxing
+ and your existing type handling logic is based on Java types.
+
+ The Object type is based on the column's <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu"><code>Type</code></a>:
+  Type.BOOL -> java.lang.Boolean
+  Type.INT8 -> java.lang.Byte
+  Type.INT16 -> java.lang.Short
+  Type.INT32 -> java.lang.Integer
+  Type.INT64 -> java.lang.Long
+  Type.UNIXTIME_MICROS -> java.sql.Timestamp
+  Type.FLOAT -> java.lang.Float
+  Type.DOUBLE -> java.lang.Double
+  Type.STRING -> java.lang.String
+  Type.VARCHAR -> java.lang.String
+  Type.BINARY -> byte[]
+  Type.DECIMAL -> java.math.BigDecimal
+  Type.DATE -> java.sql.Date</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the column's value as an Object, null if the column value is null or unset</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getObject-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObject</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getObject(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's value as an Object.
+
+ This method is useful when you don't care about autoboxing
+ and your existing type handling logic is based on Java types.
+
+ The Object type is based on the column's <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu"><code>Type</code></a>:
+  Type.BOOL -> java.lang.Boolean
+  Type.INT8 -> java.lang.Byte
+  Type.INT16 -> java.lang.Short
+  Type.INT32 -> java.lang.Integer
+  Type.INT64 -> java.lang.Long
+  Type.UNIXTIME_MICROS -> java.sql.Timestamp
+  Type.FLOAT -> java.lang.Float
+  Type.DOUBLE -> java.lang.Double
+  Type.STRING -> java.lang.String
+  Type.VARCHAR -> java.lang.String
+  Type.BINARY -> byte[]
+  Type.DECIMAL -> java.math.BigDecimal</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the column's value as an Object, null if the column value is null or unset</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="isSet-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSet</h4>
+<pre>public&nbsp;boolean&nbsp;isSet(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get if the specified column has been set</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the column has been set</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="isSet-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSet</h4>
+<pre>public&nbsp;boolean&nbsp;isSet(int&nbsp;columnIndex)</pre>
+<div class="block">Get if the specified column has been set</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the column has been set</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="encodePrimaryKey--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>encodePrimaryKey</h4>
+<pre>public&nbsp;byte[]&nbsp;encodePrimaryKey()</pre>
+<div class="block">Returns the encoded primary key of the row.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a byte array containing an encoded primary key</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="stringifyRowKey--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>stringifyRowKey</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stringifyRowKey()</pre>
+<div class="block">Transforms the row key into a string representation where each column is in the format:
+ "type col_name=value".</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string representation of the operation's row key</dd>
+</dl>
+</li>
+</ul>
+<a name="getSchema--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getSchema</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getSchema()</pre>
+<div class="block">Get the schema used for this row.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a schema that came from KuduTable</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/PartialRow.html" target="_top">Frames</a></li>
+<li><a href="PartialRow.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/PleaseThrottleException.html b/releases/1.15.0/apidocs/org/apache/kudu/client/PleaseThrottleException.html
new file mode 100644
index 0000000..687af4d
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/PleaseThrottleException.html
@@ -0,0 +1,348 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>PleaseThrottleException</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PleaseThrottleException";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/PleaseThrottleException.html" target="_top">Frames</a></li>
+<li><a href="PleaseThrottleException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.kudu.client.KuduException">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class PleaseThrottleException" class="title">Class PleaseThrottleException</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">java.io.IOException</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">org.apache.kudu.client.KuduException</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.PleaseThrottleException</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client">HasFailedRpcException</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public final class <span class="typeNameLabel">PleaseThrottleException</span>
+extends <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a>
+implements <a href="../../../../org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client">HasFailedRpcException</a></pre>
+<div class="block">This exception notifies the application to throttle its use of Kudu.
+ <p>
+ Since all APIs of <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><code>AsyncKuduSession</code></a> are asynchronous and non-blocking,
+ it's possible that the application would produce RPCs at a rate higher
+ than Kudu is able to handle.  When this happens, <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><code>AsyncKuduSession</code></a>
+ will typically do some buffering up to a certain point beyond which RPCs
+ will fail-fast with this exception, to prevent the application from
+ running itself out of memory.
+ <p>
+ This exception is expected to be handled by having the application
+ throttle or pause itself for a short period of time before retrying the
+ RPC that failed with this exception as well as before sending other RPCs.
+ The reason this exception inherits from <code>NonRecoverableException</code>
+ instead of <code>RecoverableException</code> is that the usual course of action
+ when handling a <code>RecoverableException</code> is to retry right away, which
+ would defeat the whole purpose of this exception.  Here, we want the
+ application to <b>retry after a reasonable delay</b> as well as <b>throttle
+ the pace of creation of new RPCs</b>.  What constitutes a "reasonable
+ delay" depends on the nature of RPCs and rate at which they're produced.
+ <p>
+ One effective strategy to handle this exception is to set a flag to true
+ when this exception is first emitted that causes the application to pause
+ or throttle its use of Kudu.  Then you can retry the RPC that failed
+ (which is accessible through <a href="../../../../org/apache/kudu/client/PleaseThrottleException.html#getFailedRpc--"><code>getFailedRpc()</code></a>) and add a callback to
+ it in order to unset the flag once the RPC completes successfully.
+ Note that low-throughput applications will typically rarely (if ever)
+ hit this exception, so they don't need complex throttling logic.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../serialized-form.html#org.apache.kudu.client.PleaseThrottleException">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.kudu.client.KuduException">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></h3>
+<code><a href="../../../../org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client">KuduException.OriginalException</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>com.stumbleupon.async.Deferred</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PleaseThrottleException.html#getDeferred--">getDeferred</a></span>()</code>
+<div class="block">Returns a deferred one can wait on before retrying the failed RPC.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/PleaseThrottleException.html#getFailedRpc--">getFailedRpc</a></span>()</code>
+<div class="block">The RPC that was made to fail with this exception.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.KuduException">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></h3>
+<code><a href="../../../../org/apache/kudu/client/KuduException.html#getStatus--">getStatus</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Throwable">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#addSuppressed-java.lang.Throwable-" title="class or interface in java.lang">addSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace--" title="class or interface in java.lang">fillInStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getCause--" title="class or interface in java.lang">getCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage--" title="class or interface in java.lang">getLocalizedMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getMessage--" title="class or interface in java.lang">getMessage</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getSuppressed--" title="class or interface in java.lang">getSuppressed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#initCause-java.lang.Throwable-" title="class or interface in java.lang">initCause</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace--" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintStream-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace-java.io.PrintWriter-" title="class or interface in java.lang">printStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#setStackTrace-java.lang.StackTraceElement:A-" title="class or interface in java.lang">setStackTrace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getFailedRpc--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFailedRpc</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&nbsp;getFailedRpc()</pre>
+<div class="block">The RPC that was made to fail with this exception.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/kudu/client/HasFailedRpcException.html#getFailedRpc--">getFailedRpc</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client">HasFailedRpcException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getDeferred--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getDeferred</h4>
+<pre>public&nbsp;com.stumbleupon.async.Deferred&nbsp;getDeferred()</pre>
+<div class="block">Returns a deferred one can wait on before retrying the failed RPC.</div>
+<dl>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>1.3</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/PleaseThrottleException.html" target="_top">Frames</a></li>
+<li><a href="PleaseThrottleException.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.kudu.client.KuduException">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/RangePartitionBound.html b/releases/1.15.0/apidocs/org/apache/kudu/client/RangePartitionBound.html
new file mode 100644
index 0000000..0462bb3
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/RangePartitionBound.html
@@ -0,0 +1,347 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>RangePartitionBound</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="RangePartitionBound";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/RangePartitionBound.html" target="_top">Frames</a></li>
+<li><a href="RangePartitionBound.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Enum RangePartitionBound" class="title">Enum RangePartitionBound</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.RangePartitionBound</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public enum <span class="typeNameLabel">RangePartitionBound</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&gt;</pre>
+<div class="block">Specifies whether a range partition bound is inclusive or exclusive.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RangePartitionBound.html#EXCLUSIVE_BOUND">EXCLUSIVE_BOUND</a></span></code>
+<div class="block">An exclusive range partition bound.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RangePartitionBound.html#INCLUSIVE_BOUND">INCLUSIVE_BOUND</a></span></code>
+<div class="block">An inclusive range partition bound.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RangePartitionBound.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RangePartitionBound.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="EXCLUSIVE_BOUND">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EXCLUSIVE_BOUND</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a> EXCLUSIVE_BOUND</pre>
+<div class="block">An exclusive range partition bound.</div>
+</li>
+</ul>
+<a name="INCLUSIVE_BOUND">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>INCLUSIVE_BOUND</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a> INCLUSIVE_BOUND</pre>
+<div class="block">An inclusive range partition bound.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (RangePartitionBound c : RangePartitionBound.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/RangePartitionBound.html" target="_top">Frames</a></li>
+<li><a href="RangePartitionBound.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/ReplicaSelection.html b/releases/1.15.0/apidocs/org/apache/kudu/client/ReplicaSelection.html
new file mode 100644
index 0000000..0cceb12
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/ReplicaSelection.html
@@ -0,0 +1,351 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ReplicaSelection</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ReplicaSelection";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/ReplicaSelection.html" target="_top">Frames</a></li>
+<li><a href="ReplicaSelection.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Enum ReplicaSelection" class="title">Enum ReplicaSelection</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.ReplicaSelection</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public enum <span class="typeNameLabel">ReplicaSelection</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a>&gt;</pre>
+<div class="block">Policy with which to choose amongst multiple replicas.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ReplicaSelection.html#CLOSEST_REPLICA">CLOSEST_REPLICA</a></span></code>
+<div class="block">Select the closest replica to the client.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ReplicaSelection.html#LEADER_ONLY">LEADER_ONLY</a></span></code>
+<div class="block">Select the LEADER replica.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ReplicaSelection.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ReplicaSelection.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="LEADER_ONLY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LEADER_ONLY</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a> LEADER_ONLY</pre>
+<div class="block">Select the LEADER replica.</div>
+</li>
+</ul>
+<a name="CLOSEST_REPLICA">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CLOSEST_REPLICA</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a> CLOSEST_REPLICA</pre>
+<div class="block">Select the closest replica to the client. Replicas are classified from closest to furthest as
+ follows:
+ - Local replicas
+ - Replicas whose tablet server has the same location as the client
+ - All other replicas</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (ReplicaSelection c : ReplicaSelection.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/ReplicaSelection.html" target="_top">Frames</a></li>
+<li><a href="ReplicaSelection.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/ResourceMetrics.html b/releases/1.15.0/apidocs/org/apache/kudu/client/ResourceMetrics.html
new file mode 100644
index 0000000..e920811
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/ResourceMetrics.html
@@ -0,0 +1,305 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ResourceMetrics</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ResourceMetrics";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/ResourceMetrics.html" target="_top">Frames</a></li>
+<li><a href="ResourceMetrics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class ResourceMetrics" class="title">Class ResourceMetrics</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.ResourceMetrics</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">ResourceMetrics</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A container for scanner resource metrics.
+ <p>
+ This class wraps a mapping from metric name to metric value for server-side
+ metrics associated with a scanner.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ResourceMetrics.html#ResourceMetrics--">ResourceMetrics</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ResourceMetrics.html#get--">get</a></span>()</code>
+<div class="block">Returns a copy of this ResourceMetrics's underlying map of metric name to
+ metric value.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/ResourceMetrics.html#getMetric-java.lang.String-">getMetric</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the value of the metric named by 'name', or 0 if there is no such metric.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ResourceMetrics--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ResourceMetrics</h4>
+<pre>public&nbsp;ResourceMetrics()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="get--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>get</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;get()</pre>
+<div class="block">Returns a copy of this ResourceMetrics's underlying map of metric name to
+ metric value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a map of metric name to metric value</dd>
+</dl>
+</li>
+</ul>
+<a name="getMetric-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getMetric</h4>
+<pre>public&nbsp;long&nbsp;getMetric(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the value of the metric named by 'name', or 0 if there is no such metric.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the metric to get the value for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value of the named metric; if the metric is not found, returns 0</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/ResourceMetrics.html" target="_top">Frames</a></li>
+<li><a href="ResourceMetrics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/RowError.html b/releases/1.15.0/apidocs/org/apache/kudu/client/RowError.html
new file mode 100644
index 0000000..cc294cf
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/RowError.html
@@ -0,0 +1,347 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>RowError</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="RowError";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":42,"i2":10,"i3":42,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/RowError.html" target="_top">Frames</a></li>
+<li><a href="RowError.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class RowError" class="title">Class RowError</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.RowError</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">RowError</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Wrapper class for a single row error.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowError.html#getErrorStatus--">getErrorStatus</a></span>()</code>
+<div class="block">Get the status code and message of the row error.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowError.html#getMessage--">getMessage</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Please use getErrorStatus() instead. Will be removed in a future version.</span></div>
+</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowError.html#getOperation--">getOperation</a></span>()</code>
+<div class="block">Get the Operation that failed.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowError.html#getStatus--">getStatus</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Please use getErrorStatus() instead. Will be removed in a future version.</span></div>
+</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowError.html#getTsUUID--">getTsUUID</a></span>()</code>
+<div class="block">Get the identifier of the tablet server that sent the error.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowError.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getErrorStatus--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getErrorStatus</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;getErrorStatus()</pre>
+<div class="block">Get the status code and message of the row error.</div>
+</li>
+</ul>
+<a name="getStatus--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getStatus</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getStatus()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Please use getErrorStatus() instead. Will be removed in a future version.</span></div>
+<div class="block">Get the string-representation of the error code that the tablet server returned.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A short string representation of the error.</dd>
+</dl>
+</li>
+</ul>
+<a name="getMessage--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMessage</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMessage()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Please use getErrorStatus() instead. Will be removed in a future version.</span></div>
+<div class="block">Get the error message the tablet server sent.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The error message.</dd>
+</dl>
+</li>
+</ul>
+<a name="getOperation--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOperation</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&nbsp;getOperation()</pre>
+<div class="block">Get the Operation that failed.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The same Operation instance that failed</dd>
+</dl>
+</li>
+</ul>
+<a name="getTsUUID--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTsUUID</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTsUUID()</pre>
+<div class="block">Get the identifier of the tablet server that sent the error.
+ The UUID may be <code>null</code> if the failure occurred before sending the row
+ to a tablet server (for instance, if the row falls in a non-covered range partition).</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A string containing a UUID</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/RowError.html" target="_top">Frames</a></li>
+<li><a href="RowError.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/RowErrorsAndOverflowStatus.html b/releases/1.15.0/apidocs/org/apache/kudu/client/RowErrorsAndOverflowStatus.html
new file mode 100644
index 0000000..b520ba8
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/RowErrorsAndOverflowStatus.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>RowErrorsAndOverflowStatus</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="RowErrorsAndOverflowStatus";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/RowErrorsAndOverflowStatus.html" target="_top">Frames</a></li>
+<li><a href="RowErrorsAndOverflowStatus.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class RowErrorsAndOverflowStatus" class="title">Class RowErrorsAndOverflowStatus</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.RowErrorsAndOverflowStatus</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">RowErrorsAndOverflowStatus</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Container class used as a response when retrieving pending row errors.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html#getRowErrors--">getRowErrors</a></span>()</code>
+<div class="block">Get the collected row errors.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html#isOverflowed--">isOverflowed</a></span>()</code>
+<div class="block">Check if the error collector had an overflow and had to discard row errors.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getRowErrors--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRowErrors</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a>[]&nbsp;getRowErrors()</pre>
+<div class="block">Get the collected row errors.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array of row errors, may be empty</dd>
+</dl>
+</li>
+</ul>
+<a name="isOverflowed--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isOverflowed</h4>
+<pre>public&nbsp;boolean&nbsp;isOverflowed()</pre>
+<div class="block">Check if the error collector had an overflow and had to discard row errors.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if row errors were discarded, false otherwise</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/RowErrorsAndOverflowStatus.html" target="_top">Frames</a></li>
+<li><a href="RowErrorsAndOverflowStatus.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/RowResult.html b/releases/1.15.0/apidocs/org/apache/kudu/client/RowResult.html
new file mode 100644
index 0000000..2689d15
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/RowResult.html
@@ -0,0 +1,1335 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>RowResult</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="RowResult";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":6,"i4":10,"i5":6,"i6":10,"i7":6,"i8":10,"i9":6,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":6,"i17":10,"i18":6,"i19":10,"i20":6,"i21":10,"i22":6,"i23":10,"i24":6,"i25":10,"i26":10,"i27":10,"i28":10,"i29":6,"i30":10,"i31":10,"i32":10,"i33":6,"i34":10,"i35":10,"i36":10,"i37":6,"i38":6,"i39":10,"i40":10,"i41":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/RowResult.html" target="_top">Frames</a></li>
+<li><a href="RowResult.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class RowResult" class="title">Class RowResult</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.RowResult</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public abstract class <span class="typeNameLabel">RowResult</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">RowResult represents one row from a scanner.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#index">index</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#INDEX_RESET_LOCATION">INDEX_RESET_LOCATION</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#schema">schema</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#checkNull-int-">checkNull</a></span>(int&nbsp;columnIndex)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#checkType-int-org.apache.kudu.Type...-">checkType</a></span>(int&nbsp;columnIndex,
+         <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>...&nbsp;types)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#checkValidColumn-int-">checkValidColumn</a></span>(int&nbsp;columnIndex)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getBinary-int-">getBinary</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's binary data.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getBinary-java.lang.String-">getBinary</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's binary data.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>abstract byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getBinaryCopy-int-">getBinaryCopy</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get a copy of the specified column's binary data.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getBinaryCopy-java.lang.String-">getBinaryCopy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get a copy of the specified column's binary data.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getBoolean-int-">getBoolean</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's boolean</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getBoolean-java.lang.String-">getBoolean</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's boolean</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>abstract byte</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getByte-int-">getByte</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's byte</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>byte</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getByte-java.lang.String-">getByte</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's byte</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getColumnProjection--">getColumnProjection</a></span>()</code>
+<div class="block">Get the schema used for this scanner's column projection.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getColumnType-int-">getColumnType</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the type of a column in this result.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getColumnType-java.lang.String-">getColumnType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the type of a column in this result.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getDate-int-">getDate</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's Date.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getDate-java.lang.String-">getDate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's Date.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getDecimal-int-">getDecimal</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's Decimal.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getDecimal-java.lang.String-">getDecimal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's Decimal.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>abstract double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getDouble-int-">getDouble</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's double</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getDouble-java.lang.String-">getDouble</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's double</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>abstract float</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getFloat-int-">getFloat</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's float</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>float</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getFloat-java.lang.String-">getFloat</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's float</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getInt-int-">getInt</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's integer</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getInt-java.lang.String-">getInt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's integer</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>abstract long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getLong-int-">getLong</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's long
+
+ If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds
+ since midnight, January 1, 1970 UTC.</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getLong-java.lang.String-">getLong</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's long
+
+ If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds
+ since midnight, January 1, 1970 UTC.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getObject-int-">getObject</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's value as an Object.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getObject-java.lang.String-">getObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's value as an Object.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getSchema--">getSchema</a></span>()</code>
+<div class="block">Get the schema associated with this result.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>abstract short</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getShort-int-">getShort</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's short</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>short</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getShort-java.lang.String-">getShort</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's short</div>
+</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getString-int-">getString</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's string.</div>
+</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getString-java.lang.String-">getString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's string.</div>
+</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getTimestamp-int-">getTimestamp</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's Timestamp.</div>
+</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getTimestamp-java.lang.String-">getTimestamp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's Timestamp.</div>
+</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getVarchar-int-">getVarchar</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get the specified column's varchar.</div>
+</td>
+</tr>
+<tr id="i36" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getVarchar-java.lang.String-">getVarchar</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get the specified column's varchar.</div>
+</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code>protected abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#getVarLengthData-int-">getVarLengthData</a></span>(int&nbsp;columnIndex)</code>&nbsp;</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#isNull-int-">isNull</a></span>(int&nbsp;columnIndex)</code>
+<div class="block">Get if the specified column is NULL</div>
+</td>
+</tr>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#isNull-java.lang.String-">isNull</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</code>
+<div class="block">Get if the specified column is NULL</div>
+</td>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#rowToString--">rowToString</a></span>()</code>
+<div class="block">Return the actual data from this row in a stringified key=value
+ form.</div>
+</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResult.html#toStringLongFormat--">toStringLongFormat</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="INDEX_RESET_LOCATION">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>INDEX_RESET_LOCATION</h4>
+<pre>protected static final&nbsp;int INDEX_RESET_LOCATION</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.kudu.client.RowResult.INDEX_RESET_LOCATION">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="index">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>index</h4>
+<pre>protected&nbsp;int index</pre>
+</li>
+</ul>
+<a name="schema">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>schema</h4>
+<pre>protected final&nbsp;<a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a> schema</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getInt-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInt</h4>
+<pre>public final&nbsp;int&nbsp;getInt(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's integer</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an integer</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist, is null,
+ or if the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getInt-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInt</h4>
+<pre>public abstract&nbsp;int&nbsp;getInt(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's integer</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an integer</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getShort-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getShort</h4>
+<pre>public final&nbsp;short&nbsp;getShort(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's short</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a short</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist, is null,
+ or if the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getShort-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getShort</h4>
+<pre>public abstract&nbsp;short&nbsp;getShort(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's short</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a short</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getBoolean-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBoolean</h4>
+<pre>public final&nbsp;boolean&nbsp;getBoolean(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's boolean</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a boolean</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist, is null,
+ or if the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getBoolean-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBoolean</h4>
+<pre>public abstract&nbsp;boolean&nbsp;getBoolean(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's boolean</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a boolean</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getByte-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getByte</h4>
+<pre>public final&nbsp;byte&nbsp;getByte(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's byte</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a byte</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist, is null,
+ or if the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getByte-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getByte</h4>
+<pre>public abstract&nbsp;byte&nbsp;getByte(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's byte</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a byte</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getLong-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLong</h4>
+<pre>public final&nbsp;long&nbsp;getLong(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's long
+
+ If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds
+ since midnight, January 1, 1970 UTC.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a positive long</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist or is null</dd>
+</dl>
+</li>
+</ul>
+<a name="getLong-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLong</h4>
+<pre>public abstract&nbsp;long&nbsp;getLong(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's long
+
+ If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds
+ since midnight, January 1, 1970 UTC.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a positive long</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getFloat-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFloat</h4>
+<pre>public final&nbsp;float&nbsp;getFloat(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's float</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a float</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist, is null,
+ or if the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getFloat-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFloat</h4>
+<pre>public abstract&nbsp;float&nbsp;getFloat(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's float</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a float</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getDouble-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDouble</h4>
+<pre>public final&nbsp;double&nbsp;getDouble(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's double</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a double</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist, is null,
+ or if the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getDouble-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDouble</h4>
+<pre>public abstract&nbsp;double&nbsp;getDouble(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's double</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a double</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getDecimal-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDecimal</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;getDecimal(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's Decimal.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a BigDecimal</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist or is null</dd>
+</dl>
+</li>
+</ul>
+<a name="getDecimal-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDecimal</h4>
+<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;getDecimal(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's Decimal.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a BigDecimal.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getTimestamp-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTimestamp</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;getTimestamp(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's Timestamp.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a Timestamp</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getTimestamp-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTimestamp</h4>
+<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;getTimestamp(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's Timestamp.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a Timestamp</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getDate-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDate</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a>&nbsp;getDate(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's Date.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a Date</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist,
+ is null, is unset, or the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getDate-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDate</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html?is-external=true" title="class or interface in java.sql">Date</a>&nbsp;getDate(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's Date.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a Date</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null, is unset,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getColumnProjection--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumnProjection</h4>
+<pre>public final&nbsp;<a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getColumnProjection()</pre>
+<div class="block">Get the schema used for this scanner's column projection.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a column projection as a schema.</dd>
+</dl>
+</li>
+</ul>
+<a name="getString-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getString</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's string.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist, is null,
+ or if the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getString-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getString</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getString(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's string.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getVarLengthData-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVarLengthData</h4>
+<pre>protected abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getVarLengthData(int&nbsp;columnIndex)</pre>
+</li>
+</ul>
+<a name="getVarchar-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVarchar</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getVarchar(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's varchar.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getVarchar-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVarchar</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getVarchar(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's varchar.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist, is null,
+ or if the type doesn't match the column's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getBinaryCopy-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBinaryCopy</h4>
+<pre>public final&nbsp;byte[]&nbsp;getBinaryCopy(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get a copy of the specified column's binary data.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a byte[] with the binary data.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist, is null,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getBinaryCopy-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBinaryCopy</h4>
+<pre>public abstract&nbsp;byte[]&nbsp;getBinaryCopy(int&nbsp;columnIndex)</pre>
+<div class="block">Get a copy of the specified column's binary data.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a byte[] with the binary data.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getBinary-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBinary</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;getBinary(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's binary data.
+
+ This doesn't copy the data and instead returns a ByteBuffer that wraps it.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column to get data for</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a ByteBuffer with the binary data.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column doesn't exist, is null,
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getBinary-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBinary</h4>
+<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;getBinary(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's binary data.
+
+ This doesn't copy the data and instead returns a ByteBuffer that wraps it.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a ByteBuffer with the binary data.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null
+ or if the type doesn't match the column's type</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="isNull-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isNull</h4>
+<pre>public final&nbsp;boolean&nbsp;isNull(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get if the specified column is NULL</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the column cell is null and the column is nullable,
+ false otherwise</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="isNull-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isNull</h4>
+<pre>public abstract&nbsp;boolean&nbsp;isNull(int&nbsp;columnIndex)</pre>
+<div class="block">Get if the specified column is NULL</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the column cell is null and the column is nullable,
+ false otherwise</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getObject-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObject</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getObject(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the specified column's value as an Object.
+
+ This method is useful when you don't care about autoboxing
+ and your existing type handling logic is based on Java types.
+
+ The Object type is based on the column's <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu"><code>Type</code></a>:
+  Type.BOOL -> java.lang.Boolean
+  Type.INT8 -> java.lang.Byte
+  Type.INT16 -> java.lang.Short
+  Type.INT32 -> java.lang.Integer
+  Type.INT64 -> java.lang.Long
+  Type.UNIXTIME_MICROS -> java.sql.Timestamp
+  Type.FLOAT -> java.lang.Float
+  Type.DOUBLE -> java.lang.Double
+  Type.VARCHAR -> java.lang.String
+  Type.STRING -> java.lang.String
+  Type.BINARY -> byte[]
+  Type.DECIMAL -> java.math.BigDecimal</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the column's value as an Object, null if the value is null</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getObject-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getObject</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getObject(int&nbsp;columnIndex)</pre>
+<div class="block">Get the specified column's value as an Object.
+
+ This method is useful when you don't care about autoboxing
+ and your existing type handling logic is based on Java types.
+
+ The Object type is based on the column's <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu"><code>Type</code></a>:
+  Type.BOOL -> java.lang.Boolean
+  Type.INT8 -> java.lang.Byte
+  Type.INT16 -> java.lang.Short
+  Type.INT32 -> java.lang.Integer
+  Type.INT64 -> java.lang.Long
+  Type.UNIXTIME_MICROS -> java.sql.Timestamp
+  Type.FLOAT -> java.lang.Float
+  Type.DOUBLE -> java.lang.Double
+  Type.VARCHAR -> java.lang.String
+  Type.STRING -> java.lang.String
+  Type.BINARY -> byte[]
+  Type.DECIMAL -> java.math.BigDecimal
+  Type.Date -> java.sql.Date</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - Column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the column's value as an Object, null if the value is null</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getColumnType-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumnType</h4>
+<pre>public final&nbsp;<a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;getColumnType(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnName)</pre>
+<div class="block">Get the type of a column in this result.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnName</code> - name of the column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a type</dd>
+</dl>
+</li>
+</ul>
+<a name="getColumnType-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumnType</h4>
+<pre>public final&nbsp;<a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>&nbsp;getColumnType(int&nbsp;columnIndex)</pre>
+<div class="block">Get the type of a column in this result.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnIndex</code> - column index in the schema</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a type</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="getSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSchema</h4>
+<pre>public final&nbsp;<a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getSchema()</pre>
+<div class="block">Get the schema associated with this result.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a schema</dd>
+</dl>
+</li>
+</ul>
+<a name="checkValidColumn-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkValidColumn</h4>
+<pre>protected final&nbsp;void&nbsp;checkValidColumn(int&nbsp;columnIndex)</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">IndexOutOfBoundsException</a></code> - if the column doesn't exist</dd>
+</dl>
+</li>
+</ul>
+<a name="checkNull-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkNull</h4>
+<pre>protected final&nbsp;void&nbsp;checkNull(int&nbsp;columnIndex)</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the column is null</dd>
+</dl>
+</li>
+</ul>
+<a name="checkType-int-org.apache.kudu.Type...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkType</h4>
+<pre>protected final&nbsp;void&nbsp;checkType(int&nbsp;columnIndex,
+                               <a href="../../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a>...&nbsp;types)</pre>
+</li>
+</ul>
+<a name="rowToString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rowToString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rowToString()</pre>
+<div class="block">Return the actual data from this row in a stringified key=value
+ form.</div>
+</li>
+</ul>
+<a name="toStringLongFormat--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toStringLongFormat</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toStringLongFormat()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string describing the location of this row result within
+ the iterator as well as its data.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/RowResult.html" target="_top">Frames</a></li>
+<li><a href="RowResult.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/RowResultIterator.html b/releases/1.15.0/apidocs/org/apache/kudu/client/RowResultIterator.html
new file mode 100644
index 0000000..95e6857
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/RowResultIterator.html
@@ -0,0 +1,426 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>RowResultIterator</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="RowResultIterator";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/RowResultIterator.html" target="_top">Frames</a></li>
+<li><a href="RowResultIterator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class RowResultIterator" class="title">Class RowResultIterator</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.RowResultIterator</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public abstract class <span class="typeNameLabel">RowResultIterator</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</pre>
+<div class="block">Class that contains the rows sent by a tablet server, exhausting this iterator only means
+ that all the rows from the last server response were read.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResultIterator.html#currentRow">currentRow</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResultIterator.html#numRows">numRows</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResultIterator.html#schema">schema</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResultIterator.html#empty--">empty</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResultIterator.html#getElapsedMillis--">getElapsedMillis</a></span>()</code>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResultIterator.html#getNumRows--">getNumRows</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResultIterator.html#getTsUUID--">getTsUUID</a></span>()</code>
+<div class="block">Get the identifier of the tablet server that sent the response.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResultIterator.html#hasNext--">hasNext</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResultIterator.html#iterator--">iterator</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/RowResultIterator.html#remove--">remove</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.Iterator">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#forEachRemaining-java.util.function.Consumer-" title="class or interface in java.util">forEachRemaining</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#next--" title="class or interface in java.util">next</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Iterable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#forEach-java.util.function.Consumer-" title="class or interface in java.lang">forEach</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#spliterator--" title="class or interface in java.lang">spliterator</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="schema">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>schema</h4>
+<pre>protected final&nbsp;<a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a> schema</pre>
+</li>
+</ul>
+<a name="numRows">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>numRows</h4>
+<pre>protected final&nbsp;int numRows</pre>
+</li>
+</ul>
+<a name="currentRow">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>currentRow</h4>
+<pre>protected&nbsp;int currentRow</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getNumRows--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumRows</h4>
+<pre>public&nbsp;int&nbsp;getNumRows()</pre>
+</li>
+</ul>
+<a name="empty--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>empty</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a>&nbsp;empty()</pre>
+</li>
+</ul>
+<a name="hasNext--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasNext</h4>
+<pre>public&nbsp;boolean&nbsp;hasNext()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#hasNext--" title="class or interface in java.util">hasNext</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="remove--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>remove</h4>
+<pre>public&nbsp;void&nbsp;remove()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#remove--" title="class or interface in java.util">remove</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="iterator--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>iterator</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;&nbsp;iterator()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#iterator--" title="class or interface in java.lang">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getElapsedMillis--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getElapsedMillis</h4>
+<pre>public&nbsp;long&nbsp;getElapsedMillis()</pre>
+<div class="block">Get the number of milliseconds elapsed since the RPC was created up to the moment when this
+ response was created.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>elapsed time in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="getTsUUID--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTsUUID</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTsUUID()</pre>
+<div class="block">Get the identifier of the tablet server that sent the response. May be
+ <code>null</code> if the RPC failed before tablet location lookup succeeded.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a string containing a UUID</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/RowResultIterator.html" target="_top">Frames</a></li>
+<li><a href="RowResultIterator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/SessionConfiguration.FlushMode.html b/releases/1.15.0/apidocs/org/apache/kudu/client/SessionConfiguration.FlushMode.html
new file mode 100644
index 0000000..9e1fbff
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/SessionConfiguration.FlushMode.html
@@ -0,0 +1,394 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>SessionConfiguration.FlushMode</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SessionConfiguration.FlushMode";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/SessionConfiguration.FlushMode.html" target="_top">Frames</a></li>
+<li><a href="SessionConfiguration.FlushMode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Enum SessionConfiguration.FlushMode" class="title">Enum SessionConfiguration.FlushMode</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.SessionConfiguration.FlushMode</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing interface:</dt>
+<dd><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static enum <span class="typeNameLabel">SessionConfiguration.FlushMode</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_BACKGROUND">AUTO_FLUSH_BACKGROUND</a></span></code>
+<div class="block"><a href="../../../../org/apache/kudu/client/KuduSession.html#apply-org.apache.kudu.client.Operation-"><code>KuduSession.apply()</code></a> calls will return immediately, but the writes
+ will be sent in the background, potentially batched together with other writes from
+ the same session.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_SYNC">AUTO_FLUSH_SYNC</a></span></code>
+<div class="block">Each <a href="../../../../org/apache/kudu/client/KuduSession.html#apply-org.apache.kudu.client.Operation-"><code>KuduSession.apply()</code></a> call will return only after being
+ flushed to the server automatically.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#MANUAL_FLUSH">MANUAL_FLUSH</a></span></code>
+<div class="block"><a href="../../../../org/apache/kudu/client/KuduSession.html#apply-org.apache.kudu.client.Operation-"><code>KuduSession.apply()</code></a> calls will return immediately, but the writes
+ will not be sent until the user calls <a href="../../../../org/apache/kudu/client/KuduSession.html#flush--"><code>KuduSession.flush()</code></a>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="AUTO_FLUSH_SYNC">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AUTO_FLUSH_SYNC</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a> AUTO_FLUSH_SYNC</pre>
+<div class="block">Each <a href="../../../../org/apache/kudu/client/KuduSession.html#apply-org.apache.kudu.client.Operation-"><code>KuduSession.apply()</code></a> call will return only after being
+ flushed to the server automatically. No batching will occur.
+
+ <p>In this mode, the <a href="../../../../org/apache/kudu/client/KuduSession.html#flush--"><code>KuduSession.flush()</code></a> call never has any effect, since each
+ <a href="../../../../org/apache/kudu/client/KuduSession.html#apply-org.apache.kudu.client.Operation-"><code>KuduSession.apply()</code></a> has already flushed the buffer before
+ returning.
+
+ <p><strong>This is the default flush mode.</strong></div>
+</li>
+</ul>
+<a name="AUTO_FLUSH_BACKGROUND">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AUTO_FLUSH_BACKGROUND</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a> AUTO_FLUSH_BACKGROUND</pre>
+<div class="block"><a href="../../../../org/apache/kudu/client/KuduSession.html#apply-org.apache.kudu.client.Operation-"><code>KuduSession.apply()</code></a> calls will return immediately, but the writes
+ will be sent in the background, potentially batched together with other writes from
+ the same session. If there is not sufficient buffer space, then
+ <a href="../../../../org/apache/kudu/client/KuduSession.html#apply-org.apache.kudu.client.Operation-"><code>KuduSession.apply()</code></a> may block for buffer space to be available.
+
+ <p>Because writes are applied in the background, any errors will be stored
+ in a session-local buffer. Call <a href="../../../../org/apache/kudu/client/SessionConfiguration.html#countPendingErrors--"><code>countPendingErrors()</code></a> or
+ <a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getPendingErrors--"><code>getPendingErrors()</code></a> to retrieve them.
+
+ <p><strong>Note:</strong> The <code>AUTO_FLUSH_BACKGROUND</code> mode may result in
+ out-of-order writes to Kudu. This is because in this mode multiple write
+ operations may be sent to the server in parallel.
+ See <a href="https://issues.apache.org/jira/browse/KUDU-1767">KUDU-1767</a> for more
+ information.
+
+ <p>The <a href="../../../../org/apache/kudu/client/KuduSession.html#flush--"><code>KuduSession.flush()</code></a> call can be used to block until the buffer is empty.</div>
+</li>
+</ul>
+<a name="MANUAL_FLUSH">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MANUAL_FLUSH</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a> MANUAL_FLUSH</pre>
+<div class="block"><a href="../../../../org/apache/kudu/client/KuduSession.html#apply-org.apache.kudu.client.Operation-"><code>KuduSession.apply()</code></a> calls will return immediately, but the writes
+ will not be sent until the user calls <a href="../../../../org/apache/kudu/client/KuduSession.html#flush--"><code>KuduSession.flush()</code></a>. If the buffer runs past
+ the configured space limit, then <a href="../../../../org/apache/kudu/client/KuduSession.html#apply-org.apache.kudu.client.Operation-"><code>KuduSession.apply()</code></a> will return
+ an error.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (SessionConfiguration.FlushMode c : SessionConfiguration.FlushMode.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/SessionConfiguration.FlushMode.html" target="_top">Frames</a></li>
+<li><a href="SessionConfiguration.FlushMode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/SessionConfiguration.html b/releases/1.15.0/apidocs/org/apache/kudu/client/SessionConfiguration.html
new file mode 100644
index 0000000..286f8c1
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/SessionConfiguration.html
@@ -0,0 +1,611 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>SessionConfiguration</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SessionConfiguration";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":38,"i15":6,"i16":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/SessionConfiguration.html" target="_top">Frames</a></li>
+<li><a href="SessionConfiguration.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Interface SessionConfiguration" class="title">Interface SessionConfiguration</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a>, <a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public interface <span class="typeNameLabel">SessionConfiguration</span></pre>
+<div class="block">Interface that defines the methods used to configure a session. It also exposes ways to
+ query its state.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#countPendingErrors--">countPendingErrors</a></span>()</code>
+<div class="block">Return the number of errors which are pending.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getFlushMode--">getFlushMode</a></span>()</code>
+<div class="block">Get the current flush mode.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getPendingErrors--">getPendingErrors</a></span>()</code>
+<div class="block">Return any errors from previous calls.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getTimeoutMillis--">getTimeoutMillis</a></span>()</code>
+<div class="block">Get the current timeout.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#hasPendingOperations--">hasPendingOperations</a></span>()</code>
+<div class="block">Check if there are operations that haven't been completely applied.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isClosed--">isClosed</a></span>()</code>
+<div class="block">Returns true if this session has already been closed.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllDuplicateRows--">isIgnoreAllDuplicateRows</a></span>()</code>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the AlreadyPresent type.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllNotFoundRows--">isIgnoreAllNotFoundRows</a></span>()</code>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the NotFound type.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setErrorCollectorSpace-int-">setErrorCollectorSpace</a></span>(int&nbsp;size)</code>
+<div class="block">Set the number of errors that can be collected.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">setExternalConsistencyMode</a></span>(<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>&nbsp;consistencyMode)</code>
+<div class="block">Set the new external consistency mode for this session.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushInterval-int-">setFlushInterval</a></span>(int&nbsp;interval)</code>
+<div class="block">Set the flush interval, which will be used for the next scheduling decision.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">setFlushMode</a></span>(<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;flushMode)</code>
+<div class="block">Set the new flush mode for this session.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllDuplicateRows-boolean-">setIgnoreAllDuplicateRows</a></span>(boolean&nbsp;ignoreAllDuplicateRows)</code>
+<div class="block">Configures the option to ignore all the row errors if they are all of the AlreadyPresent type.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllNotFoundRows-boolean-">setIgnoreAllNotFoundRows</a></span>(boolean&nbsp;ignoreAllNotFoundRows)</code>
+<div class="block">Configures the option to ignore all the row errors if they are all of the NotFound type.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark</a></span>(float&nbsp;mutationBufferLowWatermarkPercentage)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">The low watermark no longer has any effect.</span></div>
+</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferSpace-int-">setMutationBufferSpace</a></span>(int&nbsp;size)</code>
+<div class="block">Set the number of operations that can be buffered.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setTimeoutMillis-long-">setTimeoutMillis</a></span>(long&nbsp;timeout)</code>
+<div class="block">Sets the timeout for the next applied operations.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getFlushMode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFlushMode</h4>
+<pre><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;getFlushMode()</pre>
+<div class="block">Get the current flush mode.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>flush mode, <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_SYNC"><code>AUTO_FLUSH_SYNC</code></a> by default</dd>
+</dl>
+</li>
+</ul>
+<a name="setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFlushMode</h4>
+<pre>void&nbsp;setFlushMode(<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;flushMode)</pre>
+<div class="block">Set the new flush mode for this session.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>flushMode</code> - new flush mode, can be the same as the previous one.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the buffer isn't empty.</dd>
+</dl>
+</li>
+</ul>
+<a name="setMutationBufferSpace-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMutationBufferSpace</h4>
+<pre>void&nbsp;setMutationBufferSpace(int&nbsp;size)</pre>
+<div class="block">Set the number of operations that can be buffered.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>size</code> - number of ops.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the buffer isn't empty.</dd>
+</dl>
+</li>
+</ul>
+<a name="setMutationBufferLowWatermark-float-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMutationBufferLowWatermark</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+void&nbsp;setMutationBufferLowWatermark(float&nbsp;mutationBufferLowWatermarkPercentage)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">The low watermark no longer has any effect.</span></div>
+<div class="block">Set the low watermark for this session. The default is set to half the mutation buffer space.
+ For example, a buffer space of 1000 with a low watermark set to 50% (0.5) will start randomly
+ sending PleaseRetryExceptions once there's an outstanding flush and the buffer is over 500.
+ As the buffer gets fuller, it becomes likelier to hit the exception.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mutationBufferLowWatermarkPercentage</code> - a new low watermark as a percentage,
+                             has to be between 0  and 1 (inclusive). A value of 1 disables
+                             the low watermark since it's the same as the high one</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the buffer isn't empty or if the watermark isn't between
+ 0 and 1</dd>
+</dl>
+</li>
+</ul>
+<a name="setFlushInterval-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFlushInterval</h4>
+<pre>void&nbsp;setFlushInterval(int&nbsp;interval)</pre>
+<div class="block">Set the flush interval, which will be used for the next scheduling decision.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>interval</code> - interval in milliseconds.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTimeoutMillis--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTimeoutMillis</h4>
+<pre>long&nbsp;getTimeoutMillis()</pre>
+<div class="block">Get the current timeout.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>operation timeout in milliseconds, 0 if none was configured.</dd>
+</dl>
+</li>
+</ul>
+<a name="setTimeoutMillis-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTimeoutMillis</h4>
+<pre>void&nbsp;setTimeoutMillis(long&nbsp;timeout)</pre>
+<div class="block">Sets the timeout for the next applied operations.
+ The default timeout is 0, which disables the timeout functionality.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeout</code> - Timeout in milliseconds.</dd>
+</dl>
+</li>
+</ul>
+<a name="isClosed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isClosed</h4>
+<pre>boolean&nbsp;isClosed()</pre>
+<div class="block">Returns true if this session has already been closed.</div>
+</li>
+</ul>
+<a name="hasPendingOperations--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasPendingOperations</h4>
+<pre>boolean&nbsp;hasPendingOperations()</pre>
+<div class="block">Check if there are operations that haven't been completely applied.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if operations are pending, else false.</dd>
+</dl>
+</li>
+</ul>
+<a name="setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setExternalConsistencyMode</h4>
+<pre>void&nbsp;setExternalConsistencyMode(<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>&nbsp;consistencyMode)</pre>
+<div class="block">Set the new external consistency mode for this session.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>consistencyMode</code> - new external consistency mode, can the same as the previous one.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the buffer isn't empty.</dd>
+</dl>
+</li>
+</ul>
+<a name="isIgnoreAllDuplicateRows--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isIgnoreAllDuplicateRows</h4>
+<pre>boolean&nbsp;isIgnoreAllDuplicateRows()</pre>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the AlreadyPresent type.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the session is enforcing this, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="setIgnoreAllDuplicateRows-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setIgnoreAllDuplicateRows</h4>
+<pre>void&nbsp;setIgnoreAllDuplicateRows(boolean&nbsp;ignoreAllDuplicateRows)</pre>
+<div class="block">Configures the option to ignore all the row errors if they are all of the AlreadyPresent type.
+ This can be useful when it is possible for INSERT operations to be retried and fail.
+ The effect of enabling this is that operation responses that match this pattern will be
+ cleared of their row errors, meaning that we consider them successful.
+
+ TODO(KUDU-1563): Implement server side ignore capabilities to improve performance and
+  reliability of INSERT ignore operations.
+
+ <p>Disabled by default.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ignoreAllDuplicateRows</code> - true if this session should enforce this, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="isIgnoreAllNotFoundRows--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isIgnoreAllNotFoundRows</h4>
+<pre>boolean&nbsp;isIgnoreAllNotFoundRows()</pre>
+<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
+ server is of the NotFound type.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the session is enforcing this, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="setIgnoreAllNotFoundRows-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setIgnoreAllNotFoundRows</h4>
+<pre>void&nbsp;setIgnoreAllNotFoundRows(boolean&nbsp;ignoreAllNotFoundRows)</pre>
+<div class="block">Configures the option to ignore all the row errors if they are all of the NotFound type.
+ This can be useful when it is possible for DELETE operations to be retried and fail.
+ The effect of enabling this is that operation responses that match this pattern will be
+ cleared of their row errors, meaning that we consider them successful.
+
+ TODO(KUDU-1563): Implement server side ignore capabilities to improve performance and
+  reliability of DELETE ignore operations.
+
+ <p>Disabled by default.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ignoreAllNotFoundRows</code> - true if this session should enforce this, else false</dd>
+</dl>
+</li>
+</ul>
+<a name="setErrorCollectorSpace-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setErrorCollectorSpace</h4>
+<pre>void&nbsp;setErrorCollectorSpace(int&nbsp;size)</pre>
+<div class="block">Set the number of errors that can be collected.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>size</code> - number of errors.</dd>
+</dl>
+</li>
+</ul>
+<a name="countPendingErrors--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countPendingErrors</h4>
+<pre>int&nbsp;countPendingErrors()</pre>
+<div class="block">Return the number of errors which are pending. Errors may accumulate when
+ using <a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html#AUTO_FLUSH_BACKGROUND"><code>AUTO_FLUSH_BACKGROUND</code></a> mode.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a count of errors</dd>
+</dl>
+</li>
+</ul>
+<a name="getPendingErrors--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getPendingErrors</h4>
+<pre><a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a>&nbsp;getPendingErrors()</pre>
+<div class="block">Return any errors from previous calls. If there were more errors
+ than could be held in the session's error storage, the overflow state is set to true.
+
+ <p>Clears the pending errors.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an object that contains the errors and the overflow status</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/SessionConfiguration.html" target="_top">Frames</a></li>
+<li><a href="SessionConfiguration.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/Statistics.Statistic.html b/releases/1.15.0/apidocs/org/apache/kudu/client/Statistics.Statistic.html
new file mode 100644
index 0000000..88922dc
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/Statistics.Statistic.html
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Statistics.Statistic</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Statistics.Statistic";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Statistics.Statistic.html" target="_top">Frames</a></li>
+<li><a href="Statistics.Statistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Enum Statistics.Statistic" class="title">Enum Statistics.Statistic</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.Statistics.Statistic</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public static enum <span class="typeNameLabel">Statistics.Statistic</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a>&gt;</pre>
+<div class="block">The statistic enum to pass when querying.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html#BYTES_WRITTEN">BYTES_WRITTEN</a></span></code>
+<div class="block">How many bytes have been written by this client.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html#OPS_ERRORS">OPS_ERRORS</a></span></code>
+<div class="block">How many operations have been sent to server but failed.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html#RPC_ERRORS">RPC_ERRORS</a></span></code>
+<div class="block">How many rpcs have been sent to server but failed.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html#WRITE_OPS">WRITE_OPS</a></span></code>
+<div class="block">How many operations have been sent to server and succeeded.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html#WRITE_RPCS">WRITE_RPCS</a></span></code>
+<div class="block">How many rpcs have been sent to server and succeeded.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="BYTES_WRITTEN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BYTES_WRITTEN</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a> BYTES_WRITTEN</pre>
+<div class="block">How many bytes have been written by this client. If one rpc fails, this
+ statistic won't be updated.</div>
+</li>
+</ul>
+<a name="WRITE_OPS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>WRITE_OPS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a> WRITE_OPS</pre>
+<div class="block">How many operations have been sent to server and succeeded.</div>
+</li>
+</ul>
+<a name="WRITE_RPCS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>WRITE_RPCS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a> WRITE_RPCS</pre>
+<div class="block">How many rpcs have been sent to server and succeeded. One rpc may contain
+ multiple operations.</div>
+</li>
+</ul>
+<a name="OPS_ERRORS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>OPS_ERRORS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a> OPS_ERRORS</pre>
+<div class="block">How many operations have been sent to server but failed.</div>
+</li>
+</ul>
+<a name="RPC_ERRORS">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RPC_ERRORS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a> RPC_ERRORS</pre>
+<div class="block">How many rpcs have been sent to server but failed.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (Statistics.Statistic c : Statistics.Statistic.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Statistics.Statistic.html" target="_top">Frames</a></li>
+<li><a href="Statistics.Statistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/Statistics.html b/releases/1.15.0/apidocs/org/apache/kudu/client/Statistics.html
new file mode 100644
index 0000000..4fb40a3
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/Statistics.html
@@ -0,0 +1,446 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Statistics</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Statistics";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Statistics.html" target="_top">Frames</a></li>
+<li><a href="Statistics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class Statistics" class="title">Class Statistics</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.Statistics</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">Statistics</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A Statistics belongs to a specific AsyncKuduClient. It stores client-level
+ statistics including number of operations, number of bytes written, number of
+ rpcs. It is created along with the client's creation, and can be obtained through
+ AsyncKuduClient or KuduClient's getStatistics method. Once obtained, an instance
+ of this class can be used directly.
+ <p>
+ This class is thread-safe. The user can use it anywhere to get statistics of this
+ client.
+ <p>
+ The method <a href="../../../../org/apache/kudu/client/Statistics.html#toString--"><code>toString()</code></a> can be useful to get a dump of all the metrics aggregated
+ for all the tablets.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a></span></code>
+<div class="block">The statistic enum to pass when querying.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.html#Statistics--">Statistics</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.html#getClientStatistic-org.apache.kudu.client.Statistics.Statistic-">getClientStatistic</a></span>(<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a>&nbsp;statistic)</code>
+<div class="block">Get the statistic count of the whole client.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.html#getTableName-java.lang.String-">getTableName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tabletId)</code>
+<div class="block">Get table name of the given tablet id.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.html#getTableSet--">getTableSet</a></span>()</code>
+<div class="block">Get the set of tables which have been written into by this client,
+ which have statistics information.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.html#getTableStatistic-java.lang.String-org.apache.kudu.client.Statistics.Statistic-">getTableStatistic</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
+                 <a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a>&nbsp;statistic)</code>
+<div class="block">Get the statistic count of this table.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.html#getTabletSet--">getTabletSet</a></span>()</code>
+<div class="block">Get the set of tablets which have been written into by this client,
+ which have statistics information.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.html#getTabletStatistic-java.lang.String-org.apache.kudu.client.Statistics.Statistic-">getTabletStatistic</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tabletId,
+                  <a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a>&nbsp;statistic)</code>
+<div class="block">Get the statistic count of this tablet.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Statistics.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Statistics--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Statistics</h4>
+<pre>public&nbsp;Statistics()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTabletStatistic-java.lang.String-org.apache.kudu.client.Statistics.Statistic-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTabletStatistic</h4>
+<pre>public&nbsp;long&nbsp;getTabletStatistic(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tabletId,
+                               <a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a>&nbsp;statistic)</pre>
+<div class="block">Get the statistic count of this tablet.
+ If the specified tablet doesn't have statistics, 0 will be returned.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tabletId</code> - the tablet's id</dd>
+<dd><code>statistic</code> - the statistic type to get</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value of the statistic</dd>
+</dl>
+</li>
+</ul>
+<a name="getTableStatistic-java.lang.String-org.apache.kudu.client.Statistics.Statistic-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableStatistic</h4>
+<pre>public&nbsp;long&nbsp;getTableStatistic(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
+                              <a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a>&nbsp;statistic)</pre>
+<div class="block">Get the statistic count of this table.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tableName</code> - the table's name</dd>
+<dd><code>statistic</code> - the statistic type to get</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value of the statistic</dd>
+</dl>
+</li>
+</ul>
+<a name="getClientStatistic-org.apache.kudu.client.Statistics.Statistic-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClientStatistic</h4>
+<pre>public&nbsp;long&nbsp;getClientStatistic(<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a>&nbsp;statistic)</pre>
+<div class="block">Get the statistic count of the whole client.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>statistic</code> - the statistic type to get</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value of the statistic</dd>
+</dl>
+</li>
+</ul>
+<a name="getTabletSet--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTabletSet</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTabletSet()</pre>
+<div class="block">Get the set of tablets which have been written into by this client,
+ which have statistics information.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>set of tablet ids</dd>
+</dl>
+</li>
+</ul>
+<a name="getTableSet--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableSet</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTableSet()</pre>
+<div class="block">Get the set of tables which have been written into by this client,
+ which have statistics information.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>set of table names</dd>
+</dl>
+</li>
+</ul>
+<a name="getTableName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTableName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tabletId)</pre>
+<div class="block">Get table name of the given tablet id.
+ If the tablet has no statistics, null will be returned.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tabletId</code> - the tablet's id</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>table name</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Statistics.html" target="_top">Frames</a></li>
+<li><a href="Statistics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/Status.html b/releases/1.15.0/apidocs/org/apache/kudu/client/Status.html
new file mode 100644
index 0000000..d62007c
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/Status.html
@@ -0,0 +1,1029 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Status</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Status";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":10,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":10,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":10,"i56":9,"i57":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Status.html" target="_top">Frames</a></li>
+<li><a href="Status.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class Status" class="title">Class Status</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.Status</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">Status</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Representation of an error code and message.
+ See also <code>src/kudu/util/status.h</code> in the C++ codebase.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#Aborted-java.lang.String-">Aborted</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#Aborted-java.lang.String-int-">Aborted</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+       int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#AlreadyPresent-java.lang.String-">AlreadyPresent</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#AlreadyPresent-java.lang.String-int-">AlreadyPresent</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+              int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#ConfigurationError-java.lang.String-">ConfigurationError</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#ConfigurationError-java.lang.String-int-">ConfigurationError</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                  int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#Corruption-java.lang.String-">Corruption</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#Corruption-java.lang.String-int-">Corruption</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+          int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#EndOfFile-java.lang.String-">EndOfFile</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#EndOfFile-java.lang.String-int-">EndOfFile</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+         int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#getPosixCode--">getPosixCode</a></span>()</code>
+<div class="block">Get the posix code associated with the error.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#IllegalState-java.lang.String-">IllegalState</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#IllegalState-java.lang.String-int-">IllegalState</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+            int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#Incomplete-java.lang.String-">Incomplete</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#Incomplete-java.lang.String-int-">Incomplete</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+          int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#InvalidArgument-java.lang.String-">InvalidArgument</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#InvalidArgument-java.lang.String-int-">InvalidArgument</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+               int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#IOError-java.lang.String-">IOError</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#IOError-java.lang.String-int-">IOError</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+       int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isAborted--">isAborted</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isAlreadyPresent--">isAlreadyPresent</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isConfigurationError--">isConfigurationError</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isCorruption--">isCorruption</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isEndOfFile--">isEndOfFile</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isIllegalState--">isIllegalState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isIncomplete--">isIncomplete</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isInvalidArgument--">isInvalidArgument</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isIOError--">isIOError</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isNetworkError--">isNetworkError</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isNotAuthorized--">isNotAuthorized</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isNotFound--">isNotFound</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isNotSupported--">isNotSupported</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isRemoteError--">isRemoteError</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isRuntimeError--">isRuntimeError</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isServiceUnavailable--">isServiceUnavailable</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isTimedOut--">isTimedOut</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i36" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#isUninitialized--">isUninitialized</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#NetworkError-java.lang.String-">NetworkError</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#NetworkError-java.lang.String-int-">NetworkError</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+            int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#NotAuthorized-java.lang.String-">NotAuthorized</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#NotAuthorized-java.lang.String-int-">NotAuthorized</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+             int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#NotFound-java.lang.String-">NotFound</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#NotFound-java.lang.String-int-">NotFound</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+        int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#NotSupported-java.lang.String-">NotSupported</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i44" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#NotSupported-java.lang.String-int-">NotSupported</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+            int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i45" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#ok--">ok</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i46" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#OK--">OK</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#RemoteError-java.lang.String-">RemoteError</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i48" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#RemoteError-java.lang.String-int-">RemoteError</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+           int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i49" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#RuntimeError-java.lang.String-">RuntimeError</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i50" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#RuntimeError-java.lang.String-int-">RuntimeError</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+            int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i51" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#ServiceUnavailable-java.lang.String-">ServiceUnavailable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i52" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#ServiceUnavailable-java.lang.String-int-">ServiceUnavailable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                  int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i53" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#TimedOut-java.lang.String-">TimedOut</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i54" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#TimedOut-java.lang.String-int-">TimedOut</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+        int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+<tr id="i55" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#toString--">toString</a></span>()</code>
+<div class="block">Get a human-readable version of the Status message fit for logging or display.</div>
+</td>
+</tr>
+<tr id="i56" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#Uninitialized-java.lang.String-">Uninitialized</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
+</tr>
+<tr id="i57" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/Status.html#Uninitialized-java.lang.String-int-">Uninitialized</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+             int&nbsp;posixCode)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="OK--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>OK</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;OK()</pre>
+</li>
+</ul>
+<a name="NotFound-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NotFound</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;NotFound(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="NotFound-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NotFound</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;NotFound(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                              int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="Corruption-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Corruption</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;Corruption(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="Corruption-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Corruption</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;Corruption(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="NotSupported-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NotSupported</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;NotSupported(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="NotSupported-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NotSupported</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;NotSupported(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                  int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="InvalidArgument-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>InvalidArgument</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;InvalidArgument(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="InvalidArgument-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>InvalidArgument</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;InvalidArgument(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                     int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="IOError-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IOError</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;IOError(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="IOError-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IOError</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;IOError(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                             int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="AlreadyPresent-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AlreadyPresent</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;AlreadyPresent(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="AlreadyPresent-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AlreadyPresent</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;AlreadyPresent(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                    int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="RuntimeError-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RuntimeError</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;RuntimeError(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="RuntimeError-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RuntimeError</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;RuntimeError(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                  int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="NetworkError-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NetworkError</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;NetworkError(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="NetworkError-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NetworkError</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;NetworkError(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                  int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="IllegalState-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IllegalState</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;IllegalState(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="IllegalState-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IllegalState</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;IllegalState(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                  int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="NotAuthorized-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NotAuthorized</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;NotAuthorized(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="NotAuthorized-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NotAuthorized</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;NotAuthorized(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                   int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="Aborted-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Aborted</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;Aborted(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="Aborted-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Aborted</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;Aborted(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                             int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="RemoteError-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RemoteError</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;RemoteError(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="RemoteError-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RemoteError</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;RemoteError(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                 int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="ServiceUnavailable-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ServiceUnavailable</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;ServiceUnavailable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="ServiceUnavailable-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ServiceUnavailable</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;ServiceUnavailable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                        int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="TimedOut-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TimedOut</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;TimedOut(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="TimedOut-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TimedOut</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;TimedOut(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                              int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="Uninitialized-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Uninitialized</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;Uninitialized(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="Uninitialized-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Uninitialized</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;Uninitialized(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                   int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="ConfigurationError-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ConfigurationError</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;ConfigurationError(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="ConfigurationError-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ConfigurationError</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;ConfigurationError(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                        int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="Incomplete-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Incomplete</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;Incomplete(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="Incomplete-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Incomplete</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;Incomplete(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                                int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="EndOfFile-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EndOfFile</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;EndOfFile(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+</li>
+</ul>
+<a name="EndOfFile-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EndOfFile</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a>&nbsp;EndOfFile(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+                               int&nbsp;posixCode)</pre>
+</li>
+</ul>
+<a name="ok--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ok</h4>
+<pre>public&nbsp;boolean&nbsp;ok()</pre>
+</li>
+</ul>
+<a name="isCorruption--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isCorruption</h4>
+<pre>public&nbsp;boolean&nbsp;isCorruption()</pre>
+</li>
+</ul>
+<a name="isNotFound--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isNotFound</h4>
+<pre>public&nbsp;boolean&nbsp;isNotFound()</pre>
+</li>
+</ul>
+<a name="isNotSupported--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isNotSupported</h4>
+<pre>public&nbsp;boolean&nbsp;isNotSupported()</pre>
+</li>
+</ul>
+<a name="isInvalidArgument--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isInvalidArgument</h4>
+<pre>public&nbsp;boolean&nbsp;isInvalidArgument()</pre>
+</li>
+</ul>
+<a name="isIOError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isIOError</h4>
+<pre>public&nbsp;boolean&nbsp;isIOError()</pre>
+</li>
+</ul>
+<a name="isAlreadyPresent--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAlreadyPresent</h4>
+<pre>public&nbsp;boolean&nbsp;isAlreadyPresent()</pre>
+</li>
+</ul>
+<a name="isRuntimeError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isRuntimeError</h4>
+<pre>public&nbsp;boolean&nbsp;isRuntimeError()</pre>
+</li>
+</ul>
+<a name="isNetworkError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isNetworkError</h4>
+<pre>public&nbsp;boolean&nbsp;isNetworkError()</pre>
+</li>
+</ul>
+<a name="isIllegalState--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isIllegalState</h4>
+<pre>public&nbsp;boolean&nbsp;isIllegalState()</pre>
+</li>
+</ul>
+<a name="isNotAuthorized--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isNotAuthorized</h4>
+<pre>public&nbsp;boolean&nbsp;isNotAuthorized()</pre>
+</li>
+</ul>
+<a name="isAborted--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAborted</h4>
+<pre>public&nbsp;boolean&nbsp;isAborted()</pre>
+</li>
+</ul>
+<a name="isRemoteError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isRemoteError</h4>
+<pre>public&nbsp;boolean&nbsp;isRemoteError()</pre>
+</li>
+</ul>
+<a name="isServiceUnavailable--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isServiceUnavailable</h4>
+<pre>public&nbsp;boolean&nbsp;isServiceUnavailable()</pre>
+</li>
+</ul>
+<a name="isTimedOut--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isTimedOut</h4>
+<pre>public&nbsp;boolean&nbsp;isTimedOut()</pre>
+</li>
+</ul>
+<a name="isUninitialized--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isUninitialized</h4>
+<pre>public&nbsp;boolean&nbsp;isUninitialized()</pre>
+</li>
+</ul>
+<a name="isConfigurationError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isConfigurationError</h4>
+<pre>public&nbsp;boolean&nbsp;isConfigurationError()</pre>
+</li>
+</ul>
+<a name="isIncomplete--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isIncomplete</h4>
+<pre>public&nbsp;boolean&nbsp;isIncomplete()</pre>
+</li>
+</ul>
+<a name="isEndOfFile--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isEndOfFile</h4>
+<pre>public&nbsp;boolean&nbsp;isEndOfFile()</pre>
+</li>
+</ul>
+<a name="getPosixCode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPosixCode</h4>
+<pre>public&nbsp;int&nbsp;getPosixCode()</pre>
+<div class="block">Get the posix code associated with the error.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>-1</code> if no posix code is set. Otherwise, returns the posix code.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<div class="block">Get a human-readable version of the Status message fit for logging or display.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Status.html" target="_top">Frames</a></li>
+<li><a href="Status.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/Update.html b/releases/1.15.0/apidocs/org/apache/kudu/client/Update.html
new file mode 100644
index 0000000..401bc19
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/Update.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Update</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Update";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Update.html" target="_top">Frames</a></li>
+<li><a href="Update.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class Update" class="title">Class Update</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduRpc&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">org.apache.kudu.client.Operation</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.Update</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">Update</span>
+extends <a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></pre>
+<div class="block">Operation to update columns on an existing row.
+ Instances of this class should not be reused.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.Operation">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></h3>
+<code><a href="../../../../org/apache/kudu/client/Operation.html#getRow--">getRow</a>, <a href="../../../../org/apache/kudu/client/Operation.html#partitionKey--">partitionKey</a>, <a href="../../../../org/apache/kudu/client/Operation.html#setRow-org.apache.kudu.client.PartialRow-">setRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>getExternalConsistencyMode, getTable, setExternalConsistencyMode, setPropagatedTimestamp, toString</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Update.html" target="_top">Frames</a></li>
+<li><a href="Update.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/UpdateIgnore.html b/releases/1.15.0/apidocs/org/apache/kudu/client/UpdateIgnore.html
new file mode 100644
index 0000000..62877b1
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/UpdateIgnore.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>UpdateIgnore</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="UpdateIgnore";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/UpdateIgnore.html" target="_top">Frames</a></li>
+<li><a href="UpdateIgnore.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class UpdateIgnore" class="title">Class UpdateIgnore</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduRpc&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">org.apache.kudu.client.Operation</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.UpdateIgnore</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">UpdateIgnore</span>
+extends <a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></pre>
+<div class="block">Represents a single row update ignoring missing rows.
+ Instances of this class should not be reused.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.Operation">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></h3>
+<code><a href="../../../../org/apache/kudu/client/Operation.html#getRow--">getRow</a>, <a href="../../../../org/apache/kudu/client/Operation.html#partitionKey--">partitionKey</a>, <a href="../../../../org/apache/kudu/client/Operation.html#setRow-org.apache.kudu.client.PartialRow-">setRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>getExternalConsistencyMode, getTable, setExternalConsistencyMode, setPropagatedTimestamp, toString</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/UpdateIgnore.html" target="_top">Frames</a></li>
+<li><a href="UpdateIgnore.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/Upsert.html b/releases/1.15.0/apidocs/org/apache/kudu/client/Upsert.html
new file mode 100644
index 0000000..aef0cc6
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/Upsert.html
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Upsert</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Upsert";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Upsert.html" target="_top">Frames</a></li>
+<li><a href="Upsert.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.client</div>
+<h2 title="Class Upsert" class="title">Class Upsert</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.KuduRpc&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">org.apache.kudu.client.Operation</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.client.Upsert</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">Upsert</span>
+extends <a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></pre>
+<div class="block">Represents a single row upsert. Instances of this class should not be reused.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>MASTER_SERVICE_NAME, TABLET_SERVER_SERVICE_NAME, TXN_MANAGER_SERVICE_NAME</code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.Operation">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></h3>
+<code><a href="../../../../org/apache/kudu/client/Operation.html#getRow--">getRow</a>, <a href="../../../../org/apache/kudu/client/Operation.html#partitionKey--">partitionKey</a>, <a href="../../../../org/apache/kudu/client/Operation.html#setRow-org.apache.kudu.client.PartialRow-">setRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.kudu.client.KuduRpc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.kudu.client.KuduRpc</h3>
+<code>getExternalConsistencyMode, getTable, setExternalConsistencyMode, setPropagatedTimestamp, toString</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/Upsert.html" target="_top">Frames</a></li>
+<li><a href="Upsert.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.kudu.client.KuduRpc">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.kudu.client.Operation">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/package-frame.html b/releases/1.15.0/apidocs/org/apache/kudu/client/package-frame.html
new file mode 100644
index 0000000..8e33f18
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/package-frame.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.client</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../org/apache/kudu/client/package-summary.html" target="classFrame">org.apache.kudu.client</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="HasFailedRpcException.html" title="interface in org.apache.kudu.client" target="classFrame"><span class="interfaceName">HasFailedRpcException</span></a></li>
+<li><a href="SessionConfiguration.html" title="interface in org.apache.kudu.client" target="classFrame"><span class="interfaceName">SessionConfiguration</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client" target="classFrame">AbstractKuduScannerBuilder</a></li>
+<li><a href="AlterTableOptions.html" title="class in org.apache.kudu.client" target="classFrame">AlterTableOptions</a></li>
+<li><a href="AlterTableResponse.html" title="class in org.apache.kudu.client" target="classFrame">AlterTableResponse</a></li>
+<li><a href="AsyncKuduClient.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduClient</a></li>
+<li><a href="AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduClient.AsyncKuduClientBuilder</a></li>
+<li><a href="AsyncKuduScanner.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduScanner</a></li>
+<li><a href="AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduScanner.AsyncKuduScannerBuilder</a></li>
+<li><a href="AsyncKuduSession.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduSession</a></li>
+<li><a href="ColumnRangePredicate.html" title="class in org.apache.kudu.client" target="classFrame">ColumnRangePredicate</a></li>
+<li><a href="CreateTableOptions.html" title="class in org.apache.kudu.client" target="classFrame">CreateTableOptions</a></li>
+<li><a href="Delete.html" title="class in org.apache.kudu.client" target="classFrame">Delete</a></li>
+<li><a href="DeleteIgnore.html" title="class in org.apache.kudu.client" target="classFrame">DeleteIgnore</a></li>
+<li><a href="DeleteTableResponse.html" title="class in org.apache.kudu.client" target="classFrame">DeleteTableResponse</a></li>
+<li><a href="Insert.html" title="class in org.apache.kudu.client" target="classFrame">Insert</a></li>
+<li><a href="InsertIgnore.html" title="class in org.apache.kudu.client" target="classFrame">InsertIgnore</a></li>
+<li><a href="IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client" target="classFrame">IsAlterTableDoneResponse</a></li>
+<li><a href="IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client" target="classFrame">IsCreateTableDoneResponse</a></li>
+<li><a href="KuduClient.html" title="class in org.apache.kudu.client" target="classFrame">KuduClient</a></li>
+<li><a href="KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client" target="classFrame">KuduClient.KuduClientBuilder</a></li>
+<li><a href="KuduException.OriginalException.html" title="class in org.apache.kudu.client" target="classFrame">KuduException.OriginalException</a></li>
+<li><a href="KuduPartitioner.html" title="class in org.apache.kudu.client" target="classFrame">KuduPartitioner</a></li>
+<li><a href="KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client" target="classFrame">KuduPartitioner.KuduPartitionerBuilder</a></li>
+<li><a href="KuduPredicate.html" title="class in org.apache.kudu.client" target="classFrame">KuduPredicate</a></li>
+<li><a href="KuduScanner.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanner</a></li>
+<li><a href="KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanner.KuduScannerBuilder</a></li>
+<li><a href="KuduScannerIterator.html" title="class in org.apache.kudu.client" target="classFrame">KuduScannerIterator</a></li>
+<li><a href="KuduScanToken.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanToken</a></li>
+<li><a href="KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanToken.KuduScanTokenBuilder</a></li>
+<li><a href="KuduSession.html" title="class in org.apache.kudu.client" target="classFrame">KuduSession</a></li>
+<li><a href="KuduTable.html" title="class in org.apache.kudu.client" target="classFrame">KuduTable</a></li>
+<li><a href="KuduTableStatistics.html" title="class in org.apache.kudu.client" target="classFrame">KuduTableStatistics</a></li>
+<li><a href="KuduTransaction.html" title="class in org.apache.kudu.client" target="classFrame">KuduTransaction</a></li>
+<li><a href="ListTablesResponse.html" title="class in org.apache.kudu.client" target="classFrame">ListTablesResponse</a></li>
+<li><a href="ListTabletServersResponse.html" title="class in org.apache.kudu.client" target="classFrame">ListTabletServersResponse</a></li>
+<li><a href="LocatedTablet.html" title="class in org.apache.kudu.client" target="classFrame">LocatedTablet</a></li>
+<li><a href="LocatedTablet.Replica.html" title="class in org.apache.kudu.client" target="classFrame">LocatedTablet.Replica</a></li>
+<li><a href="Operation.html" title="class in org.apache.kudu.client" target="classFrame">Operation</a></li>
+<li><a href="OperationResponse.html" title="class in org.apache.kudu.client" target="classFrame">OperationResponse</a></li>
+<li><a href="PartialRow.html" title="class in org.apache.kudu.client" target="classFrame">PartialRow</a></li>
+<li><a href="ResourceMetrics.html" title="class in org.apache.kudu.client" target="classFrame">ResourceMetrics</a></li>
+<li><a href="RowError.html" title="class in org.apache.kudu.client" target="classFrame">RowError</a></li>
+<li><a href="RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client" target="classFrame">RowErrorsAndOverflowStatus</a></li>
+<li><a href="RowResult.html" title="class in org.apache.kudu.client" target="classFrame">RowResult</a></li>
+<li><a href="RowResultIterator.html" title="class in org.apache.kudu.client" target="classFrame">RowResultIterator</a></li>
+<li><a href="Statistics.html" title="class in org.apache.kudu.client" target="classFrame">Statistics</a></li>
+<li><a href="Status.html" title="class in org.apache.kudu.client" target="classFrame">Status</a></li>
+<li><a href="Update.html" title="class in org.apache.kudu.client" target="classFrame">Update</a></li>
+<li><a href="UpdateIgnore.html" title="class in org.apache.kudu.client" target="classFrame">UpdateIgnore</a></li>
+<li><a href="Upsert.html" title="class in org.apache.kudu.client" target="classFrame">Upsert</a></li>
+</ul>
+<h2 title="Enums">Enums</h2>
+<ul title="Enums">
+<li><a href="AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client" target="classFrame">AsyncKuduScanner.ReadMode</a></li>
+<li><a href="AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client" target="classFrame">AsyncKuduScanner.RowDataFormat</a></li>
+<li><a href="ExternalConsistencyMode.html" title="enum in org.apache.kudu.client" target="classFrame">ExternalConsistencyMode</a></li>
+<li><a href="KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client" target="classFrame">KuduPredicate.ComparisonOp</a></li>
+<li><a href="RangePartitionBound.html" title="enum in org.apache.kudu.client" target="classFrame">RangePartitionBound</a></li>
+<li><a href="ReplicaSelection.html" title="enum in org.apache.kudu.client" target="classFrame">ReplicaSelection</a></li>
+<li><a href="SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client" target="classFrame">SessionConfiguration.FlushMode</a></li>
+<li><a href="Statistics.Statistic.html" title="enum in org.apache.kudu.client" target="classFrame">Statistics.Statistic</a></li>
+</ul>
+<h2 title="Exceptions">Exceptions</h2>
+<ul title="Exceptions">
+<li><a href="KuduException.html" title="class in org.apache.kudu.client" target="classFrame">KuduException</a></li>
+<li><a href="PleaseThrottleException.html" title="class in org.apache.kudu.client" target="classFrame">PleaseThrottleException</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/package-summary.html b/releases/1.15.0/apidocs/org/apache/kudu/client/package-summary.html
new file mode 100644
index 0000000..d17118b
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/package-summary.html
@@ -0,0 +1,529 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.client</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.kudu.client";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/kudu/spark/tools/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.kudu.client</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client">HasFailedRpcException</a></td>
+<td class="colLast">
+<div class="block">Interface implemented by <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client"><code>KuduException</code></a>s that can tell you which
+ RPC failed.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></td>
+<td class="colLast">
+<div class="block">Interface that defines the methods used to configure a session.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a>&lt;S extends <a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a>&lt;? super S,T&gt;,T&gt;</td>
+<td class="colLast">
+<div class="block">Abstract class to extend in order to create builders for scanners.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></td>
+<td class="colLast">
+<div class="block">This builder must be used to alter a table.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client">AlterTableResponse</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></td>
+<td class="colLast">
+<div class="block">A fully asynchronous and thread-safe client for Kudu.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></td>
+<td class="colLast">
+<div class="block">Builder class to use in order to connect to Kudu.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></td>
+<td class="colLast">
+<div class="block">Creates a scanner to read data from Kudu.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client">AsyncKuduScanner.AsyncKuduScannerBuilder</a></td>
+<td class="colLast">
+<div class="block">A Builder class to build <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></td>
+<td class="colLast">
+<div class="block">An <code>AsyncKuduSession</code> belongs to a specific <a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><code>AsyncKuduClient</code></a>, and represents a
+ context in which all write data access should take place.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></td>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">use the <a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><code>KuduPredicate</code></a> class instead.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></td>
+<td class="colLast">
+<div class="block">This is a builder class for all the options that can be provided while creating a table.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client">Delete</a></td>
+<td class="colLast">
+<div class="block">Class of Operation for whole row removals.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client">DeleteIgnore</a></td>
+<td class="colLast">
+<div class="block">Class of Operation for whole row removals ignoring missing rows.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client">DeleteTableResponse</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client">Insert</a></td>
+<td class="colLast">
+<div class="block">Represents a single row insert.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client">InsertIgnore</a></td>
+<td class="colLast">
+<div class="block">Represents a single row insert ignoring duplicate rows.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client">IsAlterTableDoneResponse</a></td>
+<td class="colLast">
+<div class="block">Response to a isAlterTableDone command to use to know if an alter table is currently running on
+ the specified table.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client">IsCreateTableDoneResponse</a></td>
+<td class="colLast">
+<div class="block">Response to an isCreateTableDone command.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></td>
+<td class="colLast">
+<div class="block">A synchronous and thread-safe client for Kudu.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></td>
+<td class="colLast">
+<div class="block">Builder class to use in order to connect to Kudu.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client">KuduException.OriginalException</a></td>
+<td class="colLast">
+<div class="block">When exceptions are thrown by the asynchronous Kudu client, the stack trace is
+ typically deep within the internals of the Kudu client and/or Netty.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client">KuduPartitioner</a></td>
+<td class="colLast">
+<div class="block">A KuduPartitioner allows clients to determine the target partition of a
+ row without actually performing a write.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client">KuduPartitioner.KuduPartitionerBuilder</a></td>
+<td class="colLast">
+<div class="block">A Builder class to build <a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><code>KuduPartitioner</code></a>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></td>
+<td class="colLast">
+<div class="block">A predicate which can be used to filter rows based on the value of a column.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></td>
+<td class="colLast">
+<div class="block">Synchronous version of <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner</code></a>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a></td>
+<td class="colLast">
+<div class="block">A Builder class to build <a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><code>KuduScanner</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client">KuduScannerIterator</a></td>
+<td class="colLast">
+<div class="block">An iterator for the RowResults of a KuduScanner.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></td>
+<td class="colLast">
+<div class="block">A scan token describes a partial scan of a Kudu table limited to a single
+ contiguous physical location.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></td>
+<td class="colLast">
+<div class="block">Builds a sequence of scan tokens.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></td>
+<td class="colLast">
+<div class="block">Synchronous version of <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><code>AsyncKuduSession</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></td>
+<td class="colLast">
+<div class="block">A KuduTable represents a table on a particular cluster.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client">KuduTableStatistics</a></td>
+<td class="colLast">
+<div class="block">Represent statistics belongs to a specific kudu table.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client">KuduTransaction</a></td>
+<td class="colLast">
+<div class="block">A handle for a multi-row transaction in Kudu.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client">ListTabletServersResponse</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></td>
+<td class="colLast">
+<div class="block">Information about the locations of tablets in a Kudu table.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a></td>
+<td class="colLast">
+<div class="block">One of the replicas of the tablet.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></td>
+<td class="colLast">
+<div class="block">Base class for the RPCs that related to WriteRequestPB.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></td>
+<td class="colLast">
+<div class="block">Class used to represent parts of a row along with its schema.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client">ResourceMetrics</a></td>
+<td class="colLast">
+<div class="block">A container for scanner resource metrics.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a></td>
+<td class="colLast">
+<div class="block">Wrapper class for a single row error.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a></td>
+<td class="colLast">
+<div class="block">Container class used as a response when retrieving pending row errors.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></td>
+<td class="colLast">
+<div class="block">RowResult represents one row from a scanner.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></td>
+<td class="colLast">
+<div class="block">Class that contains the rows sent by a tablet server, exhausting this iterator only means
+ that all the rows from the last server response were read.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></td>
+<td class="colLast">
+<div class="block">A Statistics belongs to a specific AsyncKuduClient.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></td>
+<td class="colLast">
+<div class="block">Representation of an error code and message.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client">Update</a></td>
+<td class="colLast">
+<div class="block">Operation to update columns on an existing row.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client">UpdateIgnore</a></td>
+<td class="colLast">
+<div class="block">Represents a single row update ignoring missing rows.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client">Upsert</a></td>
+<td class="colLast">
+<div class="block">Represents a single row upsert.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
+<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Enum</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></td>
+<td class="colLast">
+<div class="block">The possible read modes for scanners.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.RowDataFormat</a></td>
+<td class="colLast">
+<div class="block">Expected row data format in scanner result set.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a></td>
+<td class="colLast">
+<div class="block">The possible external consistency modes on which Kudu operates.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a></td>
+<td class="colLast">
+<div class="block">The comparison operator of a predicate.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a></td>
+<td class="colLast">
+<div class="block">Specifies whether a range partition bound is inclusive or exclusive.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a></td>
+<td class="colLast">
+<div class="block">Policy with which to choose amongst multiple replicas.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a></td>
+<td class="colLast">
+<div class="block">The statistic enum to pass when querying.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
+<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Exception</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></td>
+<td class="colLast">
+<div class="block">The parent class of all exceptions sent by the Kudu client.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client">PleaseThrottleException</a></td>
+<td class="colLast">
+<div class="block">This exception notifies the application to throttle its use of Kudu.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/kudu/spark/tools/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/client/package-tree.html b/releases/1.15.0/apidocs/org/apache/kudu/client/package-tree.html
new file mode 100644
index 0000000..9dba768
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/client/package-tree.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.client Class Hierarchy</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.kudu.client Class Hierarchy";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/kudu/spark/tools/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.kudu.client</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AbstractKuduScannerBuilder</span></a>&lt;S,T&gt;
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.AsyncKuduScannerBuilder</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanner.KuduScannerBuilder</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanToken.KuduScanTokenBuilder</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AlterTableOptions</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AlterTableResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduClient</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduClient.AsyncKuduClientBuilder</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduSession</span></a> (implements org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a>)</li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ColumnRangePredicate</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">CreateTableOptions</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">DeleteTableResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">IsAlterTableDoneResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">IsCreateTableDoneResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduClient</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduClient.KuduClientBuilder</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduPartitioner</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduPartitioner.KuduPartitionerBuilder</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduPredicate</span></a></li>
+<li type="circle">org.apache.kudu.client.KuduRpc&lt;R&gt;
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Operation</span></a>
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Delete</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">DeleteIgnore</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Insert</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">InsertIgnore</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Update</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">UpdateIgnore</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Upsert</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanner</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScannerIterator</span></a> (implements java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;E&gt;)</li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanToken</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduSession</span></a> (implements org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a>)</li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTable</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTableStatistics</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTransaction</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ListTablesResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ListTabletServersResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client"><span class="typeNameLink">LocatedTablet</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client"><span class="typeNameLink">LocatedTablet.Replica</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">OperationResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client"><span class="typeNameLink">PartialRow</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ResourceMetrics</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowError</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowErrorsAndOverflowStatus</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowResult</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowResultIterator</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;, java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;E&gt;)</li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Statistics</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Status</span></a></li>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Exception</span></a>
+<ul>
+<li type="circle">java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">IOException</span></a>
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduException</span></a>
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">PleaseThrottleException</span></a> (implements org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client">HasFailedRpcException</a>)</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduException.OriginalException</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">HasFailedRpcException</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">SessionConfiguration</span></a></li>
+</ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.ReadMode</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.RowDataFormat</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">ExternalConsistencyMode</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">KuduPredicate.ComparisonOp</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">RangePartitionBound</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">ReplicaSelection</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">SessionConfiguration.FlushMode</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Statistics.Statistic</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/kudu/spark/tools/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/client/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/package-frame.html b/releases/1.15.0/apidocs/org/apache/kudu/package-frame.html
new file mode 100644
index 0000000..e03d48a
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/package-frame.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu</title>
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../org/apache/kudu/package-summary.html" target="classFrame">org.apache.kudu</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="ColumnSchema.html" title="class in org.apache.kudu" target="classFrame">ColumnSchema</a></li>
+<li><a href="ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu" target="classFrame">ColumnSchema.ColumnSchemaBuilder</a></li>
+<li><a href="ColumnTypeAttributes.html" title="class in org.apache.kudu" target="classFrame">ColumnTypeAttributes</a></li>
+<li><a href="ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu" target="classFrame">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></li>
+<li><a href="Schema.html" title="class in org.apache.kudu" target="classFrame">Schema</a></li>
+</ul>
+<h2 title="Enums">Enums</h2>
+<ul title="Enums">
+<li><a href="ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu" target="classFrame">ColumnSchema.CompressionAlgorithm</a></li>
+<li><a href="ColumnSchema.Encoding.html" title="enum in org.apache.kudu" target="classFrame">ColumnSchema.Encoding</a></li>
+<li><a href="Type.html" title="enum in org.apache.kudu" target="classFrame">Type</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/package-summary.html b/releases/1.15.0/apidocs/org/apache/kudu/package-summary.html
new file mode 100644
index 0000000..47675ff
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/package-summary.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu</title>
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.kudu";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Package</li>
+<li><a href="../../../org/apache/kudu/client/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.kudu</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></td>
+<td class="colLast">
+<div class="block">Represents a Kudu Table column.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></td>
+<td class="colLast">
+<div class="block">Builder for ColumnSchema.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></td>
+<td class="colLast">
+<div class="block">Represents a Kudu Table column's type attributes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></td>
+<td class="colLast">
+<div class="block">Builder for ColumnTypeAttributes.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></td>
+<td class="colLast">
+<div class="block">Represents table's schema which is essentially a list of columns.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
+<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Enum</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></td>
+<td class="colLast">
+<div class="block">Specifies the compression algorithm of data for a column on disk.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></td>
+<td class="colLast">
+<div class="block">Specifies the encoding of data for a column on disk.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></td>
+<td class="colLast">
+<div class="block">Describes all the types available to build table schemas.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Package</li>
+<li><a href="../../../org/apache/kudu/client/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/package-tree.html b/releases/1.15.0/apidocs/org/apache/kudu/package-tree.html
new file mode 100644
index 0000000..5e3cc7f
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/package-tree.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu Class Hierarchy</title>
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.kudu Class Hierarchy";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li><a href="../../../org/apache/kudu/client/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.kudu</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnSchema</span></a></li>
+<li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnSchema.ColumnSchemaBuilder</span></a></li>
+<li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnTypeAttributes</span></a></li>
+<li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnTypeAttributes.ColumnTypeAttributesBuilder</span></a></li>
+<li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu"><span class="typeNameLink">Schema</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.CompressionAlgorithm</span></a></li>
+<li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.Encoding</span></a></li>
+<li type="circle">org.apache.kudu.<a href="../../../org/apache/kudu/Type.html" title="enum in org.apache.kudu"><span class="typeNameLink">Type</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li><a href="../../../org/apache/kudu/client/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/apache/kudu/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/spark/tools/BigLinkedListCommon.html b/releases/1.15.0/apidocs/org/apache/kudu/spark/tools/BigLinkedListCommon.html
new file mode 100644
index 0000000..0b18a48
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/spark/tools/BigLinkedListCommon.html
@@ -0,0 +1,617 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>BigLinkedListCommon</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="BigLinkedListCommon";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kudu/spark/tools/BigLinkedListCommon.html" target="_top">Frames</a></li>
+<li><a href="BigLinkedListCommon.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.spark.tools</div>
+<h2 title="Class BigLinkedListCommon" class="title">Class BigLinkedListCommon</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.spark.tools.BigLinkedListCommon</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">BigLinkedListCommon</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Static constants, helper methods, and utility classes for BigLinkedList
+ implementations.
+
+ Any definitions which must be kept in-sync between ITBLL implementations
+ should be kept here.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_CLIENT">COLUMN_CLIENT</a></span></code>
+<div class="block">identifier of the mapred task that generated this row.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_CLIENT_IDX">COLUMN_CLIENT_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE">COLUMN_KEY_ONE</a></span></code>
+<div class="block">Row key, two times 8 bytes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_ONE_IDX">COLUMN_KEY_ONE_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO">COLUMN_KEY_TWO</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_KEY_TWO_IDX">COLUMN_KEY_TWO_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE">COLUMN_PREV_ONE</a></span></code>
+<div class="block">Link to the id of the prev node in the linked list, two times 8 bytes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_ONE_IDX">COLUMN_PREV_ONE_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO">COLUMN_PREV_TWO</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_PREV_TWO_IDX">COLUMN_PREV_TWO_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_ROW_ID">COLUMN_ROW_ID</a></span></code>
+<div class="block">the id of the row within the same client.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_ROW_ID_IDX">COLUMN_ROW_ID_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT">COLUMN_UPDATE_COUNT</a></span></code>
+<div class="block">The number of times this row was updated.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#COLUMN_UPDATE_COUNT_IDX">COLUMN_UPDATE_COUNT_IDX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#DEFAULT_HEADS_TABLE_NAME">DEFAULT_HEADS_TABLE_NAME</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#DEFAULT_TABLE_NAME">DEFAULT_TABLE_NAME</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#HEADS_TABLE_NAME_KEY">HEADS_TABLE_NAME_KEY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#TABLE_NAME_KEY">TABLE_NAME_KEY</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#getCreateTableOptions-org.apache.kudu.Schema-int-int-int-">getCreateTableOptions</a></span>(<a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema,
+                     int&nbsp;numReplicas,
+                     int&nbsp;rangePartitions,
+                     int&nbsp;hashPartitions)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#getHeadsTableSchema--">getHeadsTableSchema</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html#getTableSchema--">getTableSchema</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="TABLE_NAME_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TABLE_NAME_KEY</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TABLE_NAME_KEY</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.TABLE_NAME_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="DEFAULT_TABLE_NAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DEFAULT_TABLE_NAME</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_TABLE_NAME</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.DEFAULT_TABLE_NAME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="HEADS_TABLE_NAME_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>HEADS_TABLE_NAME_KEY</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> HEADS_TABLE_NAME_KEY</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.HEADS_TABLE_NAME_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="DEFAULT_HEADS_TABLE_NAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DEFAULT_HEADS_TABLE_NAME</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_HEADS_TABLE_NAME</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.DEFAULT_HEADS_TABLE_NAME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_KEY_ONE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_KEY_ONE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_KEY_ONE</pre>
+<div class="block">Row key, two times 8 bytes.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_ONE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_KEY_ONE_IDX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_KEY_ONE_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_KEY_ONE_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_ONE_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_KEY_TWO">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_KEY_TWO</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_KEY_TWO</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_TWO">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_KEY_TWO_IDX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_KEY_TWO_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_KEY_TWO_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_KEY_TWO_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_PREV_ONE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_PREV_ONE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_PREV_ONE</pre>
+<div class="block">Link to the id of the prev node in the linked list, two times 8 bytes.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_ONE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_PREV_ONE_IDX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_PREV_ONE_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_PREV_ONE_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_ONE_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_PREV_TWO">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_PREV_TWO</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_PREV_TWO</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_TWO">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_PREV_TWO_IDX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_PREV_TWO_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_PREV_TWO_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_PREV_TWO_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_ROW_ID">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_ROW_ID</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_ROW_ID</pre>
+<div class="block">the id of the row within the same client.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_ROW_ID">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_ROW_ID_IDX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_ROW_ID_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_ROW_ID_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_ROW_ID_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_CLIENT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_CLIENT</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_CLIENT</pre>
+<div class="block">identifier of the mapred task that generated this row.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_CLIENT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_CLIENT_IDX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_CLIENT_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_CLIENT_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_CLIENT_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_UPDATE_COUNT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COLUMN_UPDATE_COUNT</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COLUMN_UPDATE_COUNT</pre>
+<div class="block">The number of times this row was updated.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_UPDATE_COUNT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COLUMN_UPDATE_COUNT_IDX">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>COLUMN_UPDATE_COUNT_IDX</h4>
+<pre>public static final&nbsp;int COLUMN_UPDATE_COUNT_IDX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.kudu.spark.tools.BigLinkedListCommon.COLUMN_UPDATE_COUNT_IDX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTableSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableSchema</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getTableSchema()</pre>
+</li>
+</ul>
+<a name="getHeadsTableSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHeadsTableSchema</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getHeadsTableSchema()</pre>
+</li>
+</ul>
+<a name="getCreateTableOptions-org.apache.kudu.Schema-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getCreateTableOptions</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a>&nbsp;getCreateTableOptions(<a href="../../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;schema,
+                                                       int&nbsp;numReplicas,
+                                                       int&nbsp;rangePartitions,
+                                                       int&nbsp;hashPartitions)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kudu/spark/tools/BigLinkedListCommon.html" target="_top">Frames</a></li>
+<li><a href="BigLinkedListCommon.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/spark/tools/package-frame.html b/releases/1.15.0/apidocs/org/apache/kudu/spark/tools/package-frame.html
new file mode 100644
index 0000000..255bb24
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/spark/tools/package-frame.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.spark.tools</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/kudu/spark/tools/package-summary.html" target="classFrame">org.apache.kudu.spark.tools</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools" target="classFrame">BigLinkedListCommon</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/spark/tools/package-summary.html b/releases/1.15.0/apidocs/org/apache/kudu/spark/tools/package-summary.html
new file mode 100644
index 0000000..41d22f7
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/spark/tools/package-summary.html
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.spark.tools</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.kudu.spark.tools";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/kudu/client/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/kudu/test/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kudu/spark/tools/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.kudu.spark.tools</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools">BigLinkedListCommon</a></td>
+<td class="colLast">
+<div class="block">Static constants, helper methods, and utility classes for BigLinkedList
+ implementations.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/kudu/client/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/kudu/test/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kudu/spark/tools/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/spark/tools/package-tree.html b/releases/1.15.0/apidocs/org/apache/kudu/spark/tools/package-tree.html
new file mode 100644
index 0000000..db32cdb
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/spark/tools/package-tree.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.spark.tools Class Hierarchy</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.kudu.spark.tools Class Hierarchy";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/kudu/client/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/kudu/test/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kudu/spark/tools/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.kudu.spark.tools</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.kudu.spark.tools.<a href="../../../../../org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools"><span class="typeNameLink">BigLinkedListCommon</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/kudu/client/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/kudu/test/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/kudu/spark/tools/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/test/KuduTestHarness.html b/releases/1.15.0/apidocs/org/apache/kudu/test/KuduTestHarness.html
new file mode 100644
index 0000000..53a8248
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/test/KuduTestHarness.html
@@ -0,0 +1,1029 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>KuduTestHarness</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KuduTestHarness";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/test/KuduTestHarness.html" target="_top">Frames</a></li>
+<li><a href="KuduTestHarness.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.test</div>
+<h2 title="Class KuduTestHarness" class="title">Class KuduTestHarness</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.junit.rules.ExternalResource</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.test.KuduTestHarness</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>org.junit.rules.TestRule</dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Evolving
+public class <span class="typeNameLabel">KuduTestHarness</span>
+extends org.junit.rules.ExternalResource</pre>
+<div class="block">A Junit Rule that manages a Kudu cluster and clients for testing.
+ This rule also includes utility methods for the cluster
+ and clients.
+
+ <pre>
+ public static class TestFoo {
+
+  &#064;Rule
+  public KuduTestHarness harness = new KuduTestHarness();
+
+  ...
+ }
+ </pre></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#DEFAULT_SLEEP">DEFAULT_SLEEP</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#KuduTestHarness--">KuduTestHarness</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#KuduTestHarness-org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder-">KuduTestHarness</a></span>(org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder&nbsp;clusterBuilder)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#after--">after</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>org.junit.runners.model.Statement</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#apply-org.junit.runners.model.Statement-org.junit.runner.Description-">apply</a></span>(org.junit.runners.model.Statement&nbsp;base,
+     org.junit.runner.Description&nbsp;description)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#before--">before</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#findLeaderMasterServer--">findLeaderMasterServer</a></span>()</code>
+<div class="block">Find the host and port of the leader master.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#findLeaderTabletServer-org.apache.kudu.client.LocatedTablet-">findLeaderTabletServer</a></span>(<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;tablet)</code>
+<div class="block">Finds the RPC port of the given tablet's leader tserver.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getAsyncClient--">getAsyncClient</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getBaseClusterBuilder--">getBaseClusterBuilder</a></span>()</code>
+<div class="block">Returns the base MiniKuduClusterBuilder used when creating a
+ KuduTestHarness with the default constructor.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getClient--">getClient</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getClusterRoot--">getClusterRoot</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getMasterAddressesAsString--">getMasterAddressesAsString</a></span>()</code>
+<div class="block">Return the comma-separated list of "host:port" pairs that describes the master
+ config for this cluster.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.kudu.client.HostAndPort&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getMasterServers--">getMasterServers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getPrincipal--">getPrincipal</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.kudu.client.HostAndPort&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getTabletServers--">getTabletServers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#kdestroy--">kdestroy</a></span>()</code>
+<div class="block">Removes all credentials for all principals from the Kerberos credential cache.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killAllMasterServers--">killAllMasterServers</a></span>()</code>
+<div class="block">Kills all the master servers.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killAllTabletServers--">killAllTabletServers</a></span>()</code>
+<div class="block">Kills all the tablet servers.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killLeaderMasterServer--">killLeaderMasterServer</a></span>()</code>
+<div class="block">Helper method to easily kill the leader master.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.KuduTable-">killTabletLeader</a></span>(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</code>
+<div class="block">Helper method to easily kill a tablet server that serves the given table's only tablet's
+ leader.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.LocatedTablet-">killTabletLeader</a></span>(<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;tablet)</code>
+<div class="block">Helper method to kill a tablet server that serves the given tablet's leader
+ replica.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.RemoteTablet-">killTabletLeader</a></span>(org.apache.kudu.client.RemoteTablet&nbsp;tablet)</code>
+<div class="block">Helper method to kill a tablet server that hosts the given tablet's leader
+ replica.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#kinit-java.lang.String-">kinit</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;username)</code>
+<div class="block">Re-initialize Kerberos credentials for the given username, writing them
+ into the Kerberos credential cache.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#pauseLeaderMaster--">pauseLeaderMaster</a></span>()</code>
+<div class="block">Finds and pauses the leader master.</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#pauseMaster-org.apache.kudu.client.HostAndPort-">pauseMaster</a></span>(org.apache.kudu.client.HostAndPort&nbsp;hp)</code>
+<div class="block">Pauses the specified master.</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#resetClients--">resetClients</a></span>()</code>
+<div class="block">Resets the clients so that their state is completely fresh, including meta
+ cache, connections, open tables, sessions and scanners, and propagated timestamp.</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#restartLeaderMaster--">restartLeaderMaster</a></span>()</code>
+<div class="block">Kills and restarts the leader master.</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#restartTabletServer-org.apache.kudu.client.KuduTable-">restartTabletServer</a></span>(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</code>
+<div class="block">Picks at random a tablet server that serves tablets from the passed table and restarts it.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#restartTabletServer-org.apache.kudu.client.RemoteTablet-">restartTabletServer</a></span>(org.apache.kudu.client.RemoteTablet&nbsp;tablet)</code>
+<div class="block">Kills a tablet server that serves the given tablet's leader and restarts it.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#resumeMaster-org.apache.kudu.client.HostAndPort-">resumeMaster</a></span>(org.apache.kudu.client.HostAndPort&nbsp;hp)</code>
+<div class="block">Resumes the specified master.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#startAllMasterServers--">startAllMasterServers</a></span>()</code>
+<div class="block">Starts all the master servers.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#startAllTabletServers--">startAllTabletServers</a></span>()</code>
+<div class="block">Starts all the tablet servers.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#startMaster-org.apache.kudu.client.HostAndPort-">startMaster</a></span>(org.apache.kudu.client.HostAndPort&nbsp;hp)</code>
+<div class="block">Start master which has previously been registered at the specified
+ host and port.</div>
+</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#startTabletServer-org.apache.kudu.client.HostAndPort-">startTabletServer</a></span>(org.apache.kudu.client.HostAndPort&nbsp;hp)</code>
+<div class="block">Start tablet server which has previously been registered at the specified
+ host and port.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="DEFAULT_SLEEP">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DEFAULT_SLEEP</h4>
+<pre>public static final&nbsp;int DEFAULT_SLEEP</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.kudu.test.KuduTestHarness.DEFAULT_SLEEP">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="KuduTestHarness-org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>KuduTestHarness</h4>
+<pre>public&nbsp;KuduTestHarness(org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder&nbsp;clusterBuilder)</pre>
+</li>
+</ul>
+<a name="KuduTestHarness--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>KuduTestHarness</h4>
+<pre>public&nbsp;KuduTestHarness()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getBaseClusterBuilder--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBaseClusterBuilder</h4>
+<pre>public static&nbsp;org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder&nbsp;getBaseClusterBuilder()</pre>
+<div class="block">Returns the base MiniKuduClusterBuilder used when creating a
+ KuduTestHarness with the default constructor. This is useful
+ if you want to add to the default cluster setup.</div>
+</li>
+</ul>
+<a name="apply-org.junit.runners.model.Statement-org.junit.runner.Description-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;org.junit.runners.model.Statement&nbsp;apply(org.junit.runners.model.Statement&nbsp;base,
+                                               org.junit.runner.Description&nbsp;description)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>apply</code>&nbsp;in interface&nbsp;<code>org.junit.rules.TestRule</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>apply</code>&nbsp;in class&nbsp;<code>org.junit.rules.ExternalResource</code></dd>
+</dl>
+</li>
+</ul>
+<a name="before--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>before</h4>
+<pre>public&nbsp;void&nbsp;before()
+            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>before</code>&nbsp;in class&nbsp;<code>org.junit.rules.ExternalResource</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="after--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>after</h4>
+<pre>public&nbsp;void&nbsp;after()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>after</code>&nbsp;in class&nbsp;<code>org.junit.rules.ExternalResource</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getClient--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClient</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;getClient()</pre>
+</li>
+</ul>
+<a name="getAsyncClient--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAsyncClient</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a>&nbsp;getAsyncClient()</pre>
+</li>
+</ul>
+<a name="killTabletLeader-org.apache.kudu.client.KuduTable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>killTabletLeader</h4>
+<pre>public&nbsp;void&nbsp;killTabletLeader(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)
+                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Helper method to easily kill a tablet server that serves the given table's only tablet's
+ leader. The currently running test case will be failed if there's more than one tablet,
+ if the tablet has no leader after some retries, or if the tablet server was already killed.
+
+ This method is thread-safe.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>table</code> - a KuduTable which will get its single tablet's leader killed.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="killTabletLeader-org.apache.kudu.client.RemoteTablet-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>killTabletLeader</h4>
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;killTabletLeader(org.apache.kudu.client.RemoteTablet&nbsp;tablet)
+                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Helper method to kill a tablet server that hosts the given tablet's leader
+ replica.
+ This method is thread-safe.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tablet</code> - a RemoteTablet which will get its leader killed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the tablet server which hosted the tablet's
+         leader replica</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if no leader replica found after a few retries,
+         or if the tablet server isn't running</dd>
+</dl>
+</li>
+</ul>
+<a name="killTabletLeader-org.apache.kudu.client.LocatedTablet-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>killTabletLeader</h4>
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;killTabletLeader(<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;tablet)
+                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Helper method to kill a tablet server that serves the given tablet's leader
+ replica.
+
+ This method is thread-safe.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tablet</code> - a LocatedTablet which will get its leader killed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the tablet server which hosted the tablet's
+         leader replica</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if no leader replica found or if the tablet server isn't
+                   running</dd>
+</dl>
+</li>
+</ul>
+<a name="findLeaderTabletServer-org.apache.kudu.client.LocatedTablet-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>findLeaderTabletServer</h4>
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;findLeaderTabletServer(<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;tablet)
+                                                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Finds the RPC port of the given tablet's leader tserver.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tablet</code> - a LocatedTablet</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the given tablet's leader tserver</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if unable to find a tablet server with leader replica</dd>
+</dl>
+</li>
+</ul>
+<a name="startTabletServer-org.apache.kudu.client.HostAndPort-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startTabletServer</h4>
+<pre>public&nbsp;void&nbsp;startTabletServer(org.apache.kudu.client.HostAndPort&nbsp;hp)
+                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Start tablet server which has previously been registered at the specified
+ host and port.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>hp</code> - host and port of the tablet server to start back</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="findLeaderMasterServer--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>findLeaderMasterServer</h4>
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;findLeaderMasterServer()
+                                                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Find the host and port of the leader master.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the leader master</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if we are unable to find the leader master</dd>
+</dl>
+</li>
+</ul>
+<a name="killLeaderMasterServer--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>killLeaderMasterServer</h4>
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;killLeaderMasterServer()
+                                                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Helper method to easily kill the leader master.
+
+ This method is thread-safe.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the detected leader master</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if there is an error finding or killing the leader master.</dd>
+</dl>
+</li>
+</ul>
+<a name="restartTabletServer-org.apache.kudu.client.KuduTable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>restartTabletServer</h4>
+<pre>public&nbsp;void&nbsp;restartTabletServer(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)
+                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Picks at random a tablet server that serves tablets from the passed table and restarts it.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>table</code> - table to query for a TS to restart</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="restartTabletServer-org.apache.kudu.client.RemoteTablet-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>restartTabletServer</h4>
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;restartTabletServer(org.apache.kudu.client.RemoteTablet&nbsp;tablet)
+                                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Kills a tablet server that serves the given tablet's leader and restarts it.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tablet</code> - a RemoteTablet which will get its leader killed and restarted</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the restarted tablet server</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="restartLeaderMaster--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>restartLeaderMaster</h4>
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;restartLeaderMaster()
+                                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Kills and restarts the leader master.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the restarted master</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="startMaster-org.apache.kudu.client.HostAndPort-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startMaster</h4>
+<pre>public&nbsp;void&nbsp;startMaster(org.apache.kudu.client.HostAndPort&nbsp;hp)
+                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Start master which has previously been registered at the specified
+ host and port.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>hp</code> - host and port of the master to start back</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="pauseLeaderMaster--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pauseLeaderMaster</h4>
+<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;pauseLeaderMaster()
+                                                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Finds and pauses the leader master.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the host and port of the paused master</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="pauseMaster-org.apache.kudu.client.HostAndPort-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pauseMaster</h4>
+<pre>public&nbsp;void&nbsp;pauseMaster(org.apache.kudu.client.HostAndPort&nbsp;hp)
+                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Pauses the specified master.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="resumeMaster-org.apache.kudu.client.HostAndPort-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>resumeMaster</h4>
+<pre>public&nbsp;void&nbsp;resumeMaster(org.apache.kudu.client.HostAndPort&nbsp;hp)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Resumes the specified master.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getMasterAddressesAsString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMasterAddressesAsString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMasterAddressesAsString()</pre>
+<div class="block">Return the comma-separated list of "host:port" pairs that describes the master
+ config for this cluster.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The master config string.</dd>
+</dl>
+</li>
+</ul>
+<a name="getMasterServers--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMasterServers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.kudu.client.HostAndPort&gt;&nbsp;getMasterServers()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the list of master servers</dd>
+</dl>
+</li>
+</ul>
+<a name="getTabletServers--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTabletServers</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.kudu.client.HostAndPort&gt;&nbsp;getTabletServers()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the list of tablet servers</dd>
+</dl>
+</li>
+</ul>
+<a name="getClusterRoot--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClusterRoot</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClusterRoot()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>path to the mini cluster root directory</dd>
+</dl>
+</li>
+</ul>
+<a name="getPrincipal--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPrincipal</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getPrincipal()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the service principal name</dd>
+</dl>
+</li>
+</ul>
+<a name="killAllMasterServers--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>killAllMasterServers</h4>
+<pre>public&nbsp;void&nbsp;killAllMasterServers()
+                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Kills all the master servers.
+ Does nothing to the servers that are already dead.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="startAllMasterServers--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startAllMasterServers</h4>
+<pre>public&nbsp;void&nbsp;startAllMasterServers()
+                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Starts all the master servers.
+ Does nothing to the servers that are already running.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="killAllTabletServers--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>killAllTabletServers</h4>
+<pre>public&nbsp;void&nbsp;killAllTabletServers()
+                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Kills all the tablet servers.
+ Does nothing to the servers that are already dead.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="startAllTabletServers--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startAllTabletServers</h4>
+<pre>public&nbsp;void&nbsp;startAllTabletServers()
+                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Starts all the tablet servers.
+ Does nothing to the servers that are already running.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="kdestroy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>kdestroy</h4>
+<pre>public&nbsp;void&nbsp;kdestroy()
+              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Removes all credentials for all principals from the Kerberos credential cache.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="kinit-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>kinit</h4>
+<pre>public&nbsp;void&nbsp;kinit(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;username)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Re-initialize Kerberos credentials for the given username, writing them
+ into the Kerberos credential cache.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>username</code> - the username to kinit as</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="resetClients--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>resetClients</h4>
+<pre>public&nbsp;void&nbsp;resetClients()
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Resets the clients so that their state is completely fresh, including meta
+ cache, connections, open tables, sessions and scanners, and propagated timestamp.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/test/KuduTestHarness.html" target="_top">Frames</a></li>
+<li><a href="KuduTestHarness.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/test/package-frame.html b/releases/1.15.0/apidocs/org/apache/kudu/test/package-frame.html
new file mode 100644
index 0000000..fd8473b
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/test/package-frame.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.test</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../org/apache/kudu/test/package-summary.html" target="classFrame">org.apache.kudu.test</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="KuduTestHarness.html" title="class in org.apache.kudu.test" target="classFrame">KuduTestHarness</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/test/package-summary.html b/releases/1.15.0/apidocs/org/apache/kudu/test/package-summary.html
new file mode 100644
index 0000000..ffd6d54
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/test/package-summary.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.test</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.kudu.test";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/spark/tools/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/kudu/util/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/test/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.kudu.test</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test">KuduTestHarness</a></td>
+<td class="colLast">
+<div class="block">A Junit Rule that manages a Kudu cluster and clients for testing.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/spark/tools/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/kudu/util/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/test/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/test/package-tree.html b/releases/1.15.0/apidocs/org/apache/kudu/test/package-tree.html
new file mode 100644
index 0000000..c3fdee6
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/test/package-tree.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.test Class Hierarchy</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.kudu.test Class Hierarchy";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/spark/tools/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/kudu/util/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/test/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.kudu.test</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.junit.rules.ExternalResource (implements org.junit.rules.TestRule)
+<ul>
+<li type="circle">org.apache.kudu.test.<a href="../../../../org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test"><span class="typeNameLink">KuduTestHarness</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/spark/tools/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/kudu/util/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/test/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/util/BloomFilter.html b/releases/1.15.0/apidocs/org/apache/kudu/util/BloomFilter.html
new file mode 100644
index 0000000..4f9f583
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/util/BloomFilter.html
@@ -0,0 +1,607 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>BloomFilter</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="BloomFilter";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/util/BloomFilter.html" target="_top">Frames</a></li>
+<li><a href="BloomFilter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.kudu.util</div>
+<h2 title="Class BloomFilter" class="title">Class BloomFilter</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.kudu.util.BloomFilter</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+ @InterfaceStability.Unstable
+ <a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/concurrent.NotThreadSafe.html?is-external=true" title="class or interface in javax.annotation">@NotThreadSafe</a>
+public class <span class="typeNameLabel">BloomFilter</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">An space-efficient filter which offers an approximate containment check.
+
+ <p>It can be used to filter all the records which are wanted, but doesn't guarantee to filter out
+ all the records which are <i>not</i> wanted.
+
+ <p>Please check this <a
+ href="https://en.wikipedia.org/wiki/Bloom_filter">wiki</a> for more details.
+
+ <p>The <code>BloomFilter</code> here is a scanning filter and used to constrain the number of records
+ returned from TServer. It provides different types of <code>put</code> methods. When you <code>put</code> a
+ record into <code>BloomFilter</code>, it means you expect the TServer to return records with
+ the same value in a scan.
+
+ <p>Here is an example for use:
+ <pre>
+ <code>
+   BloomFilter bf = BloomFilter.BySizeAndFPRate(numBytes);
+   bf.put(1);
+   bf.put(3);
+   bf.put(4);
+   byte[] bitSet = bf.getBitSet();
+   byte[] numHashes = bf.getNumHashes();
+   String hashFunctionName = bf.getHashFunctionName();
+   // TODO: implement the interface for serializing and sending
+   // (bitSet, numHashes, hashFunctionName) to TServer.
+ </code>
+ </pre></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#byCount-int-">byCount</a></span>(int&nbsp;expectedCount)</code>
+<div class="block">Generate bloom filter, default hashing is <code>Murmur2</code> and false positive rate is 0.01.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#byCountAndFPRate-int-double-">byCountAndFPRate</a></span>(int&nbsp;expectedCount,
+                double&nbsp;fpRate)</code>
+<div class="block">Generate bloom filter, default hashing is <code>Murmur2</code>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#byCountAndFPRate-int-double-org.apache.kudu.util.BloomFilter.HashFunction-">byCountAndFPRate</a></span>(int&nbsp;expectedCount,
+                double&nbsp;fpRate,
+                org.apache.kudu.util.BloomFilter.HashFunction&nbsp;hashFunction)</code>
+<div class="block">Generate bloom filter.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#bySize-int-">bySize</a></span>(int&nbsp;numBytes)</code>
+<div class="block">Generate bloom filter, default hashing is <code>Murmur2</code> and false positive rate is 0.01.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#bySizeAndFPRate-int-double-">bySizeAndFPRate</a></span>(int&nbsp;numBytes,
+               double&nbsp;fpRate)</code>
+<div class="block">Generate bloom filter, default hashing is <code>Murmur2</code>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#bySizeAndFPRate-int-double-org.apache.kudu.util.BloomFilter.HashFunction-">bySizeAndFPRate</a></span>(int&nbsp;numBytes,
+               double&nbsp;fpRate,
+               org.apache.kudu.util.BloomFilter.HashFunction&nbsp;hashFunction)</code>
+<div class="block">Generate bloom filter.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#getBitSet--">getBitSet</a></span>()</code>
+<div class="block">Get the internal bit set in bytes.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#getHashFunctionName--">getHashFunctionName</a></span>()</code>
+<div class="block">Get the name of hashing used when updating or checking containment.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#getNumHashes--">getNumHashes</a></span>()</code>
+<div class="block">Get the number of hashing times when updating or checking containment.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#put-boolean-">put</a></span>(boolean&nbsp;data)</code>
+<div class="block">Update bloom filter with a <code>boolean</code>.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#put-byte-">put</a></span>(byte&nbsp;data)</code>
+<div class="block">Update bloom filter with a <code>byte</code>.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#put-byte:A-">put</a></span>(byte[]&nbsp;data)</code>
+<div class="block">Update bloom filter with a <code>byte[]</code>.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#put-double-">put</a></span>(double&nbsp;data)</code>
+<div class="block">Update bloom filter with a <code>double</code>.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#put-float-">put</a></span>(float&nbsp;data)</code>
+<div class="block">Update bloom filter with a <code>float</code>.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#put-int-">put</a></span>(int&nbsp;data)</code>
+<div class="block">Update bloom filter with a <code>int</code>.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#put-long-">put</a></span>(long&nbsp;data)</code>
+<div class="block">Update bloom filter with a <code>long</code>.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#put-short-">put</a></span>(short&nbsp;data)</code>
+<div class="block">Update bloom filter with a <code>short</code>.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#put-java.lang.String-">put</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;data)</code>
+<div class="block">Update bloom filter with a <code>String</code>.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/util/BloomFilter.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="bySize-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bySize</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a>&nbsp;bySize(int&nbsp;numBytes)</pre>
+<div class="block">Generate bloom filter, default hashing is <code>Murmur2</code> and false positive rate is 0.01.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>numBytes</code> - size of bloom filter in bytes</dd>
+</dl>
+</li>
+</ul>
+<a name="bySizeAndFPRate-int-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bySizeAndFPRate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a>&nbsp;bySizeAndFPRate(int&nbsp;numBytes,
+                                          double&nbsp;fpRate)</pre>
+<div class="block">Generate bloom filter, default hashing is <code>Murmur2</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>numBytes</code> - size of bloom filter in bytes</dd>
+<dd><code>fpRate</code> - the probability that TServer will erroneously return a record that has not
+               ever been <code>put</code> into the <code>BloomFilter</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="bySizeAndFPRate-int-double-org.apache.kudu.util.BloomFilter.HashFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bySizeAndFPRate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a>&nbsp;bySizeAndFPRate(int&nbsp;numBytes,
+                                          double&nbsp;fpRate,
+                                          org.apache.kudu.util.BloomFilter.HashFunction&nbsp;hashFunction)</pre>
+<div class="block">Generate bloom filter.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>numBytes</code> - size of bloom filter in bytes</dd>
+<dd><code>fpRate</code> - the probability that TServer will erroneously return a record that has not
+               ever been <code>put</code> into the <code>BloomFilter</code>.</dd>
+<dd><code>hashFunction</code> - hashing used when updating or checking containment, user should pick
+                     the hashing function from <code>HashFunctions</code></dd>
+</dl>
+</li>
+</ul>
+<a name="byCount-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>byCount</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a>&nbsp;byCount(int&nbsp;expectedCount)</pre>
+<div class="block">Generate bloom filter, default hashing is <code>Murmur2</code> and false positive rate is 0.01.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>expectedCount</code> - The expected number of elements, targeted by this bloom filter.
+                      It is used to size the bloom filter.</dd>
+</dl>
+</li>
+</ul>
+<a name="byCountAndFPRate-int-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>byCountAndFPRate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a>&nbsp;byCountAndFPRate(int&nbsp;expectedCount,
+                                           double&nbsp;fpRate)</pre>
+<div class="block">Generate bloom filter, default hashing is <code>Murmur2</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>expectedCount</code> - The expected number of elements, targeted by this bloom filter.
+                      It is used to size the bloom filter.</dd>
+<dd><code>fpRate</code> - the probability that TServer will erroneously return a record that has not
+               ever been <code>put</code> into the <code>BloomFilter</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="byCountAndFPRate-int-double-org.apache.kudu.util.BloomFilter.HashFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>byCountAndFPRate</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a>&nbsp;byCountAndFPRate(int&nbsp;expectedCount,
+                                           double&nbsp;fpRate,
+                                           org.apache.kudu.util.BloomFilter.HashFunction&nbsp;hashFunction)</pre>
+<div class="block">Generate bloom filter.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>expectedCount</code> - The expected number of elements, targeted by this bloom filter.
+                      It is used to size the bloom filter.</dd>
+<dd><code>fpRate</code> - the probability that TServer will erroneously return a record that has not
+               ever been <code>put</code> into the <code>BloomFilter</code>.</dd>
+<dd><code>hashFunction</code> - hashing used when updating or checking containment, user should pick
+                     the hashing function from <code>HashFunctions</code></dd>
+</dl>
+</li>
+</ul>
+<a name="put-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>put</h4>
+<pre>public&nbsp;void&nbsp;put(byte[]&nbsp;data)</pre>
+<div class="block">Update bloom filter with a <code>byte[]</code>.</div>
+</li>
+</ul>
+<a name="put-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>put</h4>
+<pre>public&nbsp;void&nbsp;put(boolean&nbsp;data)</pre>
+<div class="block">Update bloom filter with a <code>boolean</code>.</div>
+</li>
+</ul>
+<a name="put-byte-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>put</h4>
+<pre>public&nbsp;void&nbsp;put(byte&nbsp;data)</pre>
+<div class="block">Update bloom filter with a <code>byte</code>.</div>
+</li>
+</ul>
+<a name="put-short-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>put</h4>
+<pre>public&nbsp;void&nbsp;put(short&nbsp;data)</pre>
+<div class="block">Update bloom filter with a <code>short</code>.</div>
+</li>
+</ul>
+<a name="put-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>put</h4>
+<pre>public&nbsp;void&nbsp;put(int&nbsp;data)</pre>
+<div class="block">Update bloom filter with a <code>int</code>.</div>
+</li>
+</ul>
+<a name="put-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>put</h4>
+<pre>public&nbsp;void&nbsp;put(long&nbsp;data)</pre>
+<div class="block">Update bloom filter with a <code>long</code>.</div>
+</li>
+</ul>
+<a name="put-float-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>put</h4>
+<pre>public&nbsp;void&nbsp;put(float&nbsp;data)</pre>
+<div class="block">Update bloom filter with a <code>float</code>.</div>
+</li>
+</ul>
+<a name="put-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>put</h4>
+<pre>public&nbsp;void&nbsp;put(double&nbsp;data)</pre>
+<div class="block">Update bloom filter with a <code>double</code>.</div>
+</li>
+</ul>
+<a name="put-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>put</h4>
+<pre>public&nbsp;void&nbsp;put(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;data)</pre>
+<div class="block">Update bloom filter with a <code>String</code>.</div>
+</li>
+</ul>
+<a name="getBitSet--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBitSet</h4>
+<pre>public&nbsp;byte[]&nbsp;getBitSet()</pre>
+<div class="block">Get the internal bit set in bytes.</div>
+</li>
+</ul>
+<a name="getNumHashes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumHashes</h4>
+<pre>public&nbsp;int&nbsp;getNumHashes()</pre>
+<div class="block">Get the number of hashing times when updating or checking containment.</div>
+</li>
+</ul>
+<a name="getHashFunctionName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHashFunctionName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getHashFunctionName()</pre>
+<div class="block">Get the name of hashing used when updating or checking containment.</div>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/util/BloomFilter.html" target="_top">Frames</a></li>
+<li><a href="BloomFilter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/util/package-frame.html b/releases/1.15.0/apidocs/org/apache/kudu/util/package-frame.html
new file mode 100644
index 0000000..92605cc
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/util/package-frame.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.util</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../org/apache/kudu/util/package-summary.html" target="classFrame">org.apache.kudu.util</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="BloomFilter.html" title="class in org.apache.kudu.util" target="classFrame">BloomFilter</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/util/package-summary.html b/releases/1.15.0/apidocs/org/apache/kudu/util/package-summary.html
new file mode 100644
index 0000000..49ccfc5
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/util/package-summary.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.util</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.kudu.util";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/test/package-summary.html">Prev&nbsp;Package</a></li>
+<li>Next&nbsp;Package</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/util/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.kudu.util</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></td>
+<td class="colLast">
+<div class="block">An space-efficient filter which offers an approximate containment check.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/test/package-summary.html">Prev&nbsp;Package</a></li>
+<li>Next&nbsp;Package</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/util/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/org/apache/kudu/util/package-tree.html b/releases/1.15.0/apidocs/org/apache/kudu/util/package-tree.html
new file mode 100644
index 0000000..581c3f3
--- /dev/null
+++ b/releases/1.15.0/apidocs/org/apache/kudu/util/package-tree.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>org.apache.kudu.util Class Hierarchy</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.kudu.util Class Hierarchy";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/test/package-tree.html">Prev</a></li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/util/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.kudu.util</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.kudu.util.<a href="../../../../org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util"><span class="typeNameLink">BloomFilter</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/kudu/test/package-tree.html">Prev</a></li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/kudu/util/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/overview-frame.html b/releases/1.15.0/apidocs/overview-frame.html
new file mode 100644
index 0000000..79263ae
--- /dev/null
+++ b/releases/1.15.0/apidocs/overview-frame.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Overview List</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<div class="indexHeader"><span><a href="allclasses-frame.html" target="packageFrame">All&nbsp;Classes</a></span></div>
+<div class="indexContainer">
+<h2 title="Packages">Packages</h2>
+<ul title="Packages">
+<li><a href="org/apache/kudu/package-frame.html" target="packageFrame">org.apache.kudu</a></li>
+<li><a href="org/apache/kudu/client/package-frame.html" target="packageFrame">org.apache.kudu.client</a></li>
+<li><a href="org/apache/kudu/spark/tools/package-frame.html" target="packageFrame">org.apache.kudu.spark.tools</a></li>
+<li><a href="org/apache/kudu/test/package-frame.html" target="packageFrame">org.apache.kudu.test</a></li>
+<li><a href="org/apache/kudu/util/package-frame.html" target="packageFrame">org.apache.kudu.util</a></li>
+</ul>
+</div>
+<p>&nbsp;</p>
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/overview-summary.html b/releases/1.15.0/apidocs/overview-summary.html
new file mode 100644
index 0000000..26ff611
--- /dev/null
+++ b/releases/1.15.0/apidocs/overview-summary.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Overview</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Overview";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li class="navBarCell1Rev">Overview</li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?overview-summary.html" target="_top">Frames</a></li>
+<li><a href="overview-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Packages table, listing packages, and an explanation">
+<caption><span>Packages</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/kudu/package-summary.html">org.apache.kudu</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/kudu/client/package-summary.html">org.apache.kudu.client</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/kudu/spark/tools/package-summary.html">org.apache.kudu.spark.tools</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/kudu/test/package-summary.html">org.apache.kudu.test</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/kudu/util/package-summary.html">org.apache.kudu.util</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li class="navBarCell1Rev">Overview</li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?overview-summary.html" target="_top">Frames</a></li>
+<li><a href="overview-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/overview-tree.html b/releases/1.15.0/apidocs/overview-tree.html
new file mode 100644
index 0000000..7646d94
--- /dev/null
+++ b/releases/1.15.0/apidocs/overview-tree.html
@@ -0,0 +1,252 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Class Hierarchy</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Class Hierarchy";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li>
+<li><a href="overview-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For All Packages</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="org/apache/kudu/package-tree.html">org.apache.kudu</a>, </li>
+<li><a href="org/apache/kudu/client/package-tree.html">org.apache.kudu.client</a>, </li>
+<li><a href="org/apache/kudu/spark/tools/package-tree.html">org.apache.kudu.spark.tools</a>, </li>
+<li><a href="org/apache/kudu/test/package-tree.html">org.apache.kudu.test</a>, </li>
+<li><a href="org/apache/kudu/util/package-tree.html">org.apache.kudu.util</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AbstractKuduScannerBuilder</span></a>&lt;S,T&gt;
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.AsyncKuduScannerBuilder</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanner.KuduScannerBuilder</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanToken.KuduScanTokenBuilder</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AlterTableOptions</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AlterTableResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduClient</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduClient.AsyncKuduClientBuilder</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduSession</span></a> (implements org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a>)</li>
+<li type="circle">org.apache.kudu.spark.tools.<a href="org/apache/kudu/spark/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.spark.tools"><span class="typeNameLink">BigLinkedListCommon</span></a></li>
+<li type="circle">org.apache.kudu.util.<a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util"><span class="typeNameLink">BloomFilter</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ColumnRangePredicate</span></a></li>
+<li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnSchema</span></a></li>
+<li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnSchema.ColumnSchemaBuilder</span></a></li>
+<li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnTypeAttributes</span></a></li>
+<li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu"><span class="typeNameLink">ColumnTypeAttributes.ColumnTypeAttributesBuilder</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client"><span class="typeNameLink">CreateTableOptions</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">DeleteTableResponse</span></a></li>
+<li type="circle">org.junit.rules.ExternalResource (implements org.junit.rules.TestRule)
+<ul>
+<li type="circle">org.apache.kudu.test.<a href="org/apache/kudu/test/KuduTestHarness.html" title="class in org.apache.kudu.test"><span class="typeNameLink">KuduTestHarness</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">IsAlterTableDoneResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">IsCreateTableDoneResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduClient</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduClient.KuduClientBuilder</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPartitioner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduPartitioner</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduPartitioner.KuduPartitionerBuilder</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduPredicate</span></a></li>
+<li type="circle">org.apache.kudu.client.KuduRpc&lt;R&gt;
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Operation</span></a>
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Delete</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/DeleteIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">DeleteIgnore</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Insert</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/InsertIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">InsertIgnore</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Update</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/UpdateIgnore.html" title="class in org.apache.kudu.client"><span class="typeNameLink">UpdateIgnore</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Upsert</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanner</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScannerIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScannerIterator</span></a> (implements java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;E&gt;)</li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduScanToken</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduSession</span></a> (implements org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a>)</li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTable</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTableStatistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTableStatistics</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduTransaction.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduTransaction</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ListTablesResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ListTabletServersResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client"><span class="typeNameLink">LocatedTablet</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client"><span class="typeNameLink">LocatedTablet.Replica</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client"><span class="typeNameLink">OperationResponse</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client"><span class="typeNameLink">PartialRow</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">ResourceMetrics</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowError</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowErrorsAndOverflowStatus</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowResult</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><span class="typeNameLink">RowResultIterator</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;, java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;E&gt;)</li>
+<li type="circle">org.apache.kudu.<a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu"><span class="typeNameLink">Schema</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Statistics</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Status</span></a></li>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Exception</span></a>
+<ul>
+<li type="circle">java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">IOException</span></a>
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduException</span></a>
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">PleaseThrottleException</span></a> (implements org.apache.kudu.client.<a href="org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client">HasFailedRpcException</a>)</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client"><span class="typeNameLink">KuduException.OriginalException</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">HasFailedRpcException</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client"><span class="typeNameLink">SessionConfiguration</span></a></li>
+</ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.ReadMode</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">AsyncKuduScanner.RowDataFormat</span></a></li>
+<li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.CompressionAlgorithm</span></a></li>
+<li type="circle">org.apache.kudu.<a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu"><span class="typeNameLink">ColumnSchema.Encoding</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">ExternalConsistencyMode</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">KuduPredicate.ComparisonOp</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">RangePartitionBound</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">ReplicaSelection</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">SessionConfiguration.FlushMode</span></a></li>
+<li type="circle">org.apache.kudu.client.<a href="org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Statistics.Statistic</span></a></li>
+<li type="circle">org.apache.kudu.<a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu"><span class="typeNameLink">Type</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li>
+<li><a href="overview-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/package-list b/releases/1.15.0/apidocs/package-list
new file mode 100644
index 0000000..c724a2b
--- /dev/null
+++ b/releases/1.15.0/apidocs/package-list
@@ -0,0 +1,5 @@
+org.apache.kudu
+org.apache.kudu.client
+org.apache.kudu.spark.tools
+org.apache.kudu.test
+org.apache.kudu.util
diff --git a/releases/1.15.0/apidocs/script.js b/releases/1.15.0/apidocs/script.js
new file mode 100644
index 0000000..b346356
--- /dev/null
+++ b/releases/1.15.0/apidocs/script.js
@@ -0,0 +1,30 @@
+function show(type)
+{
+    count = 0;
+    for (var key in methods) {
+        var row = document.getElementById(key);
+        if ((methods[key] &  type) != 0) {
+            row.style.display = '';
+            row.className = (count++ % 2) ? rowColor : altColor;
+        }
+        else
+            row.style.display = 'none';
+    }
+    updateTabs(type);
+}
+
+function updateTabs(type)
+{
+    for (var value in tabs) {
+        var sNode = document.getElementById(tabs[value][0]);
+        var spanNode = sNode.firstChild;
+        if (value == type) {
+            sNode.className = activeTableTab;
+            spanNode.innerHTML = tabs[value][1];
+        }
+        else {
+            sNode.className = tableTab;
+            spanNode.innerHTML = "<a href=\"javascript:show("+ value + ");\">" + tabs[value][1] + "</a>";
+        }
+    }
+}
diff --git a/releases/1.15.0/apidocs/serialized-form.html b/releases/1.15.0/apidocs/serialized-form.html
new file mode 100644
index 0000000..fa6e95f
--- /dev/null
+++ b/releases/1.15.0/apidocs/serialized-form.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>Serialized Form</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Serialized Form";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?serialized-form.html" target="_top">Frames</a></li>
+<li><a href="serialized-form.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Serialized Form" class="title">Serialized Form</h1>
+</div>
+<div class="serializedFormContainer">
+<ul class="blockList">
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.kudu.client</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.kudu.client.KuduException">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">org.apache.kudu.client.KuduException</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>status</h4>
+<pre><a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a> status</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.kudu.client.KuduException.OriginalException">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client">org.apache.kudu.client.KuduException.OriginalException</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> implements Serializable</h3>
+</li>
+<li class="blockList"><a name="org.apache.kudu.client.PleaseThrottleException">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client">org.apache.kudu.client.PleaseThrottleException</a> extends org.apache.kudu.client.RecoverableException implements Serializable</h3>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?serialized-form.html" target="_top">Frames</a></li>
+<li><a href="serialized-form.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/releases/1.15.0/apidocs/stylesheet.css b/releases/1.15.0/apidocs/stylesheet.css
new file mode 100644
index 0000000..98055b2
--- /dev/null
+++ b/releases/1.15.0/apidocs/stylesheet.css
@@ -0,0 +1,574 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+
+@import url('resources/fonts/dejavu.css');
+
+body {
+    background-color:#ffffff;
+    color:#353833;
+    font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
+    font-size:14px;
+    margin:0;
+}
+a:link, a:visited {
+    text-decoration:none;
+    color:#4A6782;
+}
+a:hover, a:focus {
+    text-decoration:none;
+    color:#bb7a2a;
+}
+a:active {
+    text-decoration:none;
+    color:#4A6782;
+}
+a[name] {
+    color:#353833;
+}
+a[name]:hover {
+    text-decoration:none;
+    color:#353833;
+}
+pre {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+}
+h1 {
+    font-size:20px;
+}
+h2 {
+    font-size:18px;
+}
+h3 {
+    font-size:16px;
+    font-style:italic;
+}
+h4 {
+    font-size:13px;
+}
+h5 {
+    font-size:12px;
+}
+h6 {
+    font-size:11px;
+}
+ul {
+    list-style-type:disc;
+}
+code, tt {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    padding-top:4px;
+    margin-top:8px;
+    line-height:1.4em;
+}
+dt code {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    padding-top:4px;
+}
+table tr td dt code {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    vertical-align:top;
+    padding-top:4px;
+}
+sup {
+    font-size:8px;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+    clear:both;
+    height:0px;
+    overflow:hidden;
+}
+.aboutLanguage {
+    float:right;
+    padding:0px 21px;
+    font-size:11px;
+    z-index:200;
+    margin-top:-9px;
+}
+.legalCopy {
+    margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+    color:#FFFFFF;
+    text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+    color:#bb7a2a;
+}
+.tab {
+    background-color:#0066FF;
+    color:#ffffff;
+    padding:8px;
+    width:5em;
+    font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    padding:.8em .5em .4em .8em;
+    height:auto;/*height:1.8em;*/
+    font-size:11px;
+    margin:0;
+}
+.topNav {
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+    font-size:12px; 
+}
+.bottomNav {
+    margin-top:10px;
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+    font-size:12px;
+}
+.subNav {
+    background-color:#dee3e9;
+    float:left;
+    width:100%;
+    overflow:hidden;
+    font-size:12px;
+}
+.subNav div {
+    clear:left;
+    float:left;
+    padding:0 0 5px 6px;
+    text-transform:uppercase;
+}
+ul.navList, ul.subNavList {
+    float:left;
+    margin:0 25px 0 0;
+    padding:0;
+}
+ul.navList li{
+    list-style:none;
+    float:left;
+    padding: 5px 6px;
+    text-transform:uppercase;
+}
+ul.subNavList li{
+    list-style:none;
+    float:left;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
+    color:#FFFFFF;
+    text-decoration:none;
+    text-transform:uppercase;
+}
+.topNav a:hover, .bottomNav a:hover {
+    text-decoration:none;
+    color:#bb7a2a;
+    text-transform:uppercase;
+}
+.navBarCell1Rev {
+    background-color:#F8981D;
+    color:#253441;
+    margin: auto 5px;
+}
+.skipNav {
+    position:absolute;
+    top:auto;
+    left:-9999px;
+    overflow:hidden;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+    clear:both;
+    margin:0 20px;
+    padding:5px 0 0 0;
+}
+.indexHeader {
+    margin:10px;
+    position:relative;
+}
+.indexHeader span{
+    margin-right:15px;
+}
+.indexHeader h1 {
+    font-size:13px;
+}
+.title {
+    color:#2c4557;
+    margin:10px 0;
+}
+.subTitle {
+    margin:5px 0 0 0;
+}
+.header ul {
+    margin:0 0 15px 0;
+    padding:0;
+}
+.footer ul {
+    margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+    list-style:none;
+    font-size:13px;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+    background-color:#dee3e9;
+    border:1px solid #d0d9e0;
+    margin:0 0 6px -8px;
+    padding:7px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+    background-color:#dee3e9;
+    border:1px solid #d0d9e0;
+    margin:0 0 6px -8px;
+    padding:7px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+    padding:0;
+    margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+    padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
+    clear:both;
+    padding:10px 20px;
+    position:relative;
+}
+.indexContainer {
+    margin:10px;
+    position:relative;
+    font-size:12px;
+}
+.indexContainer h2 {
+    font-size:13px;
+    padding:0 0 3px 0;
+}
+.indexContainer ul {
+    margin:0;
+    padding:0;
+}
+.indexContainer ul li {
+    list-style:none;
+    padding-top:2px;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
+    font-size:12px;
+    font-weight:bold;
+    margin:10px 0 0 0;
+    color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
+    margin:5px 0 10px 0px;
+    font-size:14px;
+    font-family:'DejaVu Sans Mono',monospace;
+}
+.serializedFormContainer dl.nameValue dt {
+    margin-left:1px;
+    font-size:1.1em;
+    display:inline;
+    font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+    margin:0 0 0 1px;
+    font-size:1.1em;
+    display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+    display:inline;
+    font-size:0.9em;
+}
+ul.inheritance {
+    margin:0;
+    padding:0;
+}
+ul.inheritance li {
+    display:inline;
+    list-style:none;
+}
+ul.inheritance li ul.inheritance {
+    margin-left:15px;
+    padding-left:15px;
+    padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+    margin:10px 0 10px 0;
+    padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+    list-style:none;
+    margin-bottom:15px;
+    line-height:1.4;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
+    padding:0px 20px 5px 10px;
+    border:1px solid #ededed; 
+    background-color:#f8f8f8;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
+    padding:0 0 5px 8px;
+    background-color:#ffffff;
+    border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+    margin-left:0;
+    padding-left:0;
+    padding-bottom:15px;
+    border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+    list-style:none;
+    border-bottom:none;
+    padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+    margin-top:0;
+    margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
+    width:100%;
+    border-left:1px solid #EEE; 
+    border-right:1px solid #EEE; 
+    border-bottom:1px solid #EEE; 
+}
+.overviewSummary, .memberSummary  {
+    padding:0px;
+}
+.overviewSummary caption, .memberSummary caption, .typeSummary caption,
+.useSummary caption, .constantsSummary caption, .deprecatedSummary caption {
+    position:relative;
+    text-align:left;
+    background-repeat:no-repeat;
+    color:#253441;
+    font-weight:bold;
+    clear:none;
+    overflow:hidden;
+    padding:0px;
+    padding-top:10px;
+    padding-left:1px;
+    margin:0px;
+    white-space:pre;
+}
+.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link,
+.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link,
+.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover,
+.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover,
+.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active,
+.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active,
+.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited,
+.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited {
+    color:#FFFFFF;
+}
+.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,
+.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    padding-bottom:7px;
+    display:inline-block;
+    float:left;
+    background-color:#F8981D;
+    border: none;
+    height:16px;
+}
+.memberSummary caption span.activeTableTab span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    margin-right:3px;
+    display:inline-block;
+    float:left;
+    background-color:#F8981D;
+    height:16px;
+}
+.memberSummary caption span.tableTab span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    margin-right:3px;
+    display:inline-block;
+    float:left;
+    background-color:#4D7A97;
+    height:16px;
+}
+.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {
+    padding-top:0px;
+    padding-left:0px;
+    padding-right:0px;
+    background-image:none;
+    float:none;
+    display:inline;
+}
+.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
+.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
+    display:none;
+    width:5px;
+    position:relative;
+    float:left;
+    background-color:#F8981D;
+}
+.memberSummary .activeTableTab .tabEnd {
+    display:none;
+    width:5px;
+    margin-right:3px;
+    position:relative; 
+    float:left;
+    background-color:#F8981D;
+}
+.memberSummary .tableTab .tabEnd {
+    display:none;
+    width:5px;
+    margin-right:3px;
+    position:relative;
+    background-color:#4D7A97;
+    float:left;
+
+}
+.overviewSummary td, .memberSummary td, .typeSummary td,
+.useSummary td, .constantsSummary td, .deprecatedSummary td {
+    text-align:left;
+    padding:0px 0px 12px 10px;
+}
+th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
+td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
+    vertical-align:top;
+    padding-right:0px;
+    padding-top:8px;
+    padding-bottom:3px;
+}
+th.colFirst, th.colLast, th.colOne, .constantsSummary th {
+    background:#dee3e9;
+    text-align:left;
+    padding:8px 3px 3px 7px;
+}
+td.colFirst, th.colFirst {
+    white-space:nowrap;
+    font-size:13px;
+}
+td.colLast, th.colLast {
+    font-size:13px;
+}
+td.colOne, th.colOne {
+    font-size:13px;
+}
+.overviewSummary td.colFirst, .overviewSummary th.colFirst,
+.useSummary td.colFirst, .useSummary th.colFirst,
+.overviewSummary td.colOne, .overviewSummary th.colOne,
+.memberSummary td.colFirst, .memberSummary th.colFirst,
+.memberSummary td.colOne, .memberSummary th.colOne,
+.typeSummary td.colFirst{
+    width:25%;
+    vertical-align:top;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
+    font-weight:bold;
+}
+.tableSubHeadingColor {
+    background-color:#EEEEFF;
+}
+.altColor {
+    background-color:#FFFFFF;
+}
+.rowColor {
+    background-color:#EEEEEF;
+}
+/*
+Content styles
+*/
+.description pre {
+    margin-top:0;
+}
+.deprecatedContent {
+    margin:0;
+    padding:10px 0;
+}
+.docSummary {
+    padding:0;
+}
+
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+    font-style:normal;
+}
+
+div.block {
+    font-size:14px;
+    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
+
+td.colLast div {
+    padding-top:0px;
+}
+
+
+td.colLast a {
+    padding-bottom:3px;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+    color:green;
+    padding:0 30px 0 0;
+}
+h1.hidden {
+    visibility:hidden;
+    overflow:hidden;
+    font-size:10px;
+}
+.block {
+    display:block;
+    margin:3px 10px 2px 0px;
+    color:#474747;
+}
+.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
+.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
+.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink {
+    font-weight:bold;
+}
+.deprecationComment, .emphasizedPhrase, .interfaceName {
+    font-style:italic;
+}
+
+div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase,
+div.block div.block span.interfaceName {
+    font-style:normal;
+}
+
+div.contentContainer ul.blockList li.blockList h2{
+    padding-bottom:0px;
+}
diff --git a/releases/1.15.0/cpp-client-api/annotated.html b/releases/1.15.0/cpp-client-api/annotated.html
new file mode 100644
index 0000000..18b6894
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/annotated.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Class List</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>kudu</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>client</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>internal</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html" target="_self">AsyncLeaderMasterRpc</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html" target="_self">AsyncRandomTxnManagerRpc</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html" target="_self">KuduLoggingCallback</a></td><td class="desc">The interface for all logging callbacks </td></tr>
+<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html" target="_self">KuduLoggingMemberCallback</a></td><td class="desc">The logging callback that invokes a member function of an object </td></tr>
+<tr id="row_0_0_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html" target="_self">KuduLoggingFunctionCallback</a></td><td class="desc">The logging callback that invokes a function by pointer with a single argument </td></tr>
+<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html" target="_self">KuduStatusCallback</a></td><td class="desc">The interface for all status callbacks </td></tr>
+<tr id="row_0_0_5_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html" target="_self">KuduStatusMemberCallback</a></td><td class="desc">The status callback that invokes a member function of an object </td></tr>
+<tr id="row_0_0_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html" target="_self">KuduStatusFunctionCallback</a></td><td class="desc">The status callback that invokes a function by pointer with a single argument </td></tr>
+<tr id="row_0_0_7_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html" target="_self">KuduClientBuilder</a></td><td class="desc">A "factory" for <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> objects </td></tr>
+<tr id="row_0_0_8_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_8_" class="arrow" onclick="toggleFolder('0_0_8_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html" target="_self">KuduTransaction</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_8_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html" target="_self">SerializationOptions</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_9_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduClient.html" target="_self">KuduClient</a></td><td class="desc">A handle for a connection to a cluster </td></tr>
+<tr id="row_0_0_10_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html" target="_self">KuduTabletServer</a></td><td class="desc">In-memory representation of a remote tablet server </td></tr>
+<tr id="row_0_0_11_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduReplica.html" target="_self">KuduReplica</a></td><td class="desc">In-memory representation of a remote tablet's replica </td></tr>
+<tr id="row_0_0_12_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTablet.html" target="_self">KuduTablet</a></td><td class="desc">In-memory representation of a remote tablet </td></tr>
+<tr id="row_0_0_13_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" target="_self">KuduTableCreator</a></td><td class="desc">A helper class to create a new table with the desired options </td></tr>
+<tr id="row_0_0_14_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html" target="_self">KuduTableStatistics</a></td><td class="desc">In-memory statistics of table </td></tr>
+<tr id="row_0_0_15_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTable.html" target="_self">KuduTable</a></td><td class="desc">A representation of a table on a particular cluster </td></tr>
+<tr id="row_0_0_16_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html" target="_self">KuduTableAlterer</a></td><td class="desc">Alters an existing table based on the provided steps </td></tr>
+<tr id="row_0_0_17_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduError.html" target="_self">KuduError</a></td><td class="desc">This class represents an error which occurred in a write operation </td></tr>
+<tr id="row_0_0_18_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduSession.html" target="_self">KuduSession</a></td><td class="desc">Representation of a Kudu client session </td></tr>
+<tr id="row_0_0_19_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduScanner.html" target="_self">KuduScanner</a></td><td class="desc">This class is a representation of a single scan </td></tr>
+<tr id="row_0_0_20_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html" target="_self">KuduScanToken</a></td><td class="desc">A scan descriptor limited to a single physical contiguous location </td></tr>
+<tr id="row_0_0_21_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" target="_self">KuduScanTokenBuilder</a></td><td class="desc">Builds scan tokens for a table </td></tr>
+<tr id="row_0_0_22_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html" target="_self">KuduPartitionerBuilder</a></td><td class="desc">Builder for Partitioner instances </td></tr>
+<tr id="row_0_0_23_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html" target="_self">KuduPartitioner</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_24_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html" target="_self">KuduColumnarScanBatch</a></td><td class="desc">A batch of columnar data returned from a scanner </td></tr>
+<tr id="row_0_0_25_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html" target="_self">ResourceMetrics</a></td><td class="desc">A generic catalog of simple metrics </td></tr>
+<tr id="row_0_0_26_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html" target="_self">KuduScanBatch</a></td><td class="desc">A batch of zero or more rows returned by a scan operation </td></tr>
+<tr id="row_0_0_27_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html" target="_self">KuduPredicate</a></td><td class="desc">A representation of comparison predicate for Kudu queries </td></tr>
+<tr id="row_0_0_28_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html" target="_self">KuduBloomFilter</a></td><td class="desc">Bloom filter to be used with IN Bloom filter predicate </td></tr>
+<tr id="row_0_0_29_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html" target="_self">KuduBloomFilterBuilder</a></td><td class="desc">Builder class to help build <code><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html" title="Bloom filter to be used with IN Bloom filter predicate.">KuduBloomFilter</a></code> to be used with IN Bloom filter predicate </td></tr>
+<tr id="row_0_0_30_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html" target="_self">KuduColumnTypeAttributes</a></td><td class="desc">Representation of column type attributes </td></tr>
+<tr id="row_0_0_31_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html" target="_self">KuduColumnStorageAttributes</a></td><td class="desc">Representation of column storage attributes </td></tr>
+<tr id="row_0_0_32_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html" target="_self">KuduColumnSchema</a></td><td class="desc">Representation of the column schema </td></tr>
+<tr id="row_0_0_33_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html" target="_self">KuduColumnSpec</a></td><td class="desc">Builder API for specifying or altering a column within a table schema </td></tr>
+<tr id="row_0_0_34_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html" target="_self">KuduSchemaBuilder</a></td><td class="desc">Builder API for constructing a <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a> object </td></tr>
+<tr id="row_0_0_35_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduSchema.html" target="_self">KuduSchema</a></td><td class="desc">A representation of a table's schema </td></tr>
+<tr id="row_0_0_36_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduValue.html" target="_self">KuduValue</a></td><td class="desc">A constant cell value with a specific type </td></tr>
+<tr id="row_0_0_37_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html" target="_self">KuduWriteOperation</a></td><td class="desc">A single-row write operation to be sent to a Kudu table </td></tr>
+<tr id="row_0_0_38_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduInsert.html" target="_self">KuduInsert</a></td><td class="desc">A single row insert to be sent to the cluster </td></tr>
+<tr id="row_0_0_39_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html" target="_self">KuduInsertIgnore</a></td><td class="desc">A single row insert ignore to be sent to the cluster, duplicate row errors are ignored </td></tr>
+<tr id="row_0_0_40_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html" target="_self">KuduUpsert</a></td><td class="desc">A single row upsert to be sent to the cluster </td></tr>
+<tr id="row_0_0_41_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html" target="_self">KuduUpdate</a></td><td class="desc">A single row update to be sent to the cluster </td></tr>
+<tr id="row_0_0_42_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html" target="_self">KuduUpdateIgnore</a></td><td class="desc">A single row update ignore to be sent to the cluster, missing row errors are ignored </td></tr>
+<tr id="row_0_0_43_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduDelete.html" target="_self">KuduDelete</a></td><td class="desc">A single row delete to be sent to the cluster </td></tr>
+<tr id="row_0_0_44_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html" target="_self">KuduDeleteIgnore</a></td><td class="desc">A single row delete ignore to be sent to the cluster </td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>internal_logging</b></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html" target="_self">NullLog</a></td><td class="desc">A helper for the nil log sink </td></tr>
+<tr id="row_0_1_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html" target="_self">CerrLog</a></td><td class="desc">A helper for stderr log sink </td></tr>
+<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1MonoDelta.html" target="_self">MonoDelta</a></td><td class="desc">A representation of a time interval </td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1MonoTime.html" target="_self">MonoTime</a></td><td class="desc">Representation of a particular point in time </td></tr>
+<tr id="row_0_4_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_4_" class="arrow" onclick="toggleFolder('0_4_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1Slice.html" target="_self">Slice</a></td><td class="desc">A wrapper around externally allocated data </td></tr>
+<tr id="row_0_4_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkudu_1_1Slice_1_1Comparator.html" target="_self">Comparator</a></td><td class="desc"><a class="el" href="structkudu_1_1Slice_1_1Comparator.html" title="Comparator struct, useful for ordered collections (like STL maps).">Comparator</a> struct, useful for ordered collections (like STL maps) </td></tr>
+<tr id="row_0_5_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkudu_1_1SliceMap.html" target="_self">SliceMap</a></td><td class="desc">STL map whose keys are Slices </td></tr>
+<tr id="row_0_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1Status.html" target="_self">Status</a></td><td class="desc">A representation of an operation's outcome </td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classKuduPartialRow.html" target="_self">KuduPartialRow</a></td><td class="desc">A row which may only contain values for a subset of the columns </td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/bc_s.png b/releases/1.15.0/cpp-client-api/bc_s.png
new file mode 100644
index 0000000..224b29a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/bc_s.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/bdwn.png b/releases/1.15.0/cpp-client-api/bdwn.png
new file mode 100644
index 0000000..940a0b9
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/bdwn.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/callbacks_8h_source.html b/releases/1.15.0/cpp-client-api/callbacks_8h_source.html
new file mode 100644
index 0000000..2997d0e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/callbacks_8h_source.html
@@ -0,0 +1,276 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/callbacks.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">callbacks.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_CALLBACKS_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_CALLBACKS_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/macros.h&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/port.h&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">class </span>Status;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">enum</span> KuduLogSeverity {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;  SEVERITY_INFO,</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  SEVERITY_WARNING,</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;  SEVERITY_ERROR,</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  SEVERITY_FATAL</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;};</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduLoggingCallback.html">   44</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduLoggingCallback.html">KuduLoggingCallback</a> {</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduLoggingCallback.html">KuduLoggingCallback</a>() {</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  }</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classkudu_1_1client_1_1KuduLoggingCallback.html">KuduLoggingCallback</a>() {</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  }</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c">   68</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c">Run</a>(KuduLogSeverity severity,</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">char</span>* filename,</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;                   <span class="keywordtype">int</span> line_number,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                   <span class="keyword">const</span> struct ::tm* time,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">char</span>* message,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                   <span class="keywordtype">size_t</span> message_len) = 0;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduLoggingCallback.html">KuduLoggingCallback</a>);</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;};</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">   81</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">KuduLoggingMemberCallback</a> : <span class="keyword">public</span> <a class="code" href="classkudu_1_1client_1_1KuduLoggingCallback.html">KuduLoggingCallback</a> {</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d">   84</a></span>&#160;  <span class="keyword">typedef</span> void (T::*MemberType)(</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      KuduLogSeverity severity,</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">char</span>* filename,</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      <span class="keywordtype">int</span> line_number,</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <span class="keyword">const</span> struct ::tm* time,</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">char</span>* message,</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keywordtype">size_t</span> message_len);</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; </div>
+<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8">   98</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8">KuduLoggingMemberCallback</a>(T* <span class="keywordtype">object</span>, MemberType member)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    : object_(object),</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      member_(member) {</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  }</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9">  104</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9">Run</a>(KuduLogSeverity severity,</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">char</span>* filename,</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                   <span class="keywordtype">int</span> line_number,</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                   <span class="keyword">const</span> struct ::tm* time,</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">char</span>* message,</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                   <span class="keywordtype">size_t</span> message_len) OVERRIDE {</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    (object_-&gt;*member_)(severity, filename, line_number, time,</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        message, message_len);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  }</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  T* object_;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  MemberType member_;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;};</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">  122</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">KuduLoggingFunctionCallback</a> : <span class="keyword">public</span> <a class="code" href="classkudu_1_1client_1_1KuduLoggingCallback.html">KuduLoggingCallback</a> {</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d">  125</a></span>&#160;  <span class="keyword">typedef</span> void (*FunctionType)(T arg,</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      KuduLogSeverity severity,</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">char</span>* filename,</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      <span class="keywordtype">int</span> line_number,</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      <span class="keyword">const</span> struct ::tm* time,</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">char</span>* message,</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      <span class="keywordtype">size_t</span> message_len);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c">  139</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c">KuduLoggingFunctionCallback</a>(FunctionType <span class="keyword">function</span>, T arg)</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    : function_(function),</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      arg_(arg) {</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  }</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d">  145</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d">Run</a>(KuduLogSeverity severity,</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">char</span>* filename,</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                   <span class="keywordtype">int</span> line_number,</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                   <span class="keyword">const</span> struct ::tm* time,</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">char</span>* message,</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;                   <span class="keywordtype">size_t</span> message_len) OVERRIDE {</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    function_(arg_, severity, filename, line_number, time,</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;              message, message_len);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  }</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  FunctionType function_;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  T arg_;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;};</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160; </div>
+<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduStatusCallback.html">  161</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a> {</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a>() {</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;  }</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160; </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a>() {</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  }</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; </div>
+<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07">  173</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07">Run</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; s) = 0;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a>);</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;};</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">  181</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">KuduStatusMemberCallback</a> : <span class="keyword">public</span> <a class="code" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a> {</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a">  184</a></span>&#160;  <span class="keyword">typedef</span> void (T::*MemberType)(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; s);</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa">  192</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa">KuduStatusMemberCallback</a>(T* <span class="keywordtype">object</span>, MemberType member)</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    : object_(object),</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;      member_(member) {</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  }</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160; </div>
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232">  198</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232">Run</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; s) OVERRIDE {</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    (object_-&gt;*member_)(s);</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  }</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160; </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  T* object_;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  MemberType member_;</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;};</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160; </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">  210</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">KuduStatusFunctionCallback</a> : <span class="keyword">public</span> <a class="code" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a> {</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910">  213</a></span>&#160;  <span class="keyword">typedef</span> void (*FunctionType)(T arg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; s);</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160; </div>
+<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b">  222</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b">KuduStatusFunctionCallback</a>(FunctionType <span class="keyword">function</span>, T arg)</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    : function_(function),</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;      arg_(arg) {</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;  }</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160; </div>
+<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a">  228</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a">Run</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; s) OVERRIDE {</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    function_(arg_, s);</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  }</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160; </div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  FunctionType function_;</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  T arg_;</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;};</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160; </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclasskudu_1_1Status_html"><div class="ttname"><a href="classkudu_1_1Status.html">kudu::Status</a></div><div class="ttdoc">A representation of an operation's outcome.</div><div class="ttdef"><b>Definition:</b> status.h:165</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduLoggingCallback_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a></div><div class="ttdoc">The interface for all logging callbacks.</div><div class="ttdef"><b>Definition:</b> callbacks.h:44</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduLoggingCallback_html_a59db98413fb312d260fcb08299bae89c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c">kudu::client::KuduLoggingCallback::Run</a></div><div class="ttdeci">virtual void Run(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)=0</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduLoggingFunctionCallback_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">kudu::client::KuduLoggingFunctionCallback</a></div><div class="ttdoc">The logging callback that invokes a function by pointer with a single argument.</div><div class="ttdef"><b>Definition:</b> callbacks.h:122</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduLoggingFunctionCallback_html_a4263c504b21e0e5827f47a902e908a2c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c">kudu::client::KuduLoggingFunctionCallback::KuduLoggingFunctionCallback</a></div><div class="ttdeci">KuduLoggingFunctionCallback(FunctionType function, T arg)</div><div class="ttdef"><b>Definition:</b> callbacks.h:139</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduLoggingFunctionCallback_html_ae22e9139102f60d049c29e888c6a528d"><div class="ttname"><a href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d">kudu::client::KuduLoggingFunctionCallback::Run</a></div><div class="ttdeci">virtual void Run(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDE</div><div class="ttdef"><b>Definition:</b> callbacks.h:145</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduLoggingMemberCallback_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">kudu::client::KuduLoggingMemberCallback</a></div><div class="ttdoc">The logging callback that invokes a member function of an object.</div><div class="ttdef"><b>Definition:</b> callbacks.h:81</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduLoggingMemberCallback_html_aafb1373a805d6e05c0fc5715927677c9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9">kudu::client::KuduLoggingMemberCallback::Run</a></div><div class="ttdeci">virtual void Run(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDE</div><div class="ttdef"><b>Definition:</b> callbacks.h:104</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduLoggingMemberCallback_html_aeda4119b1288db0d055c9800e3485fd8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8">kudu::client::KuduLoggingMemberCallback::KuduLoggingMemberCallback</a></div><div class="ttdeci">KuduLoggingMemberCallback(T *object, MemberType member)</div><div class="ttdef"><b>Definition:</b> callbacks.h:98</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduStatusCallback_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a></div><div class="ttdoc">The interface for all status callbacks.</div><div class="ttdef"><b>Definition:</b> callbacks.h:161</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduStatusCallback_html_a2333beedb1d0c08a8c127b4552fbeb07"><div class="ttname"><a href="classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07">kudu::client::KuduStatusCallback::Run</a></div><div class="ttdeci">virtual void Run(const Status &amp;s)=0</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduStatusFunctionCallback_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">kudu::client::KuduStatusFunctionCallback</a></div><div class="ttdoc">The status callback that invokes a function by pointer with a single argument.</div><div class="ttdef"><b>Definition:</b> callbacks.h:210</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduStatusFunctionCallback_html_aca289bbf6ad9720bd74a90550f6c9b3b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b">kudu::client::KuduStatusFunctionCallback::KuduStatusFunctionCallback</a></div><div class="ttdeci">KuduStatusFunctionCallback(FunctionType function, T arg)</div><div class="ttdef"><b>Definition:</b> callbacks.h:222</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduStatusFunctionCallback_html_af4c3e7fbd4fed52bcba220f95a27f70a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a">kudu::client::KuduStatusFunctionCallback::Run</a></div><div class="ttdeci">virtual void Run(const Status &amp;s) OVERRIDE</div><div class="ttdef"><b>Definition:</b> callbacks.h:228</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduStatusMemberCallback_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">kudu::client::KuduStatusMemberCallback</a></div><div class="ttdoc">The status callback that invokes a member function of an object.</div><div class="ttdef"><b>Definition:</b> callbacks.h:181</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduStatusMemberCallback_html_a94bde1bdcb3cde6f78b11d822be19232"><div class="ttname"><a href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232">kudu::client::KuduStatusMemberCallback::Run</a></div><div class="ttdeci">virtual void Run(const Status &amp;s) OVERRIDE</div><div class="ttdef"><b>Definition:</b> callbacks.h:198</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduStatusMemberCallback_html_acdb02b9798adf2c80b39cfb024f199aa"><div class="ttname"><a href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa">kudu::client::KuduStatusMemberCallback::KuduStatusMemberCallback</a></div><div class="ttdeci">KuduStatusMemberCallback(T *object, MemberType member)</div><div class="ttdef"><b>Definition:</b> callbacks.h:192</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:35 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classKuduPartialRow-members.html b/releases/1.15.0/cpp-client-api/classKuduPartialRow-members.html
new file mode 100644
index 0000000..1375c50
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classKuduPartialRow-members.html
@@ -0,0 +1,156 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">KuduPartialRow Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d">AllColumnsSet</a>() const</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2">EncodeRowKey</a>(std::string *encoded_key) const</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e">GetBinary</a>(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a1c6b9c1cdf9f80ddeea53117ddc5545d">GetBinary</a>(int col_idx, Slice *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2">GetBool</a>(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#afd863a5f5a4803a89f6a2db06ba54931">GetBool</a>(int col_idx, bool *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97">GetDate</a>(const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#af0a4c7c7b575a9349195f4f2a8882428">GetDate</a>(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd">GetDouble</a>(const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a4b4fae6f8be68e97b0e7145ea55fae9f">GetDouble</a>(int col_idx, double *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc">GetFloat</a>(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a1a53cf17ad2cd746b7512ae3ecd6131f">GetFloat</a>(int col_idx, float *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93">GetInt16</a>(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a918cb01437d863fa0a35a9a72b7bac1a">GetInt16</a>(int col_idx, int16_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a9956360f9208549aab03d9284ff80b46">GetInt32</a>(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc">GetInt32</a>(int col_idx, int32_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc">GetInt64</a>(const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a9ded00965652dde7d94769f01df01dc9">GetInt64</a>(int col_idx, int64_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4">GetInt8</a>(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#ada872affe8163dfa6420c0f191f9c650">GetInt8</a>(int col_idx, int8_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee">GetString</a>(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd">GetString</a>(int col_idx, Slice *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8">GetUnixTimeMicros</a>(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246">GetUnixTimeMicros</a>(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d">GetVarchar</a>(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b">GetVarchar</a>(int col_idx, Slice *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8">IsColumnSet</a>(const Slice &amp;col_name) const</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf">IsColumnSet</a>(int col_idx) const</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1">IsKeySet</a>() const</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186">IsNull</a>(const Slice &amp;col_name) const</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648">IsNull</a>(int col_idx) const</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4">KuduPartialRow</a>(const Schema *schema)</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1">KuduPartialRow</a>(const KuduPartialRow &amp;other)</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f">operator=</a>(KuduPartialRow other)</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8">schema</a>() const</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3">SetBinary</a>(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c">SetBinary</a>(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78">SetBinaryCopy</a>(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35">SetBinaryCopy</a>(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">SetBinaryNoCopy</a>(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793">SetBinaryNoCopy</a>(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d">SetBool</a>(const Slice &amp;col_name, bool val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a8500986269930b88336c36bc50328768">SetBool</a>(int col_idx, bool val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4">SetDate</a>(const Slice &amp;col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a">SetDate</a>(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20">SetDouble</a>(const Slice &amp;col_name, double val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a7ee7f7a17437d338e58dd6a82431729d">SetDouble</a>(int col_idx, double val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b">SetFloat</a>(const Slice &amp;col_name, float val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#ad0b76030c919b941997ffd047b12f40e">SetFloat</a>(int col_idx, float val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810">SetInt16</a>(const Slice &amp;col_name, int16_t val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#adb92cc301cbcc89ef46e9bebbe86c508">SetInt16</a>(int col_idx, int16_t val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887">SetInt32</a>(const Slice &amp;col_name, int32_t val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad">SetInt32</a>(int col_idx, int32_t val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4">SetInt64</a>(const Slice &amp;col_name, int64_t val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a62224148c353a9eba4e19574a61fe369">SetInt64</a>(int col_idx, int64_t val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f">SetInt8</a>(const Slice &amp;col_name, int8_t val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#af6d10997e70e776eb353ad67abc78d79">SetInt8</a>(int col_idx, int8_t val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5">SetNull</a>(const Slice &amp;col_name) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#abeaa8d438650b7796e30e9865bb83d2f">SetNull</a>(int col_idx) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab">SetString</a>(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a0e606cb958eab0db1b12289aca255819">SetString</a>(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199">SetStringCopy</a>(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a9da30ad760f428b2d5f70a1fe4eba827">SetStringCopy</a>(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">SetStringNoCopy</a>(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd">SetStringNoCopy</a>(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a">SetUnixTimeMicros</a>(const Slice &amp;col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536">SetUnixTimeMicros</a>(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c">SetVarchar</a>(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1">SetVarchar</a>(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714">SetVarcharNoCopyUnsafe</a>(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4">SetVarcharNoCopyUnsafe</a>(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469">ToEncodedRowKeyOrDie</a>() const</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">ToString</a>() const</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23">Unset</a>(const Slice &amp;col_name) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394">Unset</a>(int col_idx) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduPartialRow</b>() (defined in <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a>)</td><td class="entry"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classKuduPartialRow.html b/releases/1.15.0/cpp-client-api/classKuduPartialRow.html
new file mode 100644
index 0000000..a28b431
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classKuduPartialRow.html
@@ -0,0 +1,2965 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: KuduPartialRow Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classKuduPartialRow-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">KuduPartialRow Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A row which may only contain values for a subset of the columns.  
+ <a href="classKuduPartialRow.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="partial__row_8h_source.html">partial_row.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9eb1cbd1b216f6313a03c82ab67112e4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4">KuduPartialRow</a> (const Schema *<a class="el" href="classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8">schema</a>)</td></tr>
+<tr class="separator:a9eb1cbd1b216f6313a03c82ab67112e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4ebb399982edbb3e877e38a74c700f1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1">KuduPartialRow</a> (const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;other)</td></tr>
+<tr class="separator:ab4ebb399982edbb3e877e38a74c700f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03cab3e1aa0bef19c14f94181934181f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f">operator=</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> other)</td></tr>
+<tr class="separator:a03cab3e1aa0bef19c14f94181934181f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad25bbdf03e1ac9733df5fe9ac197469c"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c">SetVarchar</a> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ad25bbdf03e1ac9733df5fe9ac197469c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a613b6a91b39551b280f8fc0834fbd8a1"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1">SetVarchar</a> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a613b6a91b39551b280f8fc0834fbd8a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aedbcf22d41791c5ae28e978eb9054cc5"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5">SetNull</a> (const Slice &amp;col_name) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:aedbcf22d41791c5ae28e978eb9054cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abeaa8d438650b7796e30e9865bb83d2f"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#abeaa8d438650b7796e30e9865bb83d2f">SetNull</a> (int col_idx) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:abeaa8d438650b7796e30e9865bb83d2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adccabf294832ba33fce80a72992f6e23"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23">Unset</a> (const Slice &amp;col_name) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:adccabf294832ba33fce80a72992f6e23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f65b552d35d23e6fc494cb1f6dcd394"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394">Unset</a> (int col_idx) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a8f65b552d35d23e6fc494cb1f6dcd394"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaa665d17637cd02e53cde5c68186daf8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8">IsColumnSet</a> (const Slice &amp;col_name) const</td></tr>
+<tr class="separator:aaa665d17637cd02e53cde5c68186daf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a87c89208b635dc275c34dea9830fdf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf">IsColumnSet</a> (int col_idx) const</td></tr>
+<tr class="separator:a6a87c89208b635dc275c34dea9830fdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9288c78e2a10cd9feb1189110e04e186"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186">IsNull</a> (const Slice &amp;col_name) const</td></tr>
+<tr class="separator:a9288c78e2a10cd9feb1189110e04e186"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a32617fcbfa1b7c119a6c27596ab0d648"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648">IsNull</a> (int col_idx) const</td></tr>
+<tr class="separator:a32617fcbfa1b7c119a6c27596ab0d648"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4bfc81d0678835bb8d97ef24f76ebda2"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2">EncodeRowKey</a> (std::string *encoded_key) const</td></tr>
+<tr class="separator:a4bfc81d0678835bb8d97ef24f76ebda2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6959f50b00dd3211a08e9442bbec0469"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469">ToEncodedRowKeyOrDie</a> () const</td></tr>
+<tr class="separator:a6959f50b00dd3211a08e9442bbec0469"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3db12a1c2807ed0e49ca2ba933248fa1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1">IsKeySet</a> () const</td></tr>
+<tr class="separator:a3db12a1c2807ed0e49ca2ba933248fa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea33d936e05641d86fc4e647bf014b9d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d">AllColumnsSet</a> () const</td></tr>
+<tr class="separator:aea33d936e05641d86fc4e647bf014b9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a185482f79abb8a276b2025129d13ab70"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">ToString</a> () const</td></tr>
+<tr class="separator:a185482f79abb8a276b2025129d13ab70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff66c4638ad8dee78a59937592147fd8"><td class="memItemLeft" align="right" valign="top">const Schema *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8">schema</a> () const</td></tr>
+<tr class="separator:aff66c4638ad8dee78a59937592147fd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Setters for integral type columns by name.</div></td></tr>
+<tr class="memitem:aeca0f9adc600ac2e24918e981a47252d"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d">SetBool</a> (const Slice &amp;col_name, bool val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:aeca0f9adc600ac2e24918e981a47252d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a81d62690c48e6c1bbcaa0bb8f10f553f"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f">SetInt8</a> (const Slice &amp;col_name, int8_t val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a81d62690c48e6c1bbcaa0bb8f10f553f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a46bebd1ee3d723d7529c5935545f3810"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810">SetInt16</a> (const Slice &amp;col_name, int16_t val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a46bebd1ee3d723d7529c5935545f3810"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0980615e522c4e7f8c8ddf80df0ec887"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887">SetInt32</a> (const Slice &amp;col_name, int32_t val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a0980615e522c4e7f8c8ddf80df0ec887"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abaa3b48abbafa7b224dbc6c199a430d4"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4">SetInt64</a> (const Slice &amp;col_name, int64_t val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:abaa3b48abbafa7b224dbc6c199a430d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f3cbad9ded11b6b19815b130eb7038a"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a">SetUnixTimeMicros</a> (const Slice &amp;col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a0f3cbad9ded11b6b19815b130eb7038a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:accff7fc112c59b13d375de5b6fed10c4"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4">SetDate</a> (const Slice &amp;col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:accff7fc112c59b13d375de5b6fed10c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63f7bc57c1bc9a924466754eeac76a7b"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b">SetFloat</a> (const Slice &amp;col_name, float val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a63f7bc57c1bc9a924466754eeac76a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab65a91210596b8fffce9d0052858af20"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20">SetDouble</a> (const Slice &amp;col_name, double val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ab65a91210596b8fffce9d0052858af20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Setters for integral type columns by index.</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>These setters are the same as corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders). </p>
+</div></td></tr>
+<tr class="memitem:a8500986269930b88336c36bc50328768"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a8500986269930b88336c36bc50328768">SetBool</a> (int col_idx, bool val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a8500986269930b88336c36bc50328768"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6d10997e70e776eb353ad67abc78d79"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#af6d10997e70e776eb353ad67abc78d79">SetInt8</a> (int col_idx, int8_t val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:af6d10997e70e776eb353ad67abc78d79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb92cc301cbcc89ef46e9bebbe86c508"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#adb92cc301cbcc89ef46e9bebbe86c508">SetInt16</a> (int col_idx, int16_t val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:adb92cc301cbcc89ef46e9bebbe86c508"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac883d7bfb3cbdb7986a18895320097ad"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad">SetInt32</a> (int col_idx, int32_t val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ac883d7bfb3cbdb7986a18895320097ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62224148c353a9eba4e19574a61fe369"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a62224148c353a9eba4e19574a61fe369">SetInt64</a> (int col_idx, int64_t val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a62224148c353a9eba4e19574a61fe369"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a691d2ce90e503f939c07f5e874d6a536"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536">SetUnixTimeMicros</a> (int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a691d2ce90e503f939c07f5e874d6a536"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b799f772b0524295b3d99acb246c67a"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a">SetDate</a> (int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a1b799f772b0524295b3d99acb246c67a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0b76030c919b941997ffd047b12f40e"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ad0b76030c919b941997ffd047b12f40e">SetFloat</a> (int col_idx, float val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ad0b76030c919b941997ffd047b12f40e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ee7f7a17437d338e58dd6a82431729d"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a7ee7f7a17437d338e58dd6a82431729d">SetDouble</a> (int col_idx, double val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a7ee7f7a17437d338e58dd6a82431729d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Setters for binary/string columns by name (copying).</div></td></tr>
+<tr class="memitem:ae4b6f159c53f0c61ca5d0ad1615deeb3"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3">SetBinary</a> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ae4b6f159c53f0c61ca5d0ad1615deeb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d00b3a45ec8612187eba6751742beab"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab">SetString</a> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a8d00b3a45ec8612187eba6751742beab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace5ff767150c15d8368f258cf8b4fe78"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78">SetBinaryCopy</a> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ace5ff767150c15d8368f258cf8b4fe78"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac6ae9c9f8267cd6a52e46121b5f0199"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199">SetStringCopy</a> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:aac6ae9c9f8267cd6a52e46121b5f0199"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Setters for binary/string columns by index (copying).</div></td></tr>
+<tr class="memitem:aa58ca5345b45b8bd0f3d700d75fa661c"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c">SetBinary</a> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:aa58ca5345b45b8bd0f3d700d75fa661c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e606cb958eab0db1b12289aca255819"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a0e606cb958eab0db1b12289aca255819">SetString</a> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a0e606cb958eab0db1b12289aca255819"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9da30ad760f428b2d5f70a1fe4eba827"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a9da30ad760f428b2d5f70a1fe4eba827">SetStringCopy</a> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a9da30ad760f428b2d5f70a1fe4eba827"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b5c60e7a1b34f29615eb00d40e4ca35"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35">SetBinaryCopy</a> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a1b5c60e7a1b34f29615eb00d40e4ca35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Setters for binary/string columns by name (non-copying).</div></td></tr>
+<tr class="memitem:a75d35ae76b436eea6ac2af27e179460f"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">SetBinaryNoCopy</a> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a75d35ae76b436eea6ac2af27e179460f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a698140e257b13d559bdfc220540f73"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">SetStringNoCopy</a> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a2a698140e257b13d559bdfc220540f73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Advanced/Unstable API</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>There are no guarantees that the validation performed by these methods for 'val' will not change. </p>
+</div></td></tr>
+<tr class="memitem:ab6317b89f734b8cdef3553e2a4d17714"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714">SetVarcharNoCopyUnsafe</a> (const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ab6317b89f734b8cdef3553e2a4d17714"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee2b349bffa75f9730263a652f2a02b4"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4">SetVarcharNoCopyUnsafe</a> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:aee2b349bffa75f9730263a652f2a02b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Setters for binary/string columns by index (non-copying).</div></td></tr>
+<tr class="memitem:a66586a8208c3f7e90cf01fcb359a4793"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793">SetBinaryNoCopy</a> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a66586a8208c3f7e90cf01fcb359a4793"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae6ad2c3b84a65f3d7062fe4fcf8eb5bd"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd">SetStringNoCopy</a> (int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ae6ad2c3b84a65f3d7062fe4fcf8eb5bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Getters for integral type columns by column name.</div></td></tr>
+<tr class="memitem:a8087c08eae65c609192c0dc0960334c2"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2">GetBool</a> (const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a8087c08eae65c609192c0dc0960334c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3cb0b4c5358ac4b42551f016f8a1cad4"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4">GetInt8</a> (const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a3cb0b4c5358ac4b42551f016f8a1cad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5de48c13b1a83abefc0a1b5262f69a93"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93">GetInt16</a> (const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a5de48c13b1a83abefc0a1b5262f69a93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9956360f9208549aab03d9284ff80b46"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a9956360f9208549aab03d9284ff80b46">GetInt32</a> (const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a9956360f9208549aab03d9284ff80b46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae64a1264303b8081cf5ee8dbd44fc6dc"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc">GetInt64</a> (const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ae64a1264303b8081cf5ee8dbd44fc6dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5aa39a18379e4339ac88138dfc5223f8"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8">GetUnixTimeMicros</a> (const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a5aa39a18379e4339ac88138dfc5223f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06ca4331c1fd13caadf7346805fdfc97"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97">GetDate</a> (const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a06ca4331c1fd13caadf7346805fdfc97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d5bdd73756eb630a7a8268677244afc"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc">GetFloat</a> (const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a9d5bdd73756eb630a7a8268677244afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ee25fdcff40d212e8e7cad67675c8fd"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd">GetDouble</a> (const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a5ee25fdcff40d212e8e7cad67675c8fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Getters for column of integral type by column index.</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>These getters are the same as the corresponding column-name-based getters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders). </p>
+</div></td></tr>
+<tr class="memitem:afd863a5f5a4803a89f6a2db06ba54931"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#afd863a5f5a4803a89f6a2db06ba54931">GetBool</a> (int col_idx, bool *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:afd863a5f5a4803a89f6a2db06ba54931"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada872affe8163dfa6420c0f191f9c650"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ada872affe8163dfa6420c0f191f9c650">GetInt8</a> (int col_idx, int8_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ada872affe8163dfa6420c0f191f9c650"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a918cb01437d863fa0a35a9a72b7bac1a"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a918cb01437d863fa0a35a9a72b7bac1a">GetInt16</a> (int col_idx, int16_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a918cb01437d863fa0a35a9a72b7bac1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a869dcfb0e7847489b31b125e79e683dc"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc">GetInt32</a> (int col_idx, int32_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a869dcfb0e7847489b31b125e79e683dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ded00965652dde7d94769f01df01dc9"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a9ded00965652dde7d94769f01df01dc9">GetInt64</a> (int col_idx, int64_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a9ded00965652dde7d94769f01df01dc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab328b8a04618328a7b4c72217138e246"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246">GetUnixTimeMicros</a> (int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ab328b8a04618328a7b4c72217138e246"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0a4c7c7b575a9349195f4f2a8882428"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#af0a4c7c7b575a9349195f4f2a8882428">GetDate</a> (int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:af0a4c7c7b575a9349195f4f2a8882428"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a53cf17ad2cd746b7512ae3ecd6131f"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a1a53cf17ad2cd746b7512ae3ecd6131f">GetFloat</a> (int col_idx, float *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a1a53cf17ad2cd746b7512ae3ecd6131f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b4fae6f8be68e97b0e7145ea55fae9f"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a4b4fae6f8be68e97b0e7145ea55fae9f">GetDouble</a> (int col_idx, double *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a4b4fae6f8be68e97b0e7145ea55fae9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Getters for string/binary/varchar column by column name.</div></td></tr>
+<tr class="memitem:a0c31a9a374229b15103111913c8378ee"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee">GetString</a> (const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a0c31a9a374229b15103111913c8378ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa144a55744bff07d34cd9db7788cb38e"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e">GetBinary</a> (const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:aa144a55744bff07d34cd9db7788cb38e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad823d725e2e1fef446a7f1e25ffb0a6d"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d">GetVarchar</a> (const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ad823d725e2e1fef446a7f1e25ffb0a6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Getters for string/binary/varchar column by column index.</div></td></tr>
+<tr class="memitem:a6867fbfce181081810ab2522fbf764bd"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd">GetString</a> (int col_idx, Slice *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a6867fbfce181081810ab2522fbf764bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c6b9c1cdf9f80ddeea53117ddc5545d"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a1c6b9c1cdf9f80ddeea53117ddc5545d">GetBinary</a> (int col_idx, Slice *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a1c6b9c1cdf9f80ddeea53117ddc5545d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92a85cbf52028798b6f3c00545f82d0b"><td class="memItemLeft" align="right" valign="top">Status&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b">GetVarchar</a> (int col_idx, Slice *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a92a85cbf52028798b6f3c00545f82d0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A row which may only contain values for a subset of the columns. </p>
+<p>This object contains a normal contiguous row, plus a bitfield indicating which columns have been set. Additionally, this type may optionally own copies of indirect data for variable length columns. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a9eb1cbd1b216f6313a03c82ab67112e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9eb1cbd1b216f6313a03c82ab67112e4">&#9670;&nbsp;</a></span>KuduPartialRow() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">KuduPartialRow::KuduPartialRow </td>
+          <td>(</td>
+          <td class="paramtype">const Schema *&#160;</td>
+          <td class="paramname"><em>schema</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">schema</td><td>Schema to use for the row. The given Schema object must remain valid for the lifetime of this row. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="ab4ebb399982edbb3e877e38a74c700f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab4ebb399982edbb3e877e38a74c700f1">&#9670;&nbsp;</a></span>KuduPartialRow() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">KuduPartialRow::KuduPartialRow </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a copy of <a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a> instance.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td><a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a> instance to copy from. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="aea33d936e05641d86fc4e647bf014b9d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea33d936e05641d86fc4e647bf014b9d">&#9670;&nbsp;</a></span>AllColumnsSet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool KuduPartialRow::AllColumnsSet </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> if all column values have been set. </dd></dl>
+
+</div>
+</div>
+<a id="a4bfc81d0678835bb8d97ef24f76ebda2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4bfc81d0678835bb8d97ef24f76ebda2">&#9670;&nbsp;</a></span>EncodeRowKey()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::EncodeRowKey </td>
+          <td>(</td>
+          <td class="paramtype">std::string *&#160;</td>
+          <td class="paramname"><em>encoded_key</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Encode a row key.</p>
+<p>The result is suitable for use as a tablet split key, an encoded key range, etc.</p>
+<dl class="section pre"><dt>Precondition</dt><dd>All of the key columns must be set.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">encoded_key</td><td>The encoded key (i.e. the result of the encoding). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. In particular, this method returns InvalidArgument if not all the key columns are set. </dd></dl>
+
+</div>
+</div>
+<a id="aa144a55744bff07d34cd9db7788cb38e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa144a55744bff07d34cd9db7788cb38e">&#9670;&nbsp;</a></span>GetBinary() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetBinary </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Slice *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the string/binary/varchar value for a column by its name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a1c6b9c1cdf9f80ddeea53117ddc5545d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c6b9c1cdf9f80ddeea53117ddc5545d">&#9670;&nbsp;</a></span>GetBinary() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetBinary </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Slice *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the string/binary/varchar value for a column by its index.</p>
+<p>These methods are faster than their name-based counterparts since they use indices to avoid hashmap lookups, so index-based getters should be preferred in performance-sensitive code.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a8087c08eae65c609192c0dc0960334c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8087c08eae65c609192c0dc0960334c2">&#9670;&nbsp;</a></span>GetBool() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetBool </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of the column specified by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="afd863a5f5a4803a89f6a2db06ba54931"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afd863a5f5a4803a89f6a2db06ba54931">&#9670;&nbsp;</a></span>GetBool() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetBool </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of a column of integral type by column index.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a06ca4331c1fd13caadf7346805fdfc97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a06ca4331c1fd13caadf7346805fdfc97">&#9670;&nbsp;</a></span>GetDate() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetDate </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t *&#160;</td>
+          <td class="paramname"><em>days_since_unix_epoch</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">days_since_unix_epoch</td><td>The value of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="af0a4c7c7b575a9349195f4f2a8882428"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af0a4c7c7b575a9349195f4f2a8882428">&#9670;&nbsp;</a></span>GetDate() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetDate </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t *&#160;</td>
+          <td class="paramname"><em>days_since_unix_epoch</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">days_since_unix_epoch</td><td>The value of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a5ee25fdcff40d212e8e7cad67675c8fd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ee25fdcff40d212e8e7cad67675c8fd">&#9670;&nbsp;</a></span>GetDouble() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetDouble </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of the column specified by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a4b4fae6f8be68e97b0e7145ea55fae9f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4b4fae6f8be68e97b0e7145ea55fae9f">&#9670;&nbsp;</a></span>GetDouble() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetDouble </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of a column of integral type by column index.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a9d5bdd73756eb630a7a8268677244afc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9d5bdd73756eb630a7a8268677244afc">&#9670;&nbsp;</a></span>GetFloat() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetFloat </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of the column specified by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a1a53cf17ad2cd746b7512ae3ecd6131f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a53cf17ad2cd746b7512ae3ecd6131f">&#9670;&nbsp;</a></span>GetFloat() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetFloat </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of a column of integral type by column index.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a5de48c13b1a83abefc0a1b5262f69a93"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5de48c13b1a83abefc0a1b5262f69a93">&#9670;&nbsp;</a></span>GetInt16() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetInt16 </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of the column specified by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a918cb01437d863fa0a35a9a72b7bac1a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a918cb01437d863fa0a35a9a72b7bac1a">&#9670;&nbsp;</a></span>GetInt16() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetInt16 </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of a column of integral type by column index.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a9956360f9208549aab03d9284ff80b46"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9956360f9208549aab03d9284ff80b46">&#9670;&nbsp;</a></span>GetInt32() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetInt32 </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of the column specified by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a869dcfb0e7847489b31b125e79e683dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a869dcfb0e7847489b31b125e79e683dc">&#9670;&nbsp;</a></span>GetInt32() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetInt32 </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of a column of integral type by column index.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ae64a1264303b8081cf5ee8dbd44fc6dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae64a1264303b8081cf5ee8dbd44fc6dc">&#9670;&nbsp;</a></span>GetInt64() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetInt64 </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of the column specified by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a9ded00965652dde7d94769f01df01dc9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9ded00965652dde7d94769f01df01dc9">&#9670;&nbsp;</a></span>GetInt64() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetInt64 </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of a column of integral type by column index.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a3cb0b4c5358ac4b42551f016f8a1cad4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3cb0b4c5358ac4b42551f016f8a1cad4">&#9670;&nbsp;</a></span>GetInt8() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetInt8 </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int8_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of the column specified by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ada872affe8163dfa6420c0f191f9c650"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ada872affe8163dfa6420c0f191f9c650">&#9670;&nbsp;</a></span>GetInt8() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetInt8 </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int8_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get value of a column of integral type by column index.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>The value of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a0c31a9a374229b15103111913c8378ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c31a9a374229b15103111913c8378ee">&#9670;&nbsp;</a></span>GetString() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetString </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Slice *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the string/binary/varchar value for a column by its name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a6867fbfce181081810ab2522fbf764bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6867fbfce181081810ab2522fbf764bd">&#9670;&nbsp;</a></span>GetString() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetString </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Slice *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the string/binary/varchar value for a column by its index.</p>
+<p>These methods are faster than their name-based counterparts since they use indices to avoid hashmap lookups, so index-based getters should be preferred in performance-sensitive code.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a5aa39a18379e4339ac88138dfc5223f8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5aa39a18379e4339ac88138dfc5223f8">&#9670;&nbsp;</a></span>GetUnixTimeMicros() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetUnixTimeMicros </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t *&#160;</td>
+          <td class="paramname"><em>micros_since_utc_epoch</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">micros_since_utc_epoch</td><td>The value of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ab328b8a04618328a7b4c72217138e246"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab328b8a04618328a7b4c72217138e246">&#9670;&nbsp;</a></span>GetUnixTimeMicros() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetUnixTimeMicros </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t *&#160;</td>
+          <td class="paramname"><em>micros_since_utc_epoch</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">micros_since_utc_epoch</td><td>The value of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ad823d725e2e1fef446a7f1e25ffb0a6d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad823d725e2e1fef446a7f1e25ffb0a6d">&#9670;&nbsp;</a></span>GetVarchar() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetVarchar </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Slice *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the string/binary/varchar value for a column by its name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a92a85cbf52028798b6f3c00545f82d0b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92a85cbf52028798b6f3c00545f82d0b">&#9670;&nbsp;</a></span>GetVarchar() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::GetVarchar </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Slice *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the string/binary/varchar value for a column by its index.</p>
+<p>These methods are faster than their name-based counterparts since they use indices to avoid hashmap lookups, so index-based getters should be preferred in performance-sensitive code.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad Status if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="aaa665d17637cd02e53cde5c68186daf8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaa665d17637cd02e53cde5c68186daf8">&#9670;&nbsp;</a></span>IsColumnSet() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool KuduPartialRow::IsColumnSet </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check whether the specified column is set for the row.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the given column has been specified. </dd></dl>
+
+</div>
+</div>
+<a id="a6a87c89208b635dc275c34dea9830fdf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a87c89208b635dc275c34dea9830fdf">&#9670;&nbsp;</a></span>IsColumnSet() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool KuduPartialRow::IsColumnSet </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check whether the specified column is set for the row.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the given column has been specified. </dd></dl>
+
+</div>
+</div>
+<a id="a3db12a1c2807ed0e49ca2ba933248fa1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3db12a1c2807ed0e49ca2ba933248fa1">&#9670;&nbsp;</a></span>IsKeySet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool KuduPartialRow::IsKeySet </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> if all key column values have been set for this mutation. </dd></dl>
+
+</div>
+</div>
+<a id="a9288c78e2a10cd9feb1189110e04e186"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9288c78e2a10cd9feb1189110e04e186">&#9670;&nbsp;</a></span>IsNull() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool KuduPartialRow::IsNull </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check whether the specified column is <code>NULL</code> for the row.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the given column's value is <code>NULL</code>. </dd></dl>
+
+</div>
+</div>
+<a id="a32617fcbfa1b7c119a6c27596ab0d648"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a32617fcbfa1b7c119a6c27596ab0d648">&#9670;&nbsp;</a></span>IsNull() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool KuduPartialRow::IsNull </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check whether the specified column is <code>NULL</code> for the row.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the given column's value is <code>NULL</code>. </dd></dl>
+
+</div>
+</div>
+<a id="a03cab3e1aa0bef19c14f94181934181f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a03cab3e1aa0bef19c14f94181934181f">&#9670;&nbsp;</a></span>operator=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; KuduPartialRow::operator= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a>&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Overwrite this <a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a> instance with data from other instance.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td><a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a> instance to assign from. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<a id="aff66c4638ad8dee78a59937592147fd8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aff66c4638ad8dee78a59937592147fd8">&#9670;&nbsp;</a></span>schema()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const Schema* KuduPartialRow::schema </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The schema object for the partial row. </dd></dl>
+
+</div>
+</div>
+<a id="ae4b6f159c53f0c61ca5d0ad1615deeb3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae4b6f159c53f0c61ca5d0ad1615deeb3">&#9670;&nbsp;</a></span>SetBinary() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetBinary </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the binary/string value for a column by name, copying the specified data immediately.</p>
+<dl class="section note"><dt>Note</dt><dd>The copying behavior is new for these methods starting Kudu 0.10. Prior to Kudu 0.10, these methods behaved like <a class="el" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">KuduPartialRow::SetStringNoCopy()</a> and <a class="el" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">KuduPartialRow::SetBinaryNoCopy()</a> correspondingly.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="aa58ca5345b45b8bd0f3d700d75fa661c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa58ca5345b45b8bd0f3d700d75fa661c">&#9670;&nbsp;</a></span>SetBinary() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetBinary </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the binary/string value for a column by index, copying the specified data immediately.</p>
+<p>These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).</p>
+<dl class="section note"><dt>Note</dt><dd>The copying behavior is new for these methods starting Kudu 0.10. Prior to Kudu 0.10, these methods behaved like <a class="el" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">KuduPartialRow::SetStringNoCopy()</a> and <a class="el" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">KuduPartialRow::SetBinaryNoCopy()</a> correspondingly.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ace5ff767150c15d8368f258cf8b4fe78"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ace5ff767150c15d8368f258cf8b4fe78">&#9670;&nbsp;</a></span>SetBinaryCopy() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetBinaryCopy </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the binary/string value for a column by name, copying the specified data immediately.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a1b5c60e7a1b34f29615eb00d40e4ca35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1b5c60e7a1b34f29615eb00d40e4ca35">&#9670;&nbsp;</a></span>SetBinaryCopy() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetBinaryCopy </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the binary/string value for a column by index, copying the specified data immediately.</p>
+<p>These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).</p>
+<dl class="section note"><dt>Note</dt><dd>The copying behavior is new for these methods starting Kudu 0.10. Prior to Kudu 0.10, these methods behaved like <a class="el" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">KuduPartialRow::SetStringNoCopy()</a> and <a class="el" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">KuduPartialRow::SetBinaryNoCopy()</a> correspondingly.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a75d35ae76b436eea6ac2af27e179460f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a75d35ae76b436eea6ac2af27e179460f">&#9670;&nbsp;</a></span>SetBinaryNoCopy() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetBinaryNoCopy </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the binary/string value for a column by name, not copying the specified data.</p>
+<dl class="section note"><dt>Note</dt><dd>The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a66586a8208c3f7e90cf01fcb359a4793"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a66586a8208c3f7e90cf01fcb359a4793">&#9670;&nbsp;</a></span>SetBinaryNoCopy() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetBinaryNoCopy </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the binary/string value for a column by index, not copying the specified data.</p>
+<p>These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).</p>
+<dl class="section note"><dt>Note</dt><dd>The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="aeca0f9adc600ac2e24918e981a47252d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeca0f9adc600ac2e24918e981a47252d">&#9670;&nbsp;</a></span>SetBool() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetBool </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set value for a column by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a8500986269930b88336c36bc50328768"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8500986269930b88336c36bc50328768">&#9670;&nbsp;</a></span>SetBool() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetBool </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="accff7fc112c59b13d375de5b6fed10c4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#accff7fc112c59b13d375de5b6fed10c4">&#9670;&nbsp;</a></span>SetDate() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetDate </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t&#160;</td>
+          <td class="paramname"><em>days_since_unix_epoch</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set value for a column by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">days_since_unix_epoch</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a1b799f772b0524295b3d99acb246c67a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1b799f772b0524295b3d99acb246c67a">&#9670;&nbsp;</a></span>SetDate() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetDate </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t&#160;</td>
+          <td class="paramname"><em>days_since_unix_epoch</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">days_since_unix_epoch</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ab65a91210596b8fffce9d0052858af20"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab65a91210596b8fffce9d0052858af20">&#9670;&nbsp;</a></span>SetDouble() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetDouble </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set value for a column by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a7ee7f7a17437d338e58dd6a82431729d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7ee7f7a17437d338e58dd6a82431729d">&#9670;&nbsp;</a></span>SetDouble() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetDouble </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a63f7bc57c1bc9a924466754eeac76a7b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63f7bc57c1bc9a924466754eeac76a7b">&#9670;&nbsp;</a></span>SetFloat() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetFloat </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set value for a column by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ad0b76030c919b941997ffd047b12f40e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad0b76030c919b941997ffd047b12f40e">&#9670;&nbsp;</a></span>SetFloat() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetFloat </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a46bebd1ee3d723d7529c5935545f3810"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a46bebd1ee3d723d7529c5935545f3810">&#9670;&nbsp;</a></span>SetInt16() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetInt16 </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set value for a column by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="adb92cc301cbcc89ef46e9bebbe86c508"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb92cc301cbcc89ef46e9bebbe86c508">&#9670;&nbsp;</a></span>SetInt16() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetInt16 </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a0980615e522c4e7f8c8ddf80df0ec887"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0980615e522c4e7f8c8ddf80df0ec887">&#9670;&nbsp;</a></span>SetInt32() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetInt32 </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set value for a column by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ac883d7bfb3cbdb7986a18895320097ad"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac883d7bfb3cbdb7986a18895320097ad">&#9670;&nbsp;</a></span>SetInt32() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetInt32 </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="abaa3b48abbafa7b224dbc6c199a430d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abaa3b48abbafa7b224dbc6c199a430d4">&#9670;&nbsp;</a></span>SetInt64() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetInt64 </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set value for a column by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a62224148c353a9eba4e19574a61fe369"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a62224148c353a9eba4e19574a61fe369">&#9670;&nbsp;</a></span>SetInt64() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetInt64 </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a81d62690c48e6c1bbcaa0bb8f10f553f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a81d62690c48e6c1bbcaa0bb8f10f553f">&#9670;&nbsp;</a></span>SetInt8() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetInt8 </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int8_t&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set value for a column by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="af6d10997e70e776eb353ad67abc78d79"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af6d10997e70e776eb353ad67abc78d79">&#9670;&nbsp;</a></span>SetInt8() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetInt8 </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int8_t&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="aedbcf22d41791c5ae28e978eb9054cc5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aedbcf22d41791c5ae28e978eb9054cc5">&#9670;&nbsp;</a></span>SetNull() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetNull </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set column value to <code>NULL</code>; the column is identified by its name.</p>
+<p>This will only succeed on nullable columns. Use <a class="el" href="classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23">Unset()</a> to restore column value to its default.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="abeaa8d438650b7796e30e9865bb83d2f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abeaa8d438650b7796e30e9865bb83d2f">&#9670;&nbsp;</a></span>SetNull() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetNull </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set column value to <code>NULL</code>; the column is identified by its index.</p>
+<p>This will only succeed on nullable columns. Use <a class="el" href="classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23">Unset()</a> to restore column value to its default.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a8d00b3a45ec8612187eba6751742beab"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8d00b3a45ec8612187eba6751742beab">&#9670;&nbsp;</a></span>SetString() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetString </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the binary/string value for a column by name, copying the specified data immediately.</p>
+<dl class="section note"><dt>Note</dt><dd>The copying behavior is new for these methods starting Kudu 0.10. Prior to Kudu 0.10, these methods behaved like <a class="el" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">KuduPartialRow::SetStringNoCopy()</a> and <a class="el" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">KuduPartialRow::SetBinaryNoCopy()</a> correspondingly.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a0e606cb958eab0db1b12289aca255819"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0e606cb958eab0db1b12289aca255819">&#9670;&nbsp;</a></span>SetString() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetString </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the binary/string value for a column by index, copying the specified data immediately.</p>
+<p>These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).</p>
+<dl class="section note"><dt>Note</dt><dd>The copying behavior is new for these methods starting Kudu 0.10. Prior to Kudu 0.10, these methods behaved like <a class="el" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">KuduPartialRow::SetStringNoCopy()</a> and <a class="el" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">KuduPartialRow::SetBinaryNoCopy()</a> correspondingly.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="aac6ae9c9f8267cd6a52e46121b5f0199"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aac6ae9c9f8267cd6a52e46121b5f0199">&#9670;&nbsp;</a></span>SetStringCopy() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetStringCopy </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the binary/string value for a column by name, copying the specified data immediately.</p>
+<dl class="section note"><dt>Note</dt><dd>The copying behavior is new for these methods starting Kudu 0.10. Prior to Kudu 0.10, these methods behaved like <a class="el" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">KuduPartialRow::SetStringNoCopy()</a> and <a class="el" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">KuduPartialRow::SetBinaryNoCopy()</a> correspondingly.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a9da30ad760f428b2d5f70a1fe4eba827"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9da30ad760f428b2d5f70a1fe4eba827">&#9670;&nbsp;</a></span>SetStringCopy() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetStringCopy </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the binary/string value for a column by index, copying the specified data immediately.</p>
+<p>These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a2a698140e257b13d559bdfc220540f73"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2a698140e257b13d559bdfc220540f73">&#9670;&nbsp;</a></span>SetStringNoCopy() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetStringNoCopy </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the binary/string value for a column by name, not copying the specified data.</p>
+<dl class="section note"><dt>Note</dt><dd>The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ae6ad2c3b84a65f3d7062fe4fcf8eb5bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd">&#9670;&nbsp;</a></span>SetStringNoCopy() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetStringNoCopy </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the binary/string value for a column by index, not copying the specified data.</p>
+<p>These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).</p>
+<dl class="section note"><dt>Note</dt><dd>The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a0f3cbad9ded11b6b19815b130eb7038a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0f3cbad9ded11b6b19815b130eb7038a">&#9670;&nbsp;</a></span>SetUnixTimeMicros() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetUnixTimeMicros </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>micros_since_utc_epoch</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set value for a column by name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">micros_since_utc_epoch</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a691d2ce90e503f939c07f5e874d6a536"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a691d2ce90e503f939c07f5e874d6a536">&#9670;&nbsp;</a></span>SetUnixTimeMicros() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetUnixTimeMicros </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>micros_since_utc_epoch</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">micros_since_utc_epoch</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ad25bbdf03e1ac9733df5fe9ac197469c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad25bbdf03e1ac9733df5fe9ac197469c">&#9670;&nbsp;</a></span>SetVarchar() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetVarchar </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the varchar value for a column by name, copying the specified data immediately.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a613b6a91b39551b280f8fc0834fbd8a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a613b6a91b39551b280f8fc0834fbd8a1">&#9670;&nbsp;</a></span>SetVarchar() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetVarchar </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the varchar value for a column by index, copying the specified data immediately.</p>
+<p>These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ab6317b89f734b8cdef3553e2a4d17714"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab6317b89f734b8cdef3553e2a4d17714">&#9670;&nbsp;</a></span>SetVarcharNoCopyUnsafe() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetVarcharNoCopyUnsafe </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>This method expects the values to be truncated already and they only do a basic validation that the data is not larger than the maximum column length (as indicated by the schema) multiplied by 4, as that's the upper limit if only 4-byte UTF8 characters are used. This is subject to change in the future.</p>
+<dl class="section note"><dt>Note</dt><dd>The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).</dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>Unstable API</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="aee2b349bffa75f9730263a652f2a02b4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aee2b349bffa75f9730263a652f2a02b4">&#9670;&nbsp;</a></span>SetVarcharNoCopyUnsafe() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::SetVarcharNoCopyUnsafe </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>This method expects the values to be truncated already and they only do a basic validation that the data is not larger than the maximum column length (as indicated by the schema) multiplied by 4, as that's the upper limit if only 4-byte UTF8 characters are used. This is subject to change in the future.</p>
+<p>This setter is the same as the corresponding column-name-based setter, but with numeric column indexes. This is faster since it avoids hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).</p>
+<dl class="section note"><dt>Note</dt><dd>The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).</dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>Unstable API</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a6959f50b00dd3211a08e9442bbec0469"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6959f50b00dd3211a08e9442bbec0469">&#9670;&nbsp;</a></span>ToEncodedRowKeyOrDie()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string KuduPartialRow::ToEncodedRowKeyOrDie </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Convenience method which is similar to EncodeRowKey.</p>
+<p>This is equivalent to the EncodeRowKey, but triggers a FATAL error on failure.</p>
+<dl class="section return"><dt>Returns</dt><dd>The encoded key. </dd></dl>
+
+</div>
+</div>
+<a id="a185482f79abb8a276b2025129d13ab70"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a185482f79abb8a276b2025129d13ab70">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string KuduPartialRow::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>String representation for the partial row. </dd></dl>
+
+</div>
+</div>
+<a id="adccabf294832ba33fce80a72992f6e23"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adccabf294832ba33fce80a72992f6e23">&#9670;&nbsp;</a></span>Unset() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::Unset </td>
+          <td>(</td>
+          <td class="paramtype">const Slice &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Unset the given column by name, restoring its default value.</p>
+<dl class="section note"><dt>Note</dt><dd>This is different from setting it to <code>NULL</code>.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a8f65b552d35d23e6fc494cb1f6dcd394"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f65b552d35d23e6fc494cb1f6dcd394">&#9670;&nbsp;</a></span>Unset() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Status KuduPartialRow::Unset </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Unset the given column by index, restoring its default value.</p>
+<dl class="section note"><dt>Note</dt><dd>This is different from setting it to <code>NULL</code>.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the target column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/common/<a class="el" href="partial__row_8h_source.html">partial_row.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classes.html b/releases/1.15.0/cpp-client-api/classes.html
new file mode 100644
index 0000000..c103f08
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classes.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Class Index</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_K">K</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a></div>
+<div class="classindex">
+<dl class="classindex even">
+<dt class="alphachar"><a name="letter_A">A</a></dt>
+<dd><a class="el" href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html">AsyncLeaderMasterRpc</a> (kudu::client::internal)</dd><dd><a class="el" href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html">AsyncRandomTxnManagerRpc</a> (kudu::client::internal)</dd></dl>
+<dl class="classindex odd">
+<dt class="alphachar"><a name="letter_C">C</a></dt>
+<dd><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html">CerrLog</a> (kudu::internal_logging)</dd><dd><a class="el" href="structkudu_1_1Slice_1_1Comparator.html">Slice::Comparator</a> (kudu)</dd></dl>
+<dl class="classindex even">
+<dt class="alphachar"><a name="letter_K">K</a></dt>
+<dd><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">KuduColumnarScanBatch</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">KuduColumnStorageAttributes</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduDelete.html">KuduDelete</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">KuduDeleteIgnore</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduError.html">KuduError</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduInsert.html">KuduInsert</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html">KuduInsertIgnore</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">KuduLoggingCallback</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">KuduLoggingFunctionCallback</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">KuduLoggingMemberCallback</a> (kudu::client)</dd><dd><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a></dd><dd><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">KuduStatusFunctionCallback</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">KuduStatusMemberCallback</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html">KuduUpdate</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">KuduUpdateIgnore</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html">KuduUpsert</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> (kudu::client)</dd></dl>
+<dl class="classindex odd">
+<dt class="alphachar"><a name="letter_M">M</a></dt>
+<dd><a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> (kudu)</dd><dd><a class="el" href="classkudu_1_1MonoTime.html">MonoTime</a> (kudu)</dd></dl>
+<dl class="classindex even">
+<dt class="alphachar"><a name="letter_N">N</a></dt>
+<dd><a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html">NullLog</a> (kudu::internal_logging)</dd></dl>
+<dl class="classindex odd">
+<dt class="alphachar"><a name="letter_R">R</a></dt>
+<dd><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">ResourceMetrics</a> (kudu::client)</dd></dl>
+<dl class="classindex even">
+<dt class="alphachar"><a name="letter_S">S</a></dt>
+<dd><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">KuduTransaction::SerializationOptions</a> (kudu::client)</dd><dd><a class="el" href="classkudu_1_1Slice.html">Slice</a> (kudu)</dd><dd><a class="el" href="structkudu_1_1SliceMap.html">SliceMap</a> (kudu)</dd><dd><a class="el" href="classkudu_1_1Status.html">Status</a> (kudu)</dd></dl>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1MonoDelta-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1MonoDelta-members.html
new file mode 100644
index 0000000..4a3bcec
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1MonoDelta-members.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::MonoDelta Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc">Equals</a>(const MonoDelta &amp;rhs) const</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d">FromMicroseconds</a>(int64_t us)</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a">FromMilliseconds</a>(int64_t ms)</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819">FromNanoseconds</a>(int64_t ns)</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1">FromSeconds</a>(double seconds)</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a">Initialized</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79">LessThan</a>(const MonoDelta &amp;rhs) const</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f">MonoDelta</a>()</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02">MoreThan</a>(const MonoDelta &amp;rhs) const</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22">NanosToTimeSpec</a>(int64_t nanos, struct timespec *ts)</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08">operator+</a>(const MonoDelta &amp;, const MonoDelta &amp;)</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299">operator+=</a>(const MonoDelta &amp;delta)</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator-</b> (defined in <a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a>)</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b">operator-</a>(const MonoDelta &amp;, const MonoDelta &amp;)</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb">operator-=</a>(const MonoDelta &amp;delta)</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491">ToMicroseconds</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591">ToMilliseconds</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c">ToNanoseconds</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c">ToSeconds</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c">ToString</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862">ToTimeSpec</a>(struct timespec *ts) const</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e">ToTimeVal</a>(struct timeval *tv) const</td><td class="entry"><a class="el" href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1MonoDelta.html b/releases/1.15.0/cpp-client-api/classkudu_1_1MonoDelta.html
new file mode 100644
index 0000000..ad03566
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1MonoDelta.html
@@ -0,0 +1,629 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::MonoDelta Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classkudu_1_1MonoDelta-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::MonoDelta Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A representation of a time interval.  
+ <a href="classkudu_1_1MonoDelta.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="monotime_8h_source.html">monotime.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad0646900f0927ad9be6302fcda8bfe5f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f">MonoDelta</a> ()</td></tr>
+<tr class="separator:ad0646900f0927ad9be6302fcda8bfe5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2aaa30660bd168200074330f098f680a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a">Initialized</a> () const</td></tr>
+<tr class="separator:a2aaa30660bd168200074330f098f680a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ebe4c7fb832419217772ca264f27b79"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79">LessThan</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;rhs) const</td></tr>
+<tr class="separator:a5ebe4c7fb832419217772ca264f27b79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1175ef48b67152c7dbedf47af665d02"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02">MoreThan</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;rhs) const</td></tr>
+<tr class="separator:ae1175ef48b67152c7dbedf47af665d02"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeeda0dc9b20ef8cbc9622431b38d09bc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc">Equals</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;rhs) const</td></tr>
+<tr class="separator:aeeda0dc9b20ef8cbc9622431b38d09bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a87faf992d3c8f291e8f34251e5cd175c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c">ToString</a> () const</td></tr>
+<tr class="separator:a87faf992d3c8f291e8f34251e5cd175c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a237089697f6e14513a305b10f662cc6e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e">ToTimeVal</a> (struct timeval *tv) const</td></tr>
+<tr class="separator:a237089697f6e14513a305b10f662cc6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada258d175b463f4dc938630c12de9862"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862">ToTimeSpec</a> (struct timespec *ts) const</td></tr>
+<tr class="separator:ada258d175b463f4dc938630c12de9862"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Converters into seconds representation (and ubiquitous SI prefixes).</div></td></tr>
+<tr class="memitem:abdc48e03e6037096c13a6bf095aef06c"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c">ToSeconds</a> () const</td></tr>
+<tr class="separator:abdc48e03e6037096c13a6bf095aef06c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa75663ef2da59aef250bb63ee4b0a591"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591">ToMilliseconds</a> () const</td></tr>
+<tr class="separator:aa75663ef2da59aef250bb63ee4b0a591"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38ca50b383a13eb739f4f694cc117491"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491">ToMicroseconds</a> () const</td></tr>
+<tr class="separator:a38ca50b383a13eb739f4f694cc117491"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1589aa831a2e6b4a137b944de61bca1c"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c">ToNanoseconds</a> () const</td></tr>
+<tr class="separator:a1589aa831a2e6b4a137b944de61bca1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Syntactic sugar: increment/decrement operators for MonoDelta.</div></td></tr>
+<tr class="memitem:a895ad22b21a7e93ca80ef02c1d862299"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299">operator+=</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;delta)</td></tr>
+<tr class="separator:a895ad22b21a7e93ca80ef02c1d862299"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90f478f2fa4976a4cf7f9efc2ba5e0bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb">operator-=</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;delta)</td></tr>
+<tr class="separator:a90f478f2fa4976a4cf7f9efc2ba5e0bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a4854924550c571f8af548270da52ac22"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22">NanosToTimeSpec</a> (int64_t nanos, struct timespec *ts)</td></tr>
+<tr class="separator:a4854924550c571f8af548270da52ac22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Converters from seconds representation (and ubiquitous SI prefixes).</div></td></tr>
+<tr class="memitem:a87624954c9ebd4a2c255910072592db1"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1">FromSeconds</a> (double seconds)</td></tr>
+<tr class="separator:a87624954c9ebd4a2c255910072592db1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5c505cedf9a8a8ce7082c347fb4363a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a">FromMilliseconds</a> (int64_t ms)</td></tr>
+<tr class="separator:ac5c505cedf9a8a8ce7082c347fb4363a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad50c159b220bb8e63d8d05c21053113d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d">FromMicroseconds</a> (int64_t us)</td></tr>
+<tr class="separator:ad50c159b220bb8e63d8d05c21053113d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9e5f2bd1058b01309f82ae960520819"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819">FromNanoseconds</a> (int64_t ns)</td></tr>
+<tr class="separator:ae9e5f2bd1058b01309f82ae960520819"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A representation of a time interval. </p>
+<p>The <a class="el" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a> class represents an elapsed duration of time &ndash; i.e. the delta between two <a class="el" href="classkudu_1_1MonoTime.html" title="Representation of a particular point in time.">MonoTime</a> instances. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="ad0646900f0927ad9be6302fcda8bfe5f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad0646900f0927ad9be6302fcda8bfe5f">&#9670;&nbsp;</a></span>MonoDelta()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::MonoDelta::MonoDelta </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Build a <a class="el" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a> object.</p>
+<dl class="section note"><dt>Note</dt><dd>A <a class="el" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a> instance built with the this default constructor is "uninitialized" and may not be used for any operation. </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="aeeda0dc9b20ef8cbc9622431b38d09bc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeeda0dc9b20ef8cbc9622431b38d09bc">&#9670;&nbsp;</a></span>Equals()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::MonoDelta::Equals </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check whether this time interval has the same duration as the specified one.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>A time interval for comparison. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff this time interval has the same duration as the the specified one. </dd></dl>
+
+</div>
+</div>
+<a id="ad50c159b220bb8e63d8d05c21053113d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad50c159b220bb8e63d8d05c21053113d">&#9670;&nbsp;</a></span>FromMicroseconds()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> kudu::MonoDelta::FromMicroseconds </td>
+          <td>(</td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>us</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">us</td><td>Time interval representation in seconds (with ubiquitous SI prefixes). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The resulting <a class="el" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a> object initialized in accordance with the specified parameter. </dd></dl>
+
+</div>
+</div>
+<a id="ac5c505cedf9a8a8ce7082c347fb4363a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5c505cedf9a8a8ce7082c347fb4363a">&#9670;&nbsp;</a></span>FromMilliseconds()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> kudu::MonoDelta::FromMilliseconds </td>
+          <td>(</td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>ms</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ms</td><td>Time interval representation in seconds (with ubiquitous SI prefixes). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The resulting <a class="el" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a> object initialized in accordance with the specified parameter. </dd></dl>
+
+</div>
+</div>
+<a id="ae9e5f2bd1058b01309f82ae960520819"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae9e5f2bd1058b01309f82ae960520819">&#9670;&nbsp;</a></span>FromNanoseconds()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> kudu::MonoDelta::FromNanoseconds </td>
+          <td>(</td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>ns</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ns</td><td>Time interval representation in seconds (with ubiquitous SI prefixes). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The resulting <a class="el" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a> object initialized in accordance with the specified parameter. </dd></dl>
+
+</div>
+</div>
+<a id="a87624954c9ebd4a2c255910072592db1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a87624954c9ebd4a2c255910072592db1">&#9670;&nbsp;</a></span>FromSeconds()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> kudu::MonoDelta::FromSeconds </td>
+          <td>(</td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>seconds</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">seconds</td><td>Time interval representation in seconds (with ubiquitous SI prefixes). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The resulting <a class="el" href="classkudu_1_1MonoDelta.html" title="A representation of a time interval.">MonoDelta</a> object initialized in accordance with the specified parameter. </dd></dl>
+
+</div>
+</div>
+<a id="a2aaa30660bd168200074330f098f680a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2aaa30660bd168200074330f098f680a">&#9670;&nbsp;</a></span>Initialized()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::MonoDelta::Initialized </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff this object is initialized. </dd></dl>
+
+</div>
+</div>
+<a id="a5ebe4c7fb832419217772ca264f27b79"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ebe4c7fb832419217772ca264f27b79">&#9670;&nbsp;</a></span>LessThan()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::MonoDelta::LessThan </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check whether this time interval is shorter than the specified one.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>A time interval for comparison. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff this time interval is strictly shorter than the specified one. </dd></dl>
+
+</div>
+</div>
+<a id="ae1175ef48b67152c7dbedf47af665d02"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae1175ef48b67152c7dbedf47af665d02">&#9670;&nbsp;</a></span>MoreThan()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::MonoDelta::MoreThan </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check whether this time interval is longer than the specified one.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>A time interval for comparison. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff this time interval is strictly longer than the specified one. </dd></dl>
+
+</div>
+</div>
+<a id="a4854924550c571f8af548270da52ac22"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4854924550c571f8af548270da52ac22">&#9670;&nbsp;</a></span>NanosToTimeSpec()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void kudu::MonoDelta::NanosToTimeSpec </td>
+          <td>(</td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>nanos</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct timespec *&#160;</td>
+          <td class="paramname"><em>ts</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Convert a nanosecond value to a timespec.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">nanos</td><td>Representation of a relative point in time in nanoseconds. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ts</td><td>Placeholder for the resulting timespec representation. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a895ad22b21a7e93ca80ef02c1d862299"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a895ad22b21a7e93ca80ef02c1d862299">&#9670;&nbsp;</a></span>operator+=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; kudu::MonoDelta::operator+= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td>
+          <td class="paramname"><em>delta</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add a delta to current time interval.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">delta</td><td>The delta to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="a90f478f2fa4976a4cf7f9efc2ba5e0bb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a90f478f2fa4976a4cf7f9efc2ba5e0bb">&#9670;&nbsp;</a></span>operator-=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; kudu::MonoDelta::operator-= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td>
+          <td class="paramname"><em>delta</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Substract a delta from current time interval.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">delta</td><td>The delta to substract. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="a38ca50b383a13eb739f4f694cc117491"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a38ca50b383a13eb739f4f694cc117491">&#9670;&nbsp;</a></span>ToMicroseconds()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int64_t kudu::MonoDelta::ToMicroseconds </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Representation of the time interval in appropriate SI units. </dd></dl>
+
+</div>
+</div>
+<a id="aa75663ef2da59aef250bb63ee4b0a591"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa75663ef2da59aef250bb63ee4b0a591">&#9670;&nbsp;</a></span>ToMilliseconds()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int64_t kudu::MonoDelta::ToMilliseconds </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Representation of the time interval in appropriate SI units. </dd></dl>
+
+</div>
+</div>
+<a id="a1589aa831a2e6b4a137b944de61bca1c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1589aa831a2e6b4a137b944de61bca1c">&#9670;&nbsp;</a></span>ToNanoseconds()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int64_t kudu::MonoDelta::ToNanoseconds </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Representation of the time interval in appropriate SI units. </dd></dl>
+
+</div>
+</div>
+<a id="abdc48e03e6037096c13a6bf095aef06c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abdc48e03e6037096c13a6bf095aef06c">&#9670;&nbsp;</a></span>ToSeconds()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">double kudu::MonoDelta::ToSeconds </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Representation of the time interval in appropriate SI units. </dd></dl>
+
+</div>
+</div>
+<a id="a87faf992d3c8f291e8f34251e5cd175c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a87faf992d3c8f291e8f34251e5cd175c">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string kudu::MonoDelta::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>String representation of this interval's duration (in seconds). </dd></dl>
+
+</div>
+</div>
+<a id="ada258d175b463f4dc938630c12de9862"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ada258d175b463f4dc938630c12de9862">&#9670;&nbsp;</a></span>ToTimeSpec()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::MonoDelta::ToTimeSpec </td>
+          <td>(</td>
+          <td class="paramtype">struct timespec *&#160;</td>
+          <td class="paramname"><em>ts</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Represent this time interval as a timespec structure, with nanosecond accuracy.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">ts</td><td>Placeholder for the result value. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a237089697f6e14513a305b10f662cc6e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a237089697f6e14513a305b10f662cc6e">&#9670;&nbsp;</a></span>ToTimeVal()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::MonoDelta::ToTimeVal </td>
+          <td>(</td>
+          <td class="paramtype">struct timeval *&#160;</td>
+          <td class="paramname"><em>tv</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Represent this time interval as a timeval structure, with microsecond accuracy.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">tv</td><td>Placeholder for the result value. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/util/<a class="el" href="monotime_8h_source.html">monotime.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1MonoTime-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1MonoTime-members.html
new file mode 100644
index 0000000..d70920c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1MonoTime-members.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="classkudu_1_1MonoTime.html">MonoTime</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::MonoTime Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1MonoTime.html">kudu::MonoTime</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f">kMicrosecondsPerSecond</a></td><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html">kudu::MonoTime</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583">kNanosecondsPerMicrosecond</a></td><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html">kudu::MonoTime</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7">kNanosecondsPerMillisecond</a></td><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html">kudu::MonoTime</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18">kNanosecondsPerSecond</a></td><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html">kudu::MonoTime</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9">Max</a>()</td><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html">kudu::MonoTime</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99">Min</a>()</td><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html">kudu::MonoTime</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783">Now</a>()</td><td class="entry"><a class="el" href="classkudu_1_1MonoTime.html">kudu::MonoTime</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1MonoTime.html b/releases/1.15.0/cpp-client-api/classkudu_1_1MonoTime.html
new file mode 100644
index 0000000..15bfc26
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1MonoTime.html
@@ -0,0 +1,206 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::MonoTime Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="classkudu_1_1MonoTime.html">MonoTime</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classkudu_1_1MonoTime-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::MonoTime Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Representation of a particular point in time.  
+ <a href="classkudu_1_1MonoTime.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="monotime_8h_source.html">monotime.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a6c83d5c31e6ea5a869a655646f924783"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1MonoTime.html">MonoTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783">Now</a> ()</td></tr>
+<tr class="separator:a6c83d5c31e6ea5a869a655646f924783"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a28d08092b30ccefc5e45a6e228034ef9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1MonoTime.html">MonoTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9">Max</a> ()</td></tr>
+<tr class="separator:a28d08092b30ccefc5e45a6e228034ef9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf4fc0351fe9245431932e481e002b99"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1MonoTime.html">MonoTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99">Min</a> ()</td></tr>
+<tr class="separator:acf4fc0351fe9245431932e481e002b99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Conversion constants for ubiquitous time units.</div></td></tr>
+<tr class="memitem:a33db0c34f47f05d63bf2fddbff5b6b18"><td class="memItemLeft" align="right" valign="top"><a id="a33db0c34f47f05d63bf2fddbff5b6b18"></a>
+static const int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18">kNanosecondsPerSecond</a> = 1000000000L</td></tr>
+<tr class="memdesc:a33db0c34f47f05d63bf2fddbff5b6b18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nanoseconds per second. <br /></td></tr>
+<tr class="separator:a33db0c34f47f05d63bf2fddbff5b6b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab2f5fba731df8ae202ffadf7c5c49ef7"><td class="memItemLeft" align="right" valign="top"><a id="ab2f5fba731df8ae202ffadf7c5c49ef7"></a>
+static const int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7">kNanosecondsPerMillisecond</a> = 1000000L</td></tr>
+<tr class="memdesc:ab2f5fba731df8ae202ffadf7c5c49ef7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nanoseconds per millisecond. <br /></td></tr>
+<tr class="separator:ab2f5fba731df8ae202ffadf7c5c49ef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8df74187bdc60ef6192c0a4467ed9583"><td class="memItemLeft" align="right" valign="top"><a id="a8df74187bdc60ef6192c0a4467ed9583"></a>
+static const int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583">kNanosecondsPerMicrosecond</a> = 1000L</td></tr>
+<tr class="memdesc:a8df74187bdc60ef6192c0a4467ed9583"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nanoseconds per microseconds. <br /></td></tr>
+<tr class="separator:a8df74187bdc60ef6192c0a4467ed9583"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4b22e81d4c5bf23d2dc545f86865d9f"><td class="memItemLeft" align="right" valign="top"><a id="ad4b22e81d4c5bf23d2dc545f86865d9f"></a>
+static const int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f">kMicrosecondsPerSecond</a> = 1000000L</td></tr>
+<tr class="memdesc:ad4b22e81d4c5bf23d2dc545f86865d9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Microseconds per second. <br /></td></tr>
+<tr class="separator:ad4b22e81d4c5bf23d2dc545f86865d9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Representation of a particular point in time. </p>
+<p>The <a class="el" href="classkudu_1_1MonoTime.html" title="Representation of a particular point in time.">MonoTime</a> class represents a particular point in time, relative to some fixed but unspecified reference point.</p>
+<p>This time is monotonic, meaning that if the user changes his or her system clock, the monotime does not change. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a28d08092b30ccefc5e45a6e228034ef9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a28d08092b30ccefc5e45a6e228034ef9">&#9670;&nbsp;</a></span>Max()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1MonoTime.html">MonoTime</a> kudu::MonoTime::Max </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1MonoTime.html" title="Representation of a particular point in time.">MonoTime</a> equal to farthest possible time into the future. </dd></dl>
+
+</div>
+</div>
+<a id="acf4fc0351fe9245431932e481e002b99"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf4fc0351fe9245431932e481e002b99">&#9670;&nbsp;</a></span>Min()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1MonoTime.html">MonoTime</a> kudu::MonoTime::Min </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1MonoTime.html" title="Representation of a particular point in time.">MonoTime</a> equal to farthest possible time into the past. </dd></dl>
+
+</div>
+</div>
+<a id="a6c83d5c31e6ea5a869a655646f924783"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6c83d5c31e6ea5a869a655646f924783">&#9670;&nbsp;</a></span>Now()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1MonoTime.html">MonoTime</a> kudu::MonoTime::Now </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Get current time in <a class="el" href="classkudu_1_1MonoTime.html" title="Representation of a particular point in time.">MonoTime</a> representation.</p>
+<dl class="section return"><dt>Returns</dt><dd>Time specification for the moment of the method's invocation. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/util/<a class="el" href="monotime_8h_source.html">monotime.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1Slice-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1Slice-members.html
new file mode 100644
index 0000000..68ebde7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1Slice-members.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="classkudu_1_1Slice.html">Slice</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::Slice Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e">check_size</a>(size_t expected_size) const</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5">clear</a>()</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">compare</a>(const Slice &amp;b) const</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d">data</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523">empty</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164">mutable_data</a>()</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c">operator==</a>(const Slice &amp;x, const Slice &amp;y)</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff">operator[]</a>(size_t n) const</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806">relocate</a>(uint8_t *d)</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842">remove_prefix</a>(size_t n)</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">size</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66">Slice</a>()</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c">Slice</a>(const uint8_t *d, size_t n)</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5">Slice</a>(const char *d, size_t n)</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd">Slice</a>(const std::string &amp;s)</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345">Slice</a>(const char *s)</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d">starts_with</a>(const Slice &amp;x) const</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7">ToDebugString</a>(size_t max_len=0) const</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03">ToString</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44">truncate</a>(size_t n)</td><td class="entry"><a class="el" href="classkudu_1_1Slice.html">kudu::Slice</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1Slice.html b/releases/1.15.0/cpp-client-api/classkudu_1_1Slice.html
new file mode 100644
index 0000000..ead343c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1Slice.html
@@ -0,0 +1,689 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::Slice Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="classkudu_1_1Slice.html">Slice</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1Slice-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::Slice Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A wrapper around externally allocated data.  
+ <a href="classkudu_1_1Slice.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="slice_8h_source.html">slice.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkudu_1_1Slice_1_1Comparator.html">Comparator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structkudu_1_1Slice_1_1Comparator.html" title="Comparator struct, useful for ordered collections (like STL maps).">Comparator</a> struct, useful for ordered collections (like STL maps).  <a href="structkudu_1_1Slice_1_1Comparator.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aaee66c59ee434349680679bdf0462b66"><td class="memItemLeft" align="right" valign="top"><a id="aaee66c59ee434349680679bdf0462b66"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66">Slice</a> ()</td></tr>
+<tr class="memdesc:aaee66c59ee434349680679bdf0462b66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an empty slice. <br /></td></tr>
+<tr class="separator:aaee66c59ee434349680679bdf0462b66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a904b8732b247676c52cbd9147b34c54c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c">Slice</a> (const uint8_t *d, size_t n)</td></tr>
+<tr class="separator:a904b8732b247676c52cbd9147b34c54c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cb396203dd2c589e7d4f10bd80461d5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5">Slice</a> (const char *d, size_t n)</td></tr>
+<tr class="separator:a9cb396203dd2c589e7d4f10bd80461d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13838e07b6dcea1895a774ab1ba62bdd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd">Slice</a> (const std::string &amp;s)</td></tr>
+<tr class="separator:a13838e07b6dcea1895a774ab1ba62bdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8c6057eea15f8136e62255fd766e345"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345">Slice</a> (const char *s)</td></tr>
+<tr class="separator:ae8c6057eea15f8136e62255fd766e345"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa81f3cd3f43d72892397734399bed06d"><td class="memItemLeft" align="right" valign="top">const uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d">data</a> () const</td></tr>
+<tr class="separator:aa81f3cd3f43d72892397734399bed06d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2771156d34daa166067b8d319ad7d164"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164">mutable_data</a> ()</td></tr>
+<tr class="separator:a2771156d34daa166067b8d319ad7d164"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec1c45dc306dce4a0977fff8eabdb433"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">size</a> () const</td></tr>
+<tr class="separator:aec1c45dc306dce4a0977fff8eabdb433"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a072af6f4ad1aef904c5f683107d0e523"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523">empty</a> () const</td></tr>
+<tr class="separator:a072af6f4ad1aef904c5f683107d0e523"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c8090f1904ecbdc8e2ca6a4bf79fbff"><td class="memItemLeft" align="right" valign="top">const uint8_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff">operator[]</a> (size_t n) const</td></tr>
+<tr class="separator:a4c8090f1904ecbdc8e2ca6a4bf79fbff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb914c0769f019a7c2f28b755cba5eb5"><td class="memItemLeft" align="right" valign="top"><a id="afb914c0769f019a7c2f28b755cba5eb5"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5">clear</a> ()</td></tr>
+<tr class="memdesc:afb914c0769f019a7c2f28b755cba5eb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change this slice to refer to an empty array. <br /></td></tr>
+<tr class="separator:afb914c0769f019a7c2f28b755cba5eb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00f5d310f9ebf17c198cf3feb69c3842"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842">remove_prefix</a> (size_t n)</td></tr>
+<tr class="separator:a00f5d310f9ebf17c198cf3feb69c3842"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20f1c8e91ff0209e5c8f86766ef63d44"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44">truncate</a> (size_t n)</td></tr>
+<tr class="separator:a20f1c8e91ff0209e5c8f86766ef63d44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48bc614a10aba1268eae9a7054bf5f9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e">check_size</a> (size_t expected_size) const</td></tr>
+<tr class="separator:a48bc614a10aba1268eae9a7054bf5f9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01ad84246c80f91b5b7634b0346c4a03"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03">ToString</a> () const</td></tr>
+<tr class="separator:a01ad84246c80f91b5b7634b0346c4a03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2f077da829e931314a753bc6b76fbf7"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7">ToDebugString</a> (size_t max_len=0) const</td></tr>
+<tr class="separator:ad2f077da829e931314a753bc6b76fbf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e5fabfcb85d2076297aa3c24ba448c2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">compare</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;b) const</td></tr>
+<tr class="separator:a6e5fabfcb85d2076297aa3c24ba448c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1919baa9e854b50b938c35bd1686c9d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d">starts_with</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;x) const</td></tr>
+<tr class="separator:ab1919baa9e854b50b938c35bd1686c9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4bb1c9fe13873623b5a5a118830b1806"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806">relocate</a> (uint8_t *d)</td></tr>
+<tr class="separator:a4bb1c9fe13873623b5a5a118830b1806"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A wrapper around externally allocated data. </p>
+<p><a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> is a simple structure containing a pointer into some external storage and a size. The user of a <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> must ensure that the slice is not used after the corresponding external storage has been deallocated.</p>
+<p>Multiple threads can invoke const methods on a <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> without external synchronization, but if any of the threads may call a non-const method, all threads accessing the same <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> must use external synchronization.</p>
+<p>Slices can be built around faststrings and StringPieces using constructors with implicit casts. Both StringPieces and faststrings depend on a great deal of gutil code. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a904b8732b247676c52cbd9147b34c54c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a904b8732b247676c52cbd9147b34c54c">&#9670;&nbsp;</a></span>Slice() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::Slice::Slice </td>
+          <td>(</td>
+          <td class="paramtype">const uint8_t *&#160;</td>
+          <td class="paramname"><em>d</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>n</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a slice that refers to a <code>uint8_t</code> byte array.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>The input array. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of bytes in the array. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a9cb396203dd2c589e7d4f10bd80461d5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9cb396203dd2c589e7d4f10bd80461d5">&#9670;&nbsp;</a></span>Slice() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::Slice::Slice </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>d</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>n</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a slice that refers to a <code>char</code> byte array.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>The input array. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of bytes in the array. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a13838e07b6dcea1895a774ab1ba62bdd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a13838e07b6dcea1895a774ab1ba62bdd">&#9670;&nbsp;</a></span>Slice() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::Slice::Slice </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a slice that refers to the contents of the given string.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The input string. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="ae8c6057eea15f8136e62255fd766e345"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae8c6057eea15f8136e62255fd766e345">&#9670;&nbsp;</a></span>Slice() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::Slice::Slice </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a slice that refers to a C-string s[0,strlen(s)-1].</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The input C-string. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a48bc614a10aba1268eae9a7054bf5f9e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a48bc614a10aba1268eae9a7054bf5f9e">&#9670;&nbsp;</a></span>check_size()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Slice::check_size </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>expected_size</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check that the slice has the expected size.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">expected_size</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee">Status::Corruption()</a> iff <a class="el" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">size()</a> != <code>expected_size</code> </dd></dl>
+
+</div>
+</div>
+<a id="a6e5fabfcb85d2076297aa3c24ba448c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e5fabfcb85d2076297aa3c24ba448c2">&#9670;&nbsp;</a></span>compare()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">int kudu::Slice::compare </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>b</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Do a three-way comparison of the slice's data.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The other slice to compare with. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Values are <ul>
+<li>&lt; 0 iff "*this" &lt; "b" </li>
+<li>== 0 iff "*this" == "b" </li>
+<li>&gt; 0 iff "*this" &gt; "b" </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="aa81f3cd3f43d72892397734399bed06d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa81f3cd3f43d72892397734399bed06d">&#9670;&nbsp;</a></span>data()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const uint8_t* kudu::Slice::data </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the beginning of the referenced data. </dd></dl>
+
+</div>
+</div>
+<a id="a072af6f4ad1aef904c5f683107d0e523"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a072af6f4ad1aef904c5f683107d0e523">&#9670;&nbsp;</a></span>empty()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Slice::empty </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the length of the referenced data is zero. </dd></dl>
+
+</div>
+</div>
+<a id="a2771156d34daa166067b8d319ad7d164"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2771156d34daa166067b8d319ad7d164">&#9670;&nbsp;</a></span>mutable_data()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint8_t* kudu::Slice::mutable_data </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>A mutable pointer to the beginning of the referenced data. </dd></dl>
+
+</div>
+</div>
+<a id="a4c8090f1904ecbdc8e2ca6a4bf79fbff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4c8090f1904ecbdc8e2ca6a4bf79fbff">&#9670;&nbsp;</a></span>operator[]()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const uint8_t&amp; kudu::Slice::operator[] </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>n</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>n &lt; <a class="el" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">size()</a></dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>The index of the byte. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the n-th byte in the referenced data. </dd></dl>
+
+</div>
+</div>
+<a id="a4bb1c9fe13873623b5a5a118830b1806"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4bb1c9fe13873623b5a5a118830b1806">&#9670;&nbsp;</a></span>relocate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::Slice::relocate </td>
+          <td>(</td>
+          <td class="paramtype">uint8_t *&#160;</td>
+          <td class="paramname"><em>d</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Relocate/copy the slice's data into a new location.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>The new location for the data. If it's the same location, then no relocation is done. It is assumed that the new location is large enough to fit the data. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a00f5d310f9ebf17c198cf3feb69c3842"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a00f5d310f9ebf17c198cf3feb69c3842">&#9670;&nbsp;</a></span>remove_prefix()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::Slice::remove_prefix </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>n</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Drop the first "n" bytes from this slice.</p>
+<dl class="section pre"><dt>Precondition</dt><dd>n &lt;= <a class="el" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">size()</a></dd></dl>
+<dl class="section note"><dt>Note</dt><dd>Only the base and bounds of the slice are changed; the data is not modified.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of bytes that should be dropped from the beginning. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="aec1c45dc306dce4a0977fff8eabdb433"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aec1c45dc306dce4a0977fff8eabdb433">&#9670;&nbsp;</a></span>size()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">size_t kudu::Slice::size </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The length (in bytes) of the referenced data. </dd></dl>
+
+</div>
+</div>
+<a id="ab1919baa9e854b50b938c35bd1686c9d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab1919baa9e854b50b938c35bd1686c9d">&#9670;&nbsp;</a></span>starts_with()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Slice::starts_with </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Check whether the slice starts with the given prefix. </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>The slice in question. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff "x" is a prefix of "*this" </dd></dl>
+
+</div>
+</div>
+<a id="ad2f077da829e931314a753bc6b76fbf7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad2f077da829e931314a753bc6b76fbf7">&#9670;&nbsp;</a></span>ToDebugString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string kudu::Slice::ToDebugString </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>max_len</em> = <code>0</code></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get printable representation of the data in the slice.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">max_len</td><td>The maximum number of bytes to output in the printable format; <code>0</code> means no limit. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A string with printable representation of the data. </dd></dl>
+
+</div>
+</div>
+<a id="a01ad84246c80f91b5b7634b0346c4a03"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a01ad84246c80f91b5b7634b0346c4a03">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string kudu::Slice::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>A string that contains a copy of the referenced data. </dd></dl>
+
+</div>
+</div>
+<a id="a20f1c8e91ff0209e5c8f86766ef63d44"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a20f1c8e91ff0209e5c8f86766ef63d44">&#9670;&nbsp;</a></span>truncate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::Slice::truncate </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>n</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Truncate the slice to the given number of bytes.</p>
+<dl class="section pre"><dt>Precondition</dt><dd>n &lt;= <a class="el" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">size()</a></dd></dl>
+<dl class="section note"><dt>Note</dt><dd>Only the base and bounds of the slice are changed; the data is not modified.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>The new size of the slice. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/util/<a class="el" href="slice_8h_source.html">slice.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1Status-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1Status-members.html
new file mode 100644
index 0000000..75a42dd
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1Status-members.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="classkudu_1_1Status.html">Status</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::Status Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1Status.html">kudu::Status</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144">Aborted</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45">AlreadyPresent</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7">CloneAndAppend</a>(const Slice &amp;msg) const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de">CloneAndPrepend</a>(const Slice &amp;msg) const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5">CodeAsString</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801">ConfigurationError</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee">Corruption</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b">EndOfFile</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int64_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b">IllegalState</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b">Incomplete</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int64_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4">InvalidArgument</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862">IOError</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874">IsAborted</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282">IsAlreadyPresent</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef">IsConfigurationError</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4">IsCorruption</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c">IsDiskFailure</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6">IsEndOfFile</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24">IsIllegalState</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7">IsIncomplete</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b">IsInvalidArgument</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250">IsIOError</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431">IsNetworkError</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171">IsNotAuthorized</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd">IsNotFound</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea">IsNotSupported</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6">IsRemoteError</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8">IsRuntimeError</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668">IsServiceUnavailable</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03">IsTimedOut</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b">IsUninitialized</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9">memory_footprint_excluding_this</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c">memory_footprint_including_this</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796">message</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af">NetworkError</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba">NotAuthorized</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3">NotFound</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c">NotSupported</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af">ok</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">OK</a>()</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88">operator=</a>(const Status &amp;s)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f">RemoteError</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692">RuntimeError</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568">ServiceUnavailable</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0">Status</a>()</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#affca5639a3341212bb23ae7f5c701803">Status</a>(const Status &amp;s)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe">TimedOut</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99">ToString</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15">Uninitialized</a>(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Status</b>() (defined in <a class="el" href="classkudu_1_1Status.html">kudu::Status</a>)</td><td class="entry"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1Status.html b/releases/1.15.0/cpp-client-api/classkudu_1_1Status.html
new file mode 100644
index 0000000..4e5771a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1Status.html
@@ -0,0 +1,1902 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::Status Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="classkudu_1_1Status.html">Status</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classkudu_1_1Status-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::Status Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A representation of an operation's outcome.  
+ <a href="classkudu_1_1Status.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="status_8h_source.html">status.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad14eb530b3449967ee976aaa1c0bcde0"><td class="memItemLeft" align="right" valign="top"><a id="ad14eb530b3449967ee976aaa1c0bcde0"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0">Status</a> ()</td></tr>
+<tr class="memdesc:ad14eb530b3449967ee976aaa1c0bcde0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an object representing success status. <br /></td></tr>
+<tr class="separator:ad14eb530b3449967ee976aaa1c0bcde0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:affca5639a3341212bb23ae7f5c701803"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#affca5639a3341212bb23ae7f5c701803">Status</a> (const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;s)</td></tr>
+<tr class="separator:affca5639a3341212bb23ae7f5c701803"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa387797d8a80892563d56244a2351a88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88">operator=</a> (const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;s)</td></tr>
+<tr class="separator:aa387797d8a80892563d56244a2351a88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0c248c3ebd9f77546917ccebde029af"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af">ok</a> () const</td></tr>
+<tr class="separator:ae0c248c3ebd9f77546917ccebde029af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98720ec81c8af525c363999d526b4efd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd">IsNotFound</a> () const</td></tr>
+<tr class="separator:a98720ec81c8af525c363999d526b4efd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f22e819a88715855c0700a42116efc4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4">IsCorruption</a> () const</td></tr>
+<tr class="separator:a4f22e819a88715855c0700a42116efc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab07ec85036fcbebe4987e588997076ea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea">IsNotSupported</a> () const</td></tr>
+<tr class="separator:ab07ec85036fcbebe4987e588997076ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63c36a062e1f3ac68ec8ee2f032da250"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250">IsIOError</a> () const</td></tr>
+<tr class="separator:a63c36a062e1f3ac68ec8ee2f032da250"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a067cd380b0babb8133636a423524426b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b">IsInvalidArgument</a> () const</td></tr>
+<tr class="separator:a067cd380b0babb8133636a423524426b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e0c73bb6bb9c78d590c1d1f6d4c7282"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282">IsAlreadyPresent</a> () const</td></tr>
+<tr class="separator:a4e0c73bb6bb9c78d590c1d1f6d4c7282"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0cb472b2431a7898769fc0263908ae8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8">IsRuntimeError</a> () const</td></tr>
+<tr class="separator:ae0cb472b2431a7898769fc0263908ae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4acc174b0c45945ba180f4c6cf8b431"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431">IsNetworkError</a> () const</td></tr>
+<tr class="separator:ad4acc174b0c45945ba180f4c6cf8b431"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad3f3cd05b402351f260f8ee528d13f24"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24">IsIllegalState</a> () const</td></tr>
+<tr class="separator:ad3f3cd05b402351f260f8ee528d13f24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac850292b4c11cc4736d80d5e03805171"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171">IsNotAuthorized</a> () const</td></tr>
+<tr class="separator:ac850292b4c11cc4736d80d5e03805171"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6640d27d5c48d9257b9ba19416530874"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874">IsAborted</a> () const</td></tr>
+<tr class="separator:a6640d27d5c48d9257b9ba19416530874"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a100f6f01e8bcdefb67f6e7fb17146ee6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6">IsRemoteError</a> () const</td></tr>
+<tr class="separator:a100f6f01e8bcdefb67f6e7fb17146ee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f9f0d6696809fa52af0e34e18477668"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668">IsServiceUnavailable</a> () const</td></tr>
+<tr class="separator:a9f9f0d6696809fa52af0e34e18477668"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f9cf3d3393efb81be08f18ccedb3e03"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03">IsTimedOut</a> () const</td></tr>
+<tr class="separator:a1f9cf3d3393efb81be08f18ccedb3e03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20ddf7be88cb0f304e4fe9ac2402f00b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b">IsUninitialized</a> () const</td></tr>
+<tr class="separator:a20ddf7be88cb0f304e4fe9ac2402f00b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa15dd07c7e6cf0d7ddf152ad2e8dbfef"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef">IsConfigurationError</a> () const</td></tr>
+<tr class="separator:aa15dd07c7e6cf0d7ddf152ad2e8dbfef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac78fdef5d20751a791a1944d9ece0ee7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7">IsIncomplete</a> () const</td></tr>
+<tr class="separator:ac78fdef5d20751a791a1944d9ece0ee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a16814843bac757a1c9559fd3e9ec7ae6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6">IsEndOfFile</a> () const</td></tr>
+<tr class="separator:a16814843bac757a1c9559fd3e9ec7ae6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3b4e9aa437a3b42371505a496b14f9c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c">IsDiskFailure</a> () const</td></tr>
+<tr class="separator:aa3b4e9aa437a3b42371505a496b14f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3e2964343c3b1d35cdd75988ad8fa99"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99">ToString</a> () const</td></tr>
+<tr class="separator:ae3e2964343c3b1d35cdd75988ad8fa99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fafe0e7de52282c53ac29760fc409c5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5">CodeAsString</a> () const</td></tr>
+<tr class="separator:a6fafe0e7de52282c53ac29760fc409c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aefdf27f7ae0c91ee737896ac91d86796"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Slice.html">Slice</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796">message</a> () const</td></tr>
+<tr class="separator:aefdf27f7ae0c91ee737896ac91d86796"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d6bfd279cadd657fd07842aa258bd5d"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a> () const</td></tr>
+<tr class="separator:a4d6bfd279cadd657fd07842aa258bd5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abcee50c360b182faa966e8a96d0ba9de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de">CloneAndPrepend</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg) const</td></tr>
+<tr class="separator:abcee50c360b182faa966e8a96d0ba9de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a835f657424af6bc1cb092139833e41a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7">CloneAndAppend</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg) const</td></tr>
+<tr class="separator:a835f657424af6bc1cb092139833e41a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50bb6e301bdad1d168e4366be4c41da9"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9">memory_footprint_excluding_this</a> () const</td></tr>
+<tr class="separator:a50bb6e301bdad1d168e4366be4c41da9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1286f2c8962cd3d0a2a6e7002092711c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c">memory_footprint_including_this</a> () const</td></tr>
+<tr class="separator:a1286f2c8962cd3d0a2a6e7002092711c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:adaff3248b2f66041d0a7dd59f118b7ac"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">OK</a> ()</td></tr>
+<tr class="separator:adaff3248b2f66041d0a7dd59f118b7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Methods to build status objects for various types of errors.</div></td></tr>
+<tr class="memitem:aa8230a85d171ad384e028e5782d097b3"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3">NotFound</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:aa8230a85d171ad384e028e5782d097b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c0ed04aa8234b9c1aedeafc4dd3d2ee"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee">Corruption</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:a5c0ed04aa8234b9c1aedeafc4dd3d2ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c0794b535ba74db59d6d614b385b29c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c">NotSupported</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:a7c0794b535ba74db59d6d614b385b29c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab2b8ecb3407d7cdfc3c7650708d3fef4"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4">InvalidArgument</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:ab2b8ecb3407d7cdfc3c7650708d3fef4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a842907942a84ac34f0912de723862"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862">IOError</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:a41a842907942a84ac34f0912de723862"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa352708c157096893132e7bfa17f2c45"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45">AlreadyPresent</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:aa352708c157096893132e7bfa17f2c45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2da56794897fa2cb3c96181f29796692"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692">RuntimeError</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:a2da56794897fa2cb3c96181f29796692"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd07058e176fba0e87c48e955a97f0af"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af">NetworkError</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:abd07058e176fba0e87c48e955a97f0af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65232f9f7de16f12db13e6c55137c48b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b">IllegalState</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:a65232f9f7de16f12db13e6c55137c48b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9f5fdc99726585961544969dcb3b2ba"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba">NotAuthorized</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:ac9f5fdc99726585961544969dcb3b2ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66d4341c1c1bb677284608fd51686144"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144">Aborted</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:a66d4341c1c1bb677284608fd51686144"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aefdc372dd5a3c4e122bb9f49738c667f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f">RemoteError</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:aefdc372dd5a3c4e122bb9f49738c667f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56570d57662d3d3e2225269386213568"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568">ServiceUnavailable</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:a56570d57662d3d3e2225269386213568"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06a1e762a63b7b72171d781f657adffe"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe">TimedOut</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:a06a1e762a63b7b72171d781f657adffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac586c6af12c09103c53cfc941139cc15"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15">Uninitialized</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:ac586c6af12c09103c53cfc941139cc15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb67c65dc9c5d3f6665e80a4dbbf9801"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801">ConfigurationError</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int16_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:aeb67c65dc9c5d3f6665e80a4dbbf9801"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab70860cab096ae35d905a5d15241d69b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b">Incomplete</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int64_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:ab70860cab096ae35d905a5d15241d69b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeab02d311b0e5d44310b0dcc1e37359b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b">EndOfFile</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;msg2=<a class="el" href="classkudu_1_1Slice.html">Slice</a>(), int64_t <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>=-1)</td></tr>
+<tr class="separator:aeab02d311b0e5d44310b0dcc1e37359b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A representation of an operation's outcome. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="affca5639a3341212bb23ae7f5c701803"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#affca5639a3341212bb23ae7f5c701803">&#9670;&nbsp;</a></span>Status()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::Status::Status </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Copy the specified status.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The status object to copy from. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a66d4341c1c1bb677284608fd51686144"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a66d4341c1c1bb677284608fd51686144">&#9670;&nbsp;</a></span>Aborted()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::Aborted </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="aa352708c157096893132e7bfa17f2c45"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa352708c157096893132e7bfa17f2c45">&#9670;&nbsp;</a></span>AlreadyPresent()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::AlreadyPresent </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="a835f657424af6bc1cb092139833e41a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a835f657424af6bc1cb092139833e41a7">&#9670;&nbsp;</a></span>CloneAndAppend()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::CloneAndAppend </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Clone this status and add the specified suffix to the message.</p>
+<p>If this status is OK, then an OK status will be returned.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message to append. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> object with the same state plus an additional trailing message. </dd></dl>
+
+</div>
+</div>
+<a id="abcee50c360b182faa966e8a96d0ba9de"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abcee50c360b182faa966e8a96d0ba9de">&#9670;&nbsp;</a></span>CloneAndPrepend()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::CloneAndPrepend </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Clone this status and add the specified prefix to the message.</p>
+<p>If this status is OK, then an OK status will be returned.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message to prepend. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> object with the same state plus an additional leading message. </dd></dl>
+
+</div>
+</div>
+<a id="a6fafe0e7de52282c53ac29760fc409c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6fafe0e7de52282c53ac29760fc409c5">&#9670;&nbsp;</a></span>CodeAsString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string kudu::Status::CodeAsString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>A string representation of the status code, without the message text or POSIX code information. </dd></dl>
+
+</div>
+</div>
+<a id="aeb67c65dc9c5d3f6665e80a4dbbf9801"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeb67c65dc9c5d3f6665e80a4dbbf9801">&#9670;&nbsp;</a></span>ConfigurationError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::ConfigurationError </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="a5c0ed04aa8234b9c1aedeafc4dd3d2ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5c0ed04aa8234b9c1aedeafc4dd3d2ee">&#9670;&nbsp;</a></span>Corruption()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::Corruption </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="aeab02d311b0e5d44310b0dcc1e37359b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeab02d311b0e5d44310b0dcc1e37359b">&#9670;&nbsp;</a></span>EndOfFile()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::EndOfFile </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="a65232f9f7de16f12db13e6c55137c48b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a65232f9f7de16f12db13e6c55137c48b">&#9670;&nbsp;</a></span>IllegalState()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::IllegalState </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="ab70860cab096ae35d905a5d15241d69b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab70860cab096ae35d905a5d15241d69b">&#9670;&nbsp;</a></span>Incomplete()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::Incomplete </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="ab2b8ecb3407d7cdfc3c7650708d3fef4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab2b8ecb3407d7cdfc3c7650708d3fef4">&#9670;&nbsp;</a></span>InvalidArgument()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::InvalidArgument </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="a41a842907942a84ac34f0912de723862"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a842907942a84ac34f0912de723862">&#9670;&nbsp;</a></span>IOError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::IOError </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="a6640d27d5c48d9257b9ba19416530874"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6640d27d5c48d9257b9ba19416530874">&#9670;&nbsp;</a></span>IsAborted()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsAborted </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates an Aborted error. </dd></dl>
+
+</div>
+</div>
+<a id="a4e0c73bb6bb9c78d590c1d1f6d4c7282"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4e0c73bb6bb9c78d590c1d1f6d4c7282">&#9670;&nbsp;</a></span>IsAlreadyPresent()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsAlreadyPresent </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates an AlreadyPresent error. </dd></dl>
+
+</div>
+</div>
+<a id="aa15dd07c7e6cf0d7ddf152ad2e8dbfef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa15dd07c7e6cf0d7ddf152ad2e8dbfef">&#9670;&nbsp;</a></span>IsConfigurationError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsConfigurationError </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates ConfigurationError. </dd></dl>
+
+</div>
+</div>
+<a id="a4f22e819a88715855c0700a42116efc4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4f22e819a88715855c0700a42116efc4">&#9670;&nbsp;</a></span>IsCorruption()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsCorruption </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates a Corruption error. </dd></dl>
+
+</div>
+</div>
+<a id="aa3b4e9aa437a3b42371505a496b14f9c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3b4e9aa437a3b42371505a496b14f9c">&#9670;&nbsp;</a></span>IsDiskFailure()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsDiskFailure </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates a disk failure. </dd></dl>
+
+</div>
+</div>
+<a id="a16814843bac757a1c9559fd3e9ec7ae6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a16814843bac757a1c9559fd3e9ec7ae6">&#9670;&nbsp;</a></span>IsEndOfFile()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsEndOfFile </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates end of file. </dd></dl>
+
+</div>
+</div>
+<a id="ad3f3cd05b402351f260f8ee528d13f24"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad3f3cd05b402351f260f8ee528d13f24">&#9670;&nbsp;</a></span>IsIllegalState()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsIllegalState </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates an IllegalState error. </dd></dl>
+
+</div>
+</div>
+<a id="ac78fdef5d20751a791a1944d9ece0ee7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac78fdef5d20751a791a1944d9ece0ee7">&#9670;&nbsp;</a></span>IsIncomplete()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsIncomplete </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates Incomplete. </dd></dl>
+
+</div>
+</div>
+<a id="a067cd380b0babb8133636a423524426b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a067cd380b0babb8133636a423524426b">&#9670;&nbsp;</a></span>IsInvalidArgument()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsInvalidArgument </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates an InvalidArgument error. </dd></dl>
+
+</div>
+</div>
+<a id="a63c36a062e1f3ac68ec8ee2f032da250"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63c36a062e1f3ac68ec8ee2f032da250">&#9670;&nbsp;</a></span>IsIOError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsIOError </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates an IOError. </dd></dl>
+
+</div>
+</div>
+<a id="ad4acc174b0c45945ba180f4c6cf8b431"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad4acc174b0c45945ba180f4c6cf8b431">&#9670;&nbsp;</a></span>IsNetworkError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsNetworkError </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates a NetworkError. </dd></dl>
+
+</div>
+</div>
+<a id="ac850292b4c11cc4736d80d5e03805171"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac850292b4c11cc4736d80d5e03805171">&#9670;&nbsp;</a></span>IsNotAuthorized()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsNotAuthorized </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates a NotAuthorized error. </dd></dl>
+
+</div>
+</div>
+<a id="a98720ec81c8af525c363999d526b4efd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a98720ec81c8af525c363999d526b4efd">&#9670;&nbsp;</a></span>IsNotFound()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsNotFound </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates a NotFound error. </dd></dl>
+
+</div>
+</div>
+<a id="ab07ec85036fcbebe4987e588997076ea"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab07ec85036fcbebe4987e588997076ea">&#9670;&nbsp;</a></span>IsNotSupported()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsNotSupported </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates a NotSupported error. </dd></dl>
+
+</div>
+</div>
+<a id="a100f6f01e8bcdefb67f6e7fb17146ee6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a100f6f01e8bcdefb67f6e7fb17146ee6">&#9670;&nbsp;</a></span>IsRemoteError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsRemoteError </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates a RemoteError. </dd></dl>
+
+</div>
+</div>
+<a id="ae0cb472b2431a7898769fc0263908ae8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae0cb472b2431a7898769fc0263908ae8">&#9670;&nbsp;</a></span>IsRuntimeError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsRuntimeError </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates a RuntimeError. </dd></dl>
+
+</div>
+</div>
+<a id="a9f9f0d6696809fa52af0e34e18477668"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9f9f0d6696809fa52af0e34e18477668">&#9670;&nbsp;</a></span>IsServiceUnavailable()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsServiceUnavailable </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates ServiceUnavailable. </dd></dl>
+
+</div>
+</div>
+<a id="a1f9cf3d3393efb81be08f18ccedb3e03"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f9cf3d3393efb81be08f18ccedb3e03">&#9670;&nbsp;</a></span>IsTimedOut()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsTimedOut </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates TimedOut. </dd></dl>
+
+</div>
+</div>
+<a id="a20ddf7be88cb0f304e4fe9ac2402f00b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a20ddf7be88cb0f304e4fe9ac2402f00b">&#9670;&nbsp;</a></span>IsUninitialized()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::IsUninitialized </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates Uninitialized. </dd></dl>
+
+</div>
+</div>
+<a id="a50bb6e301bdad1d168e4366be4c41da9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a50bb6e301bdad1d168e4366be4c41da9">&#9670;&nbsp;</a></span>memory_footprint_excluding_this()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">size_t kudu::Status::memory_footprint_excluding_this </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The memory usage of this object without the object itself. Should be used when embedded inside another object. </dd></dl>
+
+</div>
+</div>
+<a id="a1286f2c8962cd3d0a2a6e7002092711c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1286f2c8962cd3d0a2a6e7002092711c">&#9670;&nbsp;</a></span>memory_footprint_including_this()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">size_t kudu::Status::memory_footprint_including_this </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The memory usage of this object including the object itself. Should be used when allocated on the heap. </dd></dl>
+
+</div>
+</div>
+<a id="aefdf27f7ae0c91ee737896ac91d86796"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aefdf27f7ae0c91ee737896ac91d86796">&#9670;&nbsp;</a></span>message()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Slice.html">Slice</a> kudu::Status::message </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>This is similar to ToString, except that it does not include the stringified error code or POSIX code.</p>
+<dl class="section note"><dt>Note</dt><dd>The returned <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> is only valid as long as this <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> object remains live and unchanged.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The message portion of the <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a>. For <code>OK</code> statuses, this returns an empty string. </dd></dl>
+
+</div>
+</div>
+<a id="abd07058e176fba0e87c48e955a97f0af"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd07058e176fba0e87c48e955a97f0af">&#9670;&nbsp;</a></span>NetworkError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::NetworkError </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="ac9f5fdc99726585961544969dcb3b2ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac9f5fdc99726585961544969dcb3b2ba">&#9670;&nbsp;</a></span>NotAuthorized()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::NotAuthorized </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="aa8230a85d171ad384e028e5782d097b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa8230a85d171ad384e028e5782d097b3">&#9670;&nbsp;</a></span>NotFound()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::NotFound </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="a7c0794b535ba74db59d6d614b385b29c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7c0794b535ba74db59d6d614b385b29c">&#9670;&nbsp;</a></span>NotSupported()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::NotSupported </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="adaff3248b2f66041d0a7dd59f118b7ac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adaff3248b2f66041d0a7dd59f118b7ac">&#9670;&nbsp;</a></span>OK()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::OK </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>A success status. </dd></dl>
+
+</div>
+</div>
+<a id="ae0c248c3ebd9f77546917ccebde029af"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae0c248c3ebd9f77546917ccebde029af">&#9670;&nbsp;</a></span>ok()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Status::ok </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the status indicates success. </dd></dl>
+
+</div>
+</div>
+<a id="aa387797d8a80892563d56244a2351a88"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa387797d8a80892563d56244a2351a88">&#9670;&nbsp;</a></span>operator=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> &amp; kudu::Status::operator= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Assign the specified status.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The status object to assign from. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The reference to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="a4d6bfd279cadd657fd07842aa258bd5d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4d6bfd279cadd657fd07842aa258bd5d">&#9670;&nbsp;</a></span>posix_code()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int16_t kudu::Status::posix_code </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The POSIX code associated with this <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> object, or <code>-1</code> if there is none. </dd></dl>
+
+</div>
+</div>
+<a id="aefdc372dd5a3c4e122bb9f49738c667f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aefdc372dd5a3c4e122bb9f49738c667f">&#9670;&nbsp;</a></span>RemoteError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::RemoteError </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="a2da56794897fa2cb3c96181f29796692"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2da56794897fa2cb3c96181f29796692">&#9670;&nbsp;</a></span>RuntimeError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::RuntimeError </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="a56570d57662d3d3e2225269386213568"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56570d57662d3d3e2225269386213568">&#9670;&nbsp;</a></span>ServiceUnavailable()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::ServiceUnavailable </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="a06a1e762a63b7b72171d781f657adffe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a06a1e762a63b7b72171d781f657adffe">&#9670;&nbsp;</a></span>TimedOut()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::TimedOut </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<a id="ae3e2964343c3b1d35cdd75988ad8fa99"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae3e2964343c3b1d35cdd75988ad8fa99">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string kudu::Status::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>A string representation of this status suitable for printing. Returns the string "OK" for success. </dd></dl>
+
+</div>
+</div>
+<a id="ac586c6af12c09103c53cfc941139cc15"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac586c6af12c09103c53cfc941139cc15">&#9670;&nbsp;</a></span>Uninitialized()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::Status::Uninitialized </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>msg2</em> = <code><a class="el" href="classkudu_1_1Slice.html">Slice</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t&#160;</td>
+          <td class="paramname"><em>posix_code</em> = <code>-1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The informational message on the error. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg2</td><td>Additional information on the error (optional). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">posix_code</td><td>POSIX error code, if applicable (optional). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The error status of an appropriate type. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/util/<a class="el" href="status_8h_source.html">status.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter-members.html
new file mode 100644
index 0000000..2cf0143
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter-members.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduBloomFilter Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html">kudu::client::KuduBloomFilter</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678">Insert</a>(const Slice &amp;key)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html">kudu::client::KuduBloomFilter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduBloomFilter</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html">kudu::client::KuduBloomFilter</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html">kudu::client::KuduBloomFilter</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter.html
new file mode 100644
index 0000000..50aebaf
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduBloomFilter Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduBloomFilter-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduBloomFilter Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Bloom filter to be used with IN Bloom filter predicate.  
+ <a href="classkudu_1_1client_1_1KuduBloomFilter.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="scan__predicate_8h_source.html">scan_predicate.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aff2d94e3e2b1013174d7bad35e93b678"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678">Insert</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;key)</td></tr>
+<tr class="separator:aff2d94e3e2b1013174d7bad35e93b678"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Bloom filter to be used with IN Bloom filter predicate. </p>
+<p>A Bloom filter is a space-efficient probabilistic data-structure used to test set membership with a possibility of false positive matches.</p>
+<p>Create a new <a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html" title="Bloom filter to be used with IN Bloom filter predicate.">KuduBloomFilter</a> using <code><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html" title="Builder class to help build KuduBloomFilter to be used with IN Bloom filter predicate.">KuduBloomFilterBuilder</a></code> class and populate column values that need to be scanned using <code><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678">KuduBloomFilter::Insert()</a></code> function.</p>
+<p>Supply the populated <a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html" title="Bloom filter to be used with IN Bloom filter predicate.">KuduBloomFilter</a> to <code><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">KuduTable::NewInBloomFilterPredicate()</a></code> to create an IN Bloom filter predicate. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="aff2d94e3e2b1013174d7bad35e93b678"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aff2d94e3e2b1013174d7bad35e93b678">&#9670;&nbsp;</a></span>Insert()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::client::KuduBloomFilter::Insert </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>key</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Insert key to the Bloom filter.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Column value as a <code><a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a></code> to insert into the Bloom filter. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="scan__predicate_8h_source.html">scan_predicate.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder-members.html
new file mode 100644
index 0000000..f363486
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder-members.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduBloomFilterBuilder Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">kudu::client::KuduBloomFilterBuilder</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a">Build</a>(KuduBloomFilter **bloom_filter)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">kudu::client::KuduBloomFilterBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7">false_positive_probability</a>(double fpp)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">kudu::client::KuduBloomFilterBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57">hash_algorithm</a>(HashAlgorithm hash_algorithm)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">kudu::client::KuduBloomFilterBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356">hash_seed</a>(uint32_t hash_seed)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">kudu::client::KuduBloomFilterBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4">KuduBloomFilterBuilder</a>(size_t num_keys)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">kudu::client::KuduBloomFilterBuilder</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduBloomFilterBuilder</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">kudu::client::KuduBloomFilterBuilder</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">kudu::client::KuduBloomFilterBuilder</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder.html
new file mode 100644
index 0000000..15f846f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder.html
@@ -0,0 +1,244 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduBloomFilterBuilder Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduBloomFilterBuilder-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduBloomFilterBuilder Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Builder class to help build <code><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html" title="Bloom filter to be used with IN Bloom filter predicate.">KuduBloomFilter</a></code> to be used with IN Bloom filter predicate.  
+ <a href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="scan__predicate_8h_source.html">scan_predicate.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4da74bd04dac54419fc0495cd25c70f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4">KuduBloomFilterBuilder</a> (size_t num_keys)</td></tr>
+<tr class="separator:a4da74bd04dac54419fc0495cd25c70f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f904340426aebb071f66a1964438ff7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7">false_positive_probability</a> (double fpp)</td></tr>
+<tr class="separator:a8f904340426aebb071f66a1964438ff7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa314b4febf56d1ff450d95134457da57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57">hash_algorithm</a> (HashAlgorithm hash_algorithm)</td></tr>
+<tr class="separator:aa314b4febf56d1ff450d95134457da57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a72fd2c18e62054a64b2900fa6c4356"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356">hash_seed</a> (uint32_t hash_seed)</td></tr>
+<tr class="separator:a1a72fd2c18e62054a64b2900fa6c4356"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90bf3b2387dd08cbbeda59497ceeee6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a">Build</a> (<a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a> **bloom_filter)</td></tr>
+<tr class="separator:a90bf3b2387dd08cbbeda59497ceeee6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Builder class to help build <code><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html" title="Bloom filter to be used with IN Bloom filter predicate.">KuduBloomFilter</a></code> to be used with IN Bloom filter predicate. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a4da74bd04dac54419fc0495cd25c70f4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4da74bd04dac54419fc0495cd25c70f4">&#9670;&nbsp;</a></span>KuduBloomFilterBuilder()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::client::KuduBloomFilterBuilder::KuduBloomFilterBuilder </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>num_keys</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">num_keys</td><td>Expected number of elements to be inserted in the Bloom filter. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a90bf3b2387dd08cbbeda59497ceeee6a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a90bf3b2387dd08cbbeda59497ceeee6a">&#9670;&nbsp;</a></span>Build()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduBloomFilterBuilder::Build </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a> **&#160;</td>
+          <td class="paramname"><em>bloom_filter</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Build a new Bloom filter to be used with IN Bloom filter predicate.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">bloom_filter</td><td>On success, the created Bloom filter raw pointer. Caller owns the Bloom filter until it's passed to <code><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">KuduTable::NewInBloomFilterPredicate()</a></code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>On success, <a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a> with the created Bloom filter in <code>bloom_filter</code> output parameter. On failure to allocate memory or invalid arguments, corresponding error status. </dd></dl>
+
+</div>
+</div>
+<a id="a8f904340426aebb071f66a1964438ff7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f904340426aebb071f66a1964438ff7">&#9670;&nbsp;</a></span>false_positive_probability()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a>&amp; kudu::client::KuduBloomFilterBuilder::false_positive_probability </td>
+          <td>(</td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>fpp</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">fpp</td><td>Desired false positive probability between 0.0 and 1.0. If not provided, defaults to 0.01. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<a id="aa314b4febf56d1ff450d95134457da57"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa314b4febf56d1ff450d95134457da57">&#9670;&nbsp;</a></span>hash_algorithm()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a>&amp; kudu::client::KuduBloomFilterBuilder::hash_algorithm </td>
+          <td>(</td>
+          <td class="paramtype">HashAlgorithm&#160;</td>
+          <td class="paramname"><em>hash_algorithm</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">hash_algorithm</td><td>Hash algorithm used to hash keys before inserting to the Bloom filter. If not provided, defaults to FAST_HASH. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>Currently only FAST_HASH is supported. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<a id="a1a72fd2c18e62054a64b2900fa6c4356"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a72fd2c18e62054a64b2900fa6c4356">&#9670;&nbsp;</a></span>hash_seed()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a>&amp; kudu::client::KuduBloomFilterBuilder::hash_seed </td>
+          <td>(</td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>hash_seed</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">hash_seed</td><td>Seed used with hash algorithm to hash the keys before inserting to the Bloom filter. If not provided, defaults to 0. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="scan__predicate_8h_source.html">scan_predicate.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClient-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClient-members.html
new file mode 100644
index 0000000..b610320
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClient-members.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduClient Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8">CLOSEST_REPLICA</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac">connection_negotiation_timeout</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838">default_admin_operation_timeout</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49">default_rpc_timeout</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d">DeleteTable</a>(const std::string &amp;table_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">ExportAuthenticationCredentials</a>(std::string *authn_creds) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f">FIRST_REPLICA</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">GetLatestObservedTimestamp</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65">GetTableSchema</a>(const std::string &amp;table_name, KuduSchema *schema)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809">IsAlterTableInProgress</a>(const std::string &amp;table_name, bool *alter_in_progress)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63">IsCreateTableInProgress</a>(const std::string &amp;table_name, bool *create_in_progress)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433">IsMultiMaster</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">kNoTimestamp</a></td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">LEADER_ONLY</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d">ListTables</a>(std::vector&lt; std::string &gt; *tables, const std::string &amp;filter=&quot;&quot;)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9">ListTabletServers</a>(std::vector&lt; KuduTabletServer * &gt; *tablet_servers)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">NewSession</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">NewTableAlterer</a>(const std::string &amp;table_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153">NewTableCreator</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345">NewTransaction</a>(sp::shared_ptr&lt; KuduTransaction &gt; *txn) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">OpenTable</a>(const std::string &amp;table_name, sp::shared_ptr&lt; KuduTable &gt; *table)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">ReplicaSelection</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">SetLatestObservedTimestamp</a>(uint64_t ht_timestamp)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818">TableExists</a>(const std::string &amp;table_name, bool *exists)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduClient</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClient.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClient.html
new file mode 100644
index 0000000..be366da
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClient.html
@@ -0,0 +1,738 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduClient Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="classkudu_1_1client_1_1KuduClient-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduClient Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A handle for a connection to a cluster.  
+ <a href="classkudu_1_1client_1_1KuduClient.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduClient:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduClient.png" alt=""/>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aef70c7f3a596ecda4040f9d46514b11a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">ReplicaSelection</a> { <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">LEADER_ONLY</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8">CLOSEST_REPLICA</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f">FIRST_REPLICA</a>
+ }</td></tr>
+<tr class="memdesc:aef70c7f3a596ecda4040f9d46514b11a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Policy with which to choose amongst multiple replicas.  <a href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">More...</a><br /></td></tr>
+<tr class="separator:aef70c7f3a596ecda4040f9d46514b11a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a003f13604b4fb378f61e133a9b49d153"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153">NewTableCreator</a> ()</td></tr>
+<tr class="separator:a003f13604b4fb378f61e133a9b49d153"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f0323b439d8658b2ac31fde7f46de63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63">IsCreateTableInProgress</a> (const std::string &amp;table_name, bool *create_in_progress)</td></tr>
+<tr class="separator:a2f0323b439d8658b2ac31fde7f46de63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d7cbad036bc74c71873a428abce5c1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d">DeleteTable</a> (const std::string &amp;table_name)</td></tr>
+<tr class="separator:a9d7cbad036bc74c71873a428abce5c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a116bbcf13dc0991ad2a3129630075aea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">NewTableAlterer</a> (const std::string &amp;table_name)</td></tr>
+<tr class="separator:a116bbcf13dc0991ad2a3129630075aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a331e528759296089837b4611c01809"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809">IsAlterTableInProgress</a> (const std::string &amp;table_name, bool *alter_in_progress)</td></tr>
+<tr class="separator:a7a331e528759296089837b4611c01809"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2aa649e05e0cfb0e10ebce98fb4d7a65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65">GetTableSchema</a> (const std::string &amp;table_name, <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> *schema)</td></tr>
+<tr class="separator:a2aa649e05e0cfb0e10ebce98fb4d7a65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae283a49551a081524b41f5d8e51e68d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9">ListTabletServers</a> (std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a> * &gt; *tablet_servers)</td></tr>
+<tr class="separator:ae283a49551a081524b41f5d8e51e68d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ab09f69753b8c99ac7b2eeed03faa1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d">ListTables</a> (std::vector&lt; std::string &gt; *tables, const std::string &amp;filter=&quot;&quot;)</td></tr>
+<tr class="separator:a3ab09f69753b8c99ac7b2eeed03faa1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a96e9a6c0a16a8825c291528ac27af818"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818">TableExists</a> (const std::string &amp;table_name, bool *exists)</td></tr>
+<tr class="separator:a96e9a6c0a16a8825c291528ac27af818"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa82a09718ffe68d3255195e736aec8d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">OpenTable</a> (const std::string &amp;table_name, sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> &gt; *table)</td></tr>
+<tr class="separator:aa82a09718ffe68d3255195e736aec8d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f5b9bf8767b44f03f4d3220dfd5f925"><td class="memItemLeft" align="right" valign="top">sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">NewSession</a> ()</td></tr>
+<tr class="separator:a1f5b9bf8767b44f03f4d3220dfd5f925"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acce5fd87acb241d2ce2686545f423345"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345">NewTransaction</a> (sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> &gt; *txn) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:acce5fd87acb241d2ce2686545f423345"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e1363d5dfab959b0d9ca98bfd390433"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433">IsMultiMaster</a> () const</td></tr>
+<tr class="separator:a1e1363d5dfab959b0d9ca98bfd390433"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0646b1b93edeb92cf7ea46a1bb433838"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838">default_admin_operation_timeout</a> () const</td></tr>
+<tr class="separator:a0646b1b93edeb92cf7ea46a1bb433838"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaae3d73831a41d260d2578fef68bcd49"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49">default_rpc_timeout</a> () const</td></tr>
+<tr class="separator:aaae3d73831a41d260d2578fef68bcd49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68b569dd6749ec61805e3b0a691eacac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac">connection_negotiation_timeout</a> () const</td></tr>
+<tr class="separator:a68b569dd6749ec61805e3b0a691eacac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4af2abf2a56d92d8795662fa090baa9"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">GetLatestObservedTimestamp</a> () const</td></tr>
+<tr class="separator:aa4af2abf2a56d92d8795662fa090baa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0809b055eda76fd68988462f2a9791dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">SetLatestObservedTimestamp</a> (uint64_t ht_timestamp)</td></tr>
+<tr class="separator:a0809b055eda76fd68988462f2a9791dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae932971967e58a8a7b85f6a56ee44cd0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">ExportAuthenticationCredentials</a> (std::string *authn_creds) const</td></tr>
+<tr class="separator:ae932971967e58a8a7b85f6a56ee44cd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a196f1a18c000cdca309d05161caaddaa"><td class="memItemLeft" align="right" valign="top">static const uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">kNoTimestamp</a></td></tr>
+<tr class="separator:a196f1a18c000cdca309d05161caaddaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A handle for a connection to a cluster. </p>
+<p>The <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> class represents a connection to a cluster. From the user perspective, they should only need to create one of these in their application, likely a singleton &ndash; but it is not a singleton in Kudu in any way. Different <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> objects do not interact with each other &ndash; no connection pooling, etc. With the exception of common properties managed by free (non-member) functions in the kudu::client namespace, each <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> object is sandboxed with no global cross-client state.</p>
+<p>In the implementation, the client holds various pieces of common infrastructure which is not table-specific: </p><ul>
+<li>RPC messenger: reactor threads and RPC connections are pooled here </li>
+<li>Authentication: the client is initialized with some credentials, and all accesses through it share those credentials. </li>
+<li>Caches: caches of table schemas, tablet locations, tablet server IP addresses, etc are shared per-client.</li>
+</ul>
+<p>In order to actually write data to the cluster, callers must first create a <a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> object using <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">NewSession()</a>. A <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> may have several associated sessions.</p>
+<dl class="section note"><dt>Note</dt><dd>This class is thread-safe.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Cluster administration functions are likely to be in this class as well. </dd></dl>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="aef70c7f3a596ecda4040f9d46514b11a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aef70c7f3a596ecda4040f9d46514b11a">&#9670;&nbsp;</a></span>ReplicaSelection</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">kudu::client::KuduClient::ReplicaSelection</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Policy with which to choose amongst multiple replicas. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239"></a>LEADER_ONLY&#160;</td><td class="fielddoc"><p>Select the LEADER replica. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8"></a>CLOSEST_REPLICA&#160;</td><td class="fielddoc"><p>Select the closest replica to the client. Local replicas are considered the closest, followed by replicas in the same location as the client, followed by all other replicas. If there are multiple closest replicas, one is chosen randomly. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f"></a>FIRST_REPLICA&#160;</td><td class="fielddoc"><p>Select the first replica in the list. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a68b569dd6749ec61805e3b0a691eacac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a68b569dd6749ec61805e3b0a691eacac">&#9670;&nbsp;</a></span>connection_negotiation_timeout()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> kudu::client::KuduClient::connection_negotiation_timeout </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Timeout for connection negotiation to a remote server. </dd></dl>
+
+</div>
+</div>
+<a id="a0646b1b93edeb92cf7ea46a1bb433838"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0646b1b93edeb92cf7ea46a1bb433838">&#9670;&nbsp;</a></span>default_admin_operation_timeout()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; kudu::client::KuduClient::default_admin_operation_timeout </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Default timeout for admin operations. </dd></dl>
+
+</div>
+</div>
+<a id="aaae3d73831a41d260d2578fef68bcd49"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaae3d73831a41d260d2578fef68bcd49">&#9670;&nbsp;</a></span>default_rpc_timeout()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; kudu::client::KuduClient::default_rpc_timeout </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Default timeout for RPCs. </dd></dl>
+
+</div>
+</div>
+<a id="a9d7cbad036bc74c71873a428abce5c1d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9d7cbad036bc74c71873a428abce5c1d">&#9670;&nbsp;</a></span>DeleteTable()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduClient::DeleteTable </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>table_name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Delete/drop a table.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">table_name</td><td>Name of the table to drop. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation status. </dd></dl>
+
+</div>
+</div>
+<a id="ae932971967e58a8a7b85f6a56ee44cd0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae932971967e58a8a7b85f6a56ee44cd0">&#9670;&nbsp;</a></span>ExportAuthenticationCredentials()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduClient::ExportAuthenticationCredentials </td>
+          <td>(</td>
+          <td class="paramtype">std::string *&#160;</td>
+          <td class="paramname"><em>authn_creds</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Export the current authentication credentials from this client. This includes the necessary credentials to authenticate to the cluster, as well as to authenticate the cluster to the client.</p>
+<p>The resulting binary string may be passed into a new C++ client via the <code><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">KuduClientBuilder::import_authentication_credentials</a></code> method, or into a new Java client via <code>KuduClient::importAuthenticationCredentials</code>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">authn_creds</td><td>The resulting binary authentication credentials. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> object for the operation. </dd></dl>
+
+</div>
+</div>
+<a id="aa4af2abf2a56d92d8795662fa090baa9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa4af2abf2a56d92d8795662fa090baa9">&#9670;&nbsp;</a></span>GetLatestObservedTimestamp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint64_t kudu::client::KuduClient::GetLatestObservedTimestamp </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the highest HybridTime timestamp observed by the client.</p>
+<p>This is useful when retrieving timestamp from one client and forwarding it to another to enforce external consistency when using <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">KuduSession::CLIENT_PROPAGATED</a> external consistency mode.</p>
+<dl class="section note"><dt>Note</dt><dd>This method is experimental and will either disappear or change in a future release.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>Highest HybridTime timestamp observed by the client. </dd></dl>
+
+</div>
+</div>
+<a id="a2aa649e05e0cfb0e10ebce98fb4d7a65"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2aa649e05e0cfb0e10ebce98fb4d7a65">&#9670;&nbsp;</a></span>GetTableSchema()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduClient::GetTableSchema </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>table_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> *&#160;</td>
+          <td class="paramname"><em>schema</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get table's schema.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">table_name</td><td>Name of the table. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">schema</td><td>Raw pointer to the schema object; caller gets ownership. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation status. </dd></dl>
+
+</div>
+</div>
+<a id="a7a331e528759296089837b4611c01809"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7a331e528759296089837b4611c01809">&#9670;&nbsp;</a></span>IsAlterTableInProgress()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduClient::IsAlterTableInProgress </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>table_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool *&#160;</td>
+          <td class="paramname"><em>alter_in_progress</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check if table alteration is in-progress.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">table_name</td><td>Name of the table. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">alter_in_progress</td><td>The value is set only in case of success; it is <code>true</code> iff the operation is in progress. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation status. </dd></dl>
+
+</div>
+</div>
+<a id="a2f0323b439d8658b2ac31fde7f46de63"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2f0323b439d8658b2ac31fde7f46de63">&#9670;&nbsp;</a></span>IsCreateTableInProgress()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduClient::IsCreateTableInProgress </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>table_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool *&#160;</td>
+          <td class="paramname"><em>create_in_progress</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check whether a create table operation is in-progress.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">table_name</td><td>Name of the table. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">create_in_progress</td><td>The value is set only in case of success; it is <code>true</code> iff the operation is in progress. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation status. </dd></dl>
+
+</div>
+</div>
+<a id="a1e1363d5dfab959b0d9ca98bfd390433"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1e1363d5dfab959b0d9ca98bfd390433">&#9670;&nbsp;</a></span>IsMultiMaster()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::client::KuduClient::IsMultiMaster </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff client is configured to talk to multiple Kudu master servers. </dd></dl>
+
+</div>
+</div>
+<a id="a3ab09f69753b8c99ac7b2eeed03faa1d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3ab09f69753b8c99ac7b2eeed03faa1d">&#9670;&nbsp;</a></span>ListTables()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduClient::ListTables </td>
+          <td>(</td>
+          <td class="paramtype">std::vector&lt; std::string &gt; *&#160;</td>
+          <td class="paramname"><em>tables</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>filter</em> = <code>&quot;&quot;</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>List only those tables whose names pass a substring match on <code>filter</code>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">tables</td><td>The placeholder for the result. Appended only on success. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">filter</td><td>Substring filter to use; empty sub-string filter matches all tables. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> object for the operation. </dd></dl>
+
+</div>
+</div>
+<a id="ae283a49551a081524b41f5d8e51e68d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae283a49551a081524b41f5d8e51e68d9">&#9670;&nbsp;</a></span>ListTabletServers()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduClient::ListTabletServers </td>
+          <td>(</td>
+          <td class="paramtype">std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a> * &gt; *&#160;</td>
+          <td class="paramname"><em>tablet_servers</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get information on current tablet servers.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">tablet_servers</td><td>The placeholder for the result. The caller takes ownership of the container's elements. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation status. </dd></dl>
+
+</div>
+</div>
+<a id="a1f5b9bf8767b44f03f4d3220dfd5f925"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f5b9bf8767b44f03f4d3220dfd5f925">&#9670;&nbsp;</a></span>NewSession()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">sp::shared_ptr&lt;<a class="el" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>&gt; kudu::client::KuduClient::NewSession </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a new session for interacting with the cluster.</p>
+<p>This is a fully local operation (no RPCs or blocking).</p>
+<dl class="section return"><dt>Returns</dt><dd>A new session object; caller is responsible for destroying it. </dd></dl>
+
+</div>
+</div>
+<a id="a116bbcf13dc0991ad2a3129630075aea"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a116bbcf13dc0991ad2a3129630075aea">&#9670;&nbsp;</a></span>NewTableAlterer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduClient::NewTableAlterer </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>table_name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html" title="Alters an existing table based on the provided steps.">KuduTableAlterer</a> object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">table_name</td><td>Name of the table to alter. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to newly created object: it is the caller's responsibility to free it. </dd></dl>
+
+</div>
+</div>
+<a id="a003f13604b4fb378f61e133a9b49d153"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a003f13604b4fb378f61e133a9b49d153">&#9670;&nbsp;</a></span>NewTableCreator()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>* kudu::client::KuduClient::NewTableCreator </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a> object.</p>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to newly created object; it is the caller's responsibility to free it. </dd></dl>
+
+</div>
+</div>
+<a id="acce5fd87acb241d2ce2686545f423345"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acce5fd87acb241d2ce2686545f423345">&#9670;&nbsp;</a></span>NewTransaction()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduClient::NewTransaction </td>
+          <td>(</td>
+          <td class="paramtype">sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> &gt; *&#160;</td>
+          <td class="paramname"><em>txn</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Start a multi-row transaction.</p>
+<p>This method results in an RPC sent to a Kudu cluster to begin a multi-row distributed transaction. In case of success, the resulting transaction handle is output into the 'txn' parameter. That handle can be used to create a new <code><a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a></code> using the <code>NewSession(const sp::shared_ptr&lt;KuduSession&gt;&amp;)</code> method. To commit or rollback all single-row write operations performed in the context of the newly created transaction, use <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">KuduTransaction::Commit()</a></code> and <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">KuduTransaction::Rollback()</a></code> methods correspondingly.</p>
+<dl class="section note"><dt>Note</dt><dd>The newly created object starts sending keep-alive messages for the newly opened transaction as required by the keep-alive interval assigned to the transaction by the system. To keep the heartbeating, the newly created <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> should be kept in scope.</dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>This method is experimental and may change or disappear in future.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">txn</td><td>[out] The resulting <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> object wrapped into a smart pointer. This 'out' parameter is populated iff the operation to begin a transaction was successful. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The status of underlying "begin transaction" operation. </dd></dl>
+
+</div>
+</div>
+<a id="aa82a09718ffe68d3255195e736aec8d7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa82a09718ffe68d3255195e736aec8d7">&#9670;&nbsp;</a></span>OpenTable()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduClient::OpenTable </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>table_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> &gt; *&#160;</td>
+          <td class="paramname"><em>table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Open table with the given name.</p>
+<p>This method does an RPC to ensure that the table exists and looks up its schema.</p>
+<dl class="section note"><dt>Note</dt><dd>New range partitions created by other clients will immediately be available after opening the table.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">table_name</td><td>Name of the table. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">table</td><td>The result table. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation status.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd><p class="startdd">Should we offer an async version of this as well? </p>
+<p class="enddd">Probably should have a configurable timeout in <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html" title="A &quot;factory&quot; for KuduClient objects.">KuduClientBuilder</a>? </p>
+</dd></dl>
+
+</div>
+</div>
+<a id="a0809b055eda76fd68988462f2a9791dd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0809b055eda76fd68988462f2a9791dd">&#9670;&nbsp;</a></span>SetLatestObservedTimestamp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::client::KuduClient::SetLatestObservedTimestamp </td>
+          <td>(</td>
+          <td class="paramtype">uint64_t&#160;</td>
+          <td class="paramname"><em>ht_timestamp</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Sets the latest observed HybridTime timestamp.</p>
+<p>This is only useful when forwarding timestamps between clients to enforce external consistency when using <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">KuduSession::CLIENT_PROPAGATED</a> external consistency mode.</p>
+<p>The HybridTime encoded timestamp should be obtained from another client's <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">KuduClient::GetLatestObservedTimestamp()</a> method.</p>
+<dl class="section note"><dt>Note</dt><dd>This method is experimental and will either disappear or change in a future release.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ht_timestamp</td><td>Timestamp encoded in HybridTime format. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a96e9a6c0a16a8825c291528ac27af818"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a96e9a6c0a16a8825c291528ac27af818">&#9670;&nbsp;</a></span>TableExists()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduClient::TableExists </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>table_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool *&#160;</td>
+          <td class="paramname"><em>exists</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check if the table given by 'table_name' exists.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">table_name</td><td>Name of the table. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">exists</td><td>Set only on success; set to <code>true</code> iff table exists. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> object for the operation. </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a id="a196f1a18c000cdca309d05161caaddaa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a196f1a18c000cdca309d05161caaddaa">&#9670;&nbsp;</a></span>kNoTimestamp</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const uint64_t kudu::client::KuduClient::kNoTimestamp</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Value for the latest observed timestamp when none has been observed or set. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClient.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClient.png
new file mode 100644
index 0000000..322f4eb
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClient.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder-members.html
new file mode 100644
index 0000000..c5247aa
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder-members.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduClientBuilder Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c">add_master_server_addr</a>(const std::string &amp;addr)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">Build</a>(sp::shared_ptr&lt; KuduClient &gt; *client)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1">clear_master_server_addrs</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f">connection_negotiation_timeout</a>(const MonoDelta &amp;timeout)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752">default_admin_operation_timeout</a>(const MonoDelta &amp;timeout)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df">default_rpc_timeout</a>(const MonoDelta &amp;timeout)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">import_authentication_credentials</a>(std::string authn_creds)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>KuduClientBuilder</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">master_server_addrs</a>(const std::vector&lt; std::string &gt; &amp;addrs)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">num_reactors</a>(int num_reactors)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">sasl_protocol_name</a>(const std::string &amp;sasl_protocol_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduClientBuilder</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder.html
new file mode 100644
index 0000000..c7ca71c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder.html
@@ -0,0 +1,382 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduClientBuilder Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduClientBuilder-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduClientBuilder Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A "factory" for <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> objects.  
+ <a href="classkudu_1_1client_1_1KuduClientBuilder.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a08f4d2bf7053c6336e625ee2e6eeddd1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1">clear_master_server_addrs</a> ()</td></tr>
+<tr class="separator:a08f4d2bf7053c6336e625ee2e6eeddd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c1b92afad7a6e21c5ea781fb7d42114"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">master_server_addrs</a> (const std::vector&lt; std::string &gt; &amp;addrs)</td></tr>
+<tr class="separator:a0c1b92afad7a6e21c5ea781fb7d42114"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add149f1c1c2d3653e6a6cae4f44fa90c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c">add_master_server_addr</a> (const std::string &amp;addr)</td></tr>
+<tr class="separator:add149f1c1c2d3653e6a6cae4f44fa90c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6114bb56e4d9d1231df0ef73c9aec752"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752">default_admin_operation_timeout</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;timeout)</td></tr>
+<tr class="separator:a6114bb56e4d9d1231df0ef73c9aec752"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1813e8c8d24e92a0a710724000e2b3df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df">default_rpc_timeout</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;timeout)</td></tr>
+<tr class="separator:a1813e8c8d24e92a0a710724000e2b3df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af2dcfb700c52d531f0da7146f331521f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f">connection_negotiation_timeout</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;timeout)</td></tr>
+<tr class="separator:af2dcfb700c52d531f0da7146f331521f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c411bc4638cbf77e5d318f5049b0b7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">import_authentication_credentials</a> (std::string authn_creds)</td></tr>
+<tr class="separator:a5c411bc4638cbf77e5d318f5049b0b7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66ba0fb68608ebc4a6c7e9148848cddb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">num_reactors</a> (int num_reactors)</td></tr>
+<tr class="memdesc:a66ba0fb68608ebc4a6c7e9148848cddb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the number of reactors for the RPC messenger.  <a href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">More...</a><br /></td></tr>
+<tr class="separator:a66ba0fb68608ebc4a6c7e9148848cddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5b297f792b8e4142e913ceee2f5f3de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">sasl_protocol_name</a> (const std::string &amp;sasl_protocol_name)</td></tr>
+<tr class="separator:ab5b297f792b8e4142e913ceee2f5f3de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1585dd6eff82519fe81088d1cfd35b77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">Build</a> (sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> &gt; *client)</td></tr>
+<tr class="separator:a1585dd6eff82519fe81088d1cfd35b77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A "factory" for <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> objects. </p>
+<p>This class is used to create instances of the <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> class with pre-set options/parameters. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="add149f1c1c2d3653e6a6cae4f44fa90c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#add149f1c1c2d3653e6a6cae4f44fa90c">&#9670;&nbsp;</a></span>add_master_server_addr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; kudu::client::KuduClientBuilder::add_master_server_addr </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>addr</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add an RPC address of a master to work with.</p>
+<p>At least one master is required.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>RPC address of master server to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<a id="a1585dd6eff82519fe81088d1cfd35b77"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1585dd6eff82519fe81088d1cfd35b77">&#9670;&nbsp;</a></span>Build()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduClientBuilder::Build </td>
+          <td>(</td>
+          <td class="paramtype">sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> &gt; *&#160;</td>
+          <td class="paramname"><em>client</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a client object.</p>
+<dl class="section note"><dt>Note</dt><dd>KuduClients objects are shared amongst multiple threads and, as such, are stored in shared pointers.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">client</td><td>The newly created object wrapped in a shared pointer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation status. The return value may indicate an error in the create operation, or a misuse of the builder; in the latter case, only the last error is returned. </dd></dl>
+
+</div>
+</div>
+<a id="a08f4d2bf7053c6336e625ee2e6eeddd1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a08f4d2bf7053c6336e625ee2e6eeddd1">&#9670;&nbsp;</a></span>clear_master_server_addrs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; kudu::client::KuduClientBuilder::clear_master_server_addrs </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Clear the set of master addresses.</p>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<a id="af2dcfb700c52d531f0da7146f331521f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af2dcfb700c52d531f0da7146f331521f">&#9670;&nbsp;</a></span>connection_negotiation_timeout()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; kudu::client::KuduClientBuilder::connection_negotiation_timeout </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td>
+          <td class="paramname"><em>timeout</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the timeout for negotiating a connection to a remote server.</p>
+<p>If not provided, the underlying messenger is created with reasonable default. The result value could be retrieved using <code><a class="el" href="classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac">KuduClient.connection_negotiation_timeout()</a></code> after an instance of <code><a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a></code> is created. Sometimes it makes sense to customize the timeout for connection negotiation, e.g. when running on a cluster with heavily loaded tablet servers. For details on the connection negotiation, see ../../../docs/design-docs/rpc.md::negotiation.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>Timeout value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<a id="a6114bb56e4d9d1231df0ef73c9aec752"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6114bb56e4d9d1231df0ef73c9aec752">&#9670;&nbsp;</a></span>default_admin_operation_timeout()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; kudu::client::KuduClientBuilder::default_admin_operation_timeout </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td>
+          <td class="paramname"><em>timeout</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the default timeout for administrative operations.</p>
+<p>Using this method it is possible to modify the default timeout for operations like CreateTable, AlterTable, etc. By default it is 30 seconds.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>Timeout value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<a id="a1813e8c8d24e92a0a710724000e2b3df"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1813e8c8d24e92a0a710724000e2b3df">&#9670;&nbsp;</a></span>default_rpc_timeout()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; kudu::client::KuduClientBuilder::default_rpc_timeout </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td>
+          <td class="paramname"><em>timeout</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the default timeout for individual RPCs.</p>
+<p>If not provided, defaults to 10 seconds.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>Timeout value to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<a id="a5c411bc4638cbf77e5d318f5049b0b7e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5c411bc4638cbf77e5d318f5049b0b7e">&#9670;&nbsp;</a></span>import_authentication_credentials()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; kudu::client::KuduClientBuilder::import_authentication_credentials </td>
+          <td>(</td>
+          <td class="paramtype">std::string&#160;</td>
+          <td class="paramname"><em>authn_creds</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Import serialized authentication credentials from another client.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">authn_creds</td><td>The serialized authentication credentials, provided by a call to <code><a class="el" href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">KuduClient.ExportAuthenticationCredentials</a></code> in the C++ client or <code>KuduClient::exportAuthenticationCredentials</code> in the Java client. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<a id="a0c1b92afad7a6e21c5ea781fb7d42114"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c1b92afad7a6e21c5ea781fb7d42114">&#9670;&nbsp;</a></span>master_server_addrs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; kudu::client::KuduClientBuilder::master_server_addrs </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
+          <td class="paramname"><em>addrs</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add RPC addresses of multiple masters.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">addrs</td><td>RPC addresses of masters to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<a id="a66ba0fb68608ebc4a6c7e9148848cddb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a66ba0fb68608ebc4a6c7e9148848cddb">&#9670;&nbsp;</a></span>num_reactors()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; kudu::client::KuduClientBuilder::num_reactors </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>num_reactors</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Set the number of reactors for the RPC messenger. </p>
+<p>The reactor threads are used for sending and receiving. If not provided, the underlying messenger is created with the default number of reactor threads.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">num_reactors</td><td>Number of reactors to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<a id="ab5b297f792b8e4142e913ceee2f5f3de"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab5b297f792b8e4142e913ceee2f5f3de">&#9670;&nbsp;</a></span>sasl_protocol_name()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; kudu::client::KuduClientBuilder::sasl_protocol_name </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>sasl_protocol_name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the SASL protocol name for the connection to a remote server.</p>
+<p>If the servers use a non-default Kerberos service principal name (other than "kudu" or "kudu/&lt;hostname&gt;", this needs to be set for the client to be able to connect to the servers. If unset, the client will assume the server is using the default service principal.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sasl_protocol_name</td><td>SASL protocol name. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema-members.html
new file mode 100644
index 0000000..c5a1f9e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema-members.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduColumnSchema Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BINARY</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>BOOL</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">CopyFrom</a>(const KuduColumnSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c">DataTypeToString</a>(DataType type)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DATE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DECIMAL</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DOUBLE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>FLOAT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>INT16</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INT32</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>INT64</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INT8</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872">KuduColumnSchema</a>(const KuduColumnSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e">operator=</a>(const KuduColumnSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>STRING</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8">StringToDataType</a>(const std::string &amp;type_str, DataType *type)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505">TIMESTAMP</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UNIXTIME_MICROS</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>VARCHAR</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduColumnSchema</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema.html
new file mode 100644
index 0000000..c28702a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema.html
@@ -0,0 +1,314 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduColumnSchema Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduColumnSchema-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduColumnSchema Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Representation of the column schema.  
+ <a href="classkudu_1_1client_1_1KuduColumnSchema.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="schema_8h_source.html">schema.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aba69238e70af5c887a4fb11fa2a120c5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> { <br />
+&#160;&#160;<b>INT8</b> = 0
+, <b>INT16</b> = 1
+, <b>INT32</b> = 2
+, <b>INT64</b> = 3
+, <br />
+&#160;&#160;<b>STRING</b> = 4
+, <b>BOOL</b> = 5
+, <b>FLOAT</b> = 6
+, <b>DOUBLE</b> = 7
+, <br />
+&#160;&#160;<b>BINARY</b> = 8
+, <b>UNIXTIME_MICROS</b> = 9
+, <b>DECIMAL</b> = 10
+, <b>VARCHAR</b> = 11
+, <br />
+&#160;&#160;<a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505">TIMESTAMP</a> = UNIXTIME_MICROS
+, <b>DATE</b> = 12
+<br />
+ }</td></tr>
+<tr class="memdesc:aba69238e70af5c887a4fb11fa2a120c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported data types for columns.  <a href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">More...</a><br /></td></tr>
+<tr class="separator:aba69238e70af5c887a4fb11fa2a120c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:afc82e98af83ba61079ba5d30401b5872"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872">KuduColumnSchema</a> (const <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &amp;other)</td></tr>
+<tr class="separator:afc82e98af83ba61079ba5d30401b5872"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b58da787c8e7dc14987aa74a54f199e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e">operator=</a> (const <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &amp;other)</td></tr>
+<tr class="separator:a4b58da787c8e7dc14987aa74a54f199e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11234db43eb8b758a65ba1b08f6b65b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">CopyFrom</a> (const <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &amp;other)</td></tr>
+<tr class="separator:a11234db43eb8b758a65ba1b08f6b65b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:af362af4f9c937c2b7fa90ef284cfbd1c"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c">DataTypeToString</a> (<a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> type)</td></tr>
+<tr class="separator:af362af4f9c937c2b7fa90ef284cfbd1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd89b94b581cc09387921c476ccb56b8"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8">StringToDataType</a> (const std::string &amp;type_str, <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> *type)</td></tr>
+<tr class="separator:abd89b94b581cc09387921c476ccb56b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Representation of the column schema. </p>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="aba69238e70af5c887a4fb11fa2a120c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba69238e70af5c887a4fb11fa2a120c5">&#9670;&nbsp;</a></span>DataType</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">kudu::client::KuduColumnSchema::DataType</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Supported data types for columns. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505"></a>TIMESTAMP&#160;</td><td class="fielddoc"><p>deprecated, use UNIXTIME_MICROS </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="afc82e98af83ba61079ba5d30401b5872"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afc82e98af83ba61079ba5d30401b5872">&#9670;&nbsp;</a></span>KuduColumnSchema()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::client::KuduColumnSchema::KuduColumnSchema </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Construct <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html" title="Representation of the column schema.">KuduColumnSchema</a> object as a copy of another object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The reference object to copy from. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a11234db43eb8b758a65ba1b08f6b65b0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a11234db43eb8b758a65ba1b08f6b65b0">&#9670;&nbsp;</a></span>CopyFrom()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::client::KuduColumnSchema::CopyFrom </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Make this object an identical copy of the other one.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The reference object to copy from. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="af362af4f9c937c2b7fa90ef284cfbd1c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af362af4f9c937c2b7fa90ef284cfbd1c">&#9670;&nbsp;</a></span>DataTypeToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static std::string kudu::client::KuduColumnSchema::DataTypeToString </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a>&#160;</td>
+          <td class="paramname"><em>type</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Column data type. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>String representation of the column data type. </dd></dl>
+
+</div>
+</div>
+<a id="a4b58da787c8e7dc14987aa74a54f199e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4b58da787c8e7dc14987aa74a54f199e">&#9670;&nbsp;</a></span>operator=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; kudu::client::KuduColumnSchema::operator= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The assignment operator.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The reference object to assign from. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The updated object. </dd></dl>
+
+</div>
+</div>
+<a id="abd89b94b581cc09387921c476ccb56b8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd89b94b581cc09387921c476ccb56b8">&#9670;&nbsp;</a></span>StringToDataType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduColumnSchema::StringToDataType </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>type_str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> *&#160;</td>
+          <td class="paramname"><em>type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">type_str</td><td>String representation of the column data type </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">type</td><td>Enum representation of the column data type, Converted from string format. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="schema_8h_source.html">schema.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec-members.html
new file mode 100644
index 0000000..e5fdbbd
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec-members.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduColumnSpec Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">BlockSize</a>(int32_t block_size)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">Comment</a>(const std::string &amp;comment)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b">Compression</a>(KuduColumnStorageAttributes::CompressionType compression)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7">Default</a>(KuduValue *value)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97">Encoding</a>(KuduColumnStorageAttributes::EncodingType encoding)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd">Length</a>(uint16_t length)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca">NotNull</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">Nullable</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb">Precision</a>(int8_t precision)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">PrimaryKey</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82">RemoveDefault</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4">RenameTo</a>(const std::string &amp;new_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">Scale</a>(int8_t scale)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">Type</a>(KuduColumnSchema::DataType type)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec.html
new file mode 100644
index 0000000..e8a81b8
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec.html
@@ -0,0 +1,488 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduColumnSpec Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduColumnSpec-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduColumnSpec Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Builder API for specifying or altering a column within a table schema.  
+ <a href="classkudu_1_1client_1_1KuduColumnSpec.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="schema_8h_source.html">schema.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a92c63c0e1872c03fcabeac19d802f6c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7">Default</a> (<a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *value)</td></tr>
+<tr class="separator:a92c63c0e1872c03fcabeac19d802f6c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9ed2e008ee926ee50c23e664d854e8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b">Compression</a> (<a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">KuduColumnStorageAttributes::CompressionType</a> compression)</td></tr>
+<tr class="separator:ad9ed2e008ee926ee50c23e664d854e8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0ceeb41ac1427c2472a2f28778b6e97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97">Encoding</a> (<a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">KuduColumnStorageAttributes::EncodingType</a> encoding)</td></tr>
+<tr class="separator:ae0ceeb41ac1427c2472a2f28778b6e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8502dd68c6743c7c66b2b6a02d41a4e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">BlockSize</a> (int32_t block_size)</td></tr>
+<tr class="separator:a8502dd68c6743c7c66b2b6a02d41a4e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad34607a281ef097705a81bfbdb6ce3b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">Comment</a> (const std::string &amp;comment)</td></tr>
+<tr class="separator:ad34607a281ef097705a81bfbdb6ce3b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Operations only relevant for decimal columns.</div></td></tr>
+<tr class="memitem:af28d86b2b63c9c5f8e9ca50871b60bcb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb">Precision</a> (int8_t precision)</td></tr>
+<tr class="separator:af28d86b2b63c9c5f8e9ca50871b60bcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2d1fe7273f0f5d656375e53f96ac777"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">Scale</a> (int8_t scale)</td></tr>
+<tr class="separator:ad2d1fe7273f0f5d656375e53f96ac777"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Operation only relevant for VARCHAR columns.</div></td></tr>
+<tr class="memitem:ae12c40324397f844d9c8c7c3a6cf49cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd">Length</a> (uint16_t length)</td></tr>
+<tr class="separator:ae12c40324397f844d9c8c7c3a6cf49cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Operations only relevant for Create Table</div></td></tr>
+<tr class="memitem:a48a1457d2f4379a59c29280907c7f3c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">PrimaryKey</a> ()</td></tr>
+<tr class="separator:a48a1457d2f4379a59c29280907c7f3c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8c64c5a8a7a93ec644d481f23d91cca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca">NotNull</a> ()</td></tr>
+<tr class="separator:af8c64c5a8a7a93ec644d481f23d91cca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab05d7d45f4cd2dadb8e0c715d87e841"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">Nullable</a> ()</td></tr>
+<tr class="separator:aab05d7d45f4cd2dadb8e0c715d87e841"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67e794a08387e17ba430d6942419a2c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">Type</a> (<a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">KuduColumnSchema::DataType</a> type)</td></tr>
+<tr class="separator:a67e794a08387e17ba430d6942419a2c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Operations only relevant for Alter Table</div></td></tr>
+<tr class="memitem:ade0ba64b4ff59889755800b817419b82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82">RemoveDefault</a> ()</td></tr>
+<tr class="separator:ade0ba64b4ff59889755800b817419b82"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abeb2cbbaa01253165202574db03872f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4">RenameTo</a> (const std::string &amp;new_name)</td></tr>
+<tr class="separator:abeb2cbbaa01253165202574db03872f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Builder API for specifying or altering a column within a table schema. </p>
+<p>An object of this type cannot be constructed directly, but rather is returned from <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">KuduSchemaBuilder::AddColumn()</a> to specify a column within a Schema.</p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000009">Todo:</a></b></dt><dd>KUDU-861: this API will also be used for an improved AlterTable API. </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a8502dd68c6743c7c66b2b6a02d41a4e6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8502dd68c6743c7c66b2b6a02d41a4e6">&#9670;&nbsp;</a></span>BlockSize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::BlockSize </td>
+          <td>(</td>
+          <td class="paramtype">int32_t&#160;</td>
+          <td class="paramname"><em>block_size</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the target block size for the column.</p>
+<p>This is the number of bytes of user data packed per block on disk, and represents the unit of IO when reading the column. Larger values may improve scan performance, particularly on spinning media. Smaller values may improve random access performance, particularly for workloads that have high cache hit rates or operate on fast storage such as SSD.</p>
+<dl class="section note"><dt>Note</dt><dd>The block size specified here corresponds to uncompressed data. The actual size of the unit read from disk may be smaller if compression is enabled.</dd>
+<dd>
+It's recommended that this not be set any lower than 4096 (4KB) or higher than 1048576 (1MB). </dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000011">Todo:</a></b></dt><dd>KUDU-1107: move above info to docs</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">block_size</td><td>Block size (in bytes) to use. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="ad34607a281ef097705a81bfbdb6ce3b6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad34607a281ef097705a81bfbdb6ce3b6">&#9670;&nbsp;</a></span>Comment()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Comment </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>comment</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the comment of the column.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">comment</td><td>The comment for the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="ad9ed2e008ee926ee50c23e664d854e8b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad9ed2e008ee926ee50c23e664d854e8b">&#9670;&nbsp;</a></span>Compression()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Compression </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">KuduColumnStorageAttributes::CompressionType</a>&#160;</td>
+          <td class="paramname"><em>compression</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the preferred compression type for the column.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">compression</td><td>The compression type to use. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="a92c63c0e1872c03fcabeac19d802f6c7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92c63c0e1872c03fcabeac19d802f6c7">&#9670;&nbsp;</a></span>Default()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Default </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *&#160;</td>
+          <td class="paramname"><em>value</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the default value for the column.</p>
+<p>When adding a new column to a table, this default value will be used to fill the new column in all existing rows. The default value will also be used when inserting a new row with no value for the column.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to use as the default. The <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html" title="Builder API for specifying or altering a column within a table schema.">KuduColumnSpec</a> takes ownership over the passed parameter.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="ae0ceeb41ac1427c2472a2f28778b6e97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae0ceeb41ac1427c2472a2f28778b6e97">&#9670;&nbsp;</a></span>Encoding()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Encoding </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">KuduColumnStorageAttributes::EncodingType</a>&#160;</td>
+          <td class="paramname"><em>encoding</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the preferred encoding for the column.</p>
+<dl class="section note"><dt>Note</dt><dd>Not all encodings are supported for all column types.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">encoding</td><td>The encoding to use. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="ae12c40324397f844d9c8c7c3a6cf49cd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae12c40324397f844d9c8c7c3a6cf49cd">&#9670;&nbsp;</a></span>Length()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Length </td>
+          <td>(</td>
+          <td class="paramtype">uint16_t&#160;</td>
+          <td class="paramname"><em>length</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the length for a column.</p>
+<p>Clients can specify a length for VARCHAR columns. Length represents the maximum length of a VARCHAR column in characters.</p>
+<p>The length must be greater than 0 and less than 65536. If no length is provided a default length of 65535 is used.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Desired length to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="af8c64c5a8a7a93ec644d481f23d91cca"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af8c64c5a8a7a93ec644d481f23d91cca">&#9670;&nbsp;</a></span>NotNull()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::NotNull </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the column to be not nullable.</p>
+<dl class="section note"><dt>Note</dt><dd>Column nullability may not be changed once a table is created.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="aab05d7d45f4cd2dadb8e0c715d87e841"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aab05d7d45f4cd2dadb8e0c715d87e841">&#9670;&nbsp;</a></span>Nullable()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Nullable </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the column to be nullable (the default).</p>
+<dl class="section note"><dt>Note</dt><dd>Column nullability may not be changed once a table is created.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="af28d86b2b63c9c5f8e9ca50871b60bcb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af28d86b2b63c9c5f8e9ca50871b60bcb">&#9670;&nbsp;</a></span>Precision()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Precision </td>
+          <td>(</td>
+          <td class="paramtype">int8_t&#160;</td>
+          <td class="paramname"><em>precision</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the precision for the column.</p>
+<p>Clients must specify a precision for decimal columns. Precision is the total number of digits that can be represented by the column, regardless of the location of the decimal point. For example, representing integer values up to 9999, and fractional values up to 99.99, both require a precision of 4. You can also represent corresponding negative values, without any change in the precision. For example, the range -9999 to 9999 still only requires a precision of 4.</p>
+<p>The precision must be between 1 and 38.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">precision</td><td>Desired precision to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="a48a1457d2f4379a59c29280907c7f3c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a48a1457d2f4379a59c29280907c7f3c2">&#9670;&nbsp;</a></span>PrimaryKey()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::PrimaryKey </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the column to be the primary key of the table.</p>
+<p>This may only be used to set non-composite primary keys. If a composite key is desired, use <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">KuduSchemaBuilder::SetPrimaryKey()</a>. This may not be used in conjunction with <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">KuduSchemaBuilder::SetPrimaryKey()</a>.</p>
+<dl class="section note"><dt>Note</dt><dd>Primary keys may not be changed after a table is created.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="ade0ba64b4ff59889755800b817419b82"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ade0ba64b4ff59889755800b817419b82">&#9670;&nbsp;</a></span>RemoveDefault()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::RemoveDefault </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Remove the default value for the column.</p>
+<p>Without a default, clients must always specify a value for the column when inserting data.</p>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="abeb2cbbaa01253165202574db03872f4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abeb2cbbaa01253165202574db03872f4">&#9670;&nbsp;</a></span>RenameTo()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::RenameTo </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>new_name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Rename the column.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">new_name</td><td>The new name for the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="ad2d1fe7273f0f5d656375e53f96ac777"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad2d1fe7273f0f5d656375e53f96ac777">&#9670;&nbsp;</a></span>Scale()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Scale </td>
+          <td>(</td>
+          <td class="paramtype">int8_t&#160;</td>
+          <td class="paramname"><em>scale</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the scale for the column.</p>
+<p>Clients can specify a scale for decimal columns. Scale represents the number of fractional digits. This value must be less than or equal to precision. A scale of 0 produces integral values, with no fractional part. If precision and scale are equal, all the digits come after the decimal point, making all the values between 0.9999 and -0.9999.</p>
+<p>The scale must be greater than 0 and less than the column's precision. If no scale is provided a default scale of 0 is used.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>Desired scale to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<a id="a67e794a08387e17ba430d6942419a2c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a67e794a08387e17ba430d6942419a2c2">&#9670;&nbsp;</a></span>Type()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduColumnSpec::Type </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">KuduColumnSchema::DataType</a>&#160;</td>
+          <td class="paramname"><em>type</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the data type of the column.</p>
+<dl class="section note"><dt>Note</dt><dd>Column data types may not be changed once a table is created.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>The data type to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="schema_8h_source.html">schema.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes-members.html
new file mode 100644
index 0000000..c1f518b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes-members.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">KuduColumnStorageAttributes</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduColumnStorageAttributes Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AUTO_ENCODING</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>BIT_SHUFFLE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554">compression</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DEFAULT_COMPRESSION</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DICT_ENCODING</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b">encoding</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82">GROUP_VARINT</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab">KuduColumnStorageAttributes</a>(EncodingType encoding=AUTO_ENCODING, CompressionType compression=DEFAULT_COMPRESSION, int32_t block_size=0) ATTRIBUTE_DEPRECATED(&quot;this const ructor will be private in a future release&quot;)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>LZ4</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>NO_COMPRESSION</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PLAIN_ENCODING</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>PREFIX_ENCODING</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>RLE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>SNAPPY</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af">StringToCompressionType</a>(const std::string &amp;compression, CompressionType *type)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db">StringToEncodingType</a>(const std::string &amp;encoding, EncodingType *type)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11">ToString</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ZLIB</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes.html
new file mode 100644
index 0000000..25f1e9c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes.html
@@ -0,0 +1,375 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduColumnStorageAttributes Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">KuduColumnStorageAttributes</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduColumnStorageAttributes-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduColumnStorageAttributes Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Representation of column storage attributes.  
+ <a href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="schema_8h_source.html">schema.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aeb835a12e6f40b1a619afa8abd773b6d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a> { <br />
+&#160;&#160;<b>AUTO_ENCODING</b> = 0
+, <b>PLAIN_ENCODING</b> = 1
+, <b>PREFIX_ENCODING</b> = 2
+, <b>RLE</b> = 4
+, <br />
+&#160;&#160;<b>DICT_ENCODING</b> = 5
+, <b>BIT_SHUFFLE</b> = 6
+, <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82">GROUP_VARINT</a> = 3
+<br />
+ }</td></tr>
+<tr class="memdesc:aeb835a12e6f40b1a619afa8abd773b6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Column encoding types.  <a href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">More...</a><br /></td></tr>
+<tr class="separator:aeb835a12e6f40b1a619afa8abd773b6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af579406931a40daa5cb9e10603341a78"><td class="memItemLeft" align="right" valign="top"><a id="af579406931a40daa5cb9e10603341a78"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a> { <br />
+&#160;&#160;<b>DEFAULT_COMPRESSION</b> = 0
+, <b>NO_COMPRESSION</b> = 1
+, <b>SNAPPY</b> = 2
+, <b>LZ4</b> = 3
+, <br />
+&#160;&#160;<b>ZLIB</b> = 4
+<br />
+ }</td></tr>
+<tr class="memdesc:af579406931a40daa5cb9e10603341a78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Column compression types. <br /></td></tr>
+<tr class="separator:af579406931a40daa5cb9e10603341a78"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a2d6e5bec50a7305b3b4d75d21d000fab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab">KuduColumnStorageAttributes</a> (<a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a> <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b">encoding</a>=AUTO_ENCODING, <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a> <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554">compression</a>=DEFAULT_COMPRESSION, int32_t block_size=0) ATTRIBUTE_DEPRECATED(&quot;this const ructor will be private in a future release&quot;)</td></tr>
+<tr class="separator:a2d6e5bec50a7305b3b4d75d21d000fab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d0f25ffc47a1f00a17697dd0fe1d12b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b">encoding</a> () const</td></tr>
+<tr class="separator:a7d0f25ffc47a1f00a17697dd0fe1d12b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a46e1dace4602244a3b7b6f43bf7f5554"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554">compression</a> () const</td></tr>
+<tr class="separator:a46e1dace4602244a3b7b6f43bf7f5554"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0da01080a8e4c078d6bf3d9fe749db11"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11">ToString</a> () const</td></tr>
+<tr class="separator:a0da01080a8e4c078d6bf3d9fe749db11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a5422435108d868ad7379e03c8bf516db"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db">StringToEncodingType</a> (const std::string &amp;<a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b">encoding</a>, <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a> *type)</td></tr>
+<tr class="separator:a5422435108d868ad7379e03c8bf516db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af497b47eaaa28205a8a6a5a4362954af"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af">StringToCompressionType</a> (const std::string &amp;<a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554">compression</a>, <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a> *type)</td></tr>
+<tr class="separator:af497b47eaaa28205a8a6a5a4362954af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Representation of column storage attributes. </p>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="aeb835a12e6f40b1a619afa8abd773b6d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeb835a12e6f40b1a619afa8abd773b6d">&#9670;&nbsp;</a></span>EncodingType</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">kudu::client::KuduColumnStorageAttributes::EncodingType</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Column encoding types. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82"></a>GROUP_VARINT&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000010">Deprecated:</a></b></dt><dd>GROUP_VARINT is not supported for valid types, and will fall back to another encoding on the server side. </dd></dl>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a2d6e5bec50a7305b3b4d75d21d000fab"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2d6e5bec50a7305b3b4d75d21d000fab">&#9670;&nbsp;</a></span>KuduColumnStorageAttributes()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a>&#160;</td>
+          <td class="paramname"><em>encoding</em> = <code>AUTO_ENCODING</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a>&#160;</td>
+          <td class="paramname"><em>compression</em> = <code>DEFAULT_COMPRESSION</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t&#160;</td>
+          <td class="paramname"><em>block_size</em> = <code>0</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000009">Deprecated:</a></b></dt><dd>This constructor is deprecated for external use, and will be made private in a future release.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000010">Todo:</a></b></dt><dd>Make this constructor private.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">encoding</td><td>Encoding type for the column storage. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">compression</td><td>Compression type for the column storage. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">block_size</td><td>Block size (in bytes, uncompressed data) for the column storage. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a46e1dace4602244a3b7b6f43bf7f5554"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a46e1dace4602244a3b7b6f43bf7f5554">&#9670;&nbsp;</a></span>compression()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a> kudu::client::KuduColumnStorageAttributes::compression </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Compression type for the column storage. </dd></dl>
+
+</div>
+</div>
+<a id="a7d0f25ffc47a1f00a17697dd0fe1d12b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7d0f25ffc47a1f00a17697dd0fe1d12b">&#9670;&nbsp;</a></span>encoding()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a> kudu::client::KuduColumnStorageAttributes::encoding </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Encoding type for the column storage. </dd></dl>
+
+</div>
+</div>
+<a id="af497b47eaaa28205a8a6a5a4362954af"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af497b47eaaa28205a8a6a5a4362954af">&#9670;&nbsp;</a></span>StringToCompressionType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduColumnStorageAttributes::StringToCompressionType </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>compression</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a> *&#160;</td>
+          <td class="paramname"><em>type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">compression</td><td>String representation of the column compression type </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">type</td><td>Enum representation of the column compression type, Converted from string format. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a5422435108d868ad7379e03c8bf516db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5422435108d868ad7379e03c8bf516db">&#9670;&nbsp;</a></span>StringToEncodingType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduColumnStorageAttributes::StringToEncodingType </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>encoding</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a> *&#160;</td>
+          <td class="paramname"><em>type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">encoding</td><td>String representation of the column encoding type </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">type</td><td>Enum representation of the column encoding type, Converted from string format. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a0da01080a8e4c078d6bf3d9fe749db11"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0da01080a8e4c078d6bf3d9fe749db11">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string kudu::client::KuduColumnStorageAttributes::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>String representation of the storage attributes. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="schema_8h_source.html">schema.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes-members.html
new file mode 100644
index 0000000..06657cb
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes-members.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduColumnTypeAttributes Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c">CopyFrom</a>(const KuduColumnTypeAttributes &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>KuduColumnTypeAttributes</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae">KuduColumnTypeAttributes</a>(const KuduColumnTypeAttributes &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4">KuduColumnTypeAttributes</a>(int8_t precision, int8_t scale)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe">KuduColumnTypeAttributes</a>(uint16_t length)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04">length</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7">operator=</a>(const KuduColumnTypeAttributes &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1">precision</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567">scale</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduColumnTypeAttributes</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes.html
new file mode 100644
index 0000000..de404bc
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes.html
@@ -0,0 +1,314 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduColumnTypeAttributes Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduColumnTypeAttributes-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduColumnTypeAttributes Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Representation of column type attributes.  
+ <a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="schema_8h_source.html">schema.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:afdfe9a35df0360457583e303fdfe3eae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae">KuduColumnTypeAttributes</a> (const <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> &amp;other)</td></tr>
+<tr class="separator:afdfe9a35df0360457583e303fdfe3eae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abbdc4a2daa6ee10ee57cb6258bc996f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4">KuduColumnTypeAttributes</a> (int8_t <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1">precision</a>, int8_t <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567">scale</a>)</td></tr>
+<tr class="separator:abbdc4a2daa6ee10ee57cb6258bc996f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7016919f1c5eda0a47365381e26315fe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe">KuduColumnTypeAttributes</a> (uint16_t <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04">length</a>)</td></tr>
+<tr class="separator:a7016919f1c5eda0a47365381e26315fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab978abf2f248cc1377f438174a9753b1"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1">precision</a> () const</td></tr>
+<tr class="separator:ab978abf2f248cc1377f438174a9753b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9531cde8c3ce74fc61c1bd5b0d667567"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567">scale</a> () const</td></tr>
+<tr class="separator:a9531cde8c3ce74fc61c1bd5b0d667567"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1229cc98abde1bbc7263d565aaa5b04"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04">length</a> () const</td></tr>
+<tr class="separator:ab1229cc98abde1bbc7263d565aaa5b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Assign/copy KuduColumnTypeAttributes.</div></td></tr>
+<tr class="memitem:adf37f333f1828e722d1f3f19e98685a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7">operator=</a> (const <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> &amp;other)</td></tr>
+<tr class="separator:adf37f333f1828e722d1f3f19e98685a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5feef04c2abe72ddead16566e0e3ad1c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c">CopyFrom</a> (const <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> &amp;other)</td></tr>
+<tr class="separator:a5feef04c2abe72ddead16566e0e3ad1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Representation of column type attributes. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="afdfe9a35df0360457583e303fdfe3eae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afdfe9a35df0360457583e303fdfe3eae">&#9670;&nbsp;</a></span>KuduColumnTypeAttributes() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html" title="Representation of column type attributes.">KuduColumnTypeAttributes</a> object as a copy of the other one.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The other <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html" title="Representation of column type attributes.">KuduColumnTypeAttributes</a> object to use as a reference. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="abbdc4a2daa6ee10ee57cb6258bc996f4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abbdc4a2daa6ee10ee57cb6258bc996f4">&#9670;&nbsp;</a></span>KuduColumnTypeAttributes() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes </td>
+          <td>(</td>
+          <td class="paramtype">int8_t&#160;</td>
+          <td class="paramname"><em>precision</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int8_t&#160;</td>
+          <td class="paramname"><em>scale</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html" title="Representation of column type attributes.">KuduColumnTypeAttributes</a> object</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">precision</td><td>The precision of a decimal column. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>The scale of a decimal column. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a7016919f1c5eda0a47365381e26315fe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7016919f1c5eda0a47365381e26315fe">&#9670;&nbsp;</a></span>KuduColumnTypeAttributes() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes </td>
+          <td>(</td>
+          <td class="paramtype">uint16_t&#160;</td>
+          <td class="paramname"><em>length</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html" title="Representation of column type attributes.">KuduColumnTypeAttributes</a> object</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The maximum length of a VARCHAR column in characters. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a5feef04c2abe72ddead16566e0e3ad1c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5feef04c2abe72ddead16566e0e3ad1c">&#9670;&nbsp;</a></span>CopyFrom()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::client::KuduColumnTypeAttributes::CopyFrom </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The source <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html" title="Representation of column type attributes.">KuduColumnTypeAttributes</a> object to use as a reference. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="ab1229cc98abde1bbc7263d565aaa5b04"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab1229cc98abde1bbc7263d565aaa5b04">&#9670;&nbsp;</a></span>length()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint16_t kudu::client::KuduColumnTypeAttributes::length </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Length for the column type. </dd></dl>
+
+</div>
+</div>
+<a id="adf37f333f1828e722d1f3f19e98685a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adf37f333f1828e722d1f3f19e98685a7">&#9670;&nbsp;</a></span>operator=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>&amp; kudu::client::KuduColumnTypeAttributes::operator= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The source <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html" title="Representation of column type attributes.">KuduColumnTypeAttributes</a> object to use as a reference. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Copy of 'other' </dd></dl>
+
+</div>
+</div>
+<a id="ab978abf2f248cc1377f438174a9753b1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab978abf2f248cc1377f438174a9753b1">&#9670;&nbsp;</a></span>precision()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8_t kudu::client::KuduColumnTypeAttributes::precision </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Precision for the column type. </dd></dl>
+
+</div>
+</div>
+<a id="a9531cde8c3ce74fc61c1bd5b0d667567"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9531cde8c3ce74fc61c1bd5b0d667567">&#9670;&nbsp;</a></span>scale()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8_t kudu::client::KuduColumnTypeAttributes::scale </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Scale for the column type. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="schema_8h_source.html">schema.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch-members.html
new file mode 100644
index 0000000..0683d91
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch-members.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">KuduColumnarScanBatch</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduColumnarScanBatch Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">kudu::client::KuduColumnarScanBatch</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300">GetFixedLengthColumn</a>(int idx, Slice *data) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">kudu::client::KuduColumnarScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312">GetNonNullBitmapForColumn</a>(int idx, Slice *data) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">kudu::client::KuduColumnarScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1">GetVariableLengthColumn</a>(int idx, Slice *offsets, Slice *data) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">kudu::client::KuduColumnarScanBatch</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>KuduColumnarScanBatch</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">kudu::client::KuduColumnarScanBatch</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">kudu::client::KuduColumnarScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7">NumRows</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">kudu::client::KuduColumnarScanBatch</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduColumnarScanBatch</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">kudu::client::KuduColumnarScanBatch</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">kudu::client::KuduColumnarScanBatch</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch.html
new file mode 100644
index 0000000..c5753f9
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch.html
@@ -0,0 +1,252 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduColumnarScanBatch Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">KuduColumnarScanBatch</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduColumnarScanBatch-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduColumnarScanBatch Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A batch of columnar data returned from a scanner.  
+ <a href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="columnar__scan__batch_8h_source.html">columnar_scan_batch.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:acd1c9a1f894dc35fdb3e9e04ecb100e7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7">NumRows</a> () const</td></tr>
+<tr class="separator:acd1c9a1f894dc35fdb3e9e04ecb100e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a407f9f0dfe0e7f489ef015a422055300"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300">GetFixedLengthColumn</a> (int idx, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *data) const</td></tr>
+<tr class="separator:a407f9f0dfe0e7f489ef015a422055300"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36907b80d801e8f55fc7136e21973ed1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1">GetVariableLengthColumn</a> (int idx, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *offsets, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *data) const</td></tr>
+<tr class="separator:a36907b80d801e8f55fc7136e21973ed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeab3521399ba6aa8672cc9fa6e626312"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312">GetNonNullBitmapForColumn</a> (int idx, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *data) const</td></tr>
+<tr class="separator:aeab3521399ba6aa8672cc9fa6e626312"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A batch of columnar data returned from a scanner. </p>
+<p>Similar to <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html" title="A batch of zero or more rows returned by a scan operation.">KuduScanBatch</a>, this contains a batch of rows returned from a scanner. This type of batch is used if the <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10">KuduScanner::COLUMNAR_LAYOUT</a> row format flag is enabled.</p>
+<p>Retrieving rows in columnar layout can be significantly more efficient. It saves some CPU cycles on the Kudu cluster and can also enable faster processing of the returned data in certain client applications.</p>
+<p>The columnar data retrieved by this class matches the columnar encoding described by Apache Arrow[1], but without the alignment and padding guarantees that are made by the Arrow IPC serialization.</p>
+<p>[1] <a href="https://arrow.apache.org/docs/format/Columnar.html">https://arrow.apache.org/docs/format/Columnar.html</a></p>
+<p>NOTE: this class is not thread-safe. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a407f9f0dfe0e7f489ef015a422055300"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a407f9f0dfe0e7f489ef015a422055300">&#9670;&nbsp;</a></span>GetFixedLengthColumn()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduColumnarScanBatch::GetFixedLengthColumn </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1Slice.html">Slice</a> *&#160;</td>
+          <td class="paramname"><em>data</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the raw columnar data corresponding to the primitive-typed column with index 'idx'.</p>
+<p>For variable-length (e.g. STRING, BINARY, VARCHAR) columns, use GetVariableLengthColumn instead.</p>
+<dl class="section note"><dt>Note</dt><dd>The <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> returned is only valid for the lifetime of the <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html" title="A batch of columnar data returned from a scanner.">KuduColumnarScanBatch</a>.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The column index. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">data</td><td>The data is in little-endian packed array format. No alignment or padding is guaranteed. Space is reserved for all cells regardless of whether they might be null. The data stored in a null cell may or may not be zeroed. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="aeab3521399ba6aa8672cc9fa6e626312"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeab3521399ba6aa8672cc9fa6e626312">&#9670;&nbsp;</a></span>GetNonNullBitmapForColumn()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduColumnarScanBatch::GetNonNullBitmapForColumn </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1Slice.html">Slice</a> *&#160;</td>
+          <td class="paramname"><em>data</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get a bitmap corresponding to the non-null status of the cells in the given column.</p>
+<p>It is an error to call this function on a column which is not marked as nullable in the schema.</p>
+<dl class="section note"><dt>Note</dt><dd>The <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> returned is only valid for the lifetime of the <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html" title="A batch of columnar data returned from a scanner.">KuduColumnarScanBatch</a>.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The column index. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">data</td><td>The bitmap corresponding to the non-null status of the cells in the given column. A set bit indicates a non-null cell. If the number of rows is not a multiple of 8, the state of the trailing bits in the bitmap is undefined. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a36907b80d801e8f55fc7136e21973ed1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a36907b80d801e8f55fc7136e21973ed1">&#9670;&nbsp;</a></span>GetVariableLengthColumn()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduColumnarScanBatch::GetVariableLengthColumn </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1Slice.html">Slice</a> *&#160;</td>
+          <td class="paramname"><em>offsets</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1Slice.html">Slice</a> *&#160;</td>
+          <td class="paramname"><em>data</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Return the variable-length data for the variable-length-typed column with index 'idx'.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The column index. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">offsets</td><td>If <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7">NumRows()</a> is 0, the 'offsets' array will have length 0. Otherwise, this array will contain <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7">NumRows()</a> + 1 entries, each indicating an offset within the variable-length data array returned in 'data'. For each cell with index 'n', offsets[n] indicates the starting offset of that cell, and offsets[n+1] indicates the ending offset of that cell. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">data</td><td>The variable-length data. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="acd1c9a1f894dc35fdb3e9e04ecb100e7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acd1c9a1f894dc35fdb3e9e04ecb100e7">&#9670;&nbsp;</a></span>NumRows()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int kudu::client::KuduColumnarScanBatch::NumRows </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The number of rows in this batch. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="columnar__scan__batch_8h_source.html">columnar_scan_batch.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDelete-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDelete-members.html
new file mode 100644
index 0000000..03fec41
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDelete-members.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduDelete.html">KuduDelete</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduDelete Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduDelete.html">kudu::client::KuduDelete</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DELETE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DELETE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>INSERT_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0">ToString</a>() const OVERRIDE</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduDelete.html">kudu::client::KuduDelete</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPDATE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>UPDATE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduDelete</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduDelete.html">kudu::client::KuduDelete</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduDelete.html">kudu::client::KuduDelete</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduWriteOperation</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDelete.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDelete.html
new file mode 100644
index 0000000..c593be1
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDelete.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduDelete Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduDelete.html">KuduDelete</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduDelete-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduDelete Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A single row delete to be sent to the cluster.  
+ <a href="classkudu_1_1client_1_1KuduDelete.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="write__op_8h_source.html">write_op.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduDelete:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduDelete.png" usemap="#kudu::client::KuduDelete_map" alt=""/>
+  <map id="kudu::client::KuduDelete_map" name="kudu::client::KuduDelete_map">
+<area href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table." alt="kudu::client::KuduWriteOperation" shape="rect" coords="0,0,195,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a586dc46e1d10118465e3b834ac578de0"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0">ToString</a> () const OVERRIDE</td></tr>
+<tr class="separator:a586dc46e1d10118465e3b834ac578de0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a> () const</td></tr>
+<tr class="separator:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a> ()</td></tr>
+<tr class="separator:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a id="a87d94ee5801a6b16fc6d1f44ee2e4357"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> { <br />
+&#160;&#160;<b>INSERT</b> = 1
+, <b>UPDATE</b> = 2
+, <b>DELETE</b> = 3
+, <b>UPSERT</b> = 4
+, <br />
+&#160;&#160;<b>INSERT_IGNORE</b> = 5
+, <b>UPDATE_IGNORE</b> = 6
+, <b>DELETE_IGNORE</b> = 7
+<br />
+ }</td></tr>
+<tr class="memdesc:a87d94ee5801a6b16fc6d1f44ee2e4357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write operation types. <br /></td></tr>
+<tr class="separator:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A single row delete to be sent to the cluster. </p>
+<dl class="section pre"><dt>Precondition</dt><dd>A delete requires the key columns to be set in the embedded <a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a> object. </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a586dc46e1d10118465e3b834ac578de0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a586dc46e1d10118465e3b834ac578de0">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual std::string kudu::client::KuduDelete::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p></p>
+<dl class="section return"><dt>Returns</dt><dd>String representation of the operation. </dd></dl>
+
+<p>Implements <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">kudu::client::KuduWriteOperation</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="write__op_8h_source.html">write_op.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDelete.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDelete.png
new file mode 100644
index 0000000..0cfa7a0
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDelete.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore-members.html
new file mode 100644
index 0000000..9d6a5ad
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore-members.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">KuduDeleteIgnore</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduDeleteIgnore Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">kudu::client::KuduDeleteIgnore</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DELETE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DELETE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>INSERT_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763">ToString</a>() const OVERRIDE</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">kudu::client::KuduDeleteIgnore</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPDATE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>UPDATE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduDeleteIgnore</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">kudu::client::KuduDeleteIgnore</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">kudu::client::KuduDeleteIgnore</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduWriteOperation</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.html
new file mode 100644
index 0000000..0d13b8c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduDeleteIgnore Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">KuduDeleteIgnore</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduDeleteIgnore-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduDeleteIgnore Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A single row delete ignore to be sent to the cluster.  
+ <a href="classkudu_1_1client_1_1KuduDeleteIgnore.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="write__op_8h_source.html">write_op.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduDeleteIgnore:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduDeleteIgnore.png" usemap="#kudu::client::KuduDeleteIgnore_map" alt=""/>
+  <map id="kudu::client::KuduDeleteIgnore_map" name="kudu::client::KuduDeleteIgnore_map">
+<area href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table." alt="kudu::client::KuduWriteOperation" shape="rect" coords="0,0,195,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab3099c4af9fa0469e6b5b8d972a68763"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763">ToString</a> () const OVERRIDE</td></tr>
+<tr class="separator:ab3099c4af9fa0469e6b5b8d972a68763"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a> () const</td></tr>
+<tr class="separator:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a> ()</td></tr>
+<tr class="separator:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a id="a87d94ee5801a6b16fc6d1f44ee2e4357"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> { <br />
+&#160;&#160;<b>INSERT</b> = 1
+, <b>UPDATE</b> = 2
+, <b>DELETE</b> = 3
+, <b>UPSERT</b> = 4
+, <br />
+&#160;&#160;<b>INSERT_IGNORE</b> = 5
+, <b>UPDATE_IGNORE</b> = 6
+, <b>DELETE_IGNORE</b> = 7
+<br />
+ }</td></tr>
+<tr class="memdesc:a87d94ee5801a6b16fc6d1f44ee2e4357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write operation types. <br /></td></tr>
+<tr class="separator:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A single row delete ignore to be sent to the cluster. </p>
+<dl class="section pre"><dt>Precondition</dt><dd>A delete ignore requires the key columns to be set in the embedded <a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a> object. </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="ab3099c4af9fa0469e6b5b8d972a68763"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab3099c4af9fa0469e6b5b8d972a68763">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual std::string kudu::client::KuduDeleteIgnore::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p></p>
+<dl class="section return"><dt>Returns</dt><dd>String representation of the operation. </dd></dl>
+
+<p>Implements <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">kudu::client::KuduWriteOperation</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="write__op_8h_source.html">write_op.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.png
new file mode 100644
index 0000000..082b553
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduError-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduError-members.html
new file mode 100644
index 0000000..baf2379
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduError-members.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduError.html">KuduError</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduError Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduError.html">kudu::client::KuduError</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea">failed_op</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduError.html">kudu::client::KuduError</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a">release_failed_op</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduError.html">kudu::client::KuduError</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7">status</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduError.html">kudu::client::KuduError</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4">was_possibly_successful</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduError.html">kudu::client::KuduError</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduError</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduError.html">kudu::client::KuduError</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduError.html">kudu::client::KuduError</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduError.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduError.html
new file mode 100644
index 0000000..24823c8
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduError.html
@@ -0,0 +1,184 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduError Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduError.html">KuduError</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduError-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduError Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This class represents an error which occurred in a write operation.  
+ <a href="classkudu_1_1client_1_1KuduError.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a6d8adf94782868d081cff223664257a7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7">status</a> () const</td></tr>
+<tr class="separator:a6d8adf94782868d081cff223664257a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f20b590e9da321abc624480c62262ea"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea">failed_op</a> () const</td></tr>
+<tr class="separator:a8f20b590e9da321abc624480c62262ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1a49bd16eeff4d2ab88fa70e1dc3c6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a">release_failed_op</a> ()</td></tr>
+<tr class="separator:ae1a49bd16eeff4d2ab88fa70e1dc3c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac8729b8c113b3d44035b0193013844a4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4">was_possibly_successful</a> () const</td></tr>
+<tr class="separator:ac8729b8c113b3d44035b0193013844a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This class represents an error which occurred in a write operation. </p>
+<p>Using an instance of this class, it is possible to track error details such as the operation which caused the error, along with whatever the actual error was. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a8f20b590e9da321abc624480c62262ea"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f20b590e9da321abc624480c62262ea">&#9670;&nbsp;</a></span>failed_op()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>&amp; kudu::client::KuduError::failed_op </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The operation which failed. </dd></dl>
+
+</div>
+</div>
+<a id="ae1a49bd16eeff4d2ab88fa70e1dc3c6a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae1a49bd16eeff4d2ab88fa70e1dc3c6a">&#9670;&nbsp;</a></span>release_failed_op()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>* kudu::client::KuduError::release_failed_op </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Release the operation that failed.</p>
+<p>This method must be called only once on an instance of the <a class="el" href="classkudu_1_1client_1_1KuduError.html" title="This class represents an error which occurred in a write operation.">KuduError</a> class.</p>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to write operation object. The caller takes ownership of the returned object. </dd></dl>
+
+</div>
+</div>
+<a id="a6d8adf94782868d081cff223664257a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d8adf94782868d081cff223664257a7">&#9670;&nbsp;</a></span>status()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classkudu_1_1Status.html">Status</a>&amp; kudu::client::KuduError::status </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The actual error which occurred. </dd></dl>
+
+</div>
+</div>
+<a id="ac8729b8c113b3d44035b0193013844a4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac8729b8c113b3d44035b0193013844a4">&#9670;&nbsp;</a></span>was_possibly_successful()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::client::KuduError::was_possibly_successful </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check if there is a chance that the requested operation was successful.</p>
+<p>In some cases, it is possible that the server did receive and successfully perform the requested operation, but the client can't tell whether or not it was successful. For example, if the call times out, the server may still succeed in processing at a later time.</p>
+<dl class="section return"><dt>Returns</dt><dd>This function returns <code>true</code> if there is some chance that the server did process the operation, and <code>false</code> if it can guarantee that the operation did not succeed. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsert-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsert-members.html
new file mode 100644
index 0000000..d6b024d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsert-members.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduInsert.html">KuduInsert</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduInsert Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduInsert.html">kudu::client::KuduInsert</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DELETE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DELETE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>INSERT_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240">ToString</a>() const OVERRIDE</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduInsert.html">kudu::client::KuduInsert</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPDATE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>UPDATE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduInsert</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduInsert.html">kudu::client::KuduInsert</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduInsert.html">kudu::client::KuduInsert</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduWriteOperation</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsert.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsert.html
new file mode 100644
index 0000000..53ba50d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsert.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduInsert Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduInsert.html">KuduInsert</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduInsert-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduInsert Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A single row insert to be sent to the cluster.  
+ <a href="classkudu_1_1client_1_1KuduInsert.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="write__op_8h_source.html">write_op.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduInsert:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduInsert.png" usemap="#kudu::client::KuduInsert_map" alt=""/>
+  <map id="kudu::client::KuduInsert_map" name="kudu::client::KuduInsert_map">
+<area href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table." alt="kudu::client::KuduWriteOperation" shape="rect" coords="0,0,195,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a7c0fb45a5bfa96574b6328be392ba240"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240">ToString</a> () const OVERRIDE</td></tr>
+<tr class="separator:a7c0fb45a5bfa96574b6328be392ba240"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a> () const</td></tr>
+<tr class="separator:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a> ()</td></tr>
+<tr class="separator:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a id="a87d94ee5801a6b16fc6d1f44ee2e4357"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> { <br />
+&#160;&#160;<b>INSERT</b> = 1
+, <b>UPDATE</b> = 2
+, <b>DELETE</b> = 3
+, <b>UPSERT</b> = 4
+, <br />
+&#160;&#160;<b>INSERT_IGNORE</b> = 5
+, <b>UPDATE_IGNORE</b> = 6
+, <b>DELETE_IGNORE</b> = 7
+<br />
+ }</td></tr>
+<tr class="memdesc:a87d94ee5801a6b16fc6d1f44ee2e4357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write operation types. <br /></td></tr>
+<tr class="separator:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A single row insert to be sent to the cluster. </p>
+<dl class="section pre"><dt>Precondition</dt><dd>An insert requires all key columns to be set, as well as all columns which do not have default values. </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a7c0fb45a5bfa96574b6328be392ba240"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7c0fb45a5bfa96574b6328be392ba240">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual std::string kudu::client::KuduInsert::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p></p>
+<dl class="section return"><dt>Returns</dt><dd>String representation of the operation. </dd></dl>
+
+<p>Implements <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">kudu::client::KuduWriteOperation</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="write__op_8h_source.html">write_op.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsert.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsert.png
new file mode 100644
index 0000000..4862b06
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsert.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore-members.html
new file mode 100644
index 0000000..787584a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore-members.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html">KuduInsertIgnore</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduInsertIgnore Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html">kudu::client::KuduInsertIgnore</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DELETE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DELETE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>INSERT_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83">ToString</a>() const OVERRIDE</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html">kudu::client::KuduInsertIgnore</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPDATE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>UPDATE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduInsertIgnore</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html">kudu::client::KuduInsertIgnore</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html">kudu::client::KuduInsertIgnore</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduWriteOperation</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.html
new file mode 100644
index 0000000..2b2f02d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduInsertIgnore Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html">KuduInsertIgnore</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduInsertIgnore-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduInsertIgnore Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A single row insert ignore to be sent to the cluster, duplicate row errors are ignored.  
+ <a href="classkudu_1_1client_1_1KuduInsertIgnore.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="write__op_8h_source.html">write_op.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduInsertIgnore:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduInsertIgnore.png" usemap="#kudu::client::KuduInsertIgnore_map" alt=""/>
+  <map id="kudu::client::KuduInsertIgnore_map" name="kudu::client::KuduInsertIgnore_map">
+<area href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table." alt="kudu::client::KuduWriteOperation" shape="rect" coords="0,0,195,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a3808cd171850b78391b0636d1e5bef83"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83">ToString</a> () const OVERRIDE</td></tr>
+<tr class="separator:a3808cd171850b78391b0636d1e5bef83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a> () const</td></tr>
+<tr class="separator:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a> ()</td></tr>
+<tr class="separator:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a id="a87d94ee5801a6b16fc6d1f44ee2e4357"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> { <br />
+&#160;&#160;<b>INSERT</b> = 1
+, <b>UPDATE</b> = 2
+, <b>DELETE</b> = 3
+, <b>UPSERT</b> = 4
+, <br />
+&#160;&#160;<b>INSERT_IGNORE</b> = 5
+, <b>UPDATE_IGNORE</b> = 6
+, <b>DELETE_IGNORE</b> = 7
+<br />
+ }</td></tr>
+<tr class="memdesc:a87d94ee5801a6b16fc6d1f44ee2e4357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write operation types. <br /></td></tr>
+<tr class="separator:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A single row insert ignore to be sent to the cluster, duplicate row errors are ignored. </p>
+<dl class="section pre"><dt>Precondition</dt><dd>An insert ignore requires all key columns to be set, as well as all columns which do not have default values. </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a3808cd171850b78391b0636d1e5bef83"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3808cd171850b78391b0636d1e5bef83">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual std::string kudu::client::KuduInsertIgnore::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p></p>
+<dl class="section return"><dt>Returns</dt><dd>String representation of the operation. </dd></dl>
+
+<p>Implements <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">kudu::client::KuduWriteOperation</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="write__op_8h_source.html">write_op.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.png
new file mode 100644
index 0000000..f5c8632
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback-members.html
new file mode 100644
index 0000000..78e53a1
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback-members.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">KuduLoggingCallback</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduLoggingCallback Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>KuduLoggingCallback</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c">Run</a>(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)=0</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduLoggingCallback</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.html
new file mode 100644
index 0000000..222987e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduLoggingCallback Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">KuduLoggingCallback</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduLoggingCallback-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduLoggingCallback Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The interface for all logging callbacks.  
+ <a href="classkudu_1_1client_1_1KuduLoggingCallback.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="callbacks_8h_source.html">callbacks.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduLoggingCallback:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduLoggingCallback.png" usemap="#kudu::client::KuduLoggingCallback_map" alt=""/>
+  <map id="kudu::client::KuduLoggingCallback_map" name="kudu::client::KuduLoggingCallback_map">
+<area href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html" title="The logging callback that invokes a function by pointer with a single argument." alt="kudu::client::KuduLoggingFunctionCallback&lt; T &gt;" shape="rect" coords="0,56,284,80"/>
+<area href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html" title="The logging callback that invokes a member function of an object." alt="kudu::client::KuduLoggingMemberCallback&lt; T &gt;" shape="rect" coords="294,56,578,80"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a59db98413fb312d260fcb08299bae89c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c">Run</a> (KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)=0</td></tr>
+<tr class="separator:a59db98413fb312d260fcb08299bae89c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The interface for all logging callbacks. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a59db98413fb312d260fcb08299bae89c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a59db98413fb312d260fcb08299bae89c">&#9670;&nbsp;</a></span>Run()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void kudu::client::KuduLoggingCallback::Run </td>
+          <td>(</td>
+          <td class="paramtype">KuduLogSeverity&#160;</td>
+          <td class="paramname"><em>severity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>filename</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>line_number</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const struct ::tm *&#160;</td>
+          <td class="paramname"><em>time</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>message</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>message_len</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Log the message.</p>
+<dl class="section note"><dt>Note</dt><dd>The <code>message</code> is NOT terminated with an endline.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">severity</td><td>Severity of the log message. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>The name of the source file the message is originated from. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">line_number</td><td>The line of the source file the message is originated from. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>The absolute time when the log event was generated. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>The message to log. It's not terminated with an endline. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">message_len</td><td>Number of characters in the <code>message</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implemented in <a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d">kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</a>, and <a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9">kudu::client::KuduLoggingMemberCallback&lt; T &gt;</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="callbacks_8h_source.html">callbacks.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.png
new file mode 100644
index 0000000..78fe0e8
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback-members.html
new file mode 100644
index 0000000..3245c19
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback-members.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">KuduLoggingFunctionCallback</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduLoggingFunctionCallback&lt; T &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d">FunctionType</a> typedef</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>KuduLoggingCallback</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c">KuduLoggingFunctionCallback</a>(FunctionType function, T arg)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d">Run</a>(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDE</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduLoggingCallback</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.html
new file mode 100644
index 0000000..93d4a8f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.html
@@ -0,0 +1,249 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduLoggingFunctionCallback&lt; T &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">KuduLoggingFunctionCallback</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduLoggingFunctionCallback-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduLoggingFunctionCallback&lt; T &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The logging callback that invokes a function by pointer with a single argument.  
+ <a href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="callbacks_8h_source.html">callbacks.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduLoggingFunctionCallback&lt; T &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduLoggingFunctionCallback.png" usemap="#kudu::client::KuduLoggingFunctionCallback_3C_20T_20_3E_map" alt=""/>
+  <map id="kudu::client::KuduLoggingFunctionCallback_3C_20T_20_3E_map" name="kudu::client::KuduLoggingFunctionCallback_3C_20T_20_3E_map">
+<area href="classkudu_1_1client_1_1KuduLoggingCallback.html" title="The interface for all logging callbacks." alt="kudu::client::KuduLoggingCallback" shape="rect" coords="0,0,284,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a309185776b93bf5e532440b4638a649d"><td class="memItemLeft" align="right" valign="top"><a id="a309185776b93bf5e532440b4638a649d"></a>
+typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d">FunctionType</a>) (T arg, KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)</td></tr>
+<tr class="memdesc:a309185776b93bf5e532440b4638a649d"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handy typedef for the function with appropriate signature. <br /></td></tr>
+<tr class="separator:a309185776b93bf5e532440b4638a649d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4263c504b21e0e5827f47a902e908a2c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c">KuduLoggingFunctionCallback</a> (<a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d">FunctionType</a> function, T arg)</td></tr>
+<tr class="separator:a4263c504b21e0e5827f47a902e908a2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae22e9139102f60d049c29e888c6a528d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d">Run</a> (KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDE</td></tr>
+<tr class="separator:ae22e9139102f60d049c29e888c6a528d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename T&gt;<br />
+class kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</h3>
+
+<p>The logging callback that invokes a function by pointer with a single argument. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a4263c504b21e0e5827f47a902e908a2c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4263c504b21e0e5827f47a902e908a2c">&#9670;&nbsp;</a></span>KuduLoggingFunctionCallback()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">kudu::client::KuduLoggingFunctionCallback</a>&lt; T &gt;::<a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">KuduLoggingFunctionCallback</a> </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d">FunctionType</a>&#160;</td>
+          <td class="paramname"><em>function</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">T&#160;</td>
+          <td class="paramname"><em>arg</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Build an instance of <a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html" title="The logging callback that invokes a function by pointer with a single argument.">KuduLoggingFunctionCallback</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>A pointer to the logging function to invoke with the <code>arg</code> argument. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>An argument for the function invocation. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="ae22e9139102f60d049c29e888c6a528d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae22e9139102f60d049c29e888c6a528d">&#9670;&nbsp;</a></span>Run()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void <a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html">kudu::client::KuduLoggingFunctionCallback</a>&lt; T &gt;::Run </td>
+          <td>(</td>
+          <td class="paramtype">KuduLogSeverity&#160;</td>
+          <td class="paramname"><em>severity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>filename</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>line_number</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const struct ::tm *&#160;</td>
+          <td class="paramname"><em>time</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>message</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>message_len</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Log the message.</p>
+<dl class="section note"><dt>Note</dt><dd>The <code>message</code> is NOT terminated with an endline.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">severity</td><td>Severity of the log message. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>The name of the source file the message is originated from. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">line_number</td><td>The line of the source file the message is originated from. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>The absolute time when the log event was generated. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>The message to log. It's not terminated with an endline. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">message_len</td><td>Number of characters in the <code>message</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c">kudu::client::KuduLoggingCallback</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="callbacks_8h_source.html">callbacks.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.png
new file mode 100644
index 0000000..c1a75b9
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback-members.html
new file mode 100644
index 0000000..3d1aa0a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback-members.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">KuduLoggingMemberCallback</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduLoggingMemberCallback&lt; T &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">kudu::client::KuduLoggingMemberCallback&lt; T &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>KuduLoggingCallback</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8">KuduLoggingMemberCallback</a>(T *object, MemberType member)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">kudu::client::KuduLoggingMemberCallback&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d">MemberType</a> typedef</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">kudu::client::KuduLoggingMemberCallback&lt; T &gt;</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9">Run</a>(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDE</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">kudu::client::KuduLoggingMemberCallback&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduLoggingCallback</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.html
new file mode 100644
index 0000000..281a7fa
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.html
@@ -0,0 +1,249 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduLoggingMemberCallback&lt; T &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">KuduLoggingMemberCallback</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduLoggingMemberCallback-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduLoggingMemberCallback&lt; T &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The logging callback that invokes a member function of an object.  
+ <a href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="callbacks_8h_source.html">callbacks.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduLoggingMemberCallback&lt; T &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduLoggingMemberCallback.png" usemap="#kudu::client::KuduLoggingMemberCallback_3C_20T_20_3E_map" alt=""/>
+  <map id="kudu::client::KuduLoggingMemberCallback_3C_20T_20_3E_map" name="kudu::client::KuduLoggingMemberCallback_3C_20T_20_3E_map">
+<area href="classkudu_1_1client_1_1KuduLoggingCallback.html" title="The interface for all logging callbacks." alt="kudu::client::KuduLoggingCallback" shape="rect" coords="0,0,281,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a55d1578018eb025dd6ae8d07cfbda59d"><td class="memItemLeft" align="right" valign="top"><a id="a55d1578018eb025dd6ae8d07cfbda59d"></a>
+typedef void(T::*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d">MemberType</a>) (KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)</td></tr>
+<tr class="memdesc:a55d1578018eb025dd6ae8d07cfbda59d"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handy typedef for the member function with appropriate signature. <br /></td></tr>
+<tr class="separator:a55d1578018eb025dd6ae8d07cfbda59d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aeda4119b1288db0d055c9800e3485fd8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8">KuduLoggingMemberCallback</a> (T *object, <a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d">MemberType</a> member)</td></tr>
+<tr class="separator:aeda4119b1288db0d055c9800e3485fd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aafb1373a805d6e05c0fc5715927677c9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9">Run</a> (KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDE</td></tr>
+<tr class="separator:aafb1373a805d6e05c0fc5715927677c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename T&gt;<br />
+class kudu::client::KuduLoggingMemberCallback&lt; T &gt;</h3>
+
+<p>The logging callback that invokes a member function of an object. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="aeda4119b1288db0d055c9800e3485fd8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeda4119b1288db0d055c9800e3485fd8">&#9670;&nbsp;</a></span>KuduLoggingMemberCallback()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">kudu::client::KuduLoggingMemberCallback</a>&lt; T &gt;::<a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">KuduLoggingMemberCallback</a> </td>
+          <td>(</td>
+          <td class="paramtype">T *&#160;</td>
+          <td class="paramname"><em>object</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d">MemberType</a>&#160;</td>
+          <td class="paramname"><em>member</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Build an instance of <a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html" title="The logging callback that invokes a member function of an object.">KuduLoggingMemberCallback</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>A pointer to the object. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">member</td><td>A pointer to the member function of the <code>object</code> to invoke. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="aafb1373a805d6e05c0fc5715927677c9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aafb1373a805d6e05c0fc5715927677c9">&#9670;&nbsp;</a></span>Run()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void <a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html">kudu::client::KuduLoggingMemberCallback</a>&lt; T &gt;::Run </td>
+          <td>(</td>
+          <td class="paramtype">KuduLogSeverity&#160;</td>
+          <td class="paramname"><em>severity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>filename</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>line_number</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const struct ::tm *&#160;</td>
+          <td class="paramname"><em>time</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>message</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>message_len</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Log the message.</p>
+<dl class="section note"><dt>Note</dt><dd>The <code>message</code> is NOT terminated with an endline.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">severity</td><td>Severity of the log message. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>The name of the source file the message is originated from. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">line_number</td><td>The line of the source file the message is originated from. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>The absolute time when the log event was generated. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>The message to log. It's not terminated with an endline. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">message_len</td><td>Number of characters in the <code>message</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c">kudu::client::KuduLoggingCallback</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="callbacks_8h_source.html">callbacks.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.png
new file mode 100644
index 0000000..b92bab8
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner-members.html
new file mode 100644
index 0000000..547de57
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner-members.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduPartitioner Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">kudu::client::KuduPartitioner</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a">NumPartitions</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">kudu::client::KuduPartitioner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369">PartitionRow</a>(const KuduPartialRow &amp;row, int *partition)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">kudu::client::KuduPartitioner</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduPartitioner</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">kudu::client::KuduPartitioner</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">kudu::client::KuduPartitioner</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner.html
new file mode 100644
index 0000000..392326c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner.html
@@ -0,0 +1,157 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduPartitioner Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduPartitioner-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduPartitioner Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a73fa744430a09ba8c75410f07882714a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a">NumPartitions</a> () const</td></tr>
+<tr class="separator:a73fa744430a09ba8c75410f07882714a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05d816ba08d85d5c0c95025e12d2e369"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369">PartitionRow</a> (const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;row, int *partition)</td></tr>
+<tr class="separator:a05d816ba08d85d5c0c95025e12d2e369"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A <a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a> allows clients to determine the target partition of a row without actually performing a write. The set of partitions is eagerly fetched when the <a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a> is constructed so that the actual partitioning step can be performed synchronously without any network trips.</p>
+<dl class="section note"><dt>Note</dt><dd>Because this operates on a metadata snapshot retrieved at construction time, it will not reflect any metadata changes to the table that have occurred since its creation.</dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>This class is not thread-safe. </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a73fa744430a09ba8c75410f07882714a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a73fa744430a09ba8c75410f07882714a">&#9670;&nbsp;</a></span>NumPartitions()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int kudu::client::KuduPartitioner::NumPartitions </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>the number of partitions known by this partitioner. The partition indices returned by <code>PartitionRow</code> are guaranteed to be less than this value. </dd></dl>
+
+</div>
+</div>
+<a id="a05d816ba08d85d5c0c95025e12d2e369"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a05d816ba08d85d5c0c95025e12d2e369">&#9670;&nbsp;</a></span>PartitionRow()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduPartitioner::PartitionRow </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td>
+          <td class="paramname"><em>row</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&#160;</td>
+          <td class="paramname"><em>partition</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Determine the partition index that the given row falls into.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">row</td><td>The row to be partitioned. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">partition</td><td>The resulting partition index, or -1 if the row falls into a non-covered range. The result will be less than <code><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a">NumPartitions()</a></code>.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK</a> if successful. May return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if the provided row does not have all columns of the partition key set. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder-members.html
new file mode 100644
index 0000000..8de3134
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder-members.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduPartitionerBuilder Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">kudu::client::KuduPartitionerBuilder</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba">Build</a>(KuduPartitioner **partitioner)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">kudu::client::KuduPartitionerBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba">KuduPartitionerBuilder</a>(sp::shared_ptr&lt; KuduTable &gt; table)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">kudu::client::KuduPartitionerBuilder</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14">SetBuildTimeout</a>(MonoDelta timeout)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">kudu::client::KuduPartitionerBuilder</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduPartitionerBuilder</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">kudu::client::KuduPartitionerBuilder</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">kudu::client::KuduPartitionerBuilder</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder.html
new file mode 100644
index 0000000..cdb7614
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduPartitionerBuilder Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduPartitionerBuilder-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduPartitionerBuilder Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Builder for Partitioner instances.  
+ <a href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a27d130235be1c2691779e1d97732a4ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba">KuduPartitionerBuilder</a> (sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> &gt; table)</td></tr>
+<tr class="separator:a27d130235be1c2691779e1d97732a4ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11e28b7ad87a53a92d2ad5494f2c5f14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14">SetBuildTimeout</a> (<a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> timeout)</td></tr>
+<tr class="separator:a11e28b7ad87a53a92d2ad5494f2c5f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8859050484de2d367781ce6ec41d0ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba">Build</a> (<a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a> **partitioner)</td></tr>
+<tr class="separator:aa8859050484de2d367781ce6ec41d0ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Builder for Partitioner instances. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a27d130235be1c2691779e1d97732a4ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a27d130235be1c2691779e1d97732a4ba">&#9670;&nbsp;</a></span>KuduPartitionerBuilder()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::client::KuduPartitionerBuilder::KuduPartitionerBuilder </td>
+          <td>(</td>
+          <td class="paramtype">sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> &gt;&#160;</td>
+          <td class="paramname"><em>table</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Construct an instance of the class.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td>The table whose rows should be partitioned. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="aa8859050484de2d367781ce6ec41d0ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa8859050484de2d367781ce6ec41d0ba">&#9670;&nbsp;</a></span>Build()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduPartitionerBuilder::Build </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a> **&#160;</td>
+          <td class="paramname"><em>partitioner</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a <a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a> object for the specified table.</p>
+<p>This fetches all of the partitioning information up front if it is not already cached by the associated <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> object. Thus, it may time out or have an error if the Kudu master is not accessible.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">partitioner</td><td>The resulting <a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a> instance; caller gets ownership.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>If the <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> object associated with the table already has some partition information cached (e.g. due to the construction of other Partitioners, or due to normal read/write activity), the resulting Partitioner will make use of that cached information. This means that the resulting partitioner is not guaranteed to have up-to-date partition information in the case that there has been a recent change to the partitioning of the target table.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a11e28b7ad87a53a92d2ad5494f2c5f14"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a11e28b7ad87a53a92d2ad5494f2c5f14">&#9670;&nbsp;</a></span>SetBuildTimeout()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>* kudu::client::KuduPartitionerBuilder::SetBuildTimeout </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&#160;</td>
+          <td class="paramname"><em>timeout</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the timeout used for building the Partitioner object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>The timeout to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the result object. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPredicate-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPredicate-members.html
new file mode 100644
index 0000000..f9e85a3
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPredicate-members.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduPredicate Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670">Clone</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">ComparisonOp</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0">Data</a></td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>EQUAL</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GREATER</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>GREATER_EQUAL</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>LESS</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>LESS_EQUAL</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduPredicate</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPredicate.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPredicate.html
new file mode 100644
index 0000000..f5bb07c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduPredicate.html
@@ -0,0 +1,160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduPredicate Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="classkudu_1_1client_1_1KuduPredicate-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduPredicate Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A representation of comparison predicate for Kudu queries.  
+ <a href="classkudu_1_1client_1_1KuduPredicate.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="scan__predicate_8h_source.html">scan_predicate.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ad58e80ced596d7738f99b5b83ba24eb4"><td class="memItemLeft" align="right" valign="top"><a id="ad58e80ced596d7738f99b5b83ba24eb4"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">ComparisonOp</a> { <br />
+&#160;&#160;<b>LESS_EQUAL</b>
+, <b>GREATER_EQUAL</b>
+, <b>EQUAL</b>
+, <b>LESS</b>
+, <br />
+&#160;&#160;<b>GREATER</b>
+<br />
+ }</td></tr>
+<tr class="memdesc:ad58e80ced596d7738f99b5b83ba24eb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported comparison operators. <br /></td></tr>
+<tr class="separator:ad58e80ced596d7738f99b5b83ba24eb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a04cb09a481c3b94f249d81d2fd3d7670"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670">Clone</a> () const</td></tr>
+<tr class="separator:a04cb09a481c3b94f249d81d2fd3d7670"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:ae8643ced562f7c8a4625a58a4e39abb0"><td class="memItemLeft" align="right" valign="top">class KUDU_NO_EXPORT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0">Data</a></td></tr>
+<tr class="memdesc:ae8643ced562f7c8a4625a58a4e39abb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forward declaration for the embedded PIMPL class.  <a href="classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0">More...</a><br /></td></tr>
+<tr class="separator:ae8643ced562f7c8a4625a58a4e39abb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A representation of comparison predicate for Kudu queries. </p>
+<p>Call <a class="el" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">KuduTable::NewComparisonPredicate()</a> to create a predicate object. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a04cb09a481c3b94f249d81d2fd3d7670"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a04cb09a481c3b94f249d81d2fd3d7670">&#9670;&nbsp;</a></span>Clone()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* kudu::client::KuduPredicate::Clone </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>A new, identical, <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html" title="A representation of comparison predicate for Kudu queries.">KuduPredicate</a> object. </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a id="ae8643ced562f7c8a4625a58a4e39abb0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae8643ced562f7c8a4625a58a4e39abb0">&#9670;&nbsp;</a></span>Data</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">class KUDU_NO_EXPORT kudu::client::KuduPredicate::Data</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Forward declaration for the embedded PIMPL class. </p>
+<p>The PIMPL class has to be public since it's actually just an interface, and gcc gives an error trying to derive from a private nested class. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="scan__predicate_8h_source.html">scan_predicate.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduReplica-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduReplica-members.html
new file mode 100644
index 0000000..14c8fac
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduReplica-members.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduReplica Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduReplica.html">kudu::client::KuduReplica</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5">is_leader</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduReplica.html">kudu::client::KuduReplica</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627">ts</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduReplica.html">kudu::client::KuduReplica</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduReplica</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduReplica.html">kudu::client::KuduReplica</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduReplica.html">kudu::client::KuduReplica</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduReplica.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduReplica.html
new file mode 100644
index 0000000..7f623bf
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduReplica.html
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduReplica Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduReplica-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduReplica Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>In-memory representation of a remote tablet's replica.  
+ <a href="classkudu_1_1client_1_1KuduReplica.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a383c26df7f94bca3acffddda1a7d12f5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5">is_leader</a> () const</td></tr>
+<tr class="separator:a383c26df7f94bca3acffddda1a7d12f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0423ce10a541c5e1a38fbcaebbb50627"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627">ts</a> () const</td></tr>
+<tr class="separator:a0423ce10a541c5e1a38fbcaebbb50627"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>In-memory representation of a remote tablet's replica. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a383c26df7f94bca3acffddda1a7d12f5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a383c26df7f94bca3acffddda1a7d12f5">&#9670;&nbsp;</a></span>is_leader()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::client::KuduReplica::is_leader </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Whether or not this replica is a Raft leader.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This information may be stale; the role of a replica may change at any time. </dd></dl>
+
+</div>
+</div>
+<a id="a0423ce10a541c5e1a38fbcaebbb50627"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0423ce10a541c5e1a38fbcaebbb50627">&#9670;&nbsp;</a></span>ts()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>&amp; kudu::client::KuduReplica::ts </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The tablet server hosting this remote replica. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch-members.html
new file mode 100644
index 0000000..9115919
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch-members.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduScanBatch Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21">begin</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af">cell</a>(int col_idx) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992">direct_data</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c">end</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b">GetBinary</a>(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a921dfdeba21588f7a3c2d5e360d3268e">GetBinary</a>(int col_idx, Slice *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8">GetBool</a>(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a4b1044c3b78e5a6407c2a797005b0e21">GetBool</a>(int col_idx, bool *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb">GetDate</a>(const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#afed25c9aadd0c6314aa3dd0acee9da54">GetDate</a>(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0">GetDouble</a>(const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ab2b7fb17cac4571139b2eaca761a99c0">GetDouble</a>(int col_idx, double *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3">GetFloat</a>(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ae41dd0f1e2b4bf074ded210382b825bd">GetFloat</a>(int col_idx, float *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037">GetInt16</a>(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ab5f35c107dc26165546065189dd53dfa">GetInt16</a>(int col_idx, int16_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2">GetInt32</a>(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ab321b8c245cc1748c3b3ecdf507b08fb">GetInt32</a>(int col_idx, int32_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0">GetInt64</a>(const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ab59039c6f073df0b57ddc16fb8d8c432">GetInt64</a>(int col_idx, int64_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b">GetInt8</a>(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a81a30b5b89f6fa106b5d8575c3fb62b9">GetInt8</a>(int col_idx, int8_t *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7">GetString</a>(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56">GetString</a>(int col_idx, Slice *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3">GetUnixTimeMicros</a>(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7">GetUnixTimeMicros</a>(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb">GetVarchar</a>(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b">GetVarchar</a>(int col_idx, Slice *val) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989">indirect_data</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3">IsDeleted</a>(bool *val) const WARN_UNUSED_RESULT KUDU_NO_EXPORT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047">IsNull</a>(const Slice &amp;col_name) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520">IsNull</a>(int col_idx) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>KuduScanBatch</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c">NumRows</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0">operator!=</a>(const const_iterator &amp;other) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9">operator*</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c">operator++</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48">operator++</a>(int)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf">operator-&gt;</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b">operator-&gt;</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63">operator==</a>(const const_iterator &amp;other) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324">projection_schema</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320">Row</a>(int idx) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">RowPtr</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3">ToString</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467">value_type</a> typedef</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~const_iterator</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduScanBatch</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.html
new file mode 100644
index 0000000..9a81eda
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.html
@@ -0,0 +1,1725 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduScanBatch Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduScanBatch-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduScanBatch Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A batch of zero or more rows returned by a scan operation.  
+ <a href="classkudu_1_1client_1_1KuduScanBatch.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="scan__batch_8h_source.html">scan_batch.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduScanBatch:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduScanBatch.png" alt=""/>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ae1a827120c84eeedb703451bd5782467"><td class="memItemLeft" align="right" valign="top"><a id="ae1a827120c84eeedb703451bd5782467"></a>
+typedef <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">RowPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467">value_type</a></td></tr>
+<tr class="memdesc:ae1a827120c84eeedb703451bd5782467"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handy typedef for the RowPtr. <br /></td></tr>
+<tr class="separator:ae1a827120c84eeedb703451bd5782467"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a252ffd623dbaa7d725d623fd220fee4c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c">NumRows</a> () const</td></tr>
+<tr class="separator:a252ffd623dbaa7d725d623fd220fee4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f6366606eec7f0d0a8953ff6a81c320"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320">Row</a> (int idx) const</td></tr>
+<tr class="separator:a3f6366606eec7f0d0a8953ff6a81c320"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a654b2572d33e8b45836527e7b63dac21"><td class="memItemLeft" align="right" valign="top">const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21">begin</a> () const</td></tr>
+<tr class="separator:a654b2572d33e8b45836527e7b63dac21"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54bc996032e6b5bc0df0962d821c113c"><td class="memItemLeft" align="right" valign="top">const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c">end</a> () const</td></tr>
+<tr class="separator:a54bc996032e6b5bc0df0962d821c113c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c99e4ac2a6b822e693fe7c6625cb324"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324">projection_schema</a> () const</td></tr>
+<tr class="separator:a0c99e4ac2a6b822e693fe7c6625cb324"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92bbfa48e9b503181c2dfb5f11f14e4e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">RowPtr</a> ()</td></tr>
+<tr class="separator:a92bbfa48e9b503181c2dfb5f11f14e4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0dc62a642d513742785152e39c0ddaf"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">RowPtr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf">operator-&gt;</a> () const</td></tr>
+<tr class="separator:ad0dc62a642d513742785152e39c0ddaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1bdf4368f87e0d83d9066584b2b2047"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047">IsNull</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name) const</td></tr>
+<tr class="separator:ad1bdf4368f87e0d83d9066584b2b2047"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63aa794845d41cc5251ee5d30547e520"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520">IsNull</a> (int col_idx) const</td></tr>
+<tr class="separator:a63aa794845d41cc5251ee5d30547e520"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c1f65ffcc1216f583f3ad1b468021f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3">IsDeleted</a> (bool *val) const WARN_UNUSED_RESULT KUDU_NO_EXPORT</td></tr>
+<tr class="separator:a2c1f65ffcc1216f583f3ad1b468021f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ff4e572251b5873491dfe827ec2c5af"><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af">cell</a> (int col_idx) const</td></tr>
+<tr class="separator:a2ff4e572251b5873491dfe827ec2c5af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca10e03eeb078908c09e552cceb1e4c3"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3">ToString</a> () const</td></tr>
+<tr class="separator:aca10e03eeb078908c09e552cceb1e4c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5fd788bcce7344ebe1fe33f22c734ab9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9">operator*</a> () const</td></tr>
+<tr class="separator:a5fd788bcce7344ebe1fe33f22c734ab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71f62ba8531f6415e9c5cb22621fa84b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b">operator-&gt;</a> () const</td></tr>
+<tr class="separator:a71f62ba8531f6415e9c5cb22621fa84b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5df483ed3172caab5a8d6a72abfad0c"><td class="memItemLeft" align="right" valign="top">const_iterator &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c">operator++</a> ()</td></tr>
+<tr class="separator:ad5df483ed3172caab5a8d6a72abfad0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b1ad47fd7d429859b6181825a063c48"><td class="memItemLeft" align="right" valign="top">const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48">operator++</a> (int)</td></tr>
+<tr class="separator:a4b1ad47fd7d429859b6181825a063c48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78f4a33eed6ee9031c1b04146d124a63"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63">operator==</a> (const const_iterator &amp;other) const</td></tr>
+<tr class="separator:a78f4a33eed6ee9031c1b04146d124a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bf8a53b3486a8b7c62b8d38d5f64ef0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0">operator!=</a> (const const_iterator &amp;other) const</td></tr>
+<tr class="separator:a2bf8a53b3486a8b7c62b8d38d5f64ef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Advanced/Unstable API</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>There are no guarantees on the stability of the format returned by these methods, which might change at any given time.</p>
+<dl class="section note"><dt>Note</dt><dd>The Slices returned by both <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992">direct_data()</a> and <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989">indirect_data()</a> are only valid for the lifetime of the <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html" title="A batch of zero or more rows returned by a scan operation.">KuduScanBatch</a>. </dd></dl>
+</div></td></tr>
+<tr class="memitem:a09bfd1652c0ab153ca6759317c3d3992"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Slice.html">Slice</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992">direct_data</a> () const</td></tr>
+<tr class="separator:a09bfd1652c0ab153ca6759317c3d3992"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3cb4c17aa228e680ecf088a29a075989"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Slice.html">Slice</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989">indirect_data</a> () const</td></tr>
+<tr class="separator:a3cb4c17aa228e680ecf088a29a075989"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Getters for integral type columns by column name.</div></td></tr>
+<tr class="memitem:a3b1a867cf2fd47b697fe3a68e28fadd8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8">GetBool</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, bool *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a3b1a867cf2fd47b697fe3a68e28fadd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7bfea7b94e64073562892445a2a2ac7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b">GetInt8</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a7bfea7b94e64073562892445a2a2ac7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afbaff6bf597df2fa0696bdc5cbdfb037"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037">GetInt16</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:afbaff6bf597df2fa0696bdc5cbdfb037"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc5120c7aadb029e442235a7131f6fd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2">GetInt32</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:abc5120c7aadb029e442235a7131f6fd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51d43f077b4510b58a2fd471ae81f7b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0">GetInt64</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a51d43f077b4510b58a2fd471ae81f7b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1261a486faa04d0c984b50132e0a4a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3">GetUnixTimeMicros</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ae1261a486faa04d0c984b50132e0a4a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a160ee809dbe15fa456c509ef658368bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb">GetDate</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a160ee809dbe15fa456c509ef658368bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70ea98bc135e0b86285530c58e33bff3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3">GetFloat</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, float *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a70ea98bc135e0b86285530c58e33bff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d09dafc214133f2306eebc9aefddff0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0">GetDouble</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, double *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a7d09dafc214133f2306eebc9aefddff0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Getters for integral type columns by column index.</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code. </p>
+</div></td></tr>
+<tr class="memitem:a4b1044c3b78e5a6407c2a797005b0e21"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a4b1044c3b78e5a6407c2a797005b0e21">GetBool</a> (int col_idx, bool *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a4b1044c3b78e5a6407c2a797005b0e21"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a81a30b5b89f6fa106b5d8575c3fb62b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a81a30b5b89f6fa106b5d8575c3fb62b9">GetInt8</a> (int col_idx, int8_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a81a30b5b89f6fa106b5d8575c3fb62b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5f35c107dc26165546065189dd53dfa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ab5f35c107dc26165546065189dd53dfa">GetInt16</a> (int col_idx, int16_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ab5f35c107dc26165546065189dd53dfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab321b8c245cc1748c3b3ecdf507b08fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ab321b8c245cc1748c3b3ecdf507b08fb">GetInt32</a> (int col_idx, int32_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ab321b8c245cc1748c3b3ecdf507b08fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab59039c6f073df0b57ddc16fb8d8c432"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ab59039c6f073df0b57ddc16fb8d8c432">GetInt64</a> (int col_idx, int64_t *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ab59039c6f073df0b57ddc16fb8d8c432"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc4dfced2215c5115fecb647fa73e4e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7">GetUnixTimeMicros</a> (int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:acc4dfced2215c5115fecb647fa73e4e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afed25c9aadd0c6314aa3dd0acee9da54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#afed25c9aadd0c6314aa3dd0acee9da54">GetDate</a> (int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:afed25c9aadd0c6314aa3dd0acee9da54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae41dd0f1e2b4bf074ded210382b825bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ae41dd0f1e2b4bf074ded210382b825bd">GetFloat</a> (int col_idx, float *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ae41dd0f1e2b4bf074ded210382b825bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab2b7fb17cac4571139b2eaca761a99c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ab2b7fb17cac4571139b2eaca761a99c0">GetDouble</a> (int col_idx, double *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ab2b7fb17cac4571139b2eaca761a99c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Getters for string/binary/varchar column by column name.</div></td></tr>
+<tr class="memitem:ad8f9ba0ff9a1fcd8326b012e689ad4a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7">GetString</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ad8f9ba0ff9a1fcd8326b012e689ad4a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2fc063d4fb631b14f5651a84861ffa4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b">GetBinary</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a2fc063d4fb631b14f5651a84861ffa4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a291fde9bf246b6f9277edb8d8ef214bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb">GetVarchar</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a291fde9bf246b6f9277edb8d8ef214bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Getters for string/binary/varchar column by column index.</div></td></tr>
+<tr class="memitem:a887dd6b7e20ada26ee705c315fd86b56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56">GetString</a> (int col_idx, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a887dd6b7e20ada26ee705c315fd86b56"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a921dfdeba21588f7a3c2d5e360d3268e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a921dfdeba21588f7a3c2d5e360d3268e">GetBinary</a> (int col_idx, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a921dfdeba21588f7a3c2d5e360d3268e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a110b51d5b7544a30c854ad64db19450b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b">GetVarchar</a> (int col_idx, <a class="el" href="classkudu_1_1Slice.html">Slice</a> *val) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a110b51d5b7544a30c854ad64db19450b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A batch of zero or more rows returned by a scan operation. </p>
+<p>Every call to <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">KuduScanner::NextBatch()</a> returns a batch of zero or more rows. You can iterate over the rows in the batch using:</p>
+<p>range-foreach loop (C++11): </p><div class="fragment"><div class="line"><span class="keywordflow">for</span> (<a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> row : batch) {</div>
+<div class="line">  ... row.GetInt(1, ...)</div>
+<div class="line">  ...</div>
+<div class="line">}</div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a92bbfa48e9b503181c2dfb5f11f14e4e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">kudu::client::KuduScanBatch::RowPtr</a></div><div class="ttdeci">RowPtr()</div><div class="ttdef"><b>Definition:</b> scan_batch.h:167</div></div>
+</div><!-- fragment --><p>regular for loop (C++03): </p><div class="fragment"><div class="line"><span class="keywordflow">for</span> (KuduScanBatch::const_iterator it = batch.begin(), it != batch.end();</div>
+<div class="line">     ++it) {</div>
+<div class="line">  <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> row(*it);</div>
+<div class="line">  ...</div>
+<div class="line">}</div>
+</div><!-- fragment --><p> or </p><div class="fragment"><div class="line"><span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0, num_rows = batch.NumRows();</div>
+<div class="line">     i &lt; num_rows;</div>
+<div class="line">     i++) {</div>
+<div class="line">  <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> row = batch.Row(i);</div>
+<div class="line">  ...</div>
+<div class="line">}</div>
+</div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>In the above example, <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c">NumRows()</a> is only called once at the beginning of the loop to avoid extra calls to the non-inlined method. </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a654b2572d33e8b45836527e7b63dac21"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a654b2572d33e8b45836527e7b63dac21">&#9670;&nbsp;</a></span>begin()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">KuduScanBatch::const_iterator kudu::client::KuduScanBatch::begin </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Forward iterator to the start of the rows in the batch. </dd></dl>
+
+</div>
+</div>
+<a id="a2ff4e572251b5873491dfe827ec2c5af"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ff4e572251b5873491dfe827ec2c5af">&#9670;&nbsp;</a></span>cell()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const void* kudu::client::KuduScanBatch::cell </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the column's row data.</p>
+<dl class="section note"><dt>Note</dt><dd>Should be avoided unless absolutely necessary. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw cell data for the specified index. </dd></dl>
+
+</div>
+</div>
+<a id="a09bfd1652c0ab153ca6759317c3d3992"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a09bfd1652c0ab153ca6759317c3d3992">&#9670;&nbsp;</a></span>direct_data()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Slice.html">Slice</a> kudu::client::KuduScanBatch::direct_data </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Return a slice that points to the direct row data received from the server. Users of this API must have knowledge of the data format in order to decode the data.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Unstable API</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> that points to the raw direct row data. </dd></dl>
+
+</div>
+</div>
+<a id="a54bc996032e6b5bc0df0962d821c113c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a54bc996032e6b5bc0df0962d821c113c">&#9670;&nbsp;</a></span>end()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">KuduScanBatch::const_iterator kudu::client::KuduScanBatch::end </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Forward iterator to the end of the rows in the batch. </dd></dl>
+
+</div>
+</div>
+<a id="a2fc063d4fb631b14f5651a84861ffa4b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2fc063d4fb631b14f5651a84861ffa4b">&#9670;&nbsp;</a></span>GetBinary() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetBinary </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1Slice.html">Slice</a> *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the string/binary/varchar value for a column by its name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> if necessary. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a921dfdeba21588f7a3c2d5e360d3268e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a921dfdeba21588f7a3c2d5e360d3268e">&#9670;&nbsp;</a></span>GetBinary() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetBinary </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1Slice.html">Slice</a> *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the string/binary/varchar value for a column by its index.</p>
+<p>These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> if necessary. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a3b1a867cf2fd47b697fe3a68e28fadd8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3b1a867cf2fd47b697fe3a68e28fadd8">&#9670;&nbsp;</a></span>GetBool() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetBool </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Placeholder for the result value. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a4b1044c3b78e5a6407c2a797005b0e21"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4b1044c3b78e5a6407c2a797005b0e21">&#9670;&nbsp;</a></span>GetBool() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetBool </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a160ee809dbe15fa456c509ef658368bb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a160ee809dbe15fa456c509ef658368bb">&#9670;&nbsp;</a></span>GetDate() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetDate </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t *&#160;</td>
+          <td class="paramname"><em>days_since_unix_epoch</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">days_since_unix_epoch</td><td>Placeholder for the result value. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="afed25c9aadd0c6314aa3dd0acee9da54"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afed25c9aadd0c6314aa3dd0acee9da54">&#9670;&nbsp;</a></span>GetDate() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetDate </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t *&#160;</td>
+          <td class="paramname"><em>days_since_unix_epoch</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">days_since_unix_epoch</td><td>Pointer to the placeholder to put the resulting value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a7d09dafc214133f2306eebc9aefddff0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7d09dafc214133f2306eebc9aefddff0">&#9670;&nbsp;</a></span>GetDouble() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetDouble </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Placeholder for the result value. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ab2b7fb17cac4571139b2eaca761a99c0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab2b7fb17cac4571139b2eaca761a99c0">&#9670;&nbsp;</a></span>GetDouble() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetDouble </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a70ea98bc135e0b86285530c58e33bff3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a70ea98bc135e0b86285530c58e33bff3">&#9670;&nbsp;</a></span>GetFloat() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetFloat </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Placeholder for the result value. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ae41dd0f1e2b4bf074ded210382b825bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae41dd0f1e2b4bf074ded210382b825bd">&#9670;&nbsp;</a></span>GetFloat() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetFloat </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="afbaff6bf597df2fa0696bdc5cbdfb037"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afbaff6bf597df2fa0696bdc5cbdfb037">&#9670;&nbsp;</a></span>GetInt16() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetInt16 </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Placeholder for the result value. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ab5f35c107dc26165546065189dd53dfa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab5f35c107dc26165546065189dd53dfa">&#9670;&nbsp;</a></span>GetInt16() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetInt16 </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int16_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="abc5120c7aadb029e442235a7131f6fd2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc5120c7aadb029e442235a7131f6fd2">&#9670;&nbsp;</a></span>GetInt32() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetInt32 </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Placeholder for the result value. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ab321b8c245cc1748c3b3ecdf507b08fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab321b8c245cc1748c3b3ecdf507b08fb">&#9670;&nbsp;</a></span>GetInt32() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetInt32 </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a51d43f077b4510b58a2fd471ae81f7b0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a51d43f077b4510b58a2fd471ae81f7b0">&#9670;&nbsp;</a></span>GetInt64() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetInt64 </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Placeholder for the result value. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ab59039c6f073df0b57ddc16fb8d8c432"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab59039c6f073df0b57ddc16fb8d8c432">&#9670;&nbsp;</a></span>GetInt64() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetInt64 </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a7bfea7b94e64073562892445a2a2ac7b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7bfea7b94e64073562892445a2a2ac7b">&#9670;&nbsp;</a></span>GetInt8() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetInt8 </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int8_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Placeholder for the result value. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a81a30b5b89f6fa106b5d8575c3fb62b9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a81a30b5b89f6fa106b5d8575c3fb62b9">&#9670;&nbsp;</a></span>GetInt8() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetInt8 </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int8_t *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ad8f9ba0ff9a1fcd8326b012e689ad4a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8f9ba0ff9a1fcd8326b012e689ad4a7">&#9670;&nbsp;</a></span>GetString() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetString </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1Slice.html">Slice</a> *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the string/binary/varchar value for a column by its name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> if necessary. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a887dd6b7e20ada26ee705c315fd86b56"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a887dd6b7e20ada26ee705c315fd86b56">&#9670;&nbsp;</a></span>GetString() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetString </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1Slice.html">Slice</a> *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the string/binary/varchar value for a column by its index.</p>
+<p>These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> if necessary. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ae1261a486faa04d0c984b50132e0a4a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae1261a486faa04d0c984b50132e0a4a3">&#9670;&nbsp;</a></span>GetUnixTimeMicros() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetUnixTimeMicros </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t *&#160;</td>
+          <td class="paramname"><em>micros_since_utc_epoch</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>The name of the target column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">micros_since_utc_epoch</td><td>Placeholder for the result value. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="acc4dfced2215c5115fecb647fa73e4e7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acc4dfced2215c5115fecb647fa73e4e7">&#9670;&nbsp;</a></span>GetUnixTimeMicros() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetUnixTimeMicros </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t *&#160;</td>
+          <td class="paramname"><em>micros_since_utc_epoch</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">micros_since_utc_epoch</td><td>Pointer to the placeholder to put the resulting value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a291fde9bf246b6f9277edb8d8ef214bb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a291fde9bf246b6f9277edb8d8ef214bb">&#9670;&nbsp;</a></span>GetVarchar() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetVarchar </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1Slice.html">Slice</a> *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the string/binary/varchar value for a column by its name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> if necessary. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a110b51d5b7544a30c854ad64db19450b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a110b51d5b7544a30c854ad64db19450b">&#9670;&nbsp;</a></span>GetVarchar() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::GetVarchar </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1Slice.html">Slice</a> *&#160;</td>
+          <td class="paramname"><em>val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the string/binary/varchar value for a column by its index.</p>
+<p>These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>The index of the column. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> if necessary. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if at least one of the following is <code>true:</code> <ul>
+<li>The type does not match. </li>
+<li>The value is unset. </li>
+<li>The value is <code>NULL</code>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a3cb4c17aa228e680ecf088a29a075989"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3cb4c17aa228e680ecf088a29a075989">&#9670;&nbsp;</a></span>indirect_data()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Slice.html">Slice</a> kudu::client::KuduScanBatch::indirect_data </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Like the method above, but for indirect data.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Unstable API</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> that points to the raw indirect row data. </dd></dl>
+
+</div>
+</div>
+<a id="a2c1f65ffcc1216f583f3ad1b468021f3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2c1f65ffcc1216f583f3ad1b468021f3">&#9670;&nbsp;</a></span>IsDeleted()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanBatch::IsDeleted </td>
+          <td>(</td>
+          <td class="paramtype">bool *&#160;</td>
+          <td class="paramname"><em>val</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the value of the IS_DELETED virtual column.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">val</td><td>Placeholder for the result value. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. Return a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> if there is no IS_DELETED virtual column in the schema. </dd></dl>
+
+</div>
+</div>
+<a id="ad1bdf4368f87e0d83d9066584b2b2047"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad1bdf4368f87e0d83d9066584b2b2047">&#9670;&nbsp;</a></span>IsNull() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::client::KuduScanBatch::IsNull </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the specified column of the row has <code>NULL</code> value. </dd></dl>
+
+</div>
+</div>
+<a id="a63aa794845d41cc5251ee5d30547e520"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63aa794845d41cc5251ee5d30547e520">&#9670;&nbsp;</a></span>IsNull() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::client::KuduScanBatch::IsNull </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>col_idx</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_idx</td><td>Index of the column. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the specified column of the row has <code>NULL</code> value. </dd></dl>
+
+</div>
+</div>
+<a id="a252ffd623dbaa7d725d623fd220fee4c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a252ffd623dbaa7d725d623fd220fee4c">&#9670;&nbsp;</a></span>NumRows()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int kudu::client::KuduScanBatch::NumRows </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The number of rows in this batch. </dd></dl>
+
+</div>
+</div>
+<a id="a2bf8a53b3486a8b7c62b8d38d5f64ef0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2bf8a53b3486a8b7c62b8d38d5f64ef0">&#9670;&nbsp;</a></span>operator!=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::client::KuduScanBatch::operator!= </td>
+          <td>(</td>
+          <td class="paramtype">const const_iterator &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>An operator to check whether two iterators are 'not equal'.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The iterator to compare with. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the other iterator points to a different row in the same batch, or to a row belonging to a different batch altogether. </dd></dl>
+
+</div>
+</div>
+<a id="a5fd788bcce7344ebe1fe33f22c734ab9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5fd788bcce7344ebe1fe33f22c734ab9">&#9670;&nbsp;</a></span>operator*()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> kudu::client::KuduScanBatch::operator* </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The row in the batch the iterator is pointing at. </dd></dl>
+
+</div>
+</div>
+<a id="ad5df483ed3172caab5a8d6a72abfad0c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad5df483ed3172caab5a8d6a72abfad0c">&#9670;&nbsp;</a></span>operator++() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const_iterator&amp; kudu::client::KuduScanBatch::operator++ </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Prefix increment operator: advances the iterator to the next position.</p>
+<dl class="section return"><dt>Returns</dt><dd>The reference to the iterator, pointing to the next position. </dd></dl>
+
+</div>
+</div>
+<a id="a4b1ad47fd7d429859b6181825a063c48"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4b1ad47fd7d429859b6181825a063c48">&#9670;&nbsp;</a></span>operator++() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const_iterator kudu::client::KuduScanBatch::operator++ </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Postfix increment operator: advances the iterator to the next position.</p>
+<dl class="section return"><dt>Returns</dt><dd>A copy of the iterator pointing to the pre-increment position. </dd></dl>
+
+</div>
+</div>
+<a id="ad0dc62a642d513742785152e39c0ddaf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad0dc62a642d513742785152e39c0ddaf">&#9670;&nbsp;</a></span>operator-&gt;() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">RowPtr</a>* kudu::client::KuduScanBatch::operator-&gt; </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Overloaded operator -&gt; to support pointer trait for access via const_iterator.</p><dl class="section return"><dt>Returns</dt><dd>Pointer to the row </dd></dl>
+
+</div>
+</div>
+<a id="a71f62ba8531f6415e9c5cb22621fa84b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a71f62ba8531f6415e9c5cb22621fa84b">&#9670;&nbsp;</a></span>operator-&gt;() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> kudu::client::KuduScanBatch::operator-&gt; </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section note"><dt>Note</dt><dd>Since iterator does not keep current <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a>, we cannot return pointer to it. Instead we return <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a>, which implements pointer operator -&gt;</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The row in the batch the iterator is pointing at. </dd></dl>
+
+</div>
+</div>
+<a id="a78f4a33eed6ee9031c1b04146d124a63"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78f4a33eed6ee9031c1b04146d124a63">&#9670;&nbsp;</a></span>operator==()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::client::KuduScanBatch::operator== </td>
+          <td>(</td>
+          <td class="paramtype">const const_iterator &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>An operator to check whether two iterators are 'equal'.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The iterator to compare with. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff the other iterator points to the same row of the same batch. </dd></dl>
+
+</div>
+</div>
+<a id="a0c99e4ac2a6b822e693fe7c6625cb324"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c99e4ac2a6b822e693fe7c6625cb324">&#9670;&nbsp;</a></span>projection_schema()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>* kudu::client::KuduScanBatch::projection_schema </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The projection schema for this batch. All <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> returned by this batch are guaranteed to have this schema. </dd></dl>
+
+</div>
+</div>
+<a id="a3f6366606eec7f0d0a8953ff6a81c320"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3f6366606eec7f0d0a8953ff6a81c320">&#9670;&nbsp;</a></span>Row()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> kudu::client::KuduScanBatch::Row </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>idx</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get a row at the specified index.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The index of the row to return. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A reference to one of the rows in this batch. The returned object is only valid for as long as this <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html" title="A batch of zero or more rows returned by a scan operation.">KuduScanBatch</a> object is valid. </dd></dl>
+
+</div>
+</div>
+<a id="a92bbfa48e9b503181c2dfb5f11f14e4e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92bbfa48e9b503181c2dfb5f11f14e4e">&#9670;&nbsp;</a></span>RowPtr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::client::KuduScanBatch::RowPtr </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Construct an invalid RowPtr. Before use, you must assign a properly-initialized value. </p>
+
+</div>
+</div>
+<a id="aca10e03eeb078908c09e552cceb1e4c3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aca10e03eeb078908c09e552cceb1e4c3">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string kudu::client::KuduScanBatch::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>String representation for this row. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="scan__batch_8h_source.html">scan_batch.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.png
new file mode 100644
index 0000000..c6921f8
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanToken-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanToken-members.html
new file mode 100644
index 0000000..9258111
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanToken-members.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduScanToken Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867">DeserializeIntoScanner</a>(KuduClient *client, const std::string &amp;serialized_token, KuduScanner **scanner) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292">IntoKuduScanner</a>(KuduScanner **scanner) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008">Serialize</a>(std::string *buf) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96">tablet</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduScanToken</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanToken.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanToken.html
new file mode 100644
index 0000000..5ab2e3d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanToken.html
@@ -0,0 +1,239 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduScanToken Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduScanToken-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduScanToken Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A scan descriptor limited to a single physical contiguous location.  
+ <a href="classkudu_1_1client_1_1KuduScanToken.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:adb95c9538bb1fc4c83963557ce487292"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292">IntoKuduScanner</a> (<a class="el" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a> **scanner) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:adb95c9538bb1fc4c83963557ce487292"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63abcf53607bdc4346b86b98a3d0ec96"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96">tablet</a> () const</td></tr>
+<tr class="separator:a63abcf53607bdc4346b86b98a3d0ec96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6eb749ddf0a1434596d86df88341a008"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008">Serialize</a> (std::string *buf) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a6eb749ddf0a1434596d86df88341a008"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ae90d9422476cf6eee5c33afb41d1f867"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867">DeserializeIntoScanner</a> (<a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> *client, const std::string &amp;serialized_token, <a class="el" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a> **scanner) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ae90d9422476cf6eee5c33afb41d1f867"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A scan descriptor limited to a single physical contiguous location. </p>
+<p>A <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html" title="A scan descriptor limited to a single physical contiguous location.">KuduScanToken</a> describes a partial scan of a Kudu table limited to a single contiguous physical location. Using the <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a>, clients can describe the desired scan, including predicates, bounds, timestamps, and caching, and receive back a collection of scan tokens.</p>
+<p>Each scan token may be separately turned into a scanner using <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292">KuduScanToken::IntoKuduScanner</a>, with each scanner responsible for a disjoint section of the table.</p>
+<p>Scan tokens may be serialized using the <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008">KuduScanToken::Serialize</a> method and deserialized back into a scanner using the <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867">KuduScanToken::DeserializeIntoScanner</a> method. This allows use cases such as generating scan tokens in the planner component of a query engine, then sending the tokens to execution nodes based on locality, and then instantiating the scanners on those nodes.</p>
+<p>Scan token locality information can be inspected using the <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96">KuduScanToken::tablet()</a> function. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="ae90d9422476cf6eee5c33afb41d1f867"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae90d9422476cf6eee5c33afb41d1f867">&#9670;&nbsp;</a></span>DeserializeIntoScanner()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanToken::DeserializeIntoScanner </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> *&#160;</td>
+          <td class="paramname"><em>client</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>serialized_token</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a> **&#160;</td>
+          <td class="paramname"><em>scanner</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a new scanner and set the scanner options.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">client</td><td>Client to bound to the scanner. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">serialized_token</td><td>Token containing serialized scanner parameters. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">scanner</td><td>The result scanner. The caller owns the new scanner. The scanner must be opened before use. The scanner will not be set if the returned status is an error. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="adb95c9538bb1fc4c83963557ce487292"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb95c9538bb1fc4c83963557ce487292">&#9670;&nbsp;</a></span>IntoKuduScanner()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanToken::IntoKuduScanner </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a> **&#160;</td>
+          <td class="paramname"><em>scanner</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a new scanner.</p>
+<p>This method creates a new scanner, setting the result scanner's options according to the scan token.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">scanner</td><td>The result scanner. The caller owns the new scanner. The scanner must be opened before use. The output parameter will not be set if the returned status is an error. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a6eb749ddf0a1434596d86df88341a008"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6eb749ddf0a1434596d86df88341a008">&#9670;&nbsp;</a></span>Serialize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanToken::Serialize </td>
+          <td>(</td>
+          <td class="paramtype">std::string *&#160;</td>
+          <td class="paramname"><em>buf</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Serialize the token into a string.</p>
+<p>The resulting string can be deserialized with <code>KuduScanToken::Deserialize()</code> to</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>Result string to output the serialized token. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a63abcf53607bdc4346b86b98a3d0ec96"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63abcf53607bdc4346b86b98a3d0ec96">&#9670;&nbsp;</a></span>tablet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>&amp; kudu::client::KuduScanToken::tablet </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Tablet that this scan will retrieve rows from. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder-members.html
new file mode 100644
index 0000000..fd79709
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder-members.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduScanTokenBuilder Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e">AddConjunctPredicate</a>(KuduPredicate *pred) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf">AddLowerBound</a>(const KuduPartialRow &amp;key) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a">AddUpperBound</a>(const KuduPartialRow &amp;key) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb">Build</a>(std::vector&lt; KuduScanToken * &gt; *tokens) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3">IncludeTableMetadata</a>(bool include_metadata) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843">IncludeTabletMetadata</a>(bool include_metadata) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484">KuduScanTokenBuilder</a>(KuduTable *table)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c">SetBatchSizeBytes</a>(uint32_t batch_size) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">SetCacheBlocks</a>(bool cache_blocks) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe">SetFaultTolerant</a>() WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8">SetProjectedColumnIndexes</a>(const std::vector&lt; int &gt; &amp;col_indexes) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames</a>(const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892">SetReadMode</a>(KuduScanner::ReadMode read_mode) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88">SetSelection</a>(KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5">SetSnapshotMicros</a>(uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7">SetSnapshotRaw</a>(uint64_t snapshot_timestamp) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445">SetTimeoutMillis</a>(int millis) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduScanTokenBuilder</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder.html
new file mode 100644
index 0000000..4023692
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder.html
@@ -0,0 +1,604 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduScanTokenBuilder Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduScanTokenBuilder-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduScanTokenBuilder Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Builds scan tokens for a table.  
+ <a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa8d300b560d419030abd503b66812484"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484">KuduScanTokenBuilder</a> (<a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> *table)</td></tr>
+<tr class="separator:aa8d300b560d419030abd503b66812484"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0dbb58301fc0e48ce44f41215d32f0ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames</a> (const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a0dbb58301fc0e48ce44f41215d32f0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01d990e024632c7749cca96b4f857be8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8">SetProjectedColumnIndexes</a> (const std::vector&lt; int &gt; &amp;col_indexes) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a01d990e024632c7749cca96b4f857be8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac40487d17b8e4dcca7ca08efeb5f195e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e">AddConjunctPredicate</a> (<a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *pred) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ac40487d17b8e4dcca7ca08efeb5f195e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae11ca3d00d15138e957a2c2e89b05fcf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf">AddLowerBound</a> (const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;key) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ae11ca3d00d15138e957a2c2e89b05fcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4d0fa934e4c705ac76c424a5431566a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a">AddUpperBound</a> (const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;key) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ac4d0fa934e4c705ac76c424a5431566a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ab7c9c1c4f4d3bbbc18b2b35d7d5475"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">SetCacheBlocks</a> (bool cache_blocks) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a7ab7c9c1c4f4d3bbbc18b2b35d7d5475"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36523ca7f2f9a2b4e3c096cf6167643c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c">SetBatchSizeBytes</a> (uint32_t batch_size) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a36523ca7f2f9a2b4e3c096cf6167643c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a168bfed43dcd754a17d4c82293dade88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88">SetSelection</a> (<a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a> selection) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a168bfed43dcd754a17d4c82293dade88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb34f01a9bc52a9e23ce49124bab3892"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892">SetReadMode</a> (<a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">KuduScanner::ReadMode</a> read_mode) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:adb34f01a9bc52a9e23ce49124bab3892"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a17f27950ccd59bcb3430fb28b61dbe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe">SetFaultTolerant</a> () WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a4a17f27950ccd59bcb3430fb28b61dbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4c1cfa570edfaab818831a2330eece5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5">SetSnapshotMicros</a> (uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:aa4c1cfa570edfaab818831a2330eece5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a313e345dc6c1f9ccdad65df5af2cf4b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7">SetSnapshotRaw</a> (uint64_t snapshot_timestamp) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a313e345dc6c1f9ccdad65df5af2cf4b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f0e58d5d6fb3867ff0a03f7fc633445"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445">SetTimeoutMillis</a> (int millis) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a0f0e58d5d6fb3867ff0a03f7fc633445"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a793300a4e76a649536797244abbb94a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3">IncludeTableMetadata</a> (bool include_metadata) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a793300a4e76a649536797244abbb94a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc2f556dc0e6fd2501e81722fcb75843"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843">IncludeTabletMetadata</a> (bool include_metadata) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:acc2f556dc0e6fd2501e81722fcb75843"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbc00b42db998f3342fa0ca7ab55dfdb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb">Build</a> (std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a> * &gt; *tokens) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:acbc00b42db998f3342fa0ca7ab55dfdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Builds scan tokens for a table. </p>
+<dl class="section note"><dt>Note</dt><dd>This class is not thread-safe. </dd></dl>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="aa8d300b560d419030abd503b66812484"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa8d300b560d419030abd503b66812484">&#9670;&nbsp;</a></span>KuduScanTokenBuilder()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::client::KuduScanTokenBuilder::KuduScanTokenBuilder </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> *&#160;</td>
+          <td class="paramname"><em>table</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Construct an instance of the class.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td>The table the tokens should scan. The given object must remain valid for the lifetime of the builder, and the tokens which it builds. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="ac40487d17b8e4dcca7ca08efeb5f195e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac40487d17b8e4dcca7ca08efeb5f195e">&#9670;&nbsp;</a></span>AddConjunctPredicate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::AddConjunctPredicate </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *&#160;</td>
+          <td class="paramname"><em>pred</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Add a predicate for the scan.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">pred</td><td>Predicate to set. The <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a> instance takes ownership of the parameter even if a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> is returned. Multiple calls of this method make the specified set of predicates work in conjunction, i.e. all predicates must be true for a row to be returned. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ae11ca3d00d15138e957a2c2e89b05fcf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae11ca3d00d15138e957a2c2e89b05fcf">&#9670;&nbsp;</a></span>AddLowerBound()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::AddLowerBound </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td>
+          <td class="paramname"><em>key</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Add a lower bound (inclusive) primary key for the scan.</p>
+<p>If any bound is already added, this bound is intersected with that one.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Lower bound primary key to add. The <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a> instance does not take ownership of the parameter. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ac4d0fa934e4c705ac76c424a5431566a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac4d0fa934e4c705ac76c424a5431566a">&#9670;&nbsp;</a></span>AddUpperBound()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::AddUpperBound </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td>
+          <td class="paramname"><em>key</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add an upper bound (exclusive) primary key.</p>
+<p>If any bound is already added, this bound is intersected with that one.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Upper bound primary key to add. The <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a> instance does not take ownership of the parameter. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="acbc00b42db998f3342fa0ca7ab55dfdb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acbc00b42db998f3342fa0ca7ab55dfdb">&#9670;&nbsp;</a></span>Build()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::Build </td>
+          <td>(</td>
+          <td class="paramtype">std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a> * &gt; *&#160;</td>
+          <td class="paramname"><em>tokens</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Build the set of scan tokens.</p>
+<p>The builder may be reused after this call.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">tokens</td><td>Result set of tokens. The caller takes ownership of the container elements. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a793300a4e76a649536797244abbb94a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a793300a4e76a649536797244abbb94a3">&#9670;&nbsp;</a></span>IncludeTableMetadata()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::IncludeTableMetadata </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>include_metadata</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>If the table metadata is included on the scan token a GetTableSchema RPC call to the master can be avoided when deserializing each scan token into a scanner.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">include_metadata</td><td>true, if table metadata should be included. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="acc2f556dc0e6fd2501e81722fcb75843"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acc2f556dc0e6fd2501e81722fcb75843">&#9670;&nbsp;</a></span>IncludeTabletMetadata()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::IncludeTabletMetadata </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>include_metadata</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>If the tablet metadata is included on the scan token a GetTableLocations RPC call to the master can be avoided when scanning with a scanner constructed from a scan token.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">include_metadata</td><td>true, if table metadata should be included. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a36523ca7f2f9a2b4e3c096cf6167643c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a36523ca7f2f9a2b4e3c096cf6167643c">&#9670;&nbsp;</a></span>SetBatchSizeBytes()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetBatchSizeBytes </td>
+          <td>(</td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>batch_size</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the hint for the size of the next batch in bytes.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">batch_size</td><td>Batch size to set (in bytes). If set to 0, the first call to the tablet server won't return data. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a7ab7c9c1c4f4d3bbbc18b2b35d7d5475"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">&#9670;&nbsp;</a></span>SetCacheBlocks()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetCacheBlocks </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>cache_blocks</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Set the block caching policy.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">cache_blocks</td><td>If <code>true</code>, scanned data blocks will be cached in memory and made available for future scans. Default is <code>true</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a4a17f27950ccd59bcb3430fb28b61dbe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a17f27950ccd59bcb3430fb28b61dbe">&#9670;&nbsp;</a></span>SetFaultTolerant()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetFaultTolerant </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Make scans resumable at another tablet server if current server fails.</p>
+<p>Scans are by default non fault-tolerant, and scans will fail if scanning an individual tablet fails (for example, if a tablet server crashes in the middle of a tablet scan). If this method is called, scans will be resumed at another tablet server in the case of failure.</p>
+<p>Fault-tolerant scans typically have lower throughput than non fault-tolerant scans. Fault tolerant scans use <code>READ_AT_SNAPSHOT</code> mode: if no snapshot timestamp is provided, the server will pick one.</p>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a01d990e024632c7749cca96b4f857be8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a01d990e024632c7749cca96b4f857be8">&#9670;&nbsp;</a></span>SetProjectedColumnIndexes()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetProjectedColumnIndexes </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>col_indexes</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Set the column projection by passing the column indexes to read.</p>
+<p>Set the column projection used for this scanner by passing the column indices to read. A call to this method overrides any previous call to <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames()</a> or <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8">SetProjectedColumnIndexes()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_indexes</td><td>Column indices for the projection. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a0dbb58301fc0e48ce44f41215d32f0ad"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0dbb58301fc0e48ce44f41215d32f0ad">&#9670;&nbsp;</a></span>SetProjectedColumnNames()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetProjectedColumnNames </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
+          <td class="paramname"><em>col_names</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the column projection by passing the column names to read.</p>
+<p>Set the column projection used for this scanner by passing the column names to read. A call of this method overrides any previous call to <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames()</a> or <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8">SetProjectedColumnIndexes()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_names</td><td>Column names for the projection. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="adb34f01a9bc52a9e23ce49124bab3892"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb34f01a9bc52a9e23ce49124bab3892">&#9670;&nbsp;</a></span>SetReadMode()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetReadMode </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">KuduScanner::ReadMode</a>&#160;</td>
+          <td class="paramname"><em>read_mode</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Set the ReadMode. Default is <code>READ_LATEST</code>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">read_mode</td><td>Read mode to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a168bfed43dcd754a17d4c82293dade88"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a168bfed43dcd754a17d4c82293dade88">&#9670;&nbsp;</a></span>SetSelection()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetSelection </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a>&#160;</td>
+          <td class="paramname"><em>selection</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the replica selection policy while scanning.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selection</td><td>Selection policy to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000008">Todo:</a></b></dt><dd>Kill this in favor of a consistency-level-based API. </dd></dl>
+
+</div>
+</div>
+<a id="aa4c1cfa570edfaab818831a2330eece5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa4c1cfa570edfaab818831a2330eece5">&#9670;&nbsp;</a></span>SetSnapshotMicros()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetSnapshotMicros </td>
+          <td>(</td>
+          <td class="paramtype">uint64_t&#160;</td>
+          <td class="paramname"><em>snapshot_timestamp_micros</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Set snapshot timestamp for scans in <code>READ_AT_SNAPSHOT</code> mode.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">snapshot_timestamp_micros</td><td>Timestamp to set in in microseconds since the Epoch. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a313e345dc6c1f9ccdad65df5af2cf4b7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a313e345dc6c1f9ccdad65df5af2cf4b7">&#9670;&nbsp;</a></span>SetSnapshotRaw()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetSnapshotRaw </td>
+          <td>(</td>
+          <td class="paramtype">uint64_t&#160;</td>
+          <td class="paramname"><em>snapshot_timestamp</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Set snapshot timestamp for scans in <code>READ_AT_SNAPSHOT</code> mode (raw).</p>
+<dl class="section note"><dt>Note</dt><dd>This method is experimental and will either disappear or change in a future release.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">snapshot_timestamp</td><td>Timestamp to set in raw encoded form (i.e. as returned by a previous call to a server). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a0f0e58d5d6fb3867ff0a03f7fc633445"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0f0e58d5d6fb3867ff0a03f7fc633445">&#9670;&nbsp;</a></span>SetTimeoutMillis()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanTokenBuilder::SetTimeoutMillis </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>millis</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Set the maximum time that Open() and NextBatch() are allowed to take.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">millis</td><td>Timeout to set (in milliseconds). Must be greater than 0. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanner-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanner-members.html
new file mode 100644
index 0000000..32d7d6b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanner-members.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduScanner Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">AddConjunctPredicate</a>(KuduPredicate *pred) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d">AddExclusiveUpperBound</a>(const KuduPartialRow &amp;key)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9">AddExclusiveUpperBoundPartitionKeyRaw</a>(const Slice &amp;partition_key)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe">AddExclusiveUpperBoundRaw</a>(const Slice &amp;key) ATTRIBUTE_DEPRECATED(&quot;use AddExclusiveUpperBound() instead&quot;)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86">AddLowerBound</a>(const KuduPartialRow &amp;key)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e">AddLowerBoundPartitionKeyRaw</a>(const Slice &amp;partition_key)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e">AddLowerBoundRaw</a>(const Slice &amp;key) ATTRIBUTE_DEPRECATED(&quot;use AddLowerBound() instead&quot;)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874">Close</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10">COLUMNAR_LAYOUT</a></td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10">GetCurrentServer</a>(KuduTabletServer **server)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a">GetKuduTable</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82">GetProjectionSchema</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337">GetResourceMetrics</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94">HasMoreRows</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21">KeepAlive</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>kScanTimeoutMillis</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180">KuduScanner</a>(KuduTable *table)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">NextBatch</a>(std::vector&lt; KuduRowResult &gt; *rows) ATTRIBUTE_DEPRECATED(&quot;use NextBatch(KuduScanBatch*) instead&quot;)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487">NextBatch</a>(KuduScanBatch *batch)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81">NextBatch</a>(KuduColumnarScanBatch *batch)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85">NO_FLAGS</a></td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">Open</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a">ORDERED</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">OrderMode</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44">PAD_UNIXTIME_MICROS_TO_16_BYTES</a></td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2">READ_AT_SNAPSHOT</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8">READ_LATEST</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567">READ_YOUR_WRITES</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">ReadMode</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c">SetBatchSizeBytes</a>(uint32_t batch_size)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310">SetCacheBlocks</a>(bool cache_blocks)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f">SetFaultTolerant</a>() WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac">SetLimit</a>(int64_t limit) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc">SetOrderMode</a>(OrderMode order_mode) WARN_UNUSED_RESULT ATTRIBUTE_DEPRECATED(&quot;use SetFaultTolerant() instead&quot;)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d">SetProjectedColumnIndexes</a>(const std::vector&lt; int &gt; &amp;col_indexes) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">SetProjectedColumnNames</a>(const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad">SetProjectedColumns</a>(const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT ATTRIBUTE_DEPRECATED(&quot;use SetProjectedColumnNames() instead&quot;)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e">SetReadMode</a>(ReadMode read_mode) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11">SetRowFormatFlags</a>(uint64_t flags)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8">SetSelection</a>(KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f">SetSnapshotMicros</a>(uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae">SetSnapshotRaw</a>(uint64_t snapshot_timestamp) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6">SetTimeoutMillis</a>(int millis)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae">ToString</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3">UNORDERED</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduScanner</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanner.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanner.html
new file mode 100644
index 0000000..a48f6ba
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduScanner.html
@@ -0,0 +1,1176 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduScanner Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduScanner-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduScanner Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This class is a representation of a single scan.  
+ <a href="classkudu_1_1client_1_1KuduScanner.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a36fdb59d6488618363331269d3f58348"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">ReadMode</a> { <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8">READ_LATEST</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2">READ_AT_SNAPSHOT</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567">READ_YOUR_WRITES</a>
+ }</td></tr>
+<tr class="memdesc:a36fdb59d6488618363331269d3f58348"><td class="mdescLeft">&#160;</td><td class="mdescRight">The read modes for scanners.  <a href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">More...</a><br /></td></tr>
+<tr class="separator:a36fdb59d6488618363331269d3f58348"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6c79325c9da9741d0accf1b43bf7f9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">OrderMode</a> { <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3">UNORDERED</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a">ORDERED</a>
+ }</td></tr>
+<tr class="separator:a3d6c79325c9da9741d0accf1b43bf7f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60615ffe5fe82c5dcd12fec47502bec1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <b>kScanTimeoutMillis</b> = 30000
+ }</td></tr>
+<tr class="separator:a60615ffe5fe82c5dcd12fec47502bec1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a2c621f778072a02f4092e96a0baf8180"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180">KuduScanner</a> (<a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> *table)</td></tr>
+<tr class="separator:a2c621f778072a02f4092e96a0baf8180"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb10b26056757bf81c410d3d5e6bcc01"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">SetProjectedColumnNames</a> (const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:abb10b26056757bf81c410d3d5e6bcc01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d938c6efc1b36d456c91b5af0b1578d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d">SetProjectedColumnIndexes</a> (const std::vector&lt; int &gt; &amp;col_indexes) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a8d938c6efc1b36d456c91b5af0b1578d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68e2115cde71e113674e7a8b4df399ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad">SetProjectedColumns</a> (const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT ATTRIBUTE_DEPRECATED(&quot;use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">SetProjectedColumnNames</a>() instead&quot;)</td></tr>
+<tr class="separator:a68e2115cde71e113674e7a8b4df399ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47b0fcd30f8002cb4fdcf69351896b74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">AddConjunctPredicate</a> (<a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *pred) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a47b0fcd30f8002cb4fdcf69351896b74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67691944fc112f43c565ab4486514b86"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86">AddLowerBound</a> (const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;key)</td></tr>
+<tr class="separator:a67691944fc112f43c565ab4486514b86"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e51a978f3e54237fa60f7447ef3436e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e">AddLowerBoundRaw</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;key) ATTRIBUTE_DEPRECATED(&quot;use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86">AddLowerBound</a>() instead&quot;)</td></tr>
+<tr class="separator:a3e51a978f3e54237fa60f7447ef3436e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a551fd38d48a686f2662727a82e79bd3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d">AddExclusiveUpperBound</a> (const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;key)</td></tr>
+<tr class="separator:a551fd38d48a686f2662727a82e79bd3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aefb6badecb950d5089b2f9d29d1f2ffe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe">AddExclusiveUpperBoundRaw</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;key) ATTRIBUTE_DEPRECATED(&quot;use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d">AddExclusiveUpperBound</a>() instead&quot;)</td></tr>
+<tr class="separator:aefb6badecb950d5089b2f9d29d1f2ffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab53b88307028a50f66bcffe5e78c6d6e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e">AddLowerBoundPartitionKeyRaw</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;partition_key)</td></tr>
+<tr class="separator:ab53b88307028a50f66bcffe5e78c6d6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa951a6ec3aeb82c82afe35d8e3ba18a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9">AddExclusiveUpperBoundPartitionKeyRaw</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;partition_key)</td></tr>
+<tr class="separator:aa951a6ec3aeb82c82afe35d8e3ba18a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a4a2e354b3113561758b9bf4095d310"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310">SetCacheBlocks</a> (bool cache_blocks)</td></tr>
+<tr class="separator:a4a4a2e354b3113561758b9bf4095d310"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1ff3c11d9ac9f8183189ea5ac1ed9f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">Open</a> ()</td></tr>
+<tr class="separator:aa1ff3c11d9ac9f8183189ea5ac1ed9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4a0caf7142880255d7aac1d75f33d21"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21">KeepAlive</a> ()</td></tr>
+<tr class="separator:aa4a0caf7142880255d7aac1d75f33d21"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac673dd15cb038e75787af7e74087e874"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874">Close</a> ()</td></tr>
+<tr class="separator:ac673dd15cb038e75787af7e74087e874"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c4f46e8da9053621727a2e365196c94"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94">HasMoreRows</a> () const</td></tr>
+<tr class="separator:a4c4f46e8da9053621727a2e365196c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af365f1d3b3b34aeb7d016727a9019067"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">NextBatch</a> (std::vector&lt; KuduRowResult &gt; *rows) ATTRIBUTE_DEPRECATED(&quot;use NextBatch(<a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a>*) instead&quot;)</td></tr>
+<tr class="separator:af365f1d3b3b34aeb7d016727a9019067"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af1475d9a0667839c1ed9c3714b47d487"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487">NextBatch</a> (<a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a> *batch)</td></tr>
+<tr class="separator:af1475d9a0667839c1ed9c3714b47d487"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6508528f880d73d7d66e37752130fb81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81">NextBatch</a> (<a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">KuduColumnarScanBatch</a> *batch)</td></tr>
+<tr class="separator:a6508528f880d73d7d66e37752130fb81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac2bce7bd17627a3aa46f7d7fdb4c0c10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10">GetCurrentServer</a> (<a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a> **server)</td></tr>
+<tr class="separator:ac2bce7bd17627a3aa46f7d7fdb4c0c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2cd8d87f9469665ae06bd00d11b8337"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">ResourceMetrics</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337">GetResourceMetrics</a> () const</td></tr>
+<tr class="separator:ae2cd8d87f9469665ae06bd00d11b8337"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af82c4ccb442c222033841dd65cf5a67c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c">SetBatchSizeBytes</a> (uint32_t batch_size)</td></tr>
+<tr class="separator:af82c4ccb442c222033841dd65cf5a67c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af1db3f372fe3d0f30cd0b6a36b783cc8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8">SetSelection</a> (<a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a> selection) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:af1db3f372fe3d0f30cd0b6a36b783cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a248e0a05e7bfdc31b5b8d363a937e81e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e">SetReadMode</a> (<a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">ReadMode</a> read_mode) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a248e0a05e7bfdc31b5b8d363a937e81e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93a87740ea75c9b6524dc229576b69fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc">SetOrderMode</a> (<a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">OrderMode</a> order_mode) WARN_UNUSED_RESULT ATTRIBUTE_DEPRECATED(&quot;use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f">SetFaultTolerant</a>() instead&quot;)</td></tr>
+<tr class="separator:a93a87740ea75c9b6524dc229576b69fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a107a8a682c0977272e0ae47746d39e6f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f">SetFaultTolerant</a> () WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a107a8a682c0977272e0ae47746d39e6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b36a405daf09399438d5501b25b9f9f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f">SetSnapshotMicros</a> (uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a5b36a405daf09399438d5501b25b9f9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab13dbb301197b411dec4cd6870801bae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae">SetSnapshotRaw</a> (uint64_t snapshot_timestamp) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ab13dbb301197b411dec4cd6870801bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97c9f5e6a1056484c88ced411e19bee6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6">SetTimeoutMillis</a> (int millis)</td></tr>
+<tr class="separator:a97c9f5e6a1056484c88ced411e19bee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a698eb4ea965b5f7d32770fff46635b82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82">GetProjectionSchema</a> () const</td></tr>
+<tr class="separator:a698eb4ea965b5f7d32770fff46635b82"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d27c0482c3697be6458ee300bf1250a"><td class="memItemLeft" align="right" valign="top">sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a">GetKuduTable</a> ()</td></tr>
+<tr class="separator:a1d27c0482c3697be6458ee300bf1250a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71608e5e773e74efe1e8ca2b881f14ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac">SetLimit</a> (int64_t limit) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a71608e5e773e74efe1e8ca2b881f14ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf0d2cd7837f3d08866d6e5c1c3a0aae"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae">ToString</a> () const</td></tr>
+<tr class="separator:aaf0d2cd7837f3d08866d6e5c1c3a0aae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader">Advanced/Unstable API</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp8db0103004ac62a437c20b0a7de00c2b"></a> Modifier flags for the row format returned from the server.</p>
+<dl class="section note"><dt>Note</dt><dd>Each flag corresponds to a bit that gets set on a bitset that is sent to the server. See <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11">SetRowFormatFlags()</a> for example usage. </dd></dl>
+</td></tr>
+<tr class="memitem:a68345956f3f4c7fd5e1665fd292f6a85"><td class="memItemLeft" align="right" valign="top"><a id="a68345956f3f4c7fd5e1665fd292f6a85"></a>
+static const uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85">NO_FLAGS</a> = 0</td></tr>
+<tr class="memdesc:a68345956f3f4c7fd5e1665fd292f6a85"><td class="mdescLeft">&#160;</td><td class="mdescRight">No flags set. <br /></td></tr>
+<tr class="separator:a68345956f3f4c7fd5e1665fd292f6a85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63cd270f3bc72f4197d2581ec8f8fc44"><td class="memItemLeft" align="right" valign="top">static const uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44">PAD_UNIXTIME_MICROS_TO_16_BYTES</a> = 1 &lt;&lt; 0</td></tr>
+<tr class="separator:a63cd270f3bc72f4197d2581ec8f8fc44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac524332b8cfac93065b1006847b16f10"><td class="memItemLeft" align="right" valign="top">static const uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10">COLUMNAR_LAYOUT</a> = 1 &lt;&lt; 1</td></tr>
+<tr class="separator:ac524332b8cfac93065b1006847b16f10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3dbaf4c2db6a37517a242dcb8ee64c11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11">SetRowFormatFlags</a> (uint64_t flags)</td></tr>
+<tr class="separator:a3dbaf4c2db6a37517a242dcb8ee64c11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This class is a representation of a single scan. </p>
+<dl class="section note"><dt>Note</dt><dd>This class is not thread-safe, though different scanners on different threads may share a single <a class="el" href="classkudu_1_1client_1_1KuduTable.html" title="A representation of a table on a particular cluster.">KuduTable</a> object. </dd></dl>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="a60615ffe5fe82c5dcd12fec47502bec1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a60615ffe5fe82c5dcd12fec47502bec1">&#9670;&nbsp;</a></span>anonymous enum</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anonymous enum</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Default scanner timeout. This is set to 3x the default RPC timeout returned by <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df">KuduClientBuilder::default_rpc_timeout()</a>. </p>
+
+</div>
+</div>
+<a id="a3d6c79325c9da9741d0accf1b43bf7f9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d6c79325c9da9741d0accf1b43bf7f9">&#9670;&nbsp;</a></span>OrderMode</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">kudu::client::KuduScanner::OrderMode</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Whether the rows should be returned in order.</p>
+<p>This affects the fault-tolerance properties of a scanner. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3"></a>UNORDERED&#160;</td><td class="fielddoc"><p>Rows will be returned in an arbitrary order determined by the tablet server. This is efficient, but unordered scans are not fault-tolerant and cannot be resumed in the case of tablet server failure.</p>
+<p>This is the default mode. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a"></a>ORDERED&#160;</td><td class="fielddoc"><p>Rows will be returned ordered by primary key. Sorting the rows imposes additional overhead on the tablet server, but means that scans are fault-tolerant and will be resumed at another tablet server in the case of a failure. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<a id="a36fdb59d6488618363331269d3f58348"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a36fdb59d6488618363331269d3f58348">&#9670;&nbsp;</a></span>ReadMode</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">kudu::client::KuduScanner::ReadMode</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>The read modes for scanners. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8"></a>READ_LATEST&#160;</td><td class="fielddoc"><p>When <code>READ_LATEST</code> is specified the server will always return committed writes at the time the request was received. This type of read does not return a snapshot timestamp and is not repeatable.</p>
+<p>In ACID terms this corresponds to Isolation mode: "Read Committed"</p>
+<p>This is the default mode. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2"></a>READ_AT_SNAPSHOT&#160;</td><td class="fielddoc"><p>When <code>READ_AT_SNAPSHOT</code> is specified the server will attempt to perform a read at the provided timestamp. If no timestamp is provided the server will take the current time as the snapshot timestamp. In this mode reads are repeatable, i.e. all future reads at the same timestamp will yield the same data. This is performed at the expense of waiting for in-flight ops whose timestamp is lower than the snapshot's timestamp to complete, so it might incur a latency penalty. See <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f">KuduScanner::SetSnapshotMicros()</a> and <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae">KuduScanner::SetSnapshotRaw()</a> for details.</p>
+<p>In ACID terms this, by itself, corresponds to Isolation mode "Repeatable
+    Read". If all writes to the scanned tablet are made externally consistent, then this corresponds to Isolation mode "Strict-Serializable".</p>
+<dl class="section note"><dt>Note</dt><dd>There are currently "holes", which happen in rare edge conditions, by which writes are sometimes not externally consistent even when action was taken to make them so. In these cases Isolation may degenerate to mode "Read Committed". See KUDU-430. </dd></dl>
+</td></tr>
+<tr><td class="fieldname"><a id="a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567"></a>READ_YOUR_WRITES&#160;</td><td class="fielddoc"><p>When <code>READ_YOUR_WRITES</code> is specified, the client will perform a read such that it follows all previously known writes and reads from this client. Specifically this mode: (1) ensures read-your-writes and read-your-reads session guarantees, (2) minimizes latency caused by waiting for outstanding write ops to complete.</p>
+<p>Reads in this mode are not repeatable: two READ_YOUR_WRITES reads, even if they provide the same propagated timestamp bound, can execute at different timestamps and thus return different results. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a2c621f778072a02f4092e96a0baf8180"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2c621f778072a02f4092e96a0baf8180">&#9670;&nbsp;</a></span>KuduScanner()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::client::KuduScanner::KuduScanner </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> *&#160;</td>
+          <td class="paramname"><em>table</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Constructor for <a class="el" href="classkudu_1_1client_1_1KuduScanner.html" title="This class is a representation of a single scan.">KuduScanner</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td>The table to perfrom scan. The given object must remain valid for the lifetime of this scanner object. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a47b0fcd30f8002cb4fdcf69351896b74"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a47b0fcd30f8002cb4fdcf69351896b74">&#9670;&nbsp;</a></span>AddConjunctPredicate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::AddConjunctPredicate </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *&#160;</td>
+          <td class="paramname"><em>pred</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add a predicate for the scan.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">pred</td><td>Predicate to set. The <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a> instance takes ownership of the parameter even if a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> is returned. Multiple calls of this method make the specified set of predicates work in conjunction, i.e. all predicates must be true for a row to be returned. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a551fd38d48a686f2662727a82e79bd3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a551fd38d48a686f2662727a82e79bd3d">&#9670;&nbsp;</a></span>AddExclusiveUpperBound()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::AddExclusiveUpperBound </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td>
+          <td class="paramname"><em>key</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add an upper bound (exclusive) primary key for the scan.</p>
+<p>If any bound is already added, this bound is intersected with that one.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>The key to setup the upper bound. The scanner makes a copy of the parameter, the caller may free it afterward. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="aa951a6ec3aeb82c82afe35d8e3ba18a9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa951a6ec3aeb82c82afe35d8e3ba18a9">&#9670;&nbsp;</a></span>AddExclusiveUpperBoundPartitionKeyRaw()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::AddExclusiveUpperBoundPartitionKeyRaw </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>partition_key</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add an upper bound (exclusive) partition key for the scan.</p>
+<dl class="section note"><dt>Note</dt><dd>This method is unstable, and for internal use only.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">partition_key</td><td>The scanner makes a copy of the parameter, the caller may invalidate it afterward. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="aefb6badecb950d5089b2f9d29d1f2ffe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aefb6badecb950d5089b2f9d29d1f2ffe">&#9670;&nbsp;</a></span>AddExclusiveUpperBoundRaw()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::AddExclusiveUpperBoundRaw </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>key</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add an upper bound (exclusive) primary key for the scan.</p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd>Use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d">AddExclusiveUpperBound()</a> instead.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>The encoded primary key is an opaque slice of data. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a67691944fc112f43c565ab4486514b86"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a67691944fc112f43c565ab4486514b86">&#9670;&nbsp;</a></span>AddLowerBound()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::AddLowerBound </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td>
+          <td class="paramname"><em>key</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add a lower bound (inclusive) primary key for the scan.</p>
+<p>If any bound is already added, this bound is intersected with that one.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Lower bound primary key to add. The <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" title="Builds scan tokens for a table.">KuduScanTokenBuilder</a> instance does not take ownership of the parameter. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ab53b88307028a50f66bcffe5e78c6d6e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab53b88307028a50f66bcffe5e78c6d6e">&#9670;&nbsp;</a></span>AddLowerBoundPartitionKeyRaw()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::AddLowerBoundPartitionKeyRaw </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>partition_key</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add a lower bound (inclusive) partition key for the scan.</p>
+<dl class="section note"><dt>Note</dt><dd>This method is unstable, and for internal use only.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">partition_key</td><td>The scanner makes a copy of the parameter: the caller may invalidate it afterward. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a3e51a978f3e54237fa60f7447ef3436e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3e51a978f3e54237fa60f7447ef3436e">&#9670;&nbsp;</a></span>AddLowerBoundRaw()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::AddLowerBoundRaw </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>key</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add lower bound for the scan.</p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>Use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86">AddLowerBound()</a> instead.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>The primary key to use as an opaque slice of data. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ac673dd15cb038e75787af7e74087e874"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac673dd15cb038e75787af7e74087e874">&#9670;&nbsp;</a></span>Close()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::client::KuduScanner::Close </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Close the scanner.</p>
+<p>Closing the scanner releases resources on the server. This call does not block, and will not ever fail, even if the server cannot be contacted.</p>
+<dl class="section note"><dt>Note</dt><dd>The scanner is reset to its initial state by this function. You'll have to re-add any projection, predicates, etc if you want to reuse this object. </dd></dl>
+
+</div>
+</div>
+<a id="ac2bce7bd17627a3aa46f7d7fdb4c0c10"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac2bce7bd17627a3aa46f7d7fdb4c0c10">&#9670;&nbsp;</a></span>GetCurrentServer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::GetCurrentServer </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a> **&#160;</td>
+          <td class="paramname"><em>server</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html" title="In-memory representation of a remote tablet server.">KuduTabletServer</a> that is currently handling the scan.</p>
+<p>More concretely, this is the server that handled the most recent <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">Open()</a> or <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">NextBatch()</a> RPC made by the server.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">server</td><td>Placeholder for the result. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a1d27c0482c3697be6458ee300bf1250a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d27c0482c3697be6458ee300bf1250a">&#9670;&nbsp;</a></span>GetKuduTable()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">sp::shared_ptr&lt;<a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>&gt; kudu::client::KuduScanner::GetKuduTable </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1client_1_1KuduTable.html" title="A representation of a table on a particular cluster.">KuduTable</a> being scanned. </dd></dl>
+
+</div>
+</div>
+<a id="a698eb4ea965b5f7d32770fff46635b82"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a698eb4ea965b5f7d32770fff46635b82">&#9670;&nbsp;</a></span>GetProjectionSchema()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> kudu::client::KuduScanner::GetProjectionSchema </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Schema of the projection being scanned. </dd></dl>
+
+</div>
+</div>
+<a id="ae2cd8d87f9469665ae06bd00d11b8337"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae2cd8d87f9469665ae06bd00d11b8337">&#9670;&nbsp;</a></span>GetResourceMetrics()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">ResourceMetrics</a>&amp; kudu::client::KuduScanner::GetResourceMetrics </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Cumulative resource metrics since the scan was started. </dd></dl>
+
+</div>
+</div>
+<a id="a4c4f46e8da9053621727a2e365196c94"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4c4f46e8da9053621727a2e365196c94">&#9670;&nbsp;</a></span>HasMoreRows()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::client::KuduScanner::HasMoreRows </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check if there may be rows to be fetched from this scanner.</p>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> if there may be rows to be fetched from this scanner. The method returns <code>true</code> provided there's at least one more tablet left to scan, even if that tablet has no data (we'll only know once we scan it). It will also be <code>true</code> after the initially opening the scanner before NextBatch is called for the first time. </dd></dl>
+
+</div>
+</div>
+<a id="aa4a0caf7142880255d7aac1d75f33d21"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa4a0caf7142880255d7aac1d75f33d21">&#9670;&nbsp;</a></span>KeepAlive()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::KeepAlive </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Keep the current remote scanner alive.</p>
+<p>Keep the current remote scanner alive on the Tablet server for an additional time-to-live. This is useful if the interval in between <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">NextBatch()</a> calls is big enough that the remote scanner might be garbage collected. The scanner time-to-live can be configured on the tablet server via the &ndash;scanner_ttl_ms configuration flag and has a default of 60 seconds.</p>
+<p>This does not invalidate any previously fetched results.</p>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. In particular, this method returns a non-OK status if the scanner was already garbage collected or if the TabletServer was unreachable, for any reason. Note that a non-OK status returned by this method should not be taken as indication that the scan has failed. Subsequent calls to <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">NextBatch()</a> might still be successful, particularly if the scanner is configured to be fault tolerant. </dd></dl>
+
+</div>
+</div>
+<a id="a6508528f880d73d7d66e37752130fb81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6508528f880d73d7d66e37752130fb81">&#9670;&nbsp;</a></span>NextBatch() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::NextBatch </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">KuduColumnarScanBatch</a> *&#160;</td>
+          <td class="paramname"><em>batch</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Fetch the next batch of columnar results for this scanner.</p>
+<p>This variant may only be used when the scan is configured with the COLUMNAR_LAYOUT RowFormatFlag.</p>
+<p>A single <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html" title="A batch of columnar data returned from a scanner.">KuduColumnarScanBatch</a> object may be reused. Each subsequent call replaces the data from the previous call, and invalidates any <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> objects previously obtained from the batch. </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">batch</td><td>Placeholder for the result. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="af1475d9a0667839c1ed9c3714b47d487"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af1475d9a0667839c1ed9c3714b47d487">&#9670;&nbsp;</a></span>NextBatch() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::NextBatch </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a> *&#160;</td>
+          <td class="paramname"><em>batch</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Fetch the next batch of results for this scanner.</p>
+<p>This variant may not be used when the scan is configured with the COLUMNAR_LAYOUT RowFormatFlag.</p>
+<p>A single <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html" title="A batch of zero or more rows returned by a scan operation.">KuduScanBatch</a> object may be reused. Each subsequent call replaces the data from the previous call, and invalidates any <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> objects previously obtained from the batch. </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">batch</td><td>Placeholder for the result. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="af365f1d3b3b34aeb7d016727a9019067"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af365f1d3b3b34aeb7d016727a9019067">&#9670;&nbsp;</a></span>NextBatch() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::NextBatch </td>
+          <td>(</td>
+          <td class="paramtype">std::vector&lt; KuduRowResult &gt; *&#160;</td>
+          <td class="paramname"><em>rows</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get next batch of rows.</p>
+<p>Clears 'rows' and populates it with the next batch of rows from the tablet server. A call to <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">NextBatch()</a> invalidates all previously fetched results which might now be pointing to garbage memory.</p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>Use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487">NextBatch(KuduScanBatch*)</a> instead.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">rows</td><td>Placeholder for the result. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="aa1ff3c11d9ac9f8183189ea5ac1ed9f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">&#9670;&nbsp;</a></span>Open()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::Open </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Result status of the operation (begin scanning). </dd></dl>
+
+</div>
+</div>
+<a id="af82c4ccb442c222033841dd65cf5a67c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af82c4ccb442c222033841dd65cf5a67c">&#9670;&nbsp;</a></span>SetBatchSizeBytes()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetBatchSizeBytes </td>
+          <td>(</td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>batch_size</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the hint for the size of the next batch in bytes.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">batch_size</td><td>The hint of batch size to set. If setting to 0 before calling <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">Open()</a>, it means that the first call to the tablet server won't return data. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a4a4a2e354b3113561758b9bf4095d310"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a4a2e354b3113561758b9bf4095d310">&#9670;&nbsp;</a></span>SetCacheBlocks()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetCacheBlocks </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>cache_blocks</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the block caching policy.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">cache_blocks</td><td>If <code>true</code>, scanned data blocks will be cached in memory and made available for future scans. Default is <code>true</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a107a8a682c0977272e0ae47746d39e6f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a107a8a682c0977272e0ae47746d39e6f">&#9670;&nbsp;</a></span>SetFaultTolerant()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetFaultTolerant </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Make scans resumable at another tablet server if current server fails.</p>
+<p>Scans are by default non fault-tolerant, and scans will fail if scanning an individual tablet fails (for example, if a tablet server crashes in the middle of a tablet scan). If this method is called, scans will be resumed at another tablet server in the case of failure.</p>
+<p>Fault-tolerant scans typically have lower throughput than non fault-tolerant scans. Fault tolerant scans use <code>READ_AT_SNAPSHOT</code> mode: if no snapshot timestamp is provided, the server will pick one.</p>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a71608e5e773e74efe1e8ca2b881f14ac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a71608e5e773e74efe1e8ca2b881f14ac">&#9670;&nbsp;</a></span>SetLimit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetLimit </td>
+          <td>(</td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>limit</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the maximum number of rows the scanner should return.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">limit</td><td>Limit on the number of rows to return. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a93a87740ea75c9b6524dc229576b69fc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a93a87740ea75c9b6524dc229576b69fc">&#9670;&nbsp;</a></span>SetOrderMode()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetOrderMode </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">OrderMode</a>&#160;</td>
+          <td class="paramname"><em>order_mode</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000007">Deprecated:</a></b></dt><dd>Use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f">SetFaultTolerant()</a> instead.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">order_mode</td><td>Result record ordering mode to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a8d938c6efc1b36d456c91b5af0b1578d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8d938c6efc1b36d456c91b5af0b1578d">&#9670;&nbsp;</a></span>SetProjectedColumnIndexes()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetProjectedColumnIndexes </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
+          <td class="paramname"><em>col_indexes</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the column projection by passing the column indexes to read.</p>
+<p>Set the column projection used for this scanner by passing the column indices to read. A call to this method overrides any previous call to <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">SetProjectedColumnNames()</a> or <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d">SetProjectedColumnIndexes()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_indexes</td><td>Column indices for the projection. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="abb10b26056757bf81c410d3d5e6bcc01"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abb10b26056757bf81c410d3d5e6bcc01">&#9670;&nbsp;</a></span>SetProjectedColumnNames()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetProjectedColumnNames </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
+          <td class="paramname"><em>col_names</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the projection for the scanner using column names.</p>
+<p>Set the projection used for the scanner by passing column names to read. This overrides any previous call to <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">SetProjectedColumnNames()</a> or <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d">SetProjectedColumnIndexes()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_names</td><td>Column names to use for the projection. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a68e2115cde71e113674e7a8b4df399ad"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a68e2115cde71e113674e7a8b4df399ad">&#9670;&nbsp;</a></span>SetProjectedColumns()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetProjectedColumns </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
+          <td class="paramname"><em>col_names</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd>Use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">SetProjectedColumnNames()</a> instead.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_names</td><td>Column names to use for the projection. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a248e0a05e7bfdc31b5b8d363a937e81e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a248e0a05e7bfdc31b5b8d363a937e81e">&#9670;&nbsp;</a></span>SetReadMode()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetReadMode </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">ReadMode</a>&#160;</td>
+          <td class="paramname"><em>read_mode</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the ReadMode. Default is <code>READ_LATEST</code>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">read_mode</td><td>Read mode to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a3dbaf4c2db6a37517a242dcb8ee64c11"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3dbaf4c2db6a37517a242dcb8ee64c11">&#9670;&nbsp;</a></span>SetRowFormatFlags()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetRowFormatFlags </td>
+          <td>(</td>
+          <td class="paramtype">uint64_t&#160;</td>
+          <td class="paramname"><em>flags</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Optionally set row format modifier flags.</p>
+<p>If flags is RowFormatFlags::NO_FLAGS, then no modifications will be made to the row format and the default will be used.</p>
+<p>Some flags require server-side server-side support, thus the caller should be prepared to handle a NotSupported status in <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">Open()</a> and <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">NextBatch()</a>.</p>
+<p>Example usage (without error handling, for brevity): </p><div class="fragment"><div class="line"><a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180">KuduScanner</a> scanner(...);</div>
+<div class="line">uint64_t row_format_flags = <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85">KuduScanner::NO_FLAGS</a>;</div>
+<div class="line">row_format_flags |= <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44">KuduScanner::PAD_UNIXTIME_MICROS_TO_16_BYTES</a>;</div>
+<div class="line">scanner.SetRowFormatFlags(row_format_flags);</div>
+<div class="line">scanner.Open();</div>
+<div class="line"><span class="keywordflow">while</span> (scanner.HasMoreRows()) {</div>
+<div class="line">  KuduScanBatch batch;</div>
+<div class="line">  scanner.NextBatch(&amp;batch);</div>
+<div class="line">  Slice direct_data = batch.direct_data();</div>
+<div class="line">  Slice indirect_data = batch.indirect_data();</div>
+<div class="line">  ... <span class="comment">// Row data decoding and handling.</span></div>
+<div class="line">}</div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a2c621f778072a02f4092e96a0baf8180"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180">kudu::client::KuduScanner::KuduScanner</a></div><div class="ttdeci">KuduScanner(KuduTable *table)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a63cd270f3bc72f4197d2581ec8f8fc44"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44">kudu::client::KuduScanner::PAD_UNIXTIME_MICROS_TO_16_BYTES</a></div><div class="ttdeci">static const uint64_t PAD_UNIXTIME_MICROS_TO_16_BYTES</div><div class="ttdef"><b>Definition:</b> client.h:2856</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a68345956f3f4c7fd5e1665fd292f6a85"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85">kudu::client::KuduScanner::NO_FLAGS</a></div><div class="ttdeci">static const uint64_t NO_FLAGS</div><div class="ttdoc">No flags set.</div><div class="ttdef"><b>Definition:</b> client.h:2849</div></div>
+</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Row format modifier flags to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="af1db3f372fe3d0f30cd0b6a36b783cc8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af1db3f372fe3d0f30cd0b6a36b783cc8">&#9670;&nbsp;</a></span>SetSelection()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetSelection </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a>&#160;</td>
+          <td class="paramname"><em>selection</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the replica selection policy while scanning.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selection</td><td>The policy to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000007">Todo:</a></b></dt><dd>Kill this method in favor of a consistency-level-based API. </dd></dl>
+
+</div>
+</div>
+<a id="a5b36a405daf09399438d5501b25b9f9f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5b36a405daf09399438d5501b25b9f9f">&#9670;&nbsp;</a></span>SetSnapshotMicros()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetSnapshotMicros </td>
+          <td>(</td>
+          <td class="paramtype">uint64_t&#160;</td>
+          <td class="paramname"><em>snapshot_timestamp_micros</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set snapshot timestamp for scans in <code>READ_AT_SNAPSHOT</code> mode.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">snapshot_timestamp_micros</td><td>Timestamp to set in in microseconds since the Epoch. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ab13dbb301197b411dec4cd6870801bae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab13dbb301197b411dec4cd6870801bae">&#9670;&nbsp;</a></span>SetSnapshotRaw()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetSnapshotRaw </td>
+          <td>(</td>
+          <td class="paramtype">uint64_t&#160;</td>
+          <td class="paramname"><em>snapshot_timestamp</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set snapshot timestamp for scans in <code>READ_AT_SNAPSHOT</code> mode (raw).</p>
+<dl class="section note"><dt>Note</dt><dd>This method is experimental and will either disappear or change in a future release.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">snapshot_timestamp</td><td>Timestamp to set in raw encoded form (i.e. as returned by a previous call to a server). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a97c9f5e6a1056484c88ced411e19bee6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97c9f5e6a1056484c88ced411e19bee6">&#9670;&nbsp;</a></span>SetTimeoutMillis()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduScanner::SetTimeoutMillis </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>millis</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the maximum time that <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">Open()</a> and <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">NextBatch()</a> are allowed to take.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">millis</td><td>Timeout to set (in milliseconds). Must be greater than 0. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="aaf0d2cd7837f3d08866d6e5c1c3a0aae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaf0d2cd7837f3d08866d6e5c1c3a0aae">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string kudu::client::KuduScanner::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>String representation of this scan. </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a id="ac524332b8cfac93065b1006847b16f10"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac524332b8cfac93065b1006847b16f10">&#9670;&nbsp;</a></span>COLUMNAR_LAYOUT</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const uint64_t kudu::client::KuduScanner::COLUMNAR_LAYOUT = 1 &lt;&lt; 1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Enable column-oriented data transfer. The server will transfer data to the client in a columnar format rather than a row-wise format. The <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html" title="A batch of columnar data returned from a scanner.">KuduColumnarScanBatch</a> API must be used to fetch results from this scan.</p>
+<p>NOTE: older versions of the Kudu server do not support this feature. Clients aiming to support compatibility with previous versions should have a fallback code path. </p>
+
+</div>
+</div>
+<a id="a63cd270f3bc72f4197d2581ec8f8fc44"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63cd270f3bc72f4197d2581ec8f8fc44">&#9670;&nbsp;</a></span>PAD_UNIXTIME_MICROS_TO_16_BYTES</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const uint64_t kudu::client::KuduScanner::PAD_UNIXTIME_MICROS_TO_16_BYTES = 1 &lt;&lt; 0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section note"><dt>Note</dt><dd>This flag actually wastes throughput by making messages larger than they need to be. It exists merely for compatibility reasons and requires the user to know the row format in order to decode the data. That is, if this flag is enabled, the user <em>must</em> use <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992">KuduScanBatch::direct_data()</a> and <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989">KuduScanBatch::indirect_data()</a> to obtain the row data for further decoding. Using <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320">KuduScanBatch::Row()</a> might yield incorrect/corrupt results and might even cause the client to crash. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSchema-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSchema-members.html
new file mode 100644
index 0000000..38baec0
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSchema-members.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduSchema Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">CopyFrom</a>(const KuduSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>KuduSchema</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">KuduSchema</a>(const KuduSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">operator=</a>(const KuduSchema &amp;other)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">Reset</a>(const std::vector&lt; KuduColumnSchema &gt; &amp;columns, int key_columns) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduSchema</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSchema.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSchema.html
new file mode 100644
index 0000000..54830d6
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSchema.html
@@ -0,0 +1,221 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduSchema Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduSchema-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduSchema Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A representation of a table's schema.  
+ <a href="classkudu_1_1client_1_1KuduSchema.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="schema_8h_source.html">schema.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a41a683f3d93357fe68531bf71df39d02"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">KuduSchema</a> (const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;other)</td></tr>
+<tr class="separator:a41a683f3d93357fe68531bf71df39d02"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f51ccf1a7e6f4a4fe4958073305dbab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">Reset</a> (const std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &gt; &amp;columns, int key_columns) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a3f51ccf1a7e6f4a4fe4958073305dbab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Assign/copy the schema</div></td></tr>
+<tr class="memitem:a7d8f49f184a94cee7993158baf6ae758"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">operator=</a> (const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;other)</td></tr>
+<tr class="separator:a7d8f49f184a94cee7993158baf6ae758"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab146eab7c7fb9a5ea80a4466b5f68555"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">CopyFrom</a> (const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;other)</td></tr>
+<tr class="separator:ab146eab7c7fb9a5ea80a4466b5f68555"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A representation of a table's schema. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a41a683f3d93357fe68531bf71df39d02"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a683f3d93357fe68531bf71df39d02">&#9670;&nbsp;</a></span>KuduSchema()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::client::KuduSchema::KuduSchema </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a> object as a copy of the other one.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The other <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a> object to use as a reference. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="ab146eab7c7fb9a5ea80a4466b5f68555"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab146eab7c7fb9a5ea80a4466b5f68555">&#9670;&nbsp;</a></span>CopyFrom()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::client::KuduSchema::CopyFrom </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The source <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a> object to use as a reference. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a7d8f49f184a94cee7993158baf6ae758"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7d8f49f184a94cee7993158baf6ae758">&#9670;&nbsp;</a></span>operator=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; kudu::client::KuduSchema::operator= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>The source <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a> object to use as a reference. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Copy of 'other' </dd></dl>
+
+</div>
+</div>
+<a id="a3f51ccf1a7e6f4a4fe4958073305dbab"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3f51ccf1a7e6f4a4fe4958073305dbab">&#9670;&nbsp;</a></span>Reset()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSchema::Reset </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> &gt; &amp;&#160;</td>
+          <td class="paramname"><em>columns</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>key_columns</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000012">Deprecated:</a></b></dt><dd>This method will be removed soon.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000012">Todo:</a></b></dt><dd>Remove <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">KuduSchema::Reset()</a>.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Per-column schema information. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">key_columns</td><td>Number of key columns in the schema. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="schema_8h_source.html">schema.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder-members.html
new file mode 100644
index 0000000..6ad57e4
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder-members.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduSchemaBuilder Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">kudu::client::KuduSchemaBuilder</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">AddColumn</a>(const std::string &amp;name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">kudu::client::KuduSchemaBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15">Build</a>(KuduSchema *schema)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">kudu::client::KuduSchemaBuilder</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>KuduSchemaBuilder</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">kudu::client::KuduSchemaBuilder</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">kudu::client::KuduSchemaBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">SetPrimaryKey</a>(const std::vector&lt; std::string &gt; &amp;key_col_names)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">kudu::client::KuduSchemaBuilder</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduSchemaBuilder</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">kudu::client::KuduSchemaBuilder</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">kudu::client::KuduSchemaBuilder</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder.html
new file mode 100644
index 0000000..fc6bd3f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder.html
@@ -0,0 +1,195 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduSchemaBuilder Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduSchemaBuilder-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduSchemaBuilder Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Builder API for constructing a <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a> object.  
+ <a href="classkudu_1_1client_1_1KuduSchemaBuilder.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="schema_8h_source.html">schema.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0fdf28d49cc05ba4f3182f7398ddf600"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">AddColumn</a> (const std::string &amp;name)</td></tr>
+<tr class="separator:a0fdf28d49cc05ba4f3182f7398ddf600"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4c1619445fea575a775f23752b6bfb9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">SetPrimaryKey</a> (const std::vector&lt; std::string &gt; &amp;key_col_names)</td></tr>
+<tr class="separator:ad4c1619445fea575a775f23752b6bfb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af117e347a7d0910dda2695997859db15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15">Build</a> (<a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> *schema)</td></tr>
+<tr class="separator:af117e347a7d0910dda2695997859db15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Builder API for constructing a <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a> object. </p>
+<p>The API here is a "fluent" style of programming, such that the resulting code looks somewhat like a SQL "CREATE TABLE" statement. For example:</p>
+<p>SQL: </p><div class="fragment"><div class="line">CREATE TABLE t (</div>
+<div class="line">  my_key <span class="keywordtype">int</span> not <span class="keyword">null</span> primary key,</div>
+<div class="line">  a <span class="keywordtype">float</span> <span class="keywordflow">default</span> 1.5</div>
+<div class="line">);</div>
+</div><!-- fragment --><p>is represented as: </p><div class="fragment"><div class="line">KuduSchemaBuilder t;</div>
+<div class="line">t.AddColumn(<span class="stringliteral">&quot;my_key&quot;</span>)-&gt;Type(KuduColumnSchema::INT32)-&gt;NotNull()-&gt;PrimaryKey();</div>
+<div class="line">t.AddColumn(<span class="stringliteral">&quot;a&quot;</span>)-&gt;Type(KuduColumnSchema::FLOAT)-&gt;Default(<a class="code" href="classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a">KuduValue::FromFloat</a>(1.5));</div>
+<div class="line">KuduSchema schema;</div>
+<div class="line">t.Build(&amp;schema);</div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html_a6f4006a3ce0cab3dbf0b90b1915d535a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a">kudu::client::KuduValue::FromFloat</a></div><div class="ttdeci">static KuduValue * FromFloat(float val)</div></div>
+</div><!-- fragment --> </div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a0fdf28d49cc05ba4f3182f7398ddf600"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0fdf28d49cc05ba4f3182f7398ddf600">&#9670;&nbsp;</a></span>AddColumn()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduSchemaBuilder::AddColumn </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add a column with the specified name to the schema.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the column to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html" title="Builder API for specifying or altering a column within a table schema.">KuduColumnSpec</a> object for a new column within the Schema. The returned object is owned by the <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html" title="Builder API for constructing a KuduSchema object.">KuduSchemaBuilder</a>. </dd></dl>
+
+</div>
+</div>
+<a id="af117e347a7d0910dda2695997859db15"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af117e347a7d0910dda2695997859db15">&#9670;&nbsp;</a></span>Build()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSchemaBuilder::Build </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> *&#160;</td>
+          <td class="paramname"><em>schema</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Build the schema based on current configuration of the builder object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">schema</td><td>The placeholder for the result schema. Upon successful completion, the parameter is reset to the result of this builder: literally, calling <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">KuduSchema::Reset()</a> on the parameter. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. If the resulting would-be-schema is invalid for any reason (e.g. missing types, duplicate column names, etc.) a bad <a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> is returned. </dd></dl>
+
+</div>
+</div>
+<a id="ad4c1619445fea575a775f23752b6bfb9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad4c1619445fea575a775f23752b6bfb9">&#9670;&nbsp;</a></span>SetPrimaryKey()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>* kudu::client::KuduSchemaBuilder::SetPrimaryKey </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
+          <td class="paramname"><em>key_col_names</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the primary key of the new Schema based on the given column names.</p>
+<p>This may be used to specify a compound primary key.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">key_col_names</td><td>Names of the columns to include into the compound primary key. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the modified object. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="schema_8h_source.html">schema.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSession-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSession-members.html
new file mode 100644
index 0000000..37ac2b5
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSession-members.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduSession Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply</a>(KuduWriteOperation *write_op) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">AUTO_FLUSH_BACKGROUND</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b">AUTO_FLUSH_SYNC</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1">client</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">CLIENT_PROPAGATED</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436">Close</a>() WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9">COMMIT_WAIT</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112">CountBufferedOperations</a>() const ATTRIBUTE_DEPRECATED(&quot;this method is experimental and will disappear &quot; &quot;in a future release&quot;)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913">CountPendingErrors</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">ExternalConsistencyMode</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">Flush</a>() WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731">FlushAsync</a>(KuduStatusCallback *cb)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">FlushMode</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7">GetPendingErrors</a>(std::vector&lt; KuduError * &gt; *errors, bool *overflowed)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578">HasPendingOperations</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a">MANUAL_FLUSH</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5">SetErrorBufferSpace</a>(size_t size_bytes)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca">SetExternalConsistencyMode</a>(ExternalConsistencyMode m) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f">SetFlushMode</a>(FlushMode m) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941">SetMutationBufferFlushInterval</a>(unsigned int millis) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf">SetMutationBufferFlushWatermark</a>(double watermark_pct) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4">SetMutationBufferMaxNum</a>(unsigned int max_num) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf">SetMutationBufferSpace</a>(size_t size_bytes) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79">SetTimeoutMillis</a>(int millis)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduSession</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSession.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSession.html
new file mode 100644
index 0000000..e69e682
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSession.html
@@ -0,0 +1,675 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduSession Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduSession-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduSession Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Representation of a Kudu client session.  
+ <a href="classkudu_1_1client_1_1KuduSession.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduSession:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduSession.png" alt=""/>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aaec3956e642610d703f3b83b78e24e19"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">FlushMode</a> { <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b">AUTO_FLUSH_SYNC</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">AUTO_FLUSH_BACKGROUND</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a">MANUAL_FLUSH</a>
+ }</td></tr>
+<tr class="memdesc:aaec3956e642610d703f3b83b78e24e19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modes of flush operations.  <a href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">More...</a><br /></td></tr>
+<tr class="separator:aaec3956e642610d703f3b83b78e24e19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabd55109ba3b086bbe33b277cdd40d22"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">ExternalConsistencyMode</a> { <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">CLIENT_PROPAGATED</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9">COMMIT_WAIT</a>
+ }</td></tr>
+<tr class="memdesc:aabd55109ba3b086bbe33b277cdd40d22"><td class="mdescLeft">&#160;</td><td class="mdescRight">The possible external consistency modes on which Kudu operates.  <a href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">More...</a><br /></td></tr>
+<tr class="separator:aabd55109ba3b086bbe33b277cdd40d22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a83555781b5a037f87c215e565ecf1a8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f">SetFlushMode</a> (<a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">FlushMode</a> m) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a83555781b5a037f87c215e565ecf1a8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56d1c7f47dfcaf5121b15a4435a8eeca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca">SetExternalConsistencyMode</a> (<a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">ExternalConsistencyMode</a> m) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a56d1c7f47dfcaf5121b15a4435a8eeca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aefa9bbc51c27104ce103b9ecda3b8abf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf">SetMutationBufferSpace</a> (size_t size_bytes) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:aefa9bbc51c27104ce103b9ecda3b8abf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7311344cec37b3847217197c35467cdf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf">SetMutationBufferFlushWatermark</a> (double watermark_pct) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a7311344cec37b3847217197c35467cdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabe75f0688f992dbdb2694a50d07f941"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941">SetMutationBufferFlushInterval</a> (unsigned int millis) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:aabe75f0688f992dbdb2694a50d07f941"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9a96017f86bfb6348fca9bfa0b8b5a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4">SetMutationBufferMaxNum</a> (unsigned int max_num) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ac9a96017f86bfb6348fca9bfa0b8b5a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25b22362650d7120f59cc1025e40bd79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79">SetTimeoutMillis</a> (int millis)</td></tr>
+<tr class="separator:a25b22362650d7120f59cc1025e40bd79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad3f7324b27fca298c5ca3d07b4741943"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply</a> (<a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> *write_op) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ad3f7324b27fca298c5ca3d07b4741943"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a64955abb5f5cc821b6e56354f733ce84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">Flush</a> () WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a64955abb5f5cc821b6e56354f733ce84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8c68570479e95b325d8a5437eef8731"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731">FlushAsync</a> (<a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a> *cb)</td></tr>
+<tr class="separator:ad8c68570479e95b325d8a5437eef8731"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa5204844e361ecc3068fbc4e02fd4436"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436">Close</a> () WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:aa5204844e361ecc3068fbc4e02fd4436"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97a807a4f85220a0be72b2618f0bd578"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578">HasPendingOperations</a> () const</td></tr>
+<tr class="separator:a97a807a4f85220a0be72b2618f0bd578"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24e68920465b5bb06f0426dea5970112"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112">CountBufferedOperations</a> () const ATTRIBUTE_DEPRECATED(&quot;this method is experimental and will disappear &quot; &quot;in a future release&quot;)</td></tr>
+<tr class="separator:a24e68920465b5bb06f0426dea5970112"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af1c5e5e8faba286cddc266057e9a82d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5">SetErrorBufferSpace</a> (size_t size_bytes)</td></tr>
+<tr class="separator:af1c5e5e8faba286cddc266057e9a82d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8836aa2b627defd9ff8e567dd5e17913"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913">CountPendingErrors</a> () const</td></tr>
+<tr class="separator:a8836aa2b627defd9ff8e567dd5e17913"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5e3521623338de49cfd62914bdcb2f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7">GetPendingErrors</a> (std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduError.html">KuduError</a> * &gt; *errors, bool *overflowed)</td></tr>
+<tr class="separator:ad5e3521623338de49cfd62914bdcb2f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a551fc897a7776d870bfe3d7fe403aca1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1">client</a> () const</td></tr>
+<tr class="separator:a551fc897a7776d870bfe3d7fe403aca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Representation of a Kudu client session. </p>
+<p>A <a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> belongs to a specific <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a>, and represents a context in which all read/write data access should take place. Within a session, multiple operations may be accumulated and batched together for better efficiency. Settings like timeouts, priorities, and trace IDs are also set per session.</p>
+<p>A <a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a>'s main purpose is for grouping together multiple data-access operations together into batches or transactions. It is important to note the distinction between these two:</p>
+<ul>
+<li>A batch is a set of operations which are grouped together in order to amortize fixed costs such as RPC call overhead and round trip times. A batch DOES NOT imply any ACID-like guarantees. Within a batch, some operations may succeed while others fail, and concurrent readers may see partial results. If the client crashes mid-batch, it is possible that some of the operations will be made durable while others were lost. </li>
+<li>In contrast, a transaction is a set of operations which are treated as an indivisible semantic unit, per the usual definitions of database transactions and isolation levels.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>Kudu does not currently support transactions! They are only mentioned in the above documentation to clarify that batches are not transactional and should only be used for efficiency.</dd></dl>
+<p><a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> is separate from <a class="el" href="classkudu_1_1client_1_1KuduTable.html" title="A representation of a table on a particular cluster.">KuduTable</a> because a given batch or transaction may span multiple tables. This is particularly important in the future when we add ACID support, but even in the context of batching, we may be able to coalesce writes to different tables hosted on the same server into the same RPC.</p>
+<p><a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> is separate from <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> because, in a multi-threaded application, different threads may need to concurrently execute transactions. Similar to a JDBC "session", transaction boundaries will be delineated on a per-session basis &ndash; in between a "BeginTransaction" and "Commit" call on a given session, all operations will be part of the same transaction. Meanwhile another concurrent Session object can safely run non-transactional work or other transactions without interfering.</p>
+<p>Additionally, there is a guarantee that writes from different sessions do not get batched together into the same RPCs &ndash; this means that latency-sensitive clients can run through the same <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> object as throughput-oriented clients, perhaps by setting the latency-sensitive session's timeouts low and priorities high. Without the separation of batches, a latency-sensitive single-row insert might get batched along with 10MB worth of inserts from the batch writer, thus delaying the response significantly.</p>
+<p>Though we currently do not have transactional support, users will be forced to use a <a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> to instantiate reads as well as writes. This will make it more straight-forward to add RW transactions in the future without significant modifications to the API.</p>
+<p>Users who are familiar with the Hibernate ORM framework should find this concept of a Session familiar.</p>
+<dl class="section note"><dt>Note</dt><dd>This class is not thread-safe. </dd></dl>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="aabd55109ba3b086bbe33b277cdd40d22"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aabd55109ba3b086bbe33b277cdd40d22">&#9670;&nbsp;</a></span>ExternalConsistencyMode</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">kudu::client::KuduSession::ExternalConsistencyMode</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>The possible external consistency modes on which Kudu operates. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c"></a>CLIENT_PROPAGATED&#160;</td><td class="fielddoc"><p>The response to any write will contain a timestamp. Any further calls from the same client to other servers will update those servers with that timestamp. Following write operations from the same client will be assigned timestamps that are strictly higher, enforcing external consistency without having to wait or incur any latency penalties.</p>
+<p>In order to maintain external consistency for writes between two different clients in this mode, the user must forward the timestamp from the first client to the second by using <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">KuduClient::GetLatestObservedTimestamp()</a> and <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">KuduClient::SetLatestObservedTimestamp()</a>.</p>
+<p>This is the default external consistency mode.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Failure to propagate timestamp information through back-channels between two different clients will negate any external consistency guarantee under this mode. </dd></dl>
+</td></tr>
+<tr><td class="fieldname"><a id="aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9"></a>COMMIT_WAIT&#160;</td><td class="fielddoc"><p>The server will guarantee that write operations from the same or from other client are externally consistent, without the need to propagate timestamps across clients. This is done by making write operations wait until there is certainty that all follow up write operations (operations that start after the previous one finishes) will be assigned a timestamp that is strictly higher, enforcing external consistency.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the clock synchronization state of TabletServers this may imply considerable latency. Moreover operations in <code>COMMIT_WAIT</code> external consistency mode will outright fail if TabletServer clocks are either unsynchronized or synchronized but with a maximum error which surpasses a pre-configured threshold. </dd></dl>
+</td></tr>
+</table>
+
+</div>
+</div>
+<a id="aaec3956e642610d703f3b83b78e24e19"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaec3956e642610d703f3b83b78e24e19">&#9670;&nbsp;</a></span>FlushMode</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">kudu::client::KuduSession::FlushMode</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Modes of flush operations. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b"></a>AUTO_FLUSH_SYNC&#160;</td><td class="fielddoc"><p>Every write will be sent to the server in-band with the <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> call. No batching will occur. In this mode, the <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">Flush()</a> call never has any effect, since each <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> call has already flushed the buffer. This is the default flush mode. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1"></a>AUTO_FLUSH_BACKGROUND&#160;</td><td class="fielddoc"><p><a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> calls will return immediately (unless there is not enough buffer space to accommodate the newly added operations), but the writes will be sent in the background, potentially batched together with other writes from the same session. If there is not sufficient buffer space, <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> blocks for buffer space to become available.</p>
+<p>Because writes are applied in the background, any errors will be stored in a session-local buffer. Call <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913">CountPendingErrors()</a> or <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7">GetPendingErrors()</a> to retrieve them.</p>
+<p>In this mode, calling the <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731">FlushAsync()</a> or <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">Flush()</a> methods causes a flush that normally would have happened at some point in the near future to happen right now. The <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">Flush()</a> call can be used to block until the current batch is sent and the reclaimed space is available for new operations.</p>
+<dl class="section attention"><dt>Attention</dt><dd>The <code>AUTO_FLUSH_BACKGROUND</code> mode, when used in conjunction with a <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4">KuduSession::SetMutationBufferMaxNum()</a> of greater than 1 (the default is 2), may result in out-of-order writes. This is because the buffers may flush concurrently, so multiple write operations may be sent to the server in parallel. See <a href="https://issues.apache.org/jira/browse/KUDU-1767">KUDU-1767</a> for more information.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>Provide an API for the user to specify a callback to do their own error reporting. </dd></dl>
+</td></tr>
+<tr><td class="fieldname"><a id="aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a"></a>MANUAL_FLUSH&#160;</td><td class="fielddoc"><p><a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> calls will return immediately, and the writes will not be sent until the user calls <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">Flush()</a>. If the buffer runs past the configured space limit, then <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> will return an error.</p>
+<dl class="section attention"><dt>Attention</dt><dd>The <code>MANUAL_FLUSH</code> mode, when used in conjunction with a <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4">KuduSession::SetMutationBufferMaxNum()</a> of greater than 1 (the default is 2), may result in out-of-order writes if <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731">KuduSession::FlushAsync()</a> is used. This is because the buffers may flush concurrently, so multiple write operations may be sent to the server in parallel. See <a href="https://issues.apache.org/jira/browse/KUDU-1767">KUDU-1767</a> for more information. </dd></dl>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="ad3f7324b27fca298c5ca3d07b4741943"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad3f7324b27fca298c5ca3d07b4741943">&#9670;&nbsp;</a></span>Apply()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSession::Apply </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> *&#160;</td>
+          <td class="paramname"><em>write_op</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>Add "doAs" ability here for proxy servers to be able to act on behalf of other users, assuming access rights. </dd></dl>
+<p>Apply the write operation.</p>
+<p>The behavior of this function depends on the current flush mode. Regardless of flush mode, however, <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> may begin to perform processing in the background for the call (e.g. looking up the tablet, etc). Given that, an error may be queued into the PendingErrors structure prior to flushing, even in <code>MANUAL_FLUSH</code> mode.</p>
+<p>In case of any error, which may occur during flushing or because the write_op is malformed, the write_op is stored in the session's error collector which may be retrieved at any time.</p>
+<p>A <a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> accumulates write operations submitted via the <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> method in mutation buffers. A <a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> always has at least one mutation buffer. In any flush mode, this call may block if the maximum number of mutation buffers per session is reached (use <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4">KuduSession::SetMutationBufferMaxNum()</a> to set the limit on maximum number of batchers).</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">write_op</td><td>Operation to apply. This method transfers the write_op's ownership to the <a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a551fc897a7776d870bfe3d7fe403aca1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a551fc897a7776d870bfe3d7fe403aca1">&#9670;&nbsp;</a></span>client()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* kudu::client::KuduSession::client </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Client for the session: pointer to the associated client object. </dd></dl>
+
+</div>
+</div>
+<a id="aa5204844e361ecc3068fbc4e02fd4436"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa5204844e361ecc3068fbc4e02fd4436">&#9670;&nbsp;</a></span>Close()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSession::Close </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> of the session closure. In particular, an error is returned if there are non-flushed or in-flight operations. </dd></dl>
+
+</div>
+</div>
+<a id="a24e68920465b5bb06f0426dea5970112"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a24e68920465b5bb06f0426dea5970112">&#9670;&nbsp;</a></span>CountBufferedOperations()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int kudu::client::KuduSession::CountBufferedOperations </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get number of buffered operations (not the same as 'pending').</p>
+<p>Note that this is different than <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578">HasPendingOperations()</a> above, which includes operations which have been sent and not yet responded to.</p>
+<p>This method is most relevant in <code>MANUAL_FLUSH</code> mode, where the result count stays valid until next explicit flush or <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> call. There is not much sense using this method in other flush modes: </p><ul>
+<li>in <code>AUTO_FLUSH_SYNC</code> mode, the data is immediately put en-route to the destination by <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> method itself, so this method always returns zero. </li>
+<li>in <code>AUTO_FLUSH_BACKGROUND</code> mode, the result count returned by this method expires unpredictably and there isn't any guaranteed validity interval for the result: the background flush task can run any moment, invalidating the result.</li>
+</ul>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>This method is experimental and will disappear in a future release.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The number of buffered operations. These are operations that have not yet been flushed &ndash; i.e. they are not en-route yet. </dd></dl>
+
+</div>
+</div>
+<a id="a8836aa2b627defd9ff8e567dd5e17913"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8836aa2b627defd9ff8e567dd5e17913">&#9670;&nbsp;</a></span>CountPendingErrors()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int kudu::client::KuduSession::CountPendingErrors </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get error count for pending operations.</p>
+<p>Errors may accumulate in session's lifetime; use this method to see how many errors happened since last call of <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7">GetPendingErrors()</a> method. The error count includes both the accumulated and dropped errors. An error might be dropped due to the limit on the error buffer size; see the <a class="el" href="classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5">SetErrorBufferSpace()</a> method for details.</p>
+<dl class="section return"><dt>Returns</dt><dd>Total count of errors accumulated during the session. </dd></dl>
+
+</div>
+</div>
+<a id="a64955abb5f5cc821b6e56354f733ce84"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a64955abb5f5cc821b6e56354f733ce84">&#9670;&nbsp;</a></span>Flush()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSession::Flush </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Flush any pending writes.</p>
+<p>This method initiates flushing of the current batch of buffered write operations, if any, and then waits for the completion of all pending operations of the session. I.e., after successful return from this method no pending operations should be left in the session.</p>
+<p>In <code>AUTO_FLUSH_SYNC</code> mode, calling this method has no effect, since every <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> call flushes itself inline.</p>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. In particular, returns a non-OK status if there are any pending errors after the rows have been flushed. Callers should then use GetPendingErrors to determine which specific operations failed. </dd></dl>
+
+</div>
+</div>
+<a id="ad8c68570479e95b325d8a5437eef8731"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8c68570479e95b325d8a5437eef8731">&#9670;&nbsp;</a></span>FlushAsync()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::client::KuduSession::FlushAsync </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a> *&#160;</td>
+          <td class="paramname"><em>cb</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Flush any pending writes asynchronously.</p>
+<p>This method schedules a background flush of the latest batch of buffered write operations. Provided callback is invoked upon the flush completion of the latest batch of buffered write operations. If there were errors while flushing the operations, corresponding 'not OK' status is passed as a parameter for the callback invocation. Callers should then use <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7">GetPendingErrors()</a> to determine which specific operations failed.</p>
+<p>In the case that the async version of this method is used, then the callback will be called upon completion of the operations which were buffered since the last flush. In other words, in the following sequence: </p><div class="fragment"><div class="line">session-&gt;Insert(a);</div>
+<div class="line">session-&gt;FlushAsync(callback_1);</div>
+<div class="line">session-&gt;Insert(b);</div>
+<div class="line">session-&gt;FlushAsync(callback_2);</div>
+</div><!-- fragment --><p> ... <code>callback_2</code> will be triggered once <code>b</code> has been inserted, regardless of whether <code>a</code> has completed or not. That means there might be pending operations left in prior batches even after the callback has been invoked to report on the flush status of the latest batch.</p>
+<dl class="section note"><dt>Note</dt><dd>This also means that, if FlushAsync is called twice in succession, with no intervening operations, the second flush will return immediately. For example: <div class="fragment"><div class="line">session-&gt;Insert(a);</div>
+<div class="line">session-&gt;FlushAsync(callback_1); <span class="comment">// called when &#39;a&#39; is inserted</span></div>
+<div class="line">session-&gt;FlushAsync(callback_2); <span class="comment">// called immediately!</span></div>
+</div><!-- fragment --> Note that, as in all other async functions in Kudu, the callback may be called either from an IO thread or the same thread which calls FlushAsync. The callback should not block.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">cb</td><td>Callback to call upon flush completion. The <code>cb</code> must remain valid until it is invoked. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="ad5e3521623338de49cfd62914bdcb2f7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad5e3521623338de49cfd62914bdcb2f7">&#9670;&nbsp;</a></span>GetPendingErrors()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::client::KuduSession::GetPendingErrors </td>
+          <td>(</td>
+          <td class="paramtype">std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduError.html">KuduError</a> * &gt; *&#160;</td>
+          <td class="paramname"><em>errors</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool *&#160;</td>
+          <td class="paramname"><em>overflowed</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get information on errors from previous session activity.</p>
+<p>The information on errors are reset upon calling this method.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">errors</td><td>Pointer to the container to fill with error info objects. Caller takes ownership of the returned errors in the container. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">overflowed</td><td>If there were more errors than could be held in the session's error buffer, then <code>overflowed</code> is set to <code>true</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a97a807a4f85220a0be72b2618f0bd578"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97a807a4f85220a0be72b2618f0bd578">&#9670;&nbsp;</a></span>HasPendingOperations()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::client::KuduSession::HasPendingOperations </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check if there are any pending operations in this session.</p>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> if there are operations which have not yet been delivered to the cluster. This may include buffered operations (i.e. those that have not yet been flushed) as well as in-flight operations (i.e. those that are in the process of being sent to the servers).</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>Maybe "incomplete" or "undelivered" is clearer? </dd></dl>
+
+</div>
+</div>
+<a id="af1c5e5e8faba286cddc266057e9a82d5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af1c5e5e8faba286cddc266057e9a82d5">&#9670;&nbsp;</a></span>SetErrorBufferSpace()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSession::SetErrorBufferSpace </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>size_bytes</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set limit on maximum buffer (memory) size used by this session's errors. By default, when a session is created, there is no limit on maximum size.</p>
+<p>The session's error buffer contains information on failed write operations. In most cases, the error contains the row which would be applied as is. If the error buffer space limit is set, the number of errors which fit into the buffer varies depending on error conditions, write operation types (insert/update/delete), and write operation row sizes.</p>
+<p>When the limit is set, the session will drop the first error that would overflow the buffer as well as all subsequent errors. To resume the accumulation of session errors, it's necessary to flush the current contents of the error buffer using the <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7">GetPendingErrors()</a> method.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">size_bytes</td><td>Limit on the maximum memory size consumed by collected session errors, where <code>0</code> means 'unlimited'. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. An error is returned on an attempt to set the limit on the buffer space if: <ul>
+<li>the session has already dropped at least one error since the last call to the <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7">GetPendingErrors()</a> method </li>
+<li>the new limit is less than the amount of space occupied by already accumulated errors. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a56d1c7f47dfcaf5121b15a4435a8eeca"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56d1c7f47dfcaf5121b15a4435a8eeca">&#9670;&nbsp;</a></span>SetExternalConsistencyMode()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSession::SetExternalConsistencyMode </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">ExternalConsistencyMode</a>&#160;</td>
+          <td class="paramname"><em>m</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set external consistency mode for the session.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>External consistency mode to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a83555781b5a037f87c215e565ecf1a8f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a83555781b5a037f87c215e565ecf1a8f">&#9670;&nbsp;</a></span>SetFlushMode()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSession::SetFlushMode </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">FlushMode</a>&#160;</td>
+          <td class="paramname"><em>m</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the flush mode.</p>
+<dl class="section pre"><dt>Precondition</dt><dd>There should be no pending writes &ndash; call <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">Flush()</a> first to ensure nothing is pending.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>Flush mode to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation status. </dd></dl>
+
+</div>
+</div>
+<a id="aabe75f0688f992dbdb2694a50d07f941"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aabe75f0688f992dbdb2694a50d07f941">&#9670;&nbsp;</a></span>SetMutationBufferFlushInterval()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSession::SetMutationBufferFlushInterval </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&#160;</td>
+          <td class="paramname"><em>millis</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the interval for time-based flushing of the mutation buffer.</p>
+<p>In some cases, while running in AUTO_FLUSH_BACKGROUND mode, the size of the mutation buffer for pending operations and the flush watermark for fresh operations may be too high for the rate of incoming data: it would take too long to accumulate enough data in the buffer to trigger flushing. I.e., it makes sense to flush the accumulated operations if the prior flush happened long time ago. This method sets the wait interval for the time-based flushing which takes place along with the flushing triggered by the over-the-watermark criterion. By default, the interval is set to 1000 ms (i.e. 1 second).</p>
+<dl class="section note"><dt>Note</dt><dd>This setting is applicable only for AUTO_FLUSH_BACKGROUND sessions. I.e., calling this method in other flush modes is safe, but the parameter has no effect until the session is switched into AUTO_FLUSH_BACKGROUND mode.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">millis</td><td>The duration of the interval for the time-based flushing, in milliseconds. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a7311344cec37b3847217197c35467cdf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7311344cec37b3847217197c35467cdf">&#9670;&nbsp;</a></span>SetMutationBufferFlushWatermark()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSession::SetMutationBufferFlushWatermark </td>
+          <td>(</td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>watermark_pct</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the buffer watermark to trigger flush in AUTO_FLUSH_BACKGROUND mode.</p>
+<p>This method sets the watermark for fresh operations in the buffer when running in AUTO_FLUSH_BACKGROUND mode: once the specified threshold is reached, the session starts sending the accumulated write operations to the appropriate tablet servers. By default, the buffer flush watermark is to to 50%.</p>
+<dl class="section note"><dt>Note</dt><dd>This setting is applicable only for AUTO_FLUSH_BACKGROUND sessions. I.e., calling this method in other flush modes is safe, but the parameter has no effect until the session is switched into AUTO_FLUSH_BACKGROUND mode.</dd>
+<dd>
+The buffer contains data for fresh (i.e. newly submitted) operations and also operations which are scheduled for flush or being flushed. The flush watermark determines how much of the buffer space is taken by newly submitted operations. Setting this level to 1.0 (i.e. 100%) results in flushing the buffer only when the newly applied operation would overflow the buffer.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">watermark_pct</td><td>Watermark level as percentage of the mutation buffer size. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ac9a96017f86bfb6348fca9bfa0b8b5a4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac9a96017f86bfb6348fca9bfa0b8b5a4">&#9670;&nbsp;</a></span>SetMutationBufferMaxNum()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSession::SetMutationBufferMaxNum </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&#160;</td>
+          <td class="paramname"><em>max_num</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the maximum number of mutation buffers per <a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> object.</p>
+<p>A <a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> accumulates write operations submitted via the <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply()</a> method in mutation buffers. A <a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> always has at least one mutation buffer. The mutation buffer which accumulates new incoming operations is called the <em>current mutation buffer</em>. The current mutation buffer is flushed either explicitly using the <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">KuduSession::Flush()</a> and/or <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731">KuduSession::FlushAsync()</a> methods or it's done by the <a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> automatically if running in AUTO_FLUSH_BACKGROUND mode. After flushing the current mutation buffer, a new buffer is created upon calling <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a>, provided the limit is not exceeded. A call to <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a> blocks if it's at the maximum number of buffers allowed; the call unblocks as soon as one of the pending batchers finished flushing and a new batcher can be created.</p>
+<p>The minimum setting for this parameter is 1 (one). The default setting for this parameter is 2 (two).</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">max_num</td><td>The maximum number of mutation buffers per <a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a> object to hold the applied operations. Use <code>0</code> to set the maximum number of concurrent mutation buffers to unlimited. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="aefa9bbc51c27104ce103b9ecda3b8abf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aefa9bbc51c27104ce103b9ecda3b8abf">&#9670;&nbsp;</a></span>SetMutationBufferSpace()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduSession::SetMutationBufferSpace </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>size_bytes</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the amount of buffer space used by this session for outbound writes.</p>
+<p>The effect of the buffer size varies based on the flush mode of the session: </p><ul>
+<li>AUTO_FLUSH_SYNC since no buffering is done, this has no effect. </li>
+<li>AUTO_FLUSH_BACKGROUND if the buffer space is exhausted, then write calls will block until there is space available in the buffer. </li>
+<li>MANUAL_FLUSH if the buffer space is exhausted, then write calls will return an error</li>
+</ul>
+<p>By default, the buffer space is set to 7 MiB (i.e. 7 * 1024 * 1024 bytes).</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">size_bytes</td><td>Size of the buffer space to set (number of bytes). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a25b22362650d7120f59cc1025e40bd79"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25b22362650d7120f59cc1025e40bd79">&#9670;&nbsp;</a></span>SetTimeoutMillis()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::client::KuduSession::SetTimeoutMillis </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>millis</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the timeout for writes made in this session.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">millis</td><td>Timeout to set in milliseconds; should be greater or equal to 0. If the parameter value is less than 0, it's implicitly set to 0. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSession.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSession.png
new file mode 100644
index 0000000..2c92c7e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduSession.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback-members.html
new file mode 100644
index 0000000..91509e5
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback-members.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduStatusCallback Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>KuduStatusCallback</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07">Run</a>(const Status &amp;s)=0</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduStatusCallback</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.html
new file mode 100644
index 0000000..3baeb05
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduStatusCallback Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduStatusCallback-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduStatusCallback Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The interface for all status callbacks.  
+ <a href="classkudu_1_1client_1_1KuduStatusCallback.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="callbacks_8h_source.html">callbacks.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduStatusCallback:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduStatusCallback.png" usemap="#kudu::client::KuduStatusCallback_map" alt=""/>
+  <map id="kudu::client::KuduStatusCallback_map" name="kudu::client::KuduStatusCallback_map">
+<area href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html" title="The status callback that invokes a function by pointer with a single argument." alt="kudu::client::KuduStatusFunctionCallback&lt; T &gt;" shape="rect" coords="0,56,273,80"/>
+<area href="classkudu_1_1client_1_1KuduStatusMemberCallback.html" title="The status callback that invokes a member function of an object." alt="kudu::client::KuduStatusMemberCallback&lt; T &gt;" shape="rect" coords="283,56,556,80"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a2333beedb1d0c08a8c127b4552fbeb07"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07">Run</a> (const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;s)=0</td></tr>
+<tr class="separator:a2333beedb1d0c08a8c127b4552fbeb07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The interface for all status callbacks. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a2333beedb1d0c08a8c127b4552fbeb07"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2333beedb1d0c08a8c127b4552fbeb07">&#9670;&nbsp;</a></span>Run()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void kudu::client::KuduStatusCallback::Run </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Notify/report on the status.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The status to report. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implemented in <a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a">kudu::client::KuduStatusFunctionCallback&lt; T &gt;</a>, and <a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232">kudu::client::KuduStatusMemberCallback&lt; T &gt;</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="callbacks_8h_source.html">callbacks.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.png
new file mode 100644
index 0000000..a886eae
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback-members.html
new file mode 100644
index 0000000..2d60b45
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback-members.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">KuduStatusFunctionCallback</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduStatusFunctionCallback&lt; T &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">kudu::client::KuduStatusFunctionCallback&lt; T &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910">FunctionType</a> typedef</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">kudu::client::KuduStatusFunctionCallback&lt; T &gt;</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>KuduStatusCallback</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b">KuduStatusFunctionCallback</a>(FunctionType function, T arg)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">kudu::client::KuduStatusFunctionCallback&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a">Run</a>(const Status &amp;s) OVERRIDE</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">kudu::client::KuduStatusFunctionCallback&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduStatusCallback</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.html
new file mode 100644
index 0000000..d61099d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.html
@@ -0,0 +1,209 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduStatusFunctionCallback&lt; T &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">KuduStatusFunctionCallback</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduStatusFunctionCallback-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduStatusFunctionCallback&lt; T &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The status callback that invokes a function by pointer with a single argument.  
+ <a href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="callbacks_8h_source.html">callbacks.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduStatusFunctionCallback&lt; T &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduStatusFunctionCallback.png" usemap="#kudu::client::KuduStatusFunctionCallback_3C_20T_20_3E_map" alt=""/>
+  <map id="kudu::client::KuduStatusFunctionCallback_3C_20T_20_3E_map" name="kudu::client::KuduStatusFunctionCallback_3C_20T_20_3E_map">
+<area href="classkudu_1_1client_1_1KuduStatusCallback.html" title="The interface for all status callbacks." alt="kudu::client::KuduStatusCallback" shape="rect" coords="0,0,273,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a20c231ae32873ea7f462b8f3ea05d910"><td class="memItemLeft" align="right" valign="top"><a id="a20c231ae32873ea7f462b8f3ea05d910"></a>
+typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910">FunctionType</a>) (T arg, const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;s)</td></tr>
+<tr class="memdesc:a20c231ae32873ea7f462b8f3ea05d910"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handy typedef for the function with appropriate signature. <br /></td></tr>
+<tr class="separator:a20c231ae32873ea7f462b8f3ea05d910"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aca289bbf6ad9720bd74a90550f6c9b3b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b">KuduStatusFunctionCallback</a> (<a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910">FunctionType</a> function, T arg)</td></tr>
+<tr class="separator:aca289bbf6ad9720bd74a90550f6c9b3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4c3e7fbd4fed52bcba220f95a27f70a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a">Run</a> (const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;s) OVERRIDE</td></tr>
+<tr class="separator:af4c3e7fbd4fed52bcba220f95a27f70a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename T&gt;<br />
+class kudu::client::KuduStatusFunctionCallback&lt; T &gt;</h3>
+
+<p>The status callback that invokes a function by pointer with a single argument. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="aca289bbf6ad9720bd74a90550f6c9b3b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aca289bbf6ad9720bd74a90550f6c9b3b">&#9670;&nbsp;</a></span>KuduStatusFunctionCallback()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">kudu::client::KuduStatusFunctionCallback</a>&lt; T &gt;::<a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">KuduStatusFunctionCallback</a> </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910">FunctionType</a>&#160;</td>
+          <td class="paramname"><em>function</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">T&#160;</td>
+          <td class="paramname"><em>arg</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Build an instance of <a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html" title="The status callback that invokes a function by pointer with a single argument.">KuduStatusFunctionCallback</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>A pointer to the status report function to invoke with the <code>arg</code> argument. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>An argument for the function invocation. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="af4c3e7fbd4fed52bcba220f95a27f70a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af4c3e7fbd4fed52bcba220f95a27f70a">&#9670;&nbsp;</a></span>Run()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void <a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html">kudu::client::KuduStatusFunctionCallback</a>&lt; T &gt;::Run </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Notify/report on the status.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The status to report. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07">kudu::client::KuduStatusCallback</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="callbacks_8h_source.html">callbacks.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.png
new file mode 100644
index 0000000..a6d0f5d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback-members.html
new file mode 100644
index 0000000..daf0c43
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback-members.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">KuduStatusMemberCallback</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduStatusMemberCallback&lt; T &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">kudu::client::KuduStatusMemberCallback&lt; T &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>KuduStatusCallback</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa">KuduStatusMemberCallback</a>(T *object, MemberType member)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">kudu::client::KuduStatusMemberCallback&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a">MemberType</a> typedef</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">kudu::client::KuduStatusMemberCallback&lt; T &gt;</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232">Run</a>(const Status &amp;s) OVERRIDE</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">kudu::client::KuduStatusMemberCallback&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduStatusCallback</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.html
new file mode 100644
index 0000000..5cd0ade
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.html
@@ -0,0 +1,209 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduStatusMemberCallback&lt; T &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">KuduStatusMemberCallback</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduStatusMemberCallback-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduStatusMemberCallback&lt; T &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The status callback that invokes a member function of an object.  
+ <a href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="callbacks_8h_source.html">callbacks.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduStatusMemberCallback&lt; T &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduStatusMemberCallback.png" usemap="#kudu::client::KuduStatusMemberCallback_3C_20T_20_3E_map" alt=""/>
+  <map id="kudu::client::KuduStatusMemberCallback_3C_20T_20_3E_map" name="kudu::client::KuduStatusMemberCallback_3C_20T_20_3E_map">
+<area href="classkudu_1_1client_1_1KuduStatusCallback.html" title="The interface for all status callbacks." alt="kudu::client::KuduStatusCallback" shape="rect" coords="0,0,270,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a1ad9e466506c3453cdd8429d5744f17a"><td class="memItemLeft" align="right" valign="top"><a id="a1ad9e466506c3453cdd8429d5744f17a"></a>
+typedef void(T::*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a">MemberType</a>) (const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;s)</td></tr>
+<tr class="memdesc:a1ad9e466506c3453cdd8429d5744f17a"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handy typedef for the member with appropriate signature. <br /></td></tr>
+<tr class="separator:a1ad9e466506c3453cdd8429d5744f17a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:acdb02b9798adf2c80b39cfb024f199aa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa">KuduStatusMemberCallback</a> (T *object, <a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a">MemberType</a> member)</td></tr>
+<tr class="separator:acdb02b9798adf2c80b39cfb024f199aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94bde1bdcb3cde6f78b11d822be19232"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232">Run</a> (const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;s) OVERRIDE</td></tr>
+<tr class="separator:a94bde1bdcb3cde6f78b11d822be19232"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename T&gt;<br />
+class kudu::client::KuduStatusMemberCallback&lt; T &gt;</h3>
+
+<p>The status callback that invokes a member function of an object. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="acdb02b9798adf2c80b39cfb024f199aa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acdb02b9798adf2c80b39cfb024f199aa">&#9670;&nbsp;</a></span>KuduStatusMemberCallback()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">kudu::client::KuduStatusMemberCallback</a>&lt; T &gt;::<a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">KuduStatusMemberCallback</a> </td>
+          <td>(</td>
+          <td class="paramtype">T *&#160;</td>
+          <td class="paramname"><em>object</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a">MemberType</a>&#160;</td>
+          <td class="paramname"><em>member</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Build an instance of the <a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html" title="The status callback that invokes a member function of an object.">KuduStatusMemberCallback</a> class.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>A pointer to the object. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">member</td><td>A pointer to the member function of the <code>object</code> to invoke. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a94bde1bdcb3cde6f78b11d822be19232"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a94bde1bdcb3cde6f78b11d822be19232">&#9670;&nbsp;</a></span>Run()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void <a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html">kudu::client::KuduStatusMemberCallback</a>&lt; T &gt;::Run </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Status.html">Status</a> &amp;&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p></p>
+<p>Notify/report on the status.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The status to report. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07">kudu::client::KuduStatusCallback</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="callbacks_8h_source.html">callbacks.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.png
new file mode 100644
index 0000000..0483afb
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTable-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTable-members.html
new file mode 100644
index 0000000..6c60b75
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTable-members.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTable Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf">client</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b">comment</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec">extra_configs</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20">id</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">name</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">NewComparisonPredicate</a>(const Slice &amp;col_name, KuduPredicate::ComparisonOp op, KuduValue *value)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a">NewDelete</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094">NewDeleteIgnore</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">NewInBloomFilterPredicate</a>(const Slice &amp;col_name, std::vector&lt; KuduBloomFilter * &gt; *bloom_filters)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3">NewInBloomFilterPredicate</a>(const Slice &amp;col_name, const std::vector&lt; Slice &gt; &amp;bloom_filters)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9">NewInListPredicate</a>(const Slice &amp;col_name, std::vector&lt; KuduValue * &gt; *values)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">NewInsert</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103">NewInsertIgnore</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523">NewIsNotNullPredicate</a>(const Slice &amp;col_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">NewIsNullPredicate</a>(const Slice &amp;col_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8">NewUpdate</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3">NewUpdateIgnore</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc">NewUpsert</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed">num_replicas</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">owner</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2">partition_schema</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c">schema</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduTable</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTable.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTable.html
new file mode 100644
index 0000000..5985811
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTable.html
@@ -0,0 +1,670 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduTable Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduTable-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTable Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A representation of a table on a particular cluster.  
+ <a href="classkudu_1_1client_1_1KuduTable.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduTable:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduTable.png" alt=""/>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ae1ada81a49d909fab15694ed3e2f5244"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">name</a> () const</td></tr>
+<tr class="separator:ae1ada81a49d909fab15694ed3e2f5244"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5436bdd675d45de6c2980f3a05f5e20"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20">id</a> () const</td></tr>
+<tr class="separator:ac5436bdd675d45de6c2980f3a05f5e20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aefc75c9c36846675e4b8bd53075f6f5c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c">schema</a> () const</td></tr>
+<tr class="separator:aefc75c9c36846675e4b8bd53075f6f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f24cd5f89f247933976076fbeafec9b"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b">comment</a> () const</td></tr>
+<tr class="separator:a4f24cd5f89f247933976076fbeafec9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac8f62fdc5c12af06fc9cec0f1d006fed"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed">num_replicas</a> () const</td></tr>
+<tr class="separator:ac8f62fdc5c12af06fc9cec0f1d006fed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58abf46f2fe2cd2adab8c7a872cd0a3d"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">owner</a> () const</td></tr>
+<tr class="separator:a58abf46f2fe2cd2adab8c7a872cd0a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c78f86c5d0fbf53437c2c9db26f92b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduInsert.html">KuduInsert</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">NewInsert</a> ()</td></tr>
+<tr class="separator:a0c78f86c5d0fbf53437c2c9db26f92b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2cc4b8f9fcbff1450d0a056e8f9a8103"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html">KuduInsertIgnore</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103">NewInsertIgnore</a> ()</td></tr>
+<tr class="separator:a2cc4b8f9fcbff1450d0a056e8f9a8103"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a19e92dbaeeff86c5d707b15b2a7051fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html">KuduUpsert</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc">NewUpsert</a> ()</td></tr>
+<tr class="separator:a19e92dbaeeff86c5d707b15b2a7051fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e95271452d608fc2b563f7b46ddcda8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html">KuduUpdate</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8">NewUpdate</a> ()</td></tr>
+<tr class="separator:a7e95271452d608fc2b563f7b46ddcda8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf0432f09886b3df1ab64c61227f4bf3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">KuduUpdateIgnore</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3">NewUpdateIgnore</a> ()</td></tr>
+<tr class="separator:abf0432f09886b3df1ab64c61227f4bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad873078bdbcafe015d359a65c370a89a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduDelete.html">KuduDelete</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a">NewDelete</a> ()</td></tr>
+<tr class="separator:ad873078bdbcafe015d359a65c370a89a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab4f670329e21099dadafa574c4ad094"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">KuduDeleteIgnore</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094">NewDeleteIgnore</a> ()</td></tr>
+<tr class="separator:aab4f670329e21099dadafa574c4ad094"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed6c3571aff35270a3e6cd66770f1cea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">NewComparisonPredicate</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">KuduPredicate::ComparisonOp</a> op, <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *value)</td></tr>
+<tr class="separator:aed6c3571aff35270a3e6cd66770f1cea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a356e8d0d10491d4d8540adefac86be94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">NewInBloomFilterPredicate</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a> * &gt; *bloom_filters)</td></tr>
+<tr class="separator:a356e8d0d10491d4d8540adefac86be94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a453ffb83cf7c12541caba5ea182fadd9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9">NewInListPredicate</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> * &gt; *values)</td></tr>
+<tr class="separator:a453ffb83cf7c12541caba5ea182fadd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6e70f115cf3c0359b1c170533a2d523"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523">NewIsNotNullPredicate</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name)</td></tr>
+<tr class="separator:af6e70f115cf3c0359b1c170533a2d523"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f453909cdeda167ad15506358470466"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">NewIsNullPredicate</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name)</td></tr>
+<tr class="separator:a5f453909cdeda167ad15506358470466"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a23a66ada3e868985467b2ded94cb24bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf">client</a> () const</td></tr>
+<tr class="separator:a23a66ada3e868985467b2ded94cb24bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f3728fb6eab9e1d099f02e378c27af2"><td class="memItemLeft" align="right" valign="top">const PartitionSchema &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2">partition_schema</a> () const</td></tr>
+<tr class="separator:a0f3728fb6eab9e1d099f02e378c27af2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79eae97f8828a50d0d21d85c623bd0ec"><td class="memItemLeft" align="right" valign="top">const std::map&lt; std::string, std::string &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec">extra_configs</a> () const</td></tr>
+<tr class="separator:a79eae97f8828a50d0d21d85c623bd0ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Advanced/Unstable API</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>There are no guarantees on the stability of this client API. </p>
+</div></td></tr>
+<tr class="memitem:aff0381dcf80981edfa7182618b9fc7a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3">NewInBloomFilterPredicate</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;col_name, const std::vector&lt; <a class="el" href="classkudu_1_1Slice.html">Slice</a> &gt; &amp;bloom_filters)</td></tr>
+<tr class="separator:aff0381dcf80981edfa7182618b9fc7a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A representation of a table on a particular cluster. </p>
+<p>A <a class="el" href="classkudu_1_1client_1_1KuduTable.html" title="A representation of a table on a particular cluster.">KuduTable</a> holds the current schema of the table. Any given <a class="el" href="classkudu_1_1client_1_1KuduTable.html" title="A representation of a table on a particular cluster.">KuduTable</a> object belongs to a specific <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> object.</p>
+<p>Upon construction, the table is looked up in the catalog (or catalog cache), and the schema fetched for introspection.</p>
+<p>This class is also a factory for write operation on the table. The provided operations are: </p><ul>
+<li>INSERT Adds a new row. Fails if the row already exists. </li>
+<li>UPSERT Adds a new row. If there's an existing row, updates it. </li>
+<li>UPDATE Updates an existing row. Fails if the row does not exist. </li>
+<li>DELETE Deletes an existing row. Fails if the row does not exist.</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>This class is thread-safe. </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a23a66ada3e868985467b2ded94cb24bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a23a66ada3e868985467b2ded94cb24bf">&#9670;&nbsp;</a></span>client()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* kudu::client::KuduTable::client </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> object associated with the table. The caller should not free the returned pointer. </dd></dl>
+
+</div>
+</div>
+<a id="a4f24cd5f89f247933976076fbeafec9b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4f24cd5f89f247933976076fbeafec9b">&#9670;&nbsp;</a></span>comment()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string&amp; kudu::client::KuduTable::comment </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Comment string for the table. </dd></dl>
+
+</div>
+</div>
+<a id="a79eae97f8828a50d0d21d85c623bd0ec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a79eae97f8828a50d0d21d85c623bd0ec">&#9670;&nbsp;</a></span>extra_configs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::map&lt;std::string, std::string&gt;&amp; kudu::client::KuduTable::extra_configs </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The table's extra configuration properties. </dd></dl>
+
+</div>
+</div>
+<a id="ac5436bdd675d45de6c2980f3a05f5e20"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5436bdd675d45de6c2980f3a05f5e20">&#9670;&nbsp;</a></span>id()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string&amp; kudu::client::KuduTable::id </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the table's ID.</p>
+<p>This is an internal identifier which uniquely identifies a table. If the table is deleted and recreated with the same name, the ID will distinguish the old table from the new.</p>
+<dl class="section return"><dt>Returns</dt><dd>Identifier string for the table. </dd></dl>
+
+</div>
+</div>
+<a id="ae1ada81a49d909fab15694ed3e2f5244"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae1ada81a49d909fab15694ed3e2f5244">&#9670;&nbsp;</a></span>name()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string&amp; kudu::client::KuduTable::name </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Name of the table. </dd></dl>
+
+</div>
+</div>
+<a id="aed6c3571aff35270a3e6cd66770f1cea"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aed6c3571aff35270a3e6cd66770f1cea">&#9670;&nbsp;</a></span>NewComparisonPredicate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* kudu::client::KuduTable::NewComparisonPredicate </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">KuduPredicate::ComparisonOp</a>&#160;</td>
+          <td class="paramname"><em>op</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *&#160;</td>
+          <td class="paramname"><em>value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a new comparison predicate.</p>
+<p>This method creates new instance of a comparison predicate which can be used for scanners on this table object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of column to use for comparison. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Comparison operator to use. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The type of the value must correspond to the type of the column to which the predicate is to be applied. For example, if the given column is any type of integer, the <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> should also be an integer, with its value in the valid range for the column type. No attempt is made to cast between floating point and integer values, or numeric and string values. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to instance of comparison predicate. The caller owns the result until it is passed into <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">KuduScanner::AddConjunctPredicate()</a>. The returned predicate object takes ownership over the <code>value</code> Non-NULL is returned both in success and error cases. In the case of an error (e.g. invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a <a class="el" href="classkudu_1_1client_1_1KuduScanner.html" title="This class is a representation of a single scan.">KuduScanner</a>. </dd></dl>
+
+</div>
+</div>
+<a id="ad873078bdbcafe015d359a65c370a89a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad873078bdbcafe015d359a65c370a89a">&#9670;&nbsp;</a></span>NewDelete()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduDelete.html">KuduDelete</a>* kudu::client::KuduTable::NewDelete </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>New <code>DELETE</code> operation for this table. It is the caller's responsibility to free the result, unless it is passed to <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a>. </dd></dl>
+
+</div>
+</div>
+<a id="aab4f670329e21099dadafa574c4ad094"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aab4f670329e21099dadafa574c4ad094">&#9670;&nbsp;</a></span>NewDeleteIgnore()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">KuduDeleteIgnore</a>* kudu::client::KuduTable::NewDeleteIgnore </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>New <code>DELETE_IGNORE</code> operation for this table. It is the caller's responsibility to free the result, unless it is passed to <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a>. </dd></dl>
+
+</div>
+</div>
+<a id="aff0381dcf80981edfa7182618b9fc7a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aff0381dcf80981edfa7182618b9fc7a3">&#9670;&nbsp;</a></span>NewInBloomFilterPredicate() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* kudu::client::KuduTable::NewInBloomFilterPredicate </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::vector&lt; <a class="el" href="classkudu_1_1Slice.html">Slice</a> &gt; &amp;&#160;</td>
+          <td class="paramname"><em>bloom_filters</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a new IN Bloom filter predicate using direct BlockBloomFilter pointers which can be used for scanners on this table.</p>
+<p>A Bloom filter is a space-efficient probabilistic data structure used to test set membership with a possibility of false positive matches.</p>
+<p>IN list predicate can be used with small number of values; on the other hand with IN Bloom filter predicate large number of values can be tested for membership in a space-efficient manner.</p>
+<p>IN Bloom filter predicate may be automatically disabled if determined to be ineffective in filtering rows during scan requests.</p>
+<p>Users are expected to perform further filtering to guard against false positives and automatic disablement of an ineffective Bloom filter predicate to get precise set membership information.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This method is experimental and may change or disappear in future.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column to which the predicate applies. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">bloom_filters</td><td>Vector of BlockBloomFilter pointers that contain the values inserted to match against the column. The column value must match against all the supplied Bloom filters to be returned by the scanner. On return, regardless of success or error, the returned predicate will NOT take ownership of the pointers contained in <code>bloom_filters</code> and caller is responsible for the lifecycle management of the Bloom filters. The supplied Bloom filters are expected to remain valid for the lifetime of the <a class="el" href="classkudu_1_1client_1_1KuduScanner.html" title="This class is a representation of a single scan.">KuduScanner</a>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to an IN Bloom filter predicate. The caller owns the predicate until it is passed into <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">KuduScanner::AddConjunctPredicate()</a>. In the case of an error (e.g. an invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a <a class="el" href="classkudu_1_1client_1_1KuduScanner.html" title="This class is a representation of a single scan.">KuduScanner</a>. </dd></dl>
+
+</div>
+</div>
+<a id="a356e8d0d10491d4d8540adefac86be94"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a356e8d0d10491d4d8540adefac86be94">&#9670;&nbsp;</a></span>NewInBloomFilterPredicate() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* kudu::client::KuduTable::NewInBloomFilterPredicate </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a> * &gt; *&#160;</td>
+          <td class="paramname"><em>bloom_filters</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a new IN Bloom filter predicate which can be used for scanners on this table.</p>
+<p>A Bloom filter is a space-efficient probabilistic data structure used to test set membership with a possibility of false positive matches. See <code><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html" title="Bloom filter to be used with IN Bloom filter predicate.">KuduBloomFilter</a></code> for creating Bloom filters.</p>
+<p>IN list predicate can be used with small number of values; on the other hand with IN Bloom filter predicate large number of values can be tested for membership in a space-efficient manner.</p>
+<p>IN Bloom filter predicate may be automatically disabled if determined to be ineffective in filtering rows during scan requests.</p>
+<p>Users are expected to perform further filtering to guard against false positives and automatic disablement of an ineffective Bloom filter predicate to get precise set membership information.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column to which the predicate applies. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">bloom_filters</td><td>Vector of Bloom filters that contain the values inserted to match against the column. The column value must match against all the supplied Bloom filters to be returned by the scanner. On return, regardless of success or error, the returned predicate will take ownership of the pointers contained in <code>bloom_filters</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to an IN Bloom filter predicate. The caller owns the predicate until it is passed into <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">KuduScanner::AddConjunctPredicate()</a>. In the case of an error (e.g. an invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a <a class="el" href="classkudu_1_1client_1_1KuduScanner.html" title="This class is a representation of a single scan.">KuduScanner</a>. </dd></dl>
+
+</div>
+</div>
+<a id="a453ffb83cf7c12541caba5ea182fadd9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a453ffb83cf7c12541caba5ea182fadd9">&#9670;&nbsp;</a></span>NewInListPredicate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* kudu::client::KuduTable::NewInListPredicate </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">std::vector&lt; <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> * &gt; *&#160;</td>
+          <td class="paramname"><em>values</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a new IN list predicate which can be used for scanners on this table.</p>
+<p>The IN list predicate is used to specify a list of values that a column must match. A row is filtered from the scan if the value of the column does not equal any value from the list.</p>
+<p>The type of entries in the list must correspond to the type of the column to which the predicate is to be applied. For example, if the given column is any type of integer, the KuduValues should also be integers, with the values in the valid range for the column type. No attempt is made to cast between floating point and integer values, or numeric and string values.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column to which the predicate applies. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">values</td><td>Vector of values which the column will be matched against. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to an IN list predicate. The caller owns the predicate until it is passed into <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">KuduScanner::AddConjunctPredicate()</a>. The returned predicate takes ownership of the values vector and its elements. In the case of an error (e.g. an invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a <a class="el" href="classkudu_1_1client_1_1KuduScanner.html" title="This class is a representation of a single scan.">KuduScanner</a>. </dd></dl>
+
+</div>
+</div>
+<a id="a0c78f86c5d0fbf53437c2c9db26f92b6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c78f86c5d0fbf53437c2c9db26f92b6">&#9670;&nbsp;</a></span>NewInsert()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduInsert.html">KuduInsert</a>* kudu::client::KuduTable::NewInsert </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>New <code>INSERT</code> operation for this table. It is the caller's responsibility to free the result, unless it is passed to <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a>. </dd></dl>
+
+</div>
+</div>
+<a id="a2cc4b8f9fcbff1450d0a056e8f9a8103"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2cc4b8f9fcbff1450d0a056e8f9a8103">&#9670;&nbsp;</a></span>NewInsertIgnore()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html">KuduInsertIgnore</a>* kudu::client::KuduTable::NewInsertIgnore </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>New <code>INSERT_IGNORE</code> operation for this table. It is the caller's responsibility to free the result, unless it is passed to <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a>. </dd></dl>
+
+</div>
+</div>
+<a id="af6e70f115cf3c0359b1c170533a2d523"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af6e70f115cf3c0359b1c170533a2d523">&#9670;&nbsp;</a></span>NewIsNotNullPredicate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* kudu::client::KuduTable::NewIsNotNullPredicate </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a new IS NOT NULL predicate which can be used for scanners on this table.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column to which the predicate applies </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to an IS NOT NULL predicate. The caller owns the predicate until it is passed into <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">KuduScanner::AddConjunctPredicate()</a>. In the case of an error (e.g. an invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a <a class="el" href="classkudu_1_1client_1_1KuduScanner.html" title="This class is a representation of a single scan.">KuduScanner</a>. </dd></dl>
+
+</div>
+</div>
+<a id="a5f453909cdeda167ad15506358470466"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f453909cdeda167ad15506358470466">&#9670;&nbsp;</a></span>NewIsNullPredicate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* kudu::client::KuduTable::NewIsNullPredicate </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>col_name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a new IS NULL predicate which can be used for scanners on this table.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">col_name</td><td>Name of the column to which the predicate applies </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to an IS NULL predicate. The caller owns the predicate until it is passed into <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">KuduScanner::AddConjunctPredicate()</a>. In the case of an error (e.g. an invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a <a class="el" href="classkudu_1_1client_1_1KuduScanner.html" title="This class is a representation of a single scan.">KuduScanner</a>. </dd></dl>
+
+</div>
+</div>
+<a id="a7e95271452d608fc2b563f7b46ddcda8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7e95271452d608fc2b563f7b46ddcda8">&#9670;&nbsp;</a></span>NewUpdate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html">KuduUpdate</a>* kudu::client::KuduTable::NewUpdate </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>New <code>UPDATE</code> operation for this table. It is the caller's responsibility to free the result, unless it is passed to <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a>. </dd></dl>
+
+</div>
+</div>
+<a id="abf0432f09886b3df1ab64c61227f4bf3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abf0432f09886b3df1ab64c61227f4bf3">&#9670;&nbsp;</a></span>NewUpdateIgnore()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">KuduUpdateIgnore</a>* kudu::client::KuduTable::NewUpdateIgnore </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>New <code>UPDATE_IGNORE</code> operation for this table. It is the caller's responsibility to free the result, unless it is passed to <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a>. </dd></dl>
+
+</div>
+</div>
+<a id="a19e92dbaeeff86c5d707b15b2a7051fc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a19e92dbaeeff86c5d707b15b2a7051fc">&#9670;&nbsp;</a></span>NewUpsert()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html">KuduUpsert</a>* kudu::client::KuduTable::NewUpsert </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>New <code>UPSERT</code> operation for this table. It is the caller's responsibility to free the result, unless it is passed to <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">KuduSession::Apply()</a>. </dd></dl>
+
+</div>
+</div>
+<a id="ac8f62fdc5c12af06fc9cec0f1d006fed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac8f62fdc5c12af06fc9cec0f1d006fed">&#9670;&nbsp;</a></span>num_replicas()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int kudu::client::KuduTable::num_replicas </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Replication factor of the table. </dd></dl>
+
+</div>
+</div>
+<a id="a58abf46f2fe2cd2adab8c7a872cd0a3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a58abf46f2fe2cd2adab8c7a872cd0a3d">&#9670;&nbsp;</a></span>owner()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string&amp; kudu::client::KuduTable::owner </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Owner of the table (empty string if unset). </dd></dl>
+
+</div>
+</div>
+<a id="a0f3728fb6eab9e1d099f02e378c27af2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0f3728fb6eab9e1d099f02e378c27af2">&#9670;&nbsp;</a></span>partition_schema()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const PartitionSchema&amp; kudu::client::KuduTable::partition_schema </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The partition schema for the table. </dd></dl>
+
+</div>
+</div>
+<a id="aefc75c9c36846675e4b8bd53075f6f5c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aefc75c9c36846675e4b8bd53075f6f5c">&#9670;&nbsp;</a></span>schema()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; kudu::client::KuduTable::schema </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Reference to the table's schema object. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTable.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTable.png
new file mode 100644
index 0000000..e143f6b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTable.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer-members.html
new file mode 100644
index 0000000..9526bd9
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer-members.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTableAlterer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0">AddColumn</a>(const std::string &amp;name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793">AddRangePartition</a>(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006">AddRangePartitionWithDimension</a>(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, const std::string &amp;dimension_label, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">Alter</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742">AlterColumn</a>(const std::string &amp;name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541">AlterExtraConfig</a>(const std::map&lt; std::string, std::string &gt; &amp;extra_configs)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7">DropColumn</a>(const std::string &amp;name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7">DropRangePartition</a>(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324">RenameTo</a>(const std::string &amp;new_name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6">SetComment</a>(const std::string &amp;new_comment)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8">SetOwner</a>(const std::string &amp;new_owner)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27">SetTableDiskSizeLimit</a>(int64_t disk_size_limit)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe">SetTableRowCountLimit</a>(int64_t row_count_limit)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">timeout</a>(const MonoDelta &amp;timeout)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">wait</a>(bool wait)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduTableAlterer</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer.html
new file mode 100644
index 0000000..ca381a2
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer.html
@@ -0,0 +1,627 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduTableAlterer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduTableAlterer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTableAlterer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Alters an existing table based on the provided steps.  
+ <a href="classkudu_1_1client_1_1KuduTableAlterer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aca8ea8d7b65e6952c76fd97f12d5b324"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324">RenameTo</a> (const std::string &amp;new_name)</td></tr>
+<tr class="separator:aca8ea8d7b65e6952c76fd97f12d5b324"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c97cc290258e86adaa2ea87393b93a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8">SetOwner</a> (const std::string &amp;new_owner)</td></tr>
+<tr class="separator:a2c97cc290258e86adaa2ea87393b93a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dc99957dac9029dd5ecd0f41b3d2fe6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6">SetComment</a> (const std::string &amp;new_comment)</td></tr>
+<tr class="separator:a9dc99957dac9029dd5ecd0f41b3d2fe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb9406a6a254997dd584ce6c2cf51cd0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0">AddColumn</a> (const std::string &amp;name)</td></tr>
+<tr class="separator:acb9406a6a254997dd584ce6c2cf51cd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d62bfbcfab6b99dcb057e7f7a4cf742"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742">AlterColumn</a> (const std::string &amp;name)</td></tr>
+<tr class="separator:a6d62bfbcfab6b99dcb057e7f7a4cf742"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5a4ec376ec53ba912b85ea0057d10a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7">DropColumn</a> (const std::string &amp;name)</td></tr>
+<tr class="separator:ac5a4ec376ec53ba912b85ea0057d10a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a521a968f4db133a10629f76c75dde793"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793">AddRangePartition</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *lower_bound, <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *upper_bound, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>)</td></tr>
+<tr class="separator:a521a968f4db133a10629f76c75dde793"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a82d41c8e7181875c6a29bd3ce6f006"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006">AddRangePartitionWithDimension</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *lower_bound, <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *upper_bound, const std::string &amp;dimension_label, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>)</td></tr>
+<tr class="separator:a8a82d41c8e7181875c6a29bd3ce6f006"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab0f8abf78d35725198876aaa04b737a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7">DropRangePartition</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *lower_bound, <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *upper_bound, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>)</td></tr>
+<tr class="separator:ab0f8abf78d35725198876aaa04b737a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3eec4fd1b1c1d0245052599aa2692541"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541">AlterExtraConfig</a> (const std::map&lt; std::string, std::string &gt; &amp;extra_configs)</td></tr>
+<tr class="separator:a3eec4fd1b1c1d0245052599aa2692541"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af39c953344e62d09e0170c5371f2ab27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27">SetTableDiskSizeLimit</a> (int64_t disk_size_limit)</td></tr>
+<tr class="separator:af39c953344e62d09e0170c5371f2ab27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae5eedc7d2bf9c3f69073701444808fbe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe">SetTableRowCountLimit</a> (int64_t row_count_limit)</td></tr>
+<tr class="separator:ae5eedc7d2bf9c3f69073701444808fbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add2961a41c37a6b0fd869e0f553a04a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">timeout</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;timeout)</td></tr>
+<tr class="separator:add2961a41c37a6b0fd869e0f553a04a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86e6d55d0888d4bc99789b1dcd0e5646"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">wait</a> (bool wait)</td></tr>
+<tr class="separator:a86e6d55d0888d4bc99789b1dcd0e5646"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14768f28048355d997e0ed4fa82e218c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">Alter</a> ()</td></tr>
+<tr class="separator:a14768f28048355d997e0ed4fa82e218c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Alters an existing table based on the provided steps. </p>
+<p>Create a new instance of a table alterer using <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">KuduClient::NewTableAlterer()</a>. An example of usage: </p><div class="fragment"><div class="line">std::unique_ptr&lt;KuduTableAlterer&gt; alterer(</div>
+<div class="line">  client-&gt;NewTableAlterer(<span class="stringliteral">&quot;table-name&quot;</span>));</div>
+<div class="line">alterer-&gt;AddColumn(<span class="stringliteral">&quot;foo&quot;</span>)-&gt;Type(KuduColumnSchema::INT32)-&gt;NotNull();</div>
+<div class="line">alterer-&gt;AlterColumn(<span class="stringliteral">&quot;bar&quot;</span>)-&gt;Compression(KuduColumnStorageAttributes::LZ4);</div>
+<div class="line">Status s = alterer-&gt;Alter();</div>
+</div><!-- fragment --> </div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="acb9406a6a254997dd584ce6c2cf51cd0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acb9406a6a254997dd584ce6c2cf51cd0">&#9670;&nbsp;</a></span>AddColumn()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduTableAlterer::AddColumn </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add a new column to the table.</p>
+<p>When adding a column, you must specify the default value of the new column using KuduColumnSpec::DefaultValue(...).</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">name</td><td>Name of the column do add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the result ColumnSpec object. The alterer keeps ownership of the newly created object. </dd></dl>
+
+</div>
+</div>
+<a id="a521a968f4db133a10629f76c75dde793"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a521a968f4db133a10629f76c75dde793">&#9670;&nbsp;</a></span>AddRangePartition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::AddRangePartition </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
+          <td class="paramname"><em>lower_bound</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
+          <td class="paramname"><em>upper_bound</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a>&#160;</td>
+          <td class="paramname"><em>lower_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a></code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a>&#160;</td>
+          <td class="paramname"><em>upper_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a></code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add a range partition to the table with the specified lower bound and upper bound.</p>
+<dl class="section note"><dt>Note</dt><dd>The table alterer takes ownership of the rows.</dd>
+<dd>
+Multiple range partitions may be added as part of a single alter table transaction by calling this method multiple times on the table alterer.</dd>
+<dd>
+This client may immediately write and scan the new tablets when <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">Alter()</a> returns success, however other existing clients may have to wait for a timeout period to elapse before the tablets become visible. This period is configured by the master's 'table_locations_ttl_ms' flag, and defaults to 5 minutes.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound</td><td>The lower bound of the range partition to add. If the row is empty, then the lower bound is unbounded. If any of the columns are unset, the logical minimum value for the column's type will be used by default. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound</td><td>The upper bound of the range partition to add. If the row is empty, then the upper bound is unbounded. If any of the individual columns are unset, the logical minimum value for the column' type will be used by default. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to exclusive. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<a id="a8a82d41c8e7181875c6a29bd3ce6f006"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8a82d41c8e7181875c6a29bd3ce6f006">&#9670;&nbsp;</a></span>AddRangePartitionWithDimension()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::AddRangePartitionWithDimension </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
+          <td class="paramname"><em>lower_bound</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
+          <td class="paramname"><em>upper_bound</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>dimension_label</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a>&#160;</td>
+          <td class="paramname"><em>lower_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a></code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a>&#160;</td>
+          <td class="paramname"><em>upper_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a></code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add a range partition to the table with dimension label.</p>
+<dl class="section note"><dt>Note</dt><dd>The table alterer takes ownership of the rows.</dd>
+<dd>
+Multiple range partitions may be added as part of a single alter table transaction by calling this method multiple times on the table alterer.</dd>
+<dd>
+This client may immediately write and scan the new tablets when <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">Alter()</a> returns success, however other existing clients may have to wait for a timeout period to elapse before the tablets become visible. This period is configured by the master's 'table_locations_ttl_ms' flag, and defaults to 5 minutes.</dd>
+<dd>
+See <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">KuduTableCreator::dimension_label()</a> for details on dimension label.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound</td><td>The lower bound of the range partition to add. If the row is empty, then the lower bound is unbounded. If any of the columns are unset, the logical minimum value for the column's type will be used by default. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound</td><td>The upper bound of the range partition to add. If the row is empty, then the upper bound is unbounded. If any of the individual columns are unset, the logical minimum value for the column' type will be used by default. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">dimension_label</td><td>The dimension label for the tablet to be created. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to exclusive. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<a id="a14768f28048355d997e0ed4fa82e218c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a14768f28048355d997e0ed4fa82e218c">&#9670;&nbsp;</a></span>Alter()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTableAlterer::Alter </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> of the ALTER TABLE operation. The return value may indicate an error in the alter operation, or a misuse of the builder (e.g. add_column() with default_value=NULL). In the latter case, only the last error is returned. </dd></dl>
+
+</div>
+</div>
+<a id="a6d62bfbcfab6b99dcb057e7f7a4cf742"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d62bfbcfab6b99dcb057e7f7a4cf742">&#9670;&nbsp;</a></span>AlterColumn()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* kudu::client::KuduTableAlterer::AlterColumn </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Alter an existing column.</p>
+<dl class="section note"><dt>Note</dt><dd>The column may not be in the primary key.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the column to alter. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the result ColumnSpec object. The alterer keeps ownership of the newly created object. </dd></dl>
+
+</div>
+</div>
+<a id="a3eec4fd1b1c1d0245052599aa2692541"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3eec4fd1b1c1d0245052599aa2692541">&#9670;&nbsp;</a></span>AlterExtraConfig()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::AlterExtraConfig </td>
+          <td>(</td>
+          <td class="paramtype">const std::map&lt; std::string, std::string &gt; &amp;&#160;</td>
+          <td class="paramname"><em>extra_configs</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Change the table's extra configuration properties.</p>
+<dl class="section note"><dt>Note</dt><dd>These configuration properties will be merged into existing configuration properties.</dd>
+<dd>
+If the value of the kv pair is empty, the property will be unset.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">extra_configs</td><td>The table's extra configuration properties. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<a id="ac5a4ec376ec53ba912b85ea0057d10a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5a4ec376ec53ba912b85ea0057d10a7">&#9670;&nbsp;</a></span>DropColumn()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::DropColumn </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Drops an existing column from the table.</p>
+<dl class="section note"><dt>Note</dt><dd>The column may not be in the primary key.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the column to alter. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<a id="ab0f8abf78d35725198876aaa04b737a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab0f8abf78d35725198876aaa04b737a7">&#9670;&nbsp;</a></span>DropRangePartition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::DropRangePartition </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
+          <td class="paramname"><em>lower_bound</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
+          <td class="paramname"><em>upper_bound</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a>&#160;</td>
+          <td class="paramname"><em>lower_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a></code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a>&#160;</td>
+          <td class="paramname"><em>upper_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a></code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Drop the range partition from the table with the specified lower bound and upper bound. The bounds must match an existing range partition exactly, and may not span multiple range partitions.</p>
+<dl class="section note"><dt>Note</dt><dd>The table alterer takes ownership of the rows.</dd>
+<dd>
+Multiple range partitions may be dropped as part of a single alter table transaction by calling this method multiple times on the table alterer.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound</td><td>The inclusive lower bound of the range partition to drop. If the row is empty, then the lower bound is unbounded. If any of the columns are unset, the logical minimum value for the column's type will be used by default. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound</td><td>The exclusive upper bound of the range partition to add. If the row is empty, then the upper bound is unbounded. If any of the individual columns are unset, the logical minimum value for the column' type will be used by default. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to exclusive. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<a id="aca8ea8d7b65e6952c76fd97f12d5b324"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aca8ea8d7b65e6952c76fd97f12d5b324">&#9670;&nbsp;</a></span>RenameTo()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::RenameTo </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>new_name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Rename the table.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">new_name</td><td>The new name for the table. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<a id="a9dc99957dac9029dd5ecd0f41b3d2fe6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9dc99957dac9029dd5ecd0f41b3d2fe6">&#9670;&nbsp;</a></span>SetComment()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::SetComment </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>new_comment</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the comment on the table.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">new_comment</td><td>The new comment on the table. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<a id="a2c97cc290258e86adaa2ea87393b93a8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2c97cc290258e86adaa2ea87393b93a8">&#9670;&nbsp;</a></span>SetOwner()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::SetOwner </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>new_owner</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the owner of the table.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">new_owner</td><td>The new owner for the table. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<a id="af39c953344e62d09e0170c5371f2ab27"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af39c953344e62d09e0170c5371f2ab27">&#9670;&nbsp;</a></span>SetTableDiskSizeLimit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::SetTableDiskSizeLimit </td>
+          <td>(</td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>disk_size_limit</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the disk size limit of the table by the super user.</p>
+<dl class="section note"><dt>Note</dt><dd>The table limit alterations, including disk_size_limit and row_count_limit, cannot be changed in the same alteration request with other alterations, because the table 'limit' alteration needs the super user permission.</dd>
+<dd>
+It is experimental and may change or disappear in future. This feature currently applies size limit on a single table.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">disk_size_limit</td><td>The max table disk size, -1 is for no limit </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<a id="ae5eedc7d2bf9c3f69073701444808fbe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae5eedc7d2bf9c3f69073701444808fbe">&#9670;&nbsp;</a></span>SetTableRowCountLimit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::SetTableRowCountLimit </td>
+          <td>(</td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>row_count_limit</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the row count limit of the table by the super user.</p>
+<dl class="section note"><dt>Note</dt><dd>The table limit alterations, including disk_size_limit and row_count_limit, cannot be changed in the same alteration request with other alterations, because the table 'limit' alteration needs the super user permission.</dd>
+<dd>
+It is experimental and may change or disappear in future. This feature currently applies row count limit on a single table.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">row_count_limit</td><td>The max row count of the table, -1 is for no limit </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<a id="add2961a41c37a6b0fd869e0f553a04a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#add2961a41c37a6b0fd869e0f553a04a1">&#9670;&nbsp;</a></span>timeout()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::timeout </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td>
+          <td class="paramname"><em>timeout</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set a timeout for the alteration operation.</p>
+<p>This includes any waiting after the alter has been submitted (i.e. if the alter is slow to be performed on a large table, it may time out and then later be successful).</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>Timeout to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<a id="a86e6d55d0888d4bc99789b1dcd0e5646"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a86e6d55d0888d4bc99789b1dcd0e5646">&#9670;&nbsp;</a></span>wait()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* kudu::client::KuduTableAlterer::wait </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>wait</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Whether to wait for completion of alteration operations.</p>
+<p>If set to <code>true</code>, an alteration operation returns control only after the operation is complete. Otherwise, every operation returns immediately. By default (i.e. when an alteration object is created) it is set to <code>true</code>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">wait</td><td>Whether to wait for alteration operation to complete before returning control. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Raw pointer to this alterer object. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator-members.html
new file mode 100644
index 0000000..b6a6276
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator-members.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTableCreator Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">add_hash_partitions</a>(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24">add_hash_partitions</a>(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets, int32_t seed)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a">add_range_partition</a>(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, RangePartitionBound lower_bound_type=INCLUSIVE_BOUND, RangePartitionBound upper_bound_type=EXCLUSIVE_BOUND)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split</a>(KuduPartialRow *split_row)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">Create</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">dimension_label</a>(const std::string &amp;dimension_label)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">EXCLUSIVE_BOUND</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd">extra_configs</a>(const std::map&lt; std::string, std::string &gt; &amp;extra_configs)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">INCLUSIVE_BOUND</a> enum value</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139">num_replicas</a>(int n_replicas)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">schema</a>(const KuduSchema *schema)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f">set_comment</a>(const std::string &amp;comment)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">set_owner</a>(const std::string &amp;owner)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3">set_range_partition_columns</a>(const std::vector&lt; std::string &gt; &amp;columns)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">split_rows</a>(const std::vector&lt; const KuduPartialRow * &gt; &amp;split_rows) ATTRIBUTE_DEPRECATED(&quot;use add_range_partition_split() instead&quot;)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">table_name</a>(const std::string &amp;name)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">timeout</a>(const MonoDelta &amp;timeout)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">wait</a>(bool wait)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduTableCreator</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator.html
new file mode 100644
index 0000000..ec63880
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator.html
@@ -0,0 +1,646 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduTableCreator Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduTableCreator-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTableCreator Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A helper class to create a new table with the desired options.  
+ <a href="classkudu_1_1client_1_1KuduTableCreator.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a0a63fdc58e8062e505f4fa71d6f2343b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> { <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">EXCLUSIVE_BOUND</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">INCLUSIVE_BOUND</a>
+ }</td></tr>
+<tr class="memdesc:a0a63fdc58e8062e505f4fa71d6f2343b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Range partition bound type.  <a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">More...</a><br /></td></tr>
+<tr class="separator:a0a63fdc58e8062e505f4fa71d6f2343b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a15126b62437fc1741b41249080376f93"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">table_name</a> (const std::string &amp;name)</td></tr>
+<tr class="separator:a15126b62437fc1741b41249080376f93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38a83cf0e856ebaf4a5afe8c4a1d06f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">schema</a> (const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> *schema)</td></tr>
+<tr class="separator:a38a83cf0e856ebaf4a5afe8c4a1d06f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a989ccdb9b6f4186d3227d3811048538e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">add_hash_partitions</a> (const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets)</td></tr>
+<tr class="separator:a989ccdb9b6f4186d3227d3811048538e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cdcee398f94af53d721e3d085929d24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24">add_hash_partitions</a> (const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets, int32_t seed)</td></tr>
+<tr class="separator:a9cdcee398f94af53d721e3d085929d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a482701285b7a071dd56f04df480bc7c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3">set_range_partition_columns</a> (const std::vector&lt; std::string &gt; &amp;columns)</td></tr>
+<tr class="separator:a482701285b7a071dd56f04df480bc7c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3d941bf3b381c08f64ed919680984a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a">add_range_partition</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *lower_bound, <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *upper_bound, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> lower_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">INCLUSIVE_BOUND</a>, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> upper_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">EXCLUSIVE_BOUND</a>)</td></tr>
+<tr class="separator:aac3d941bf3b381c08f64ed919680984a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adbdd2208d9ede696704fbecea15bea1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *split_row)</td></tr>
+<tr class="separator:adbdd2208d9ede696704fbecea15bea1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aadb48996ad9e16efbae069ee87174007"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">set_owner</a> (const std::string &amp;owner)</td></tr>
+<tr class="separator:aadb48996ad9e16efbae069ee87174007"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6b9911f943bee6c6840dab918d6652f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f">set_comment</a> (const std::string &amp;comment)</td></tr>
+<tr class="separator:af6b9911f943bee6c6840dab918d6652f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae12cc7c72da40f25b079273a6169faf9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">split_rows</a> (const std::vector&lt; const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> * &gt; &amp;split_rows) ATTRIBUTE_DEPRECATED(&quot;use <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split</a>() instead&quot;)</td></tr>
+<tr class="separator:ae12cc7c72da40f25b079273a6169faf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dd4673755ba242eab3f06b19182d139"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139">num_replicas</a> (int n_replicas)</td></tr>
+<tr class="separator:a9dd4673755ba242eab3f06b19182d139"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0e832f6d358f9572ee1cf7f755e1658"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">dimension_label</a> (const std::string &amp;dimension_label)</td></tr>
+<tr class="separator:af0e832f6d358f9572ee1cf7f755e1658"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fe4f05dab63be87058b81f1b380f2cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd">extra_configs</a> (const std::map&lt; std::string, std::string &gt; &amp;extra_configs)</td></tr>
+<tr class="separator:a0fe4f05dab63be87058b81f1b380f2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52855857927fe1a08fbd4c81e746c235"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">timeout</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;timeout)</td></tr>
+<tr class="separator:a52855857927fe1a08fbd4c81e746c235"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48f9e977356c37666106f303100198d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">wait</a> (bool wait)</td></tr>
+<tr class="separator:a48f9e977356c37666106f303100198d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30efad5c256dae0af7bb43599403b1cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">Create</a> ()</td></tr>
+<tr class="separator:a30efad5c256dae0af7bb43599403b1cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A helper class to create a new table with the desired options. </p>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="a0a63fdc58e8062e505f4fa71d6f2343b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0a63fdc58e8062e505f4fa71d6f2343b">&#9670;&nbsp;</a></span>RangePartitionBound</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">kudu::client::KuduTableCreator::RangePartitionBound</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Range partition bound type. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601"></a>EXCLUSIVE_BOUND&#160;</td><td class="fielddoc"><p>An exclusive bound. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950"></a>INCLUSIVE_BOUND&#160;</td><td class="fielddoc"><p>An inclusive bound. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a989ccdb9b6f4186d3227d3811048538e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a989ccdb9b6f4186d3227d3811048538e">&#9670;&nbsp;</a></span>add_hash_partitions() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::add_hash_partitions </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
+          <td class="paramname"><em>columns</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t&#160;</td>
+          <td class="paramname"><em>num_buckets</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add a set of hash partitions to the table.</p>
+<p>Tables must be created with either range, hash, or range and hash partitioning.</p>
+<p>For each set of hash partitions added to the table, the total number of tablets is multiplied by the number of buckets. For example, if a table is created with 3 split rows, and 2 hash partitions with 4 and 5 buckets respectively, the total number of tablets will be 80 (4 range partitions * 4 hash buckets * 5 hash buckets).</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Names of columns to use for partitioning. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">num_buckets</td><td>Number of buckets for the hashing. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<a id="a9cdcee398f94af53d721e3d085929d24"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9cdcee398f94af53d721e3d085929d24">&#9670;&nbsp;</a></span>add_hash_partitions() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::add_hash_partitions </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
+          <td class="paramname"><em>columns</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t&#160;</td>
+          <td class="paramname"><em>num_buckets</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int32_t&#160;</td>
+          <td class="paramname"><em>seed</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add a set of hash partitions to the table (with seed).</p>
+<p>This method is exactly the same as <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">add_hash_partitions()</a> above, with the exception of additional seed value, which can be used to randomize the mapping of rows to hash buckets. Setting the seed may provide some amount of protection against denial of service attacks when the hashed columns contain user provided values.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Names of columns to use for partitioning. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">num_buckets</td><td>Number of buckets for the hashing. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">seed</td><td>Hash: seed for mapping rows to hash buckets. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<a id="aac3d941bf3b381c08f64ed919680984a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aac3d941bf3b381c08f64ed919680984a">&#9670;&nbsp;</a></span>add_range_partition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::add_range_partition </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
+          <td class="paramname"><em>lower_bound</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
+          <td class="paramname"><em>upper_bound</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a>&#160;</td>
+          <td class="paramname"><em>lower_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">INCLUSIVE_BOUND</a></code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a>&#160;</td>
+          <td class="paramname"><em>upper_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">EXCLUSIVE_BOUND</a></code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add a range partition to the table.</p>
+<p>Multiple range partitions may be added, but they must not overlap. All range splits specified by <code>add_range_partition_split</code> must fall in a range partition. The lower bound must be less than or equal to the upper bound.</p>
+<p>If this method is not called, the table's range will be unbounded.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound</td><td>Row to use as a lower bound. The <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a> instance takes ownership of this parameter. If row is empty, no lower bound is imposed on the table range. If a column of the <code>lower_bound</code> row is missing a value, the logical minimum value for that column type is used as the default. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound</td><td>Row to use as an upper bound. The <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a> instance takes ownership of this parameter. If row is empty, no upper bound is imposed on the table range. If a column of the <code>upper_bound</code> row is missing a value, the logical maximum value for that column type is used as the default. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">lower_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">upper_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to exclusive. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<a id="adbdd2208d9ede696704fbecea15bea1f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adbdd2208d9ede696704fbecea15bea1f">&#9670;&nbsp;</a></span>add_range_partition_split()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::add_range_partition_split </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
+          <td class="paramname"><em>split_row</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Add a range partition split at the provided row.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">split_row</td><td>The row to use for partitioning. If the row is missing a value for any of the range partition columns, the logical minimum value for that column type will be used by default. The <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a> object takes ownership of the parameter. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<a id="a30efad5c256dae0af7bb43599403b1cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30efad5c256dae0af7bb43599403b1cc">&#9670;&nbsp;</a></span>Create()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTableCreator::Create </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a table in accordance with parameters currently set for the <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a> instance. Once created, the table handle can be obtained using <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">KuduClient::OpenTable()</a> method.</p>
+<dl class="section pre"><dt>Precondition</dt><dd>The following methods of the <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a> must be called prior to invoking this method: <ul>
+<li><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">table_name()</a> </li>
+<li><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">schema()</a></li>
+</ul>
+</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>Result status of the <code>CREATE TABLE</code> operation. The return value may indicate an error in the create table operation, or a misuse of the builder. In the latter case, only the last error is returned. </dd></dl>
+
+</div>
+</div>
+<a id="af0e832f6d358f9572ee1cf7f755e1658"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af0e832f6d358f9572ee1cf7f755e1658">&#9670;&nbsp;</a></span>dimension_label()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::dimension_label </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>dimension_label</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the dimension label for all tablets created at table creation time.</p>
+<dl class="section note"><dt>Note</dt><dd>By default, the master will try to place newly created tablet replicas on tablet servers with a small number of tablet replicas. If the dimension label is provided, newly created replicas will be evenly distributed in the cluster based on the dimension label. In other words, the master will try to place newly created tablet replicas on tablet servers with a small number of tablet replicas belonging to this dimension label.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">dimension_label</td><td>The dimension label for the tablet to be created. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<a id="a0fe4f05dab63be87058b81f1b380f2cd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0fe4f05dab63be87058b81f1b380f2cd">&#9670;&nbsp;</a></span>extra_configs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::extra_configs </td>
+          <td>(</td>
+          <td class="paramtype">const std::map&lt; std::string, std::string &gt; &amp;&#160;</td>
+          <td class="paramname"><em>extra_configs</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Sets the table's extra configuration properties.</p>
+<p>If the value of the kv pair is empty, the property will be ignored.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">extra_configs</td><td>The table's extra configuration properties. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<a id="a9dd4673755ba242eab3f06b19182d139"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9dd4673755ba242eab3f06b19182d139">&#9670;&nbsp;</a></span>num_replicas()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::num_replicas </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>n_replicas</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the table replication factor.</p>
+<p>Replicated tables can continue to read and write data while a majority of replicas are not failed.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">n_replicas</td><td>Number of replicas to set. This should be an odd number. If not provided (or if &lt;= 0), falls back to the server-side default. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<a id="a38a83cf0e856ebaf4a5afe8c4a1d06f7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a38a83cf0e856ebaf4a5afe8c4a1d06f7">&#9670;&nbsp;</a></span>schema()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::schema </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> *&#160;</td>
+          <td class="paramname"><em>schema</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the schema with which to create the table.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">schema</td><td>Schema to use. Must remain valid for the lifetime of the builder. Must be non-NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator.</dd></dl>
+<dl class="section remark"><dt>Remarks</dt><dd>Calling this method and setting schema for the table-to-be is one of the pre-conditions for calling <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">KuduTableCreator::Create()</a> method. </dd></dl>
+
+</div>
+</div>
+<a id="af6b9911f943bee6c6840dab918d6652f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af6b9911f943bee6c6840dab918d6652f">&#9670;&nbsp;</a></span>set_comment()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::set_comment </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>comment</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the table comment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">comment</td><td>The comment on the table. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<a id="aadb48996ad9e16efbae069ee87174007"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aadb48996ad9e16efbae069ee87174007">&#9670;&nbsp;</a></span>set_owner()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::set_owner </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>owner</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the table owner.</p>
+<p>If unspecified, the owner will be the user creating the table.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">owner</td><td>The username of the table owner. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<a id="a482701285b7a071dd56f04df480bc7c3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a482701285b7a071dd56f04df480bc7c3">&#9670;&nbsp;</a></span>set_range_partition_columns()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::set_range_partition_columns </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
+          <td class="paramname"><em>columns</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the columns on which the table will be range-partitioned.</p>
+<p>Tables must be created with either range, hash, or range and hash partitioning. To force the use of a single tablet (not recommended), call this method with an empty vector and set no split rows and no hash partitions.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Names of columns to use for partitioning. Every column must be a part of the table's primary key. If not set, or if called with an empty vector, the table will be created without range partitioning. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<a id="ae12cc7c72da40f25b079273a6169faf9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae12cc7c72da40f25b079273a6169faf9">&#9670;&nbsp;</a></span>split_rows()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::split_rows </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> * &gt; &amp;&#160;</td>
+          <td class="paramname"><em>split_rows</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Use <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split()</a></code> instead.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">split_rows</td><td>The row to use for partitioning. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<a id="a15126b62437fc1741b41249080376f93"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a15126b62437fc1741b41249080376f93">&#9670;&nbsp;</a></span>table_name()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::table_name </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set name for the table.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the target table. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator.</dd></dl>
+<dl class="section remark"><dt>Remarks</dt><dd>Calling this method and setting the name for the table-to-be is one of the pre-conditions for calling <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">KuduTableCreator::Create()</a> method.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>Should name of the table be a constructor's parameter instead? </dd></dl>
+
+</div>
+</div>
+<a id="a52855857927fe1a08fbd4c81e746c235"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a52855857927fe1a08fbd4c81e746c235">&#9670;&nbsp;</a></span>timeout()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::timeout </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td>
+          <td class="paramname"><em>timeout</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the timeout for the table creation operation.</p>
+<p>This includes any waiting after the create has been submitted (i.e. if the create is slow to be performed for a large table, it may time out and then later be successful).</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>Timeout to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<a id="a48f9e977356c37666106f303100198d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a48f9e977356c37666106f303100198d9">&#9670;&nbsp;</a></span>wait()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::wait </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>wait</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Wait for the table to be fully created before returning.</p>
+<p>If not called, defaults to <code>true</code>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">wait</td><td>Whether to wait for completion of operations. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics-members.html
new file mode 100644
index 0000000..7ce132c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics-members.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTableStatistics Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>KuduTableStatistics</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">live_row_count</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd">live_row_count_limit</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">on_disk_size</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">on_disk_size_limit</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">ToString</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduTableStatistics</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics.html
new file mode 100644
index 0000000..e8e4ecd
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics.html
@@ -0,0 +1,204 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduTableStatistics Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduTableStatistics-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTableStatistics Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>In-memory statistics of table.  
+ <a href="classkudu_1_1client_1_1KuduTableStatistics.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:afe152cbb7f239618bfc4625cadba4484"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">on_disk_size</a> () const</td></tr>
+<tr class="separator:afe152cbb7f239618bfc4625cadba4484"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf8ca7f5f9f4640e517c1b33235450d1"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">live_row_count</a> () const</td></tr>
+<tr class="separator:aaf8ca7f5f9f4640e517c1b33235450d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a111ee4d90863b9e6c3619e712fe72b3a"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">on_disk_size_limit</a> () const</td></tr>
+<tr class="separator:a111ee4d90863b9e6c3619e712fe72b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec261d988a4083bdb74bf39d52bfc1dd"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd">live_row_count_limit</a> () const</td></tr>
+<tr class="separator:aec261d988a4083bdb74bf39d52bfc1dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab437c1e3cb382828eb32fea424bc25ff"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">ToString</a> () const</td></tr>
+<tr class="separator:ab437c1e3cb382828eb32fea424bc25ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>In-memory statistics of table. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="aaf8ca7f5f9f4640e517c1b33235450d1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaf8ca7f5f9f4640e517c1b33235450d1">&#9670;&nbsp;</a></span>live_row_count()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int64_t kudu::client::KuduTableStatistics::live_row_count </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The table's live row count. -1 is returned if the table doesn't support live_row_count.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This statistic is pre-replication. </dd></dl>
+
+</div>
+</div>
+<a id="aec261d988a4083bdb74bf39d52bfc1dd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aec261d988a4083bdb74bf39d52bfc1dd">&#9670;&nbsp;</a></span>live_row_count_limit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int64_t kudu::client::KuduTableStatistics::live_row_count_limit </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The table's live row count limit. -1 is returned if there is no row count limit on this table.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>It is experimental and may change or disappear in future. This feature currently applies row count limit on a single table, but it should also support database level row count limit. </dd></dl>
+
+</div>
+</div>
+<a id="afe152cbb7f239618bfc4625cadba4484"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afe152cbb7f239618bfc4625cadba4484">&#9670;&nbsp;</a></span>on_disk_size()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int64_t kudu::client::KuduTableStatistics::on_disk_size </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The table's on disk size. -1 is returned if the table doesn't support on_disk_size.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This statistic is pre-replication. </dd></dl>
+
+</div>
+</div>
+<a id="a111ee4d90863b9e6c3619e712fe72b3a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a111ee4d90863b9e6c3619e712fe72b3a">&#9670;&nbsp;</a></span>on_disk_size_limit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int64_t kudu::client::KuduTableStatistics::on_disk_size_limit </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The table's on disk size limit. -1 is returned if there is no disk size limit on this table.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>It is experimental and may change or disappear in future. This feature currently applies size limit on a single table, but it should also support database level size limit. </dd></dl>
+
+</div>
+</div>
+<a id="ab437c1e3cb382828eb32fea424bc25ff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab437c1e3cb382828eb32fea424bc25ff">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string kudu::client::KuduTableStatistics::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Stringify this Statistics.</p>
+<dl class="section return"><dt>Returns</dt><dd>A string describing this statistics </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTablet-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTablet-members.html
new file mode 100644
index 0000000..58e64ef
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTablet-members.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTablet Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduTablet.html">kudu::client::KuduTablet</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837">id</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTablet.html">kudu::client::KuduTablet</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19">replicas</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTablet.html">kudu::client::KuduTablet</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduTablet</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTablet.html">kudu::client::KuduTablet</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTablet.html">kudu::client::KuduTablet</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTablet.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTablet.html
new file mode 100644
index 0000000..f429624
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTablet.html
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduTablet Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduTablet-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTablet Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>In-memory representation of a remote tablet.  
+ <a href="classkudu_1_1client_1_1KuduTablet.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a3d38d4bb09f0c135e999290d03dea837"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837">id</a> () const</td></tr>
+<tr class="separator:a3d38d4bb09f0c135e999290d03dea837"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a738839e72d0a3d87686d06c43238bf19"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; const <a class="el" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19">replicas</a> () const</td></tr>
+<tr class="separator:a738839e72d0a3d87686d06c43238bf19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>In-memory representation of a remote tablet. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a3d38d4bb09f0c135e999290d03dea837"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d38d4bb09f0c135e999290d03dea837">&#9670;&nbsp;</a></span>id()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string&amp; kudu::client::KuduTablet::id </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The ID which is globally unique and guaranteed not to change for the lifetime of the tablet. </dd></dl>
+
+</div>
+</div>
+<a id="a738839e72d0a3d87686d06c43238bf19"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a738839e72d0a3d87686d06c43238bf19">&#9670;&nbsp;</a></span>replicas()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::vector&lt;const <a class="el" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a>*&gt;&amp; kudu::client::KuduTablet::replicas </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The replicas of this tablet. The <a class="el" href="classkudu_1_1client_1_1KuduTablet.html" title="In-memory representation of a remote tablet.">KuduTablet</a> retains ownership over the replicas.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This information may be stale; replicas may be added or removed from Raft configurations at any time. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer-members.html
new file mode 100644
index 0000000..a93dcf1
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer-members.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTabletServer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">kudu::client::KuduTabletServer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1">hostname</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">kudu::client::KuduTabletServer</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f">port</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">kudu::client::KuduTabletServer</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc">uuid</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">kudu::client::KuduTabletServer</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduTabletServer</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">kudu::client::KuduTabletServer</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">kudu::client::KuduTabletServer</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer.html
new file mode 100644
index 0000000..145a2d9
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduTabletServer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduTabletServer-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTabletServer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>In-memory representation of a remote tablet server.  
+ <a href="classkudu_1_1client_1_1KuduTabletServer.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a5de30699fb086485d44b14469234bbfc"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc">uuid</a> () const</td></tr>
+<tr class="separator:a5de30699fb086485d44b14469234bbfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b25121a16e203f2fa673644950da1d1"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1">hostname</a> () const</td></tr>
+<tr class="separator:a2b25121a16e203f2fa673644950da1d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a16f7afb807b569d73c54b5b7feda2c9f"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f">port</a> () const</td></tr>
+<tr class="separator:a16f7afb807b569d73c54b5b7feda2c9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>In-memory representation of a remote tablet server. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a2b25121a16e203f2fa673644950da1d1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2b25121a16e203f2fa673644950da1d1">&#9670;&nbsp;</a></span>hostname()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string&amp; kudu::client::KuduTabletServer::hostname </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Hostname of the first RPC address that this tablet server is listening on. </dd></dl>
+
+</div>
+</div>
+<a id="a16f7afb807b569d73c54b5b7feda2c9f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a16f7afb807b569d73c54b5b7feda2c9f">&#9670;&nbsp;</a></span>port()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint16_t kudu::client::KuduTabletServer::port </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>Port number of the first RPC address that this tablet server is listening on. </dd></dl>
+
+</div>
+</div>
+<a id="a5de30699fb086485d44b14469234bbfc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5de30699fb086485d44b14469234bbfc">&#9670;&nbsp;</a></span>uuid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string&amp; kudu::client::KuduTabletServer::uuid </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>The UUID which is globally unique and guaranteed not to change for the lifetime of the tablet server. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction-members.html
new file mode 100644
index 0000000..67f93ea
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction-members.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTransaction Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">Commit</a>() WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">CreateSession</a>(sp::shared_ptr&lt; KuduSession &gt; *session) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">Deserialize</a>(const sp::shared_ptr&lt; KuduClient &gt; &amp;client, const std::string &amp;serialized_txn, sp::shared_ptr&lt; KuduTransaction &gt; *txn) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">IsCommitComplete</a>(bool *is_complete, Status *completion_status) WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">Rollback</a>() WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">Serialize</a>(std::string *serialized_txn, const SerializationOptions &amp;options=SerializationOptions()) const WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce">StartCommit</a>() WARN_UNUSED_RESULT</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduTransaction</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.html
new file mode 100644
index 0000000..5935770
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.html
@@ -0,0 +1,351 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduTransaction Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduTransaction-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTransaction Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduTransaction:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduTransaction.png" alt=""/>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad79babbbd8bd296741fad2ed0adce55a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">CreateSession</a> (sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a> &gt; *session) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ad79babbbd8bd296741fad2ed0adce55a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf0b693b1ff9a44399bea3ed1f22f495"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">Commit</a> () WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:aaf0b693b1ff9a44399bea3ed1f22f495"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4347410b4f7e6a70ebc2f66b06c569ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce">StartCommit</a> () WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a4347410b4f7e6a70ebc2f66b06c569ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69b6da1caffdba1f0610f5b8ef00e4ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">IsCommitComplete</a> (bool *is_complete, <a class="el" href="classkudu_1_1Status.html">Status</a> *completion_status) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a69b6da1caffdba1f0610f5b8ef00e4ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68b5c532b44f84beabe7ae7ca46889f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">Rollback</a> () WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:a68b5c532b44f84beabe7ae7ca46889f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad55ec331c2e0471dca2e73b30750b5f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">Serialize</a> (std::string *serialized_txn, const <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a> &amp;options=<a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>()) const WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:ad55ec331c2e0471dca2e73b30750b5f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:acacb5462953dcbd8248241759ee0ba52"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">Deserialize</a> (const sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> &gt; &amp;client, const std::string &amp;serialized_txn, sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> &gt; *txn) WARN_UNUSED_RESULT</td></tr>
+<tr class="separator:acacb5462953dcbd8248241759ee0ba52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A class representing a multi-row transaction in Kudu. Once created using <code>KuduClient::BeginTransaction()</code> or <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">KuduTransaction::Deserialize</a></code> method, <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> instance can be used to commit or rollback the underlying multi-row transaction and create a transactional session.</p>
+<dl class="section note"><dt>Note</dt><dd>The <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> should be kept in scope to maintain automatic keep-alive heartbeating for the corresponding transaction. Once this object goes out of scope, the heartbeating stops and the transaction may automatically be aborted soon if no other clients do the heartbeating.</dd>
+<dd>
+There isn't any automation to rollback or commit the underlying transaction upon destruction of an instance of this class.</dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>The set of methods in this class, their behavior, and signatures are experimental and may change or disappear in future. The class itself is experimental and may change its lineage, API status, or disappear in future. </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="aaf0b693b1ff9a44399bea3ed1f22f495"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaf0b693b1ff9a44399bea3ed1f22f495">&#9670;&nbsp;</a></span>Commit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::Commit </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Commit the transaction.</p>
+<p>This method automatically flushes all transactional sessions created off this transaction handle via <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">KuduTransaction::CreateSession()</a></code>, initiates committing the transaction, and then waits for the commit phase to finalize. The flushing of all the derivative transactional sessions helps avoiding unintentional data loss when those sessions are not flushed explicitly before committing. No new operations should be pushed into the derivative transactional sessions created off this handle once the method has been called.</p>
+<dl class="section return"><dt>Returns</dt><dd>Returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code> if all the stages of the transaction's commit sequence were successful, i.e. the status of various pre-commit work, the status of starting the commit phase, the status of the commit phase itself once it's completed. Returns non-OK status of the very first failed stage of the transaction's commit sequence. </dd></dl>
+
+</div>
+</div>
+<a id="ad79babbbd8bd296741fad2ed0adce55a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad79babbbd8bd296741fad2ed0adce55a">&#9670;&nbsp;</a></span>CreateSession()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::CreateSession </td>
+          <td>(</td>
+          <td class="paramtype">sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a> &gt; *&#160;</td>
+          <td class="paramname"><em>session</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Create a new <code><a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a></code> with "transactional" semantics.</p>
+<p>Every write operation performed in the context of the newly created "transactional" session becomes a part of the corresponding multi-row transaction represented by an instance of this class. Multiple sessions can be created in the context of the same multi-row distributed transaction by the same or different Kudu clients residing on a single or multiple nodes.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">session</td><td>The result session object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="acacb5462953dcbd8248241759ee0ba52"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acacb5462953dcbd8248241759ee0ba52">&#9670;&nbsp;</a></span>Deserialize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::Deserialize </td>
+          <td>(</td>
+          <td class="paramtype">const sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> &gt; &amp;&#160;</td>
+          <td class="paramname"><em>client</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>serialized_txn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> &gt; *&#160;</td>
+          <td class="paramname"><em>txn</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Re-create <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> object given its serialized representation.</p>
+<p>This method doesn't perform any RPC under the hood. The newly created object automatically does or does not send keep-alive messages depending on the <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">KuduTransaction::SerializationOptions::enable_keepalive()</a></code> setting when the original <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> object was serialized using <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">KuduTransaction::Serialize()</a></code>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">client</td><td>Client instance to bound the result object to. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">serialized_txn</td><td>String containing serialized representation of <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> object. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">txn</td><td>The result <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> object, wrapped into a smart pointer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a69b6da1caffdba1f0610f5b8ef00e4ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a69b6da1caffdba1f0610f5b8ef00e4ee">&#9670;&nbsp;</a></span>IsCommitComplete()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::IsCommitComplete </td>
+          <td>(</td>
+          <td class="paramtype">bool *&#160;</td>
+          <td class="paramname"><em>is_complete</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1Status.html">Status</a> *&#160;</td>
+          <td class="paramname"><em>completion_status</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Whether the commit has completed i.e. no longer in progress of finalizing.</p>
+<p>This method checks for the transaction's commit status, setting the <code>is_complete</code> out parameter to <code>true</code> and the <code>completion_status</code> parameter to the finalization status of the commit process, assuming the method returning <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code>. The happy case is when the method returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code>, <code>is_complete</code> is set to <code>true</code> and <code>completion_status</code> is set to <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code> &ndash; that means the transaction has successfully finalized its commit phase.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">is_complete</td><td>Whether the process of finalizing the commit of the transaction has ended, including both success and failure outcomes. In other words, the value of this out parameter indicates whether the finalization of the transaction's commit phase is no longer in progress: it already succeeded or failed by the time of processing the request. This parameter is assigned a meaningful value iff the method returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code>. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">completion_status</td><td>The status of finalization of the transaction's commit phase: <ul>
+<li><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a> if the commit phase successfully finalized </li>
+<li>non-OK status if the commit phase failed to finalize This parameter is assigned a meaningful value iff the method returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code>. </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The result status of querying the transaction's commit status. Both <code>is_complete</code> and <code>completion_status</code> are set iff the method returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code>. </dd></dl>
+
+</div>
+</div>
+<a id="a68b5c532b44f84beabe7ae7ca46889f8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a68b5c532b44f84beabe7ae7ca46889f8">&#9670;&nbsp;</a></span>Rollback()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::Rollback </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Rollback/abort the transaction.</p>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="ad55ec331c2e0471dca2e73b30750b5f5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad55ec331c2e0471dca2e73b30750b5f5">&#9670;&nbsp;</a></span>Serialize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::Serialize </td>
+          <td>(</td>
+          <td class="paramtype">std::string *&#160;</td>
+          <td class="paramname"><em>serialized_txn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a> &amp;&#160;</td>
+          <td class="paramname"><em>options</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>()</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Export the information on this transaction in a serialized form.</p>
+<p>The serialized information on a Kudu transaction can be passed among different Kudu clients running at multiple nodes, so those separate Kudu clients can perform operations to be a part of the same distributed transaction. The resulting string is referred as "transaction token" and can be deserialized into a transaction handle (i.e. an object of the <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> class) via the <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">KuduTransaction::Deserialize()</a></code> method.</p>
+<p>This method doesn't perform any RPC under the hood. The behavior of this method is controlled by <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a></code> set for this transaction handle.</p>
+<dl class="section note"><dt>Note</dt><dd>The representation of the data in the serialized form (i.e. the format of a Kudu transaction token) is an implementation detail, not a part of the public API.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">serialized_txn</td><td>Result string to output the serialized transaction information. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>Options to use when serializing the handle (optional). If omitted, the default serialization parameters are used &ndash; the same as it would be for a default-constructed instance of <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a> used for this parameter. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>
+
+</div>
+</div>
+<a id="a4347410b4f7e6a70ebc2f66b06c569ce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4347410b4f7e6a70ebc2f66b06c569ce">&#9670;&nbsp;</a></span>StartCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::StartCommit </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Start committing this transaction, but don't wait for the commit phase to finalize.</p>
+<p>This method initiates the commit phase for this transaction, not waiting for the commit phase to finalize. It requires all the transactional sessions created off this handle via <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">KuduTransaction::CreateSession()</a></code> to be flushed already. No new operations should be pushed into the derivative transactional sessions created off this handle once the method has been called. To check for the transaction's commit status, use the <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">KuduTransaction::IsCommitComplete()</a></code> method.</p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> of starting the commit phase for this transaction if all the transactional sessions created off this handle are flushed, otherwise returns <code><a class="el" href="classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b">Status::IllegalState()</a></code>. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.png
new file mode 100644
index 0000000..4425c86
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions-members.html
new file mode 100644
index 0000000..ba5aa7f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions-members.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTransaction::SerializationOptions Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">kudu::client::KuduTransaction::SerializationOptions</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">enable_keepalive</a>(bool enable)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">kudu::client::KuduTransaction::SerializationOptions</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f">keepalive</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">kudu::client::KuduTransaction::SerializationOptions</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SerializationOptions</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">kudu::client::KuduTransaction::SerializationOptions</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">kudu::client::KuduTransaction::SerializationOptions</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~SerializationOptions</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">kudu::client::KuduTransaction::SerializationOptions</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">kudu::client::KuduTransaction::SerializationOptions</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html
new file mode 100644
index 0000000..b76b37e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduTransaction::SerializationOptions Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduTransaction::SerializationOptions Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a7c296a5bb34839e0be7c9191d595f24f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f">keepalive</a> () const</td></tr>
+<tr class="separator:a7c296a5bb34839e0be7c9191d595f24f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af1349e70e599bb44e47fcfc548c6b9df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">enable_keepalive</a> (bool enable)</td></tr>
+<tr class="separator:af1349e70e599bb44e47fcfc548c6b9df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This class controls serialization-related parameters for a Kudu transaction handle (i.e. <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code>).</p>
+<p>One of the parameters is whether to enable sending keepalive messages for the resulting <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> handle upon deserialization. In future, the list of configurable parameters might be extended (e.g., by adding commit and abort permissions, i.e. whether a handle obtained by deserializing a handle from the string representation can be used to commit and/or abort the transaction). </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="af1349e70e599bb44e47fcfc548c6b9df"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af1349e70e599bb44e47fcfc548c6b9df">&#9670;&nbsp;</a></span>enable_keepalive()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>&amp; kudu::client::KuduTransaction::SerializationOptions::enable_keepalive </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>enable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Enable/disable keepalive for a handle which is the result of deserializing a previously serialized <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> handle.</p>
+<p>Sending keepalive messages for a transaction handle deserialized from a string is disabled by default.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>Whether to enable sending keepalive messages for <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> handle once it's deserialized from the string representation of a Kudu transaction handle. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<a id="a7c296a5bb34839e0be7c9191d595f24f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7c296a5bb34839e0be7c9191d595f24f">&#9670;&nbsp;</a></span>keepalive()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::client::KuduTransaction::SerializationOptions::keepalive </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>This method returns the current setting keepalive behavior, i.e. whether to send keepalive messages for Kudu transaction handles.</p>
+<p>No keepalive heartbeat messages are sent from a transaction handle if its token was created with the default "keepalive disabled" setting. The idea here is that the most common use case for using transaction tokens is of the "start topology" (see below), so it's enough to have just one top-level handle sending keepalive messages. Overall, having more than one actor sending keepalive messages for a transaction is acceptable but it puts needless load on a cluster.</p>
+<p>The most common use case for a transaction's handle serialization/deserialization is of the "star topology": a transaction is started by a top-level application which sends the transaction token produced by serializing the original transaction handle to other worker applications running concurrently, where the latter write their data in the context of the same transaction and report back to the top-level application, which in its turn initiates committing the transaction as needed. The important point is that the top-level application keeps the transaction handle around all the time from the start of the transaction to the very point when transaction is committed. Under the hood, the original transaction handle sends keepalive messages as required until commit phase is initiated, so the deserialized transaction handles which are used by the worker applications don't need to send keepalive messages.</p>
+<p>The other (less common) use case is of the "ring topology": a chain of applications work sequentially as a part of the same transaction, where the very first application starts the transaction, writes its data, and hands over the responsibility of managing the lifecycle of the transaction to other application down the chain. After doing so it may exit, so now only the next application has the active transaction handle, and so on it goes until the transaction is committed by the application in the end of the chain. In this scenario, every deserialized handle have to send keepalive messages to avoid automatic rollback of the transaction, and every application in the chain should set <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">SerializationOptions::enable_keepalive</a></code> to true when serializing its transaction handle into a transaction token to pass to the application next in the chain.</p>
+<dl class="section return"><dt>Returns</dt><dd>whether to send keepalive messages for Kudu transaction handles </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdate-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdate-members.html
new file mode 100644
index 0000000..ed26155
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdate-members.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html">KuduUpdate</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduUpdate Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduUpdate.html">kudu::client::KuduUpdate</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DELETE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DELETE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>INSERT_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718">ToString</a>() const OVERRIDE</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html">kudu::client::KuduUpdate</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPDATE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>UPDATE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduUpdate</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduUpdate.html">kudu::client::KuduUpdate</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html">kudu::client::KuduUpdate</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduWriteOperation</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.html
new file mode 100644
index 0000000..91bcb51
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduUpdate Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html">KuduUpdate</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduUpdate-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduUpdate Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A single row update to be sent to the cluster.  
+ <a href="classkudu_1_1client_1_1KuduUpdate.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="write__op_8h_source.html">write_op.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduUpdate:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduUpdate.png" usemap="#kudu::client::KuduUpdate_map" alt=""/>
+  <map id="kudu::client::KuduUpdate_map" name="kudu::client::KuduUpdate_map">
+<area href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table." alt="kudu::client::KuduWriteOperation" shape="rect" coords="0,0,195,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:af05d202ea529554b6d033d51ec942718"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718">ToString</a> () const OVERRIDE</td></tr>
+<tr class="separator:af05d202ea529554b6d033d51ec942718"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a> () const</td></tr>
+<tr class="separator:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a> ()</td></tr>
+<tr class="separator:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a id="a87d94ee5801a6b16fc6d1f44ee2e4357"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> { <br />
+&#160;&#160;<b>INSERT</b> = 1
+, <b>UPDATE</b> = 2
+, <b>DELETE</b> = 3
+, <b>UPSERT</b> = 4
+, <br />
+&#160;&#160;<b>INSERT_IGNORE</b> = 5
+, <b>UPDATE_IGNORE</b> = 6
+, <b>DELETE_IGNORE</b> = 7
+<br />
+ }</td></tr>
+<tr class="memdesc:a87d94ee5801a6b16fc6d1f44ee2e4357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write operation types. <br /></td></tr>
+<tr class="separator:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A single row update to be sent to the cluster. </p>
+<dl class="section pre"><dt>Precondition</dt><dd>An update requires the key columns and at least one other column in the schema to be set in the embedded <a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a> object. </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="af05d202ea529554b6d033d51ec942718"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af05d202ea529554b6d033d51ec942718">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual std::string kudu::client::KuduUpdate::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p></p>
+<dl class="section return"><dt>Returns</dt><dd>String representation of the operation. </dd></dl>
+
+<p>Implements <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">kudu::client::KuduWriteOperation</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="write__op_8h_source.html">write_op.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.png
new file mode 100644
index 0000000..03a93e0
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore-members.html
new file mode 100644
index 0000000..66585cd
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore-members.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">KuduUpdateIgnore</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduUpdateIgnore Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">kudu::client::KuduUpdateIgnore</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DELETE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DELETE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>INSERT_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261">ToString</a>() const OVERRIDE</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">kudu::client::KuduUpdateIgnore</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPDATE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>UPDATE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduUpdateIgnore</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">kudu::client::KuduUpdateIgnore</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">kudu::client::KuduUpdateIgnore</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduWriteOperation</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.html
new file mode 100644
index 0000000..d5dbb2a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduUpdateIgnore Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">KuduUpdateIgnore</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduUpdateIgnore-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduUpdateIgnore Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A single row update ignore to be sent to the cluster, missing row errors are ignored.  
+ <a href="classkudu_1_1client_1_1KuduUpdateIgnore.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="write__op_8h_source.html">write_op.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduUpdateIgnore:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduUpdateIgnore.png" usemap="#kudu::client::KuduUpdateIgnore_map" alt=""/>
+  <map id="kudu::client::KuduUpdateIgnore_map" name="kudu::client::KuduUpdateIgnore_map">
+<area href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table." alt="kudu::client::KuduWriteOperation" shape="rect" coords="0,0,195,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ac8ae744ab8d2c8ebe887fb00c6deb261"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261">ToString</a> () const OVERRIDE</td></tr>
+<tr class="separator:ac8ae744ab8d2c8ebe887fb00c6deb261"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a> () const</td></tr>
+<tr class="separator:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a> ()</td></tr>
+<tr class="separator:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a id="a87d94ee5801a6b16fc6d1f44ee2e4357"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> { <br />
+&#160;&#160;<b>INSERT</b> = 1
+, <b>UPDATE</b> = 2
+, <b>DELETE</b> = 3
+, <b>UPSERT</b> = 4
+, <br />
+&#160;&#160;<b>INSERT_IGNORE</b> = 5
+, <b>UPDATE_IGNORE</b> = 6
+, <b>DELETE_IGNORE</b> = 7
+<br />
+ }</td></tr>
+<tr class="memdesc:a87d94ee5801a6b16fc6d1f44ee2e4357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write operation types. <br /></td></tr>
+<tr class="separator:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A single row update ignore to be sent to the cluster, missing row errors are ignored. </p>
+<dl class="section pre"><dt>Precondition</dt><dd>An update ignore requires the key columns and at least one other column in the schema to be set in the embedded <a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a> object. </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="ac8ae744ab8d2c8ebe887fb00c6deb261"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac8ae744ab8d2c8ebe887fb00c6deb261">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual std::string kudu::client::KuduUpdateIgnore::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p></p>
+<dl class="section return"><dt>Returns</dt><dd>String representation of the operation. </dd></dl>
+
+<p>Implements <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">kudu::client::KuduWriteOperation</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="write__op_8h_source.html">write_op.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.png
new file mode 100644
index 0000000..bce7100
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpsert-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpsert-members.html
new file mode 100644
index 0000000..8f622aa
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpsert-members.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html">KuduUpsert</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduUpsert Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduUpsert.html">kudu::client::KuduUpsert</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DELETE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DELETE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>INSERT_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8">ToString</a>() const OVERRIDE</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html">kudu::client::KuduUpsert</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPDATE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>UPDATE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduUpsert</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduUpsert.html">kudu::client::KuduUpsert</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html">kudu::client::KuduUpsert</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduWriteOperation</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.html
new file mode 100644
index 0000000..384097e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduUpsert Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html">KuduUpsert</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduUpsert-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduUpsert Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A single row upsert to be sent to the cluster.  
+ <a href="classkudu_1_1client_1_1KuduUpsert.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="write__op_8h_source.html">write_op.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduUpsert:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduUpsert.png" usemap="#kudu::client::KuduUpsert_map" alt=""/>
+  <map id="kudu::client::KuduUpsert_map" name="kudu::client::KuduUpsert_map">
+<area href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table." alt="kudu::client::KuduWriteOperation" shape="rect" coords="0,0,195,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0608280ef5b4eb2a53c0b303db7401c8"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8">ToString</a> () const OVERRIDE</td></tr>
+<tr class="separator:a0608280ef5b4eb2a53c0b303db7401c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a> () const</td></tr>
+<tr class="separator:ab73a467a979bc76bb4738ba038d7f0bd inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a> ()</td></tr>
+<tr class="separator:a8889770ce62e2ca0ce5d55c9c90af6bc inherit pub_methods_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classkudu_1_1client_1_1KuduWriteOperation')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td></tr>
+<tr class="memitem:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memItemLeft" align="right" valign="top"><a id="a87d94ee5801a6b16fc6d1f44ee2e4357"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> { <br />
+&#160;&#160;<b>INSERT</b> = 1
+, <b>UPDATE</b> = 2
+, <b>DELETE</b> = 3
+, <b>UPSERT</b> = 4
+, <br />
+&#160;&#160;<b>INSERT_IGNORE</b> = 5
+, <b>UPDATE_IGNORE</b> = 6
+, <b>DELETE_IGNORE</b> = 7
+<br />
+ }</td></tr>
+<tr class="memdesc:a87d94ee5801a6b16fc6d1f44ee2e4357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write operation types. <br /></td></tr>
+<tr class="separator:a87d94ee5801a6b16fc6d1f44ee2e4357 inherit pub_types_classkudu_1_1client_1_1KuduWriteOperation"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A single row upsert to be sent to the cluster. </p>
+<p>See <a class="el" href="classkudu_1_1client_1_1KuduInsert.html" title="A single row insert to be sent to the cluster.">KuduInsert</a> for more details. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a0608280ef5b4eb2a53c0b303db7401c8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0608280ef5b4eb2a53c0b303db7401c8">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual std::string kudu::client::KuduUpsert::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p></p>
+<dl class="section return"><dt>Returns</dt><dd>String representation of the operation. </dd></dl>
+
+<p>Implements <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">kudu::client::KuduWriteOperation</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="write__op_8h_source.html">write_op.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.png
new file mode 100644
index 0000000..6c4891c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduValue-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduValue-members.html
new file mode 100644
index 0000000..246eafb
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduValue-members.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduValue Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569">Clone</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe">CopyString</a>(Slice s)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10">FromBool</a>(bool val)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5">FromDouble</a>(double val)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a">FromFloat</a>(float val)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302">FromInt</a>(int64_t val)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~KuduValue</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduValue.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduValue.html
new file mode 100644
index 0000000..e8a142d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduValue.html
@@ -0,0 +1,304 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduValue Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduValue-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduValue Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A constant cell value with a specific type.  
+ <a href="classkudu_1_1client_1_1KuduValue.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="value_8h_source.html">value.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab4fe2a0c7c0cd0115c52b72ef7f03569"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569">Clone</a> () const</td></tr>
+<tr class="separator:ab4fe2a0c7c0cd0115c52b72ef7f03569"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a886211bbe237e0009fb9b89c146f4bfe"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe">CopyString</a> (<a class="el" href="classkudu_1_1Slice.html">Slice</a> s)</td></tr>
+<tr class="separator:a886211bbe237e0009fb9b89c146f4bfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Builders from integral types.</div></td></tr>
+<tr class="memitem:ada685c0346016968a6677e3694568302"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302">FromInt</a> (int64_t val)</td></tr>
+<tr class="separator:ada685c0346016968a6677e3694568302"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f4006a3ce0cab3dbf0b90b1915d535a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a">FromFloat</a> (float val)</td></tr>
+<tr class="separator:a6f4006a3ce0cab3dbf0b90b1915d535a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d5ac2e02a6871de7902ba6379106dd5"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5">FromDouble</a> (double val)</td></tr>
+<tr class="separator:a5d5ac2e02a6871de7902ba6379106dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea2083411ed929c909f3c6aaab4a3e10"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10">FromBool</a> (bool val)</td></tr>
+<tr class="separator:aea2083411ed929c909f3c6aaab4a3e10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A constant cell value with a specific type. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="ab4fe2a0c7c0cd0115c52b72ef7f03569"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab4fe2a0c7c0cd0115c52b72ef7f03569">&#9670;&nbsp;</a></span>Clone()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* kudu::client::KuduValue::Clone </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>A new identical <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> object. </dd></dl>
+
+</div>
+</div>
+<a id="a886211bbe237e0009fb9b89c146f4bfe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a886211bbe237e0009fb9b89c146f4bfe">&#9670;&nbsp;</a></span>CopyString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* kudu::client::KuduValue::CopyString </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classkudu_1_1Slice.html">Slice</a>&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Construct a <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> by copying the value of the given <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The slice to copy value from. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> object. </dd></dl>
+
+</div>
+</div>
+<a id="aea2083411ed929c909f3c6aaab4a3e10"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea2083411ed929c909f3c6aaab4a3e10">&#9670;&nbsp;</a></span>FromBool()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* kudu::client::KuduValue::FromBool </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>val</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Construct a <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> object from the given value of integral type.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to build the <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> from. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> object. </dd></dl>
+
+</div>
+</div>
+<a id="a5d5ac2e02a6871de7902ba6379106dd5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5d5ac2e02a6871de7902ba6379106dd5">&#9670;&nbsp;</a></span>FromDouble()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* kudu::client::KuduValue::FromDouble </td>
+          <td>(</td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>val</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Construct a <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> object from the given value of integral type.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to build the <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> from. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> object. </dd></dl>
+
+</div>
+</div>
+<a id="a6f4006a3ce0cab3dbf0b90b1915d535a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6f4006a3ce0cab3dbf0b90b1915d535a">&#9670;&nbsp;</a></span>FromFloat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* kudu::client::KuduValue::FromFloat </td>
+          <td>(</td>
+          <td class="paramtype">float&#160;</td>
+          <td class="paramname"><em>val</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Construct a <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> object from the given value of integral type.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to build the <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> from. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> object. </dd></dl>
+
+</div>
+</div>
+<a id="ada685c0346016968a6677e3694568302"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ada685c0346016968a6677e3694568302">&#9670;&nbsp;</a></span>FromInt()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* kudu::client::KuduValue::FromInt </td>
+          <td>(</td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>val</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Construct a <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> object from the given value of integral type.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to build the <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> from. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="classkudu_1_1client_1_1KuduValue.html" title="A constant cell value with a specific type.">KuduValue</a> object. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="value_8h_source.html">value.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation-members.html
new file mode 100644
index 0000000..6d05508
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation-members.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::KuduWriteOperation Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DELETE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>DELETE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>INSERT_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a>()</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">ToString</a>() const =0</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> enum name</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPDATE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>UPDATE_IGNORE</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UPSERT</b> enum value (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~KuduWriteOperation</b>() (defined in <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.html
new file mode 100644
index 0000000..ff0d73d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.html
@@ -0,0 +1,227 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::KuduWriteOperation Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1KuduWriteOperation-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::KuduWriteOperation Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A single-row write operation to be sent to a Kudu table.  
+ <a href="classkudu_1_1client_1_1KuduWriteOperation.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="write__op_8h_source.html">write_op.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for kudu::client::KuduWriteOperation:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classkudu_1_1client_1_1KuduWriteOperation.png" usemap="#kudu::client::KuduWriteOperation_map" alt=""/>
+  <map id="kudu::client::KuduWriteOperation_map" name="kudu::client::KuduWriteOperation_map">
+<area href="classkudu_1_1client_1_1KuduDelete.html" title="A single row delete to be sent to the cluster." alt="kudu::client::KuduDelete" shape="rect" coords="0,56,195,80"/>
+<area href="classkudu_1_1client_1_1KuduDeleteIgnore.html" title="A single row delete ignore to be sent to the cluster." alt="kudu::client::KuduDeleteIgnore" shape="rect" coords="205,56,400,80"/>
+<area href="classkudu_1_1client_1_1KuduInsert.html" title="A single row insert to be sent to the cluster." alt="kudu::client::KuduInsert" shape="rect" coords="410,56,605,80"/>
+<area href="classkudu_1_1client_1_1KuduInsertIgnore.html" title="A single row insert ignore to be sent to the cluster, duplicate row errors are ignored." alt="kudu::client::KuduInsertIgnore" shape="rect" coords="615,56,810,80"/>
+<area href="classkudu_1_1client_1_1KuduUpdate.html" title="A single row update to be sent to the cluster." alt="kudu::client::KuduUpdate" shape="rect" coords="820,56,1015,80"/>
+<area href="classkudu_1_1client_1_1KuduUpdateIgnore.html" title="A single row update ignore to be sent to the cluster, missing row errors are ignored." alt="kudu::client::KuduUpdateIgnore" shape="rect" coords="1025,56,1220,80"/>
+<area href="classkudu_1_1client_1_1KuduUpsert.html" title="A single row upsert to be sent to the cluster." alt="kudu::client::KuduUpsert" shape="rect" coords="1230,56,1425,80"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a87d94ee5801a6b16fc6d1f44ee2e4357"><td class="memItemLeft" align="right" valign="top"><a id="a87d94ee5801a6b16fc6d1f44ee2e4357"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> { <br />
+&#160;&#160;<b>INSERT</b> = 1
+, <b>UPDATE</b> = 2
+, <b>DELETE</b> = 3
+, <b>UPSERT</b> = 4
+, <br />
+&#160;&#160;<b>INSERT_IGNORE</b> = 5
+, <b>UPDATE_IGNORE</b> = 6
+, <b>DELETE_IGNORE</b> = 7
+<br />
+ }</td></tr>
+<tr class="memdesc:a87d94ee5801a6b16fc6d1f44ee2e4357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write operation types. <br /></td></tr>
+<tr class="separator:a87d94ee5801a6b16fc6d1f44ee2e4357"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab73a467a979bc76bb4738ba038d7f0bd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a> () const</td></tr>
+<tr class="separator:ab73a467a979bc76bb4738ba038d7f0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8889770ce62e2ca0ce5d55c9c90af6bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a> ()</td></tr>
+<tr class="separator:a8889770ce62e2ca0ce5d55c9c90af6bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50b5405c4dfc7af038daa4780aea6e19"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">ToString</a> () const =0</td></tr>
+<tr class="separator:a50b5405c4dfc7af038daa4780aea6e19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A single-row write operation to be sent to a Kudu table. </p>
+<p>This is the abstract base class from which the particular row operations (<a class="el" href="classkudu_1_1client_1_1KuduInsert.html" title="A single row insert to be sent to the cluster.">KuduInsert</a>, <a class="el" href="classkudu_1_1client_1_1KuduUpdate.html" title="A single row update to be sent to the cluster.">KuduUpdate</a>, etc) are derived. These subclasses are instantiated by <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">KuduTable::NewInsert()</a>, etc.</p>
+<p>The row key, as well as the columns to be inserted or updated are set using the embedded <a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a> object accessible via <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row()</a>.</p>
+<p>Typical usage example: </p><div class="fragment"><div class="line">KuduInsert* t = table-&gt;<a class="code" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">NewInsert</a>();</div>
+<div class="line"><a class="code" href="status_8h.html#ac503ba85e942147294cdc82087da60f6">KUDU_CHECK_OK</a>(t-&gt;mutable_row()-&gt;SetInt32(<span class="stringliteral">&quot;key&quot;</span>, 1234));</div>
+<div class="line"><a class="code" href="status_8h.html#ac503ba85e942147294cdc82087da60f6">KUDU_CHECK_OK</a>(t-&gt;mutable_row()-&gt;SetStringCopy(<span class="stringliteral">&quot;foo&quot;</span>, <span class="stringliteral">&quot;bar&quot;</span>));</div>
+<div class="line">session-&gt;Apply(t);</div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a0c78f86c5d0fbf53437c2c9db26f92b6"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">kudu::client::KuduTable::NewInsert</a></div><div class="ttdeci">KuduInsert * NewInsert()</div></div>
+<div class="ttc" id="astatus_8h_html_ac503ba85e942147294cdc82087da60f6"><div class="ttname"><a href="status_8h.html#ac503ba85e942147294cdc82087da60f6">KUDU_CHECK_OK</a></div><div class="ttdeci">#define KUDU_CHECK_OK(s)</div><div class="ttdoc">If the status is bad, CHECK immediately, appending the status to the logged message.</div><div class="ttdef"><b>Definition:</b> status.h:102</div></div>
+</div><!-- fragment --> </div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a8889770ce62e2ca0ce5d55c9c90af6bc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8889770ce62e2ca0ce5d55c9c90af6bc">&#9670;&nbsp;</a></span>mutable_row()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a>* kudu::client::KuduWriteOperation::mutable_row </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section note"><dt>Note</dt><dd>To work with a row, use the <a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a> API for field setters, etc. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the corresponding row-like object. </dd></dl>
+
+</div>
+</div>
+<a id="ab73a467a979bc76bb4738ba038d7f0bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab73a467a979bc76bb4738ba038d7f0bd">&#9670;&nbsp;</a></span>row()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; kudu::client::KuduWriteOperation::row </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section note"><dt>Note</dt><dd>To work with a row, use the <a class="el" href="classKuduPartialRow.html" title="A row which may only contain values for a subset of the columns.">KuduPartialRow</a> API for field getters, etc. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>Immutable reference to the corresponding row-like object. </dd></dl>
+
+</div>
+</div>
+<a id="a50b5405c4dfc7af038daa4780aea6e19"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a50b5405c4dfc7af038daa4780aea6e19">&#9670;&nbsp;</a></span>ToString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual std::string kudu::client::KuduWriteOperation::ToString </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>String representation of the operation. </dd></dl>
+
+<p>Implemented in <a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763">kudu::client::KuduDeleteIgnore</a>, <a class="el" href="classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0">kudu::client::KuduDelete</a>, <a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261">kudu::client::KuduUpdateIgnore</a>, <a class="el" href="classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718">kudu::client::KuduUpdate</a>, <a class="el" href="classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8">kudu::client::KuduUpsert</a>, <a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83">kudu::client::KuduInsertIgnore</a>, and <a class="el" href="classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240">kudu::client::KuduInsert</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="write__op_8h_source.html">write_op.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.png b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.png
new file mode 100644
index 0000000..416cd84
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics-members.html
new file mode 100644
index 0000000..b38cfe7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics-members.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">ResourceMetrics</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::ResourceMetrics Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">kudu::client::ResourceMetrics</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936">Get</a>() const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">kudu::client::ResourceMetrics</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc">GetMetric</a>(const std::string &amp;name) const</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">kudu::client::ResourceMetrics</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a">Increment</a>(const std::string &amp;name, int64_t amount)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">kudu::client::ResourceMetrics</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ResourceMetrics</b>() (defined in <a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">kudu::client::ResourceMetrics</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">kudu::client::ResourceMetrics</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~ResourceMetrics</b>() (defined in <a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">kudu::client::ResourceMetrics</a>)</td><td class="entry"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">kudu::client::ResourceMetrics</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics.html
new file mode 100644
index 0000000..690602b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics.html
@@ -0,0 +1,185 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::ResourceMetrics Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html">ResourceMetrics</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1client_1_1ResourceMetrics-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::client::ResourceMetrics Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A generic catalog of simple metrics.  
+ <a href="classkudu_1_1client_1_1ResourceMetrics.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="resource__metrics_8h_source.html">resource_metrics.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ae46eb43e391c642b521fb6febcaea936"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, int64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936">Get</a> () const</td></tr>
+<tr class="separator:ae46eb43e391c642b521fb6febcaea936"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae7b5f6021f63c25bbd087ba2cf48dc8a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a">Increment</a> (const std::string &amp;name, int64_t amount)</td></tr>
+<tr class="separator:ae7b5f6021f63c25bbd087ba2cf48dc8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9d5ad8c55283103999e47a5bf754bdc"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc">GetMetric</a> (const std::string &amp;name) const</td></tr>
+<tr class="separator:ae9d5ad8c55283103999e47a5bf754bdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A generic catalog of simple metrics. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="ae46eb43e391c642b521fb6febcaea936"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae46eb43e391c642b521fb6febcaea936">&#9670;&nbsp;</a></span>Get()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::map&lt;std::string, int64_t&gt; kudu::client::ResourceMetrics::Get </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>A map that contains all metrics, its key is the metric name and its value is corresponding metric count. </dd></dl>
+
+</div>
+</div>
+<a id="ae9d5ad8c55283103999e47a5bf754bdc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae9d5ad8c55283103999e47a5bf754bdc">&#9670;&nbsp;</a></span>GetMetric()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int64_t kudu::client::ResourceMetrics::GetMetric </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get current count for the specified metric.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the metric in question. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The metric's current count. </dd></dl>
+
+</div>
+</div>
+<a id="ae7b5f6021f63c25bbd087ba2cf48dc8a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae7b5f6021f63c25bbd087ba2cf48dc8a">&#9670;&nbsp;</a></span>Increment()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void kudu::client::ResourceMetrics::Increment </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>amount</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Increment/decrement the given metric.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The name of the metric. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">amount</td><td>The amount to increment the metric (negative <code>amount</code> corresponds to decrementing the metric). </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="resource__metrics_8h_source.html">resource_metrics.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html
new file mode 100644
index 0000000..c49e37b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::internal::AsyncLeaderMasterRpc&lt; ReqClass, RespClass &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html">AsyncLeaderMasterRpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::internal::AsyncLeaderMasterRpc&lt; ReqClass, RespClass &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html
new file mode 100644
index 0000000..4e43050
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::client::internal::AsyncRandomTxnManagerRpc&lt; ReqClass, RespClass &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html">AsyncRandomTxnManagerRpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::client::internal::AsyncRandomTxnManagerRpc&lt; ReqClass, RespClass &gt; Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog-members.html
new file mode 100644
index 0000000..da15c7a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog-members.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>internal_logging</b></li><li class="navelem"><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html">CerrLog</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::internal_logging::CerrLog Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html">kudu::internal_logging::CerrLog</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713">CerrLog</a>(int severity)</td><td class="entry"><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html">kudu::internal_logging::CerrLog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724">operator&lt;&lt;</a>(const T &amp;t)</td><td class="entry"><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html">kudu::internal_logging::CerrLog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~CerrLog</b>() (defined in <a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html">kudu::internal_logging::CerrLog</a>)</td><td class="entry"><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html">kudu::internal_logging::CerrLog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog.html b/releases/1.15.0/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog.html
new file mode 100644
index 0000000..370e165
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog.html
@@ -0,0 +1,174 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::internal_logging::CerrLog Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>internal_logging</b></li><li class="navelem"><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html">CerrLog</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1internal__logging_1_1CerrLog-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::internal_logging::CerrLog Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A helper for stderr log sink.  
+ <a href="classkudu_1_1internal__logging_1_1CerrLog.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="stubs_8h_source.html">stubs.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ac3773ad2825d82f91ea65109f2def713"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713">CerrLog</a> (int severity)</td></tr>
+<tr class="separator:ac3773ad2825d82f91ea65109f2def713"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9febb74005a76f9b203e9718275ab724"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
+<tr class="memitem:a9febb74005a76f9b203e9718275ab724"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html">CerrLog</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724">operator&lt;&lt;</a> (const T &amp;t)</td></tr>
+<tr class="separator:a9febb74005a76f9b203e9718275ab724"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A helper for stderr log sink. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="ac3773ad2825d82f91ea65109f2def713"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac3773ad2825d82f91ea65109f2def713">&#9670;&nbsp;</a></span>CerrLog()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">kudu::internal_logging::CerrLog::CerrLog </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>severity</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a <a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html" title="A helper for stderr log sink.">CerrLog</a> sink helper object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">severity</td><td>The severity for log messages output to the sink (stderr). </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a9febb74005a76f9b203e9718275ab724"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9febb74005a76f9b203e9718275ab724">&#9670;&nbsp;</a></span>operator&lt;&lt;()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html">CerrLog</a>&amp; kudu::internal_logging::CerrLog::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>The output operator.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">t</td><td>The object to print into stderr. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="stubs_8h_source.html">stubs.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog-members.html b/releases/1.15.0/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog-members.html
new file mode 100644
index 0000000..82fe110
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog-members.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>internal_logging</b></li><li class="navelem"><a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html">NullLog</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::internal_logging::NullLog Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html">kudu::internal_logging::NullLog</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a">operator&lt;&lt;</a>(const T &amp;t)</td><td class="entry"><a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html">kudu::internal_logging::NullLog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog.html b/releases/1.15.0/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog.html
new file mode 100644
index 0000000..36c892f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::internal_logging::NullLog Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><b>internal_logging</b></li><li class="navelem"><a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html">NullLog</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classkudu_1_1internal__logging_1_1NullLog-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::internal_logging::NullLog Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A helper for the nil log sink.  
+ <a href="classkudu_1_1internal__logging_1_1NullLog.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="stubs_8h_source.html">stubs.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:abe50abde8e4af12413c99f437094dc8a"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
+<tr class="memitem:abe50abde8e4af12413c99f437094dc8a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html">NullLog</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a">operator&lt;&lt;</a> (const T &amp;t)</td></tr>
+<tr class="separator:abe50abde8e4af12413c99f437094dc8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A helper for the nil log sink. </p>
+<p>Using this helper is analogous to sending log messages to /dev/null: nothing gets logged. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="abe50abde8e4af12413c99f437094dc8a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abe50abde8e4af12413c99f437094dc8a">&#9670;&nbsp;</a></span>operator&lt;&lt;()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html">NullLog</a>&amp; kudu::internal_logging::NullLog::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>The no-op output operator.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">t</td><td>The object to send into the nil sink. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to the updated object. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/kudu/client/<a class="el" href="stubs_8h_source.html">stubs.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/client_8h_source.html b/releases/1.15.0/cpp-client-api/client_8h_source.html
new file mode 100644
index 0000000..11c531b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/client_8h_source.html
@@ -0,0 +1,1338 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/client.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">client.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_CLIENT_H</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_CLIENT_H</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// Not safe to include &lt;memory&gt;; this header must remain compatible with C++98.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">// IWYU pragma: no_include &lt;memory&gt;</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;kudu/client/row_result.h&quot;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;kudu/client/scan_predicate.h&quot;</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;kudu/client/schema.h&quot;</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="shared__ptr_8h.html">kudu/client/shared_ptr.h</a>&quot;</span> <span class="comment">// IWYU pragma: keep</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;gtest/gtest_prod.h&gt;</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/macros.h&quot;</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/port.h&quot;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &quot;kudu/util/slice.h&quot;</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="status_8h.html">kudu/util/status.h</a>&quot;</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">class </span>AuthzTokenTest;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">class </span>ClientStressTest_TestUniqueClientIds_Test;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">class </span>DisableWriteWhenExceedingQuotaTest;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">class </span><a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">class </span>MonoDelta;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">class </span>Partition;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">class </span>PartitionSchema;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">class </span>SecurityUnknownTskTest;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">class </span>TxnId;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">class </span>KuduClient;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">class </span>KuduTable;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">namespace </span>tablet {</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">class </span>FuzzTest;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;} <span class="comment">// namespace tablet</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">namespace </span>transactions {</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">class </span>CoordinatorRpc;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">class </span>ParticipantRpc;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">class </span>TxnSystemClient;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;} <span class="comment">// namespace transactions</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">namespace </span>tools {</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">class </span>LeaderMasterProxy;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">class </span>RemoteKsckCluster;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;} <span class="comment">// namespace tools</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">class </span>KuduColumnarScanBatch;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">class </span>KuduDelete;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keyword">class </span>KuduDeleteIgnore;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">class </span>KuduInsert;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">class </span>KuduInsertIgnore;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">class </span>KuduLoggingCallback;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">class </span>KuduPartitioner;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">class </span>KuduScanBatch;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">class </span>KuduSession;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">class </span>KuduStatusCallback;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">class </span>KuduTableAlterer;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">class </span>KuduTableCreator;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keyword">class </span>KuduTableStatistics;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keyword">class </span>KuduTablet;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">class </span>KuduTabletServer;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">class </span>KuduUpdate;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">class </span>KuduUpdateIgnore;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keyword">class </span>KuduUpsert;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">class </span>KuduValue;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keyword">class </span>KuduWriteOperation;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">class </span>ResourceMetrics;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keyword">namespace </span>internal {</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">class </span>Batcher;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">class </span>ErrorCollector;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">class </span>GetTableSchemaRpc;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">class </span>LookupRpc;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">class </span>MetaCache;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">class </span>RemoteTablet;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keyword">class </span>RemoteTabletServer;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">class </span>ReplicaController;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keyword">class </span>RetrieveAuthzTokenRpc;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">class </span>ScanBatchDataInterface;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">class </span>WriteRpc;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> ReqClass, <span class="keyword">class</span> RespClass&gt;</div>
+<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html">  123</a></span>&#160;<span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html">AsyncLeaderMasterRpc</a>; <span class="comment">// IWYU pragma: keep</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> ReqClass, <span class="keyword">class</span> RespClass&gt;</div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html">  125</a></span>&#160;<span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html">AsyncRandomTxnManagerRpc</a>; <span class="comment">// IWYU pragma: keep</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;} <span class="comment">// namespace internal</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keywordtype">void</span> KUDU_EXPORT InstallLoggingCallback(<a class="code" href="classkudu_1_1client_1_1KuduLoggingCallback.html">KuduLoggingCallback</a>* cb);</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keywordtype">void</span> KUDU_EXPORT UninstallLoggingCallback();</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">void</span> KUDU_EXPORT SetVerboseLogLevel(<span class="keywordtype">int</span> level);</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160; </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<a class="code" href="classkudu_1_1Status.html">Status</a> KUDU_EXPORT SetInternalSignalNumber(<span class="keywordtype">int</span> signum) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160; </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<a class="code" href="classkudu_1_1Status.html">Status</a> KUDU_EXPORT DisableSaslInitialization() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160; </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160; </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<a class="code" href="classkudu_1_1Status.html">Status</a> KUDU_EXPORT DisableOpenSSLInitialization() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160; </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;std::<span class="keywordtype">string</span> KUDU_EXPORT GetShortVersionString();</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160; </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;std::<span class="keywordtype">string</span> KUDU_EXPORT GetAllVersionInfo();</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160; </div>
+<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html">  228</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a> {</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>();</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>();</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160; </div>
+<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1">  236</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1">clear_master_server_addrs</a>();</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160; </div>
+<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">  243</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">master_server_addrs</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; addrs);</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160; </div>
+<div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c">  252</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c">add_master_server_addr</a>(<span class="keyword">const</span> std::string&amp; addr);</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160; </div>
+<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752">  263</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752">default_admin_operation_timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160; </div>
+<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df">  272</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df">default_rpc_timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160; </div>
+<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f">  287</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f">connection_negotiation_timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160; </div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160; </div>
+<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">  297</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">import_authentication_credentials</a>(std::string authn_creds);</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160; </div>
+<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">  308</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">num_reactors</a>(<span class="keywordtype">int</span> num_reactors);</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160; </div>
+<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">  320</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">sasl_protocol_name</a>(<span class="keyword">const</span> std::string&amp; sasl_protocol_name);</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160; </div>
+<div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">  332</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">Build</a>(sp::shared_ptr&lt;KuduClient&gt;* client);</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160; </div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160; </div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::ReplicaController;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160; </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160; </div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>);</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;};</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160; </div>
+<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html">  362</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> :</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <span class="keyword">public</span> sp::enable_shared_from_this&lt;KuduTransaction&gt; {</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>();</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160; </div>
+<div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">  379</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">CreateSession</a>(sp::shared_ptr&lt;KuduSession&gt;* session) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160; </div>
+<div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">  397</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">Commit</a>() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160; </div>
+<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce">  413</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> StartCommit() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160; </div>
+<div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">  442</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> IsCommitComplete(<span class="keywordtype">bool</span>* is_complete,</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;                          <a class="code" href="classkudu_1_1Status.html">Status</a>* completion_status) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160; </div>
+<div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">  448</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> Rollback() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160; </div>
+<div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">  459</a></span>&#160;  class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a> {</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>();</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    ~<a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>();</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160; </div>
+<div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f">  505</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f">keepalive</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160; </div>
+<div class="line"><a name="l00518"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">  518</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">enable_keepalive</a>(<span class="keywordtype">bool</span> enable);</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160; </div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;   <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>;</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    Data* data_; <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160; </div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;    DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>);</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;  };</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160; </div>
+<div class="line"><a name="l00553"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">  553</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">Serialize</a>(</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;      std::string* serialized_txn,</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;      <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>&amp; options = <a class="code" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>()) const WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160; </div>
+<div class="line"><a name="l00572"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">  572</a></span>&#160;  static <a class="code" href="classkudu_1_1Status.html">Status</a> Deserialize(const sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt;&amp; client,</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;                            const std::<span class="keywordtype">string</span>&amp; serialized_txn,</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;                            sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>&gt;* txn) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160; private:</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>);</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160; </div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>;</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;  FRIEND_TEST(ClientTest, TxnIdOfTransactionalSession);</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;  FRIEND_TEST(ClientTest, TxnToken);</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160; </div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;  class KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160; </div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;  explicit <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>(const sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt;&amp; client);</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;  Data* data_; <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;};</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160; </div>
+<div class="line"><a name="l00615"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html">  615</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> : public sp::enable_shared_from_this&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt; {</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>();</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160; </div>
+<div class="line"><a name="l00623"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153">  623</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>* <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153">NewTableCreator</a>();</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160; </div>
+<div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63">  633</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63">IsCreateTableInProgress</a>(<span class="keyword">const</span> std::string&amp; table_name,</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;                                 <span class="keywordtype">bool</span>* create_in_progress);</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160; </div>
+<div class="line"><a name="l00641"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d">  641</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d">DeleteTable</a>(<span class="keyword">const</span> std::string&amp; table_name);</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160; </div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160; </div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> DeleteTableInCatalogs(<span class="keyword">const</span> std::string&amp; table_name,</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;                               <span class="keywordtype">bool</span> modify_external_catalogs) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160; </div>
+<div class="line"><a name="l00665"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">  665</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">NewTableAlterer</a>(<span class="keyword">const</span> std::string&amp; table_name);</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160; </div>
+<div class="line"><a name="l00675"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809">  675</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809">IsAlterTableInProgress</a>(<span class="keyword">const</span> std::string&amp; table_name,</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;                                <span class="keywordtype">bool</span>* alter_in_progress);</div>
+<div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65">  684</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65">GetTableSchema</a>(<span class="keyword">const</span> std::string&amp; table_name,</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;                        <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>* schema);</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160; </div>
+<div class="line"><a name="l00693"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9">  693</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9">ListTabletServers</a>(std::vector&lt;KuduTabletServer*&gt;* tablet_servers);</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160; </div>
+<div class="line"><a name="l00702"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d">  702</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d">ListTables</a>(std::vector&lt;std::string&gt;* tables,</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;                    <span class="keyword">const</span> std::string&amp; filter = <span class="stringliteral">&quot;&quot;</span>);</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160; </div>
+<div class="line"><a name="l00712"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818">  712</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818">TableExists</a>(<span class="keyword">const</span> std::string&amp; table_name, <span class="keywordtype">bool</span>* exists);</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160; </div>
+<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">  730</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">OpenTable</a>(<span class="keyword">const</span> std::string&amp; table_name,</div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;                   sp::shared_ptr&lt;KuduTable&gt;* table);</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160; </div>
+<div class="line"><a name="l00738"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">  738</a></span>&#160;  sp::shared_ptr&lt;KuduSession&gt; <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">NewSession</a>();</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160; </div>
+<div class="line"><a name="l00763"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345">  763</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345">NewTransaction</a>(sp::shared_ptr&lt;KuduTransaction&gt;* txn) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160; </div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160; </div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> GetTablet(<span class="keyword">const</span> std::string&amp; tablet_id,</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;                   <a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>** tablet) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160; </div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> GetTableStatistics(<span class="keyword">const</span> std::string&amp; table_name,</div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;                            <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a>** statistics);</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160; </div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;  std::string GetMasterAddresses() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160; </div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160; </div>
+<div class="line"><a name="l00804"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">  804</a></span>&#160;  enum <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">ReplicaSelection</a> {</div>
+<div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">  805</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">LEADER_ONLY</a>,      </div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160; </div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    CLOSEST_REPLICA,  </div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160; </div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;    FIRST_REPLICA     </div>
+<div class="line"><a name="l00814"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f">  814</a></span>&#160;  };</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160; </div>
+<div class="line"><a name="l00818"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433">  818</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433">IsMultiMaster</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160; </div>
+<div class="line"><a name="l00821"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838">  821</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838">default_admin_operation_timeout</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160; </div>
+<div class="line"><a name="l00824"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49">  824</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49">default_rpc_timeout</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160; </div>
+<div class="line"><a name="l00827"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac">  827</a></span>&#160;  <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac">connection_negotiation_timeout</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160; </div>
+<div class="line"><a name="l00831"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">  831</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> uint64_t <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">kNoTimestamp</a>;</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160; </div>
+<div class="line"><a name="l00843"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">  843</a></span>&#160;  uint64_t <a class="code" href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">GetLatestObservedTimestamp</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160; </div>
+<div class="line"><a name="l00859"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">  859</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">SetLatestObservedTimestamp</a>(uint64_t ht_timestamp);</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160; </div>
+<div class="line"><a name="l00872"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">  872</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">ExportAuthenticationCredentials</a>(std::string* authn_creds) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160; </div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160; </div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;  std::string GetHiveMetastoreUris() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160; </div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;  <span class="keywordtype">bool</span> GetHiveMetastoreSaslEnabled() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160; </div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;  std::<span class="keywordtype">string</span> GetHiveMetastoreUuid() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160; </div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;  std::<span class="keywordtype">string</span> location() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160; </div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;  std::<span class="keywordtype">string</span> cluster_id() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160; </div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160; private:</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;  class KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160; </div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;  template &lt;class ReqClass, class RespClass&gt;</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;  friend class internal::AsyncLeaderMasterRpc;</div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;  template &lt;class ReqClass, class RespClass&gt;</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;  friend class internal::AsyncRandomTxnManagerRpc;</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160; </div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;  friend class ClientTest;</div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;  friend class ConnectToClusterBaseTest;</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClientBuilder.html">KuduClientBuilder</a>;</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>;</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>;</div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>;</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>;</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>;</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>;</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>;</div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>;</div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;  friend class internal::Batcher;</div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;  friend class internal::GetTableSchemaRpc;</div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;  friend class internal::LookupRpc;</div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;  friend class internal::MetaCache;</div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;  friend class internal::RemoteTablet;</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;  friend class internal::RemoteTabletServer;</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;  friend class internal::RetrieveAuthzTokenRpc;</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;  friend class internal::WriteRpc;</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;  friend class kudu::AuthzTokenTest;</div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;  friend class kudu::DisableWriteWhenExceedingQuotaTest;</div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;  friend class kudu::SecurityUnknownTskTest;</div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;  friend class transactions::CoordinatorRpc;</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;  friend class transactions::ParticipantRpc;</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;  friend class transactions::TxnSystemClient;</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;  friend class tools::LeaderMasterProxy;</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;  friend class tools::RemoteKsckCluster;</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160; </div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;  FRIEND_TEST(kudu::ClientStressTest, TestUniqueClientIds);</div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;  FRIEND_TEST(ClientTest, ClearCacheAndConcurrentWorkload);</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;  FRIEND_TEST(ClientTest, ConnectionNegotiationTimeout);</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;  FRIEND_TEST(ClientTest, TestBasicIdBasedLookup);</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;  FRIEND_TEST(ClientTest, TestCacheAuthzTokens);</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;  FRIEND_TEST(ClientTest, TestGetSecurityInfoFromMaster);</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;  FRIEND_TEST(ClientTest, TestGetTabletServerBlacklist);</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;  FRIEND_TEST(ClientTest, TestGetTabletServerDeterministic);</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;  FRIEND_TEST(ClientTest, TestMasterDown);</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;  FRIEND_TEST(ClientTest, TestMasterLookupPermits);</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheExpiry);</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheExpiryById);</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheExpiryWithKeysAndIds);</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheLookupNoLeaders);</div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;  FRIEND_TEST(ClientTest, TestMetaCacheWithKeysAndIds);</div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;  FRIEND_TEST(ClientTest, TestNonCoveringRangePartitions);</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;  FRIEND_TEST(ClientTest, TestRetrieveAuthzTokenInParallel);</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;  FRIEND_TEST(ClientTest, TestReplicatedTabletWritesWithLeaderElection);</div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;  FRIEND_TEST(ClientTest, TestScanFaultTolerance);</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;  FRIEND_TEST(ClientTest, TestScanTimeout);</div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;  FRIEND_TEST(ClientTest, TestWriteWithDeadMaster);</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;  FRIEND_TEST(MasterFailoverTest, TestPauseAfterCreateTableIssued);</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160; </div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>();</div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160; </div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160; </div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>);</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;};</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160; </div>
+<div class="line"><a name="l00984"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTabletServer.html">  984</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a> {</div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>();</div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160; </div>
+<div class="line"><a name="l00990"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc">  990</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc">uuid</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160; </div>
+<div class="line"><a name="l00994"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1">  994</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1">hostname</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160; </div>
+<div class="line"><a name="l00998"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f">  998</a></span>&#160;  uint16_t <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f">port</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160; </div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; </div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;  <span class="keyword">const</span> std::string&amp; location() const KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; </div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; private:</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;  class KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; </div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>;</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; </div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>();</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; </div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; </div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>);</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;};</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; </div>
+<div class="line"><a name="l01025"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduReplica.html"> 1025</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a> {</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a>();</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; </div>
+<div class="line"><a name="l01033"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5"> 1033</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5">is_leader</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; </div>
+<div class="line"><a name="l01036"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627"> 1036</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627">ts</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; </div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::ReplicaController;</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; </div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; </div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a>();</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; </div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; </div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduReplica.html">KuduReplica</a>);</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;};</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; </div>
+<div class="line"><a name="l01054"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTablet.html"> 1054</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a> {</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>();</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; </div>
+<div class="line"><a name="l01060"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837"> 1060</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837">id</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; </div>
+<div class="line"><a name="l01067"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19"> 1067</a></span>&#160;  <span class="keyword">const</span> std::vector&lt;const KuduReplica*&gt;&amp; <a class="code" href="classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19">replicas</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; </div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; </div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; </div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>();</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; </div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; </div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>);</div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;};</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; </div>
+<div class="line"><a name="l01084"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html"> 1084</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> {</div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>();</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; </div>
+<div class="line"><a name="l01099"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93"> 1099</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">table_name</a>(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; </div>
+<div class="line"><a name="l01111"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7"> 1111</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">schema</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>* schema);</div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; </div>
+<div class="line"><a name="l01129"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e"> 1129</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">add_hash_partitions</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; columns,</div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;                                        int32_t num_buckets);</div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; </div>
+<div class="line"><a name="l01147"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24"> 1147</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24">add_hash_partitions</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; columns,</div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;                                        int32_t num_buckets, int32_t seed);</div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160; </div>
+<div class="line"><a name="l01162"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3"> 1162</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3">set_range_partition_columns</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; columns);</div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160; </div>
+<div class="line"><a name="l01165"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b"> 1165</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> {</div>
+<div class="line"><a name="l01166"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601"> 1166</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">EXCLUSIVE_BOUND</a>, </div>
+<div class="line"><a name="l01167"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950"> 1167</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">INCLUSIVE_BOUND</a>, </div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;  };</div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; </div>
+<div class="line"><a name="l01198"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a"> 1198</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a">add_range_partition</a>(<a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* lower_bound,</div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;                                        <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* upper_bound,</div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;                                        <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> lower_bound_type = INCLUSIVE_BOUND,</div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;                                        <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> upper_bound_type = EXCLUSIVE_BOUND);</div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160; </div>
+<div class="line"><a name="l01211"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f"> 1211</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split</a>(<a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* split_row);</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160; </div>
+<div class="line"><a name="l01220"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007"> 1220</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">set_owner</a>(<span class="keyword">const</span> std::string&amp; owner);</div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160; </div>
+<div class="line"><a name="l01227"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f"> 1227</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f">set_comment</a>(<span class="keyword">const</span> std::string&amp; comment);</div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160; </div>
+<div class="line"><a name="l01234"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9"> 1234</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">split_rows</a>(<span class="keyword">const</span> std::vector&lt;const KuduPartialRow*&gt;&amp; split_rows)</div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use add_range_partition_split() instead&quot;</span>);</div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; </div>
+<div class="line"><a name="l01246"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139"> 1246</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139">num_replicas</a>(<span class="keywordtype">int</span> n_replicas);</div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; </div>
+<div class="line"><a name="l01259"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658"> 1259</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">dimension_label</a>(<span class="keyword">const</span> std::string&amp; dimension_label);</div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; </div>
+<div class="line"><a name="l01268"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd"> 1268</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd">extra_configs</a>(<span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; extra_configs);</div>
+<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; </div>
+<div class="line"><a name="l01279"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235"> 1279</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; </div>
+<div class="line"><a name="l01288"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9"> 1288</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">wait</a>(<span class="keywordtype">bool</span> wait);</div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; </div>
+<div class="line"><a name="l01303"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc"> 1303</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">Create</a>();</div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; </div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160; </div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>transactions::TxnSystemClient;</div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; </div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* client);</div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160; </div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160; </div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>);</div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;};</div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; </div>
+<div class="line"><a name="l01320"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html"> 1320</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a> {</div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a>();</div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a>();</div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; </div>
+<div class="line"><a name="l01329"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484"> 1329</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">on_disk_size</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160; </div>
+<div class="line"><a name="l01335"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1"> 1335</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">live_row_count</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; </div>
+<div class="line"><a name="l01343"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a"> 1343</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">on_disk_size_limit</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; </div>
+<div class="line"><a name="l01351"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd"> 1351</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd">live_row_count_limit</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; </div>
+<div class="line"><a name="l01356"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff"> 1356</a></span>&#160;  std::string <a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">ToString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; </div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; </div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; </div>
+<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; </div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTableStatistics.html">KuduTableStatistics</a>);</div>
+<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;};</div>
+<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160; </div>
+<div class="line"><a name="l01389"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html"> 1389</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a> : <span class="keyword">public</span> sp::enable_shared_from_this&lt;KuduTable&gt; {</div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>();</div>
+<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; </div>
+<div class="line"><a name="l01394"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244"> 1394</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">name</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160; </div>
+<div class="line"><a name="l01403"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20"> 1403</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20">id</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; </div>
+<div class="line"><a name="l01406"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c"> 1406</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c">schema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160; </div>
+<div class="line"><a name="l01409"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b"> 1409</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b">comment</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160; </div>
+<div class="line"><a name="l01412"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed"> 1412</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed">num_replicas</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; </div>
+<div class="line"><a name="l01415"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d"> 1415</a></span>&#160;  <span class="keyword">const</span> std::string&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">owner</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; </div>
+<div class="line"><a name="l01420"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6"> 1420</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduInsert.html">KuduInsert</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">NewInsert</a>();</div>
+<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; </div>
+<div class="line"><a name="l01425"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103"> 1425</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduInsertIgnore.html">KuduInsertIgnore</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103">NewInsertIgnore</a>();</div>
+<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160; </div>
+<div class="line"><a name="l01430"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc"> 1430</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduUpsert.html">KuduUpsert</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc">NewUpsert</a>();</div>
+<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; </div>
+<div class="line"><a name="l01435"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8"> 1435</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduUpdate.html">KuduUpdate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8">NewUpdate</a>();</div>
+<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; </div>
+<div class="line"><a name="l01440"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3"> 1440</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">KuduUpdateIgnore</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3">NewUpdateIgnore</a>();</div>
+<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160; </div>
+<div class="line"><a name="l01445"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a"> 1445</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduDelete.html">KuduDelete</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a">NewDelete</a>();</div>
+<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160; </div>
+<div class="line"><a name="l01450"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094"> 1450</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">KuduDeleteIgnore</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094">NewDeleteIgnore</a>();</div>
+<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160; </div>
+<div class="line"><a name="l01475"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea"> 1475</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">NewComparisonPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
+<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;                                        <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">KuduPredicate::ComparisonOp</a> op,</div>
+<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;                                        <a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* value);</div>
+<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160; </div>
+<div class="line"><a name="l01510"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94"> 1510</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">NewInBloomFilterPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
+<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;                                           std::vector&lt;KuduBloomFilter*&gt;* bloom_filters);</div>
+<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160; </div>
+<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160; </div>
+<div class="line"><a name="l01553"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3"> 1553</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3">NewInBloomFilterPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
+<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160;                                           <span class="keyword">const</span> std::vector&lt;Slice&gt;&amp; bloom_filters);</div>
+<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160; </div>
+<div class="line"><a name="l01580"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9"> 1580</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9">NewInListPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
+<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;                                    std::vector&lt;KuduValue*&gt;* values);</div>
+<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160; </div>
+<div class="line"><a name="l01593"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523"> 1593</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523">NewIsNotNullPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name);</div>
+<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; </div>
+<div class="line"><a name="l01605"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466"> 1605</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">NewIsNullPredicate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name);</div>
+<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; </div>
+<div class="line"><a name="l01609"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf"> 1609</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf">client</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; </div>
+<div class="line"><a name="l01612"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2"> 1612</a></span>&#160;  <span class="keyword">const</span> PartitionSchema&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2">partition_schema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160; </div>
+<div class="line"><a name="l01615"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec"> 1615</a></span>&#160;  <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; <a class="code" href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec">extra_configs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; </div>
+<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; </div>
+<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> ListPartitions(std::vector&lt;Partition&gt;* partitions) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160; </div>
+<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160; </div>
+<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160; </div>
+<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a>;</div>
+<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>;</div>
+<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160; </div>
+<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>(<span class="keyword">const</span> sp::shared_ptr&lt;KuduClient&gt;&amp; client,</div>
+<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;            <span class="keyword">const</span> std::string&amp; name,</div>
+<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;            <span class="keyword">const</span> std::string&amp; <span class="keywordtype">id</span>,</div>
+<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;            <span class="keywordtype">int</span> num_replicas,</div>
+<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160;            <span class="keyword">const</span> std::string&amp; owner,</div>
+<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;            <span class="keyword">const</span> std::string&amp; comment,</div>
+<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160;            <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; schema,</div>
+<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;            <span class="keyword">const</span> PartitionSchema&amp; partition_schema,</div>
+<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;            <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; extra_configs);</div>
+<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; </div>
+<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; </div>
+<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>);</div>
+<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160;};</div>
+<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; </div>
+<div class="line"><a name="l01666"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html"> 1666</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a> {</div>
+<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>();</div>
+<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; </div>
+<div class="line"><a name="l01675"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324"> 1675</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324">RenameTo</a>(<span class="keyword">const</span> std::string&amp; new_name);</div>
+<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160; </div>
+<div class="line"><a name="l01682"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8"> 1682</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8">SetOwner</a>(<span class="keyword">const</span> std::string&amp; new_owner);</div>
+<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; </div>
+<div class="line"><a name="l01689"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6"> 1689</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6">SetComment</a>(<span class="keyword">const</span> std::string&amp; new_comment);</div>
+<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; </div>
+<div class="line"><a name="l01700"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0"> 1700</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0">AddColumn</a>(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; </div>
+<div class="line"><a name="l01710"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742"> 1710</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742">AlterColumn</a>(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; </div>
+<div class="line"><a name="l01719"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7"> 1719</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7">DropColumn</a>(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; </div>
+<div class="line"><a name="l01752"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793"> 1752</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793">AddRangePartition</a>(</div>
+<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* lower_bound,</div>
+<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* upper_bound,</div>
+<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>,</div>
+<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>);</div>
+<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160; </div>
+<div class="line"><a name="l01792"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006"> 1792</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006">AddRangePartitionWithDimension</a>(</div>
+<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* lower_bound,</div>
+<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* upper_bound,</div>
+<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160;      <span class="keyword">const</span> std::string&amp; dimension_label,</div>
+<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>,</div>
+<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>);</div>
+<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160; </div>
+<div class="line"><a name="l01826"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7"> 1826</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7">DropRangePartition</a>(</div>
+<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* lower_bound,</div>
+<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;      <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* upper_bound,</div>
+<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> lower_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">KuduTableCreator::INCLUSIVE_BOUND</a>,</div>
+<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">KuduTableCreator::RangePartitionBound</a> upper_bound_type = <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">KuduTableCreator::EXCLUSIVE_BOUND</a>);</div>
+<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160; </div>
+<div class="line"><a name="l01841"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541"> 1841</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541">AlterExtraConfig</a>(<span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; extra_configs);</div>
+<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160; </div>
+<div class="line"><a name="l01855"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27"> 1855</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27">SetTableDiskSizeLimit</a>(int64_t disk_size_limit);</div>
+<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160; </div>
+<div class="line"><a name="l01869"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe"> 1869</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe">SetTableRowCountLimit</a>(int64_t row_count_limit);</div>
+<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160; </div>
+<div class="line"><a name="l01880"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1"> 1880</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">timeout</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; timeout);</div>
+<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160; </div>
+<div class="line"><a name="l01893"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646"> 1893</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">wait</a>(<span class="keywordtype">bool</span> wait);</div>
+<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160; </div>
+<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160; </div>
+<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>* modify_external_catalogs(<span class="keywordtype">bool</span> modify_external_catalogs) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160; </div>
+<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160; </div>
+<div class="line"><a name="l01913"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c"> 1913</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">Alter</a>();</div>
+<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160; </div>
+<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160; </div>
+<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160; </div>
+<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* client,</div>
+<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;                   <span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160; </div>
+<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160; </div>
+<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>);</div>
+<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;};</div>
+<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160; </div>
+<div class="line"><a name="l01934"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html"> 1934</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a> {</div>
+<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a>();</div>
+<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160; </div>
+<div class="line"><a name="l01939"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7"> 1939</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7">status</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160; </div>
+<div class="line"><a name="l01942"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea"> 1942</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea">failed_op</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160; </div>
+<div class="line"><a name="l01951"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a"> 1951</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>* <a class="code" href="classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a">release_failed_op</a>();</div>
+<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160; </div>
+<div class="line"><a name="l01963"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4"> 1963</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4">was_possibly_successful</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160; </div>
+<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160; </div>
+<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::Batcher;</div>
+<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::ErrorCollector;</div>
+<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>;</div>
+<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160; </div>
+<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a>(<a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>* failed_op, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; error);</div>
+<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160; </div>
+<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160; </div>
+<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a>);</div>
+<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160;};</div>
+<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160; </div>
+<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160; </div>
+<div class="line"><a name="l02039"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html"> 2039</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a> : <span class="keyword">public</span> sp::enable_shared_from_this&lt;KuduSession&gt; {</div>
+<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>();</div>
+<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160; </div>
+<div class="line"><a name="l02044"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19"> 2044</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">FlushMode</a> {</div>
+<div class="line"><a name="l02049"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b"> 2049</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b">AUTO_FLUSH_SYNC</a>,</div>
+<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160; </div>
+<div class="line"><a name="l02077"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1"> 2077</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">AUTO_FLUSH_BACKGROUND</a>,</div>
+<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160; </div>
+<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;    MANUAL_FLUSH</div>
+<div class="line"><a name="l02092"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a"> 2092</a></span>&#160;  };</div>
+<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160; </div>
+<div class="line"><a name="l02102"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f"> 2102</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f">SetFlushMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">FlushMode</a> m) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160; </div>
+<div class="line"><a name="l02105"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22"> 2105</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">ExternalConsistencyMode</a> {</div>
+<div class="line"><a name="l02124"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c"> 2124</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">CLIENT_PROPAGATED</a>,</div>
+<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>&#160; </div>
+<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>&#160;    COMMIT_WAIT</div>
+<div class="line"><a name="l02141"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9"> 2141</a></span>&#160;  };</div>
+<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160; </div>
+<div class="line"><a name="l02148"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca"> 2148</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca">SetExternalConsistencyMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">ExternalConsistencyMode</a> m)</div>
+<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>&#160; </div>
+<div class="line"><a name="l02168"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf"> 2168</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf">SetMutationBufferSpace</a>(<span class="keywordtype">size_t</span> size_bytes) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160; </div>
+<div class="line"><a name="l02193"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf"> 2193</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf">SetMutationBufferFlushWatermark</a>(<span class="keywordtype">double</span> watermark_pct)</div>
+<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160;      WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160; </div>
+<div class="line"><a name="l02217"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941"> 2217</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941">SetMutationBufferFlushInterval</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> millis) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160; </div>
+<div class="line"><a name="l02243"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4"> 2243</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4">SetMutationBufferMaxNum</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_num) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span>&#160; </div>
+<div class="line"><a name="l02250"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79"> 2250</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79">SetTimeoutMillis</a>(<span class="keywordtype">int</span> millis);</div>
+<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span>&#160; </div>
+<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span>&#160; </div>
+<div class="line"><a name="l02279"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943"> 2279</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">Apply</a>(<a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>* write_op) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span>&#160; </div>
+<div class="line"><a name="l02295"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84"> 2295</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">Flush</a>() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span>&#160; </div>
+<div class="line"><a name="l02337"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731"> 2337</a></span>&#160;  <span class="keywordtype">void</span> FlushAsync(<a class="code" href="classkudu_1_1client_1_1KuduStatusCallback.html">KuduStatusCallback</a>* cb);</div>
+<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span>&#160; </div>
+<div class="line"><a name="l02341"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436"> 2341</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> Close() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span>&#160; </div>
+<div class="line"><a name="l02351"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578"> 2351</a></span>&#160;  <span class="keywordtype">bool</span> HasPendingOperations() const;</div>
+<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span>&#160; </div>
+<div class="line"><a name="l02374"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112"> 2374</a></span>&#160;  <span class="keywordtype">int</span> CountBufferedOperations() const</div>
+<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span>&#160;      ATTRIBUTE_DEPRECATED(&quot;this method is experimental and will disappear &quot;</div>
+<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span>&#160;                           &quot;in a future release&quot;);</div>
+<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span>&#160; </div>
+<div class="line"><a name="l02402"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5"> 2402</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetErrorBufferSpace(<span class="keywordtype">size_t</span> size_bytes);</div>
+<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span>&#160; </div>
+<div class="line"><a name="l02413"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913"> 2413</a></span>&#160;  <span class="keywordtype">int</span> CountPendingErrors() const;</div>
+<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span>&#160; </div>
+<div class="line"><a name="l02425"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7"> 2425</a></span>&#160;  <span class="keywordtype">void</span> GetPendingErrors(std::vector&lt;<a class="code" href="classkudu_1_1client_1_1KuduError.html">KuduError</a>*&gt;* errors, <span class="keywordtype">bool</span>* overflowed);</div>
+<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span>&#160; </div>
+<div class="line"><a name="l02428"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1"> 2428</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* client() const;</div>
+<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span>&#160; </div>
+<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span>&#160; private:</div>
+<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span>&#160;  class KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span>&#160; </div>
+<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span>&#160;  friend class ClientTest;</div>
+<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a>;</div>
+<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span>&#160;  friend class internal::Batcher;</div>
+<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span>&#160;  friend class tablet::FuzzTest;</div>
+<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span>&#160;  FRIEND_TEST(ClientTest, TestAutoFlushBackgroundAndErrorCollector);</div>
+<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span>&#160;  FRIEND_TEST(ClientTest, TestAutoFlushBackgroundApplyBlocks);</div>
+<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span>&#160;  FRIEND_TEST(ClientTest, TxnIdOfTransactionalSession);</div>
+<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span>&#160; </div>
+<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span>&#160;  explicit <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>(const sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt;&amp; client);</div>
+<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>(const sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>&gt;&amp; client, const TxnId&amp; txn_id);</div>
+<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span>&#160; </div>
+<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span>&#160; </div>
+<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>);</div>
+<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span>&#160;};</div>
+<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span>&#160; </div>
+<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span>&#160; </div>
+<div class="line"><a name="l02456"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html"> 2456</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a> {</div>
+<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l02459"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348"> 2459</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">ReadMode</a> {</div>
+<div class="line"><a name="l02467"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8"> 2467</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8">READ_LATEST</a>,</div>
+<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span>&#160; </div>
+<div class="line"><a name="l02488"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2"> 2488</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2">READ_AT_SNAPSHOT</a>,</div>
+<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span>&#160; </div>
+<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span>&#160;    READ_YOUR_WRITES</div>
+<div class="line"><a name="l02501"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567"> 2501</a></span>&#160;  };</div>
+<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span>&#160; </div>
+<div class="line"><a name="l02506"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9"> 2506</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">OrderMode</a> {</div>
+<div class="line"><a name="l02512"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3"> 2512</a></span>&#160;    <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3">UNORDERED</a>,</div>
+<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span>&#160; </div>
+<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span>&#160;    ORDERED</div>
+<div class="line"><a name="l02519"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a"> 2519</a></span>&#160;  };</div>
+<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span>&#160; </div>
+<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span>&#160;  <span class="keyword">enum</span> { kScanTimeoutMillis = 30000 };</div>
+<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span>&#160; </div>
+<div class="line"><a name="l02531"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180"> 2531</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180">KuduScanner</a>(<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>* table);</div>
+<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>();</div>
+<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span>&#160; </div>
+<div class="line"><a name="l02543"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01"> 2543</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">SetProjectedColumnNames</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; col_names)</div>
+<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160; </div>
+<div class="line"><a name="l02555"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d"> 2555</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d">SetProjectedColumnIndexes</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; col_indexes)</div>
+<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160; </div>
+<div class="line"><a name="l02563"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad"> 2563</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad">SetProjectedColumns</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; col_names)</div>
+<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160;      WARN_UNUSED_RESULT</div>
+<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use SetProjectedColumnNames() instead&quot;</span>);</div>
+<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160; </div>
+<div class="line"><a name="l02575"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74"> 2575</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">AddConjunctPredicate</a>(<a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* pred) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160; </div>
+<div class="line"><a name="l02585"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86"> 2585</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86">AddLowerBound</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; key);</div>
+<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span>&#160; </div>
+<div class="line"><a name="l02594"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e"> 2594</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e">AddLowerBoundRaw</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; key)</div>
+<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use AddLowerBound() instead&quot;</span>);</div>
+<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span>&#160; </div>
+<div class="line"><a name="l02605"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d"> 2605</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d">AddExclusiveUpperBound</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; key);</div>
+<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span>&#160; </div>
+<div class="line"><a name="l02614"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe"> 2614</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe">AddExclusiveUpperBoundRaw</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; key)</div>
+<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use AddExclusiveUpperBound() instead&quot;</span>);</div>
+<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span>&#160; </div>
+<div class="line"><a name="l02625"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e"> 2625</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e">AddLowerBoundPartitionKeyRaw</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; partition_key);</div>
+<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span>&#160; </div>
+<div class="line"><a name="l02635"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9"> 2635</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9">AddExclusiveUpperBoundPartitionKeyRaw</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; partition_key);</div>
+<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160; </div>
+<div class="line"><a name="l02643"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310"> 2643</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310">SetCacheBlocks</a>(<span class="keywordtype">bool</span> cache_blocks);</div>
+<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span>&#160; </div>
+<div class="line"><a name="l02646"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1"> 2646</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">Open</a>();</div>
+<div class="line"><a name="l02647"></a><span class="lineno"> 2647</span>&#160; </div>
+<div class="line"><a name="l02666"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21"> 2666</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21">KeepAlive</a>();</div>
+<div class="line"><a name="l02667"></a><span class="lineno"> 2667</span>&#160; </div>
+<div class="line"><a name="l02676"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874"> 2676</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874">Close</a>();</div>
+<div class="line"><a name="l02677"></a><span class="lineno"> 2677</span>&#160; </div>
+<div class="line"><a name="l02686"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94"> 2686</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94">HasMoreRows</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l02687"></a><span class="lineno"> 2687</span>&#160; </div>
+<div class="line"><a name="l02699"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067"> 2699</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">NextBatch</a>(std::vector&lt;KuduRowResult&gt;* rows)</div>
+<div class="line"><a name="l02700"></a><span class="lineno"> 2700</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use NextBatch(KuduScanBatch*) instead&quot;</span>);</div>
+<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span>&#160; </div>
+<div class="line"><a name="l02713"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487"> 2713</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487">NextBatch</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a>* batch);</div>
+<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span>&#160; </div>
+<div class="line"><a name="l02726"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81"> 2726</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81">NextBatch</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">KuduColumnarScanBatch</a>* batch);</div>
+<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span>&#160; </div>
+<div class="line"><a name="l02736"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10"> 2736</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10">GetCurrentServer</a>(<a class="code" href="classkudu_1_1client_1_1KuduTabletServer.html">KuduTabletServer</a>** server);</div>
+<div class="line"><a name="l02737"></a><span class="lineno"> 2737</span>&#160; </div>
+<div class="line"><a name="l02739"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337"> 2739</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1ResourceMetrics.html">ResourceMetrics</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337">GetResourceMetrics</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l02740"></a><span class="lineno"> 2740</span>&#160; </div>
+<div class="line"><a name="l02747"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c"> 2747</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c">SetBatchSizeBytes</a>(uint32_t batch_size);</div>
+<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span>&#160; </div>
+<div class="line"><a name="l02756"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8"> 2756</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8">SetSelection</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a> selection)</div>
+<div class="line"><a name="l02757"></a><span class="lineno"> 2757</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02758"></a><span class="lineno"> 2758</span>&#160; </div>
+<div class="line"><a name="l02764"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e"> 2764</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e">SetReadMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">ReadMode</a> read_mode) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02765"></a><span class="lineno"> 2765</span>&#160; </div>
+<div class="line"><a name="l02771"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc"> 2771</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc">SetOrderMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">OrderMode</a> order_mode) WARN_UNUSED_RESULT</div>
+<div class="line"><a name="l02772"></a><span class="lineno"> 2772</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use SetFaultTolerant() instead&quot;</span>);</div>
+<div class="line"><a name="l02773"></a><span class="lineno"> 2773</span>&#160; </div>
+<div class="line"><a name="l02786"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f"> 2786</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f">SetFaultTolerant</a>() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02787"></a><span class="lineno"> 2787</span>&#160; </div>
+<div class="line"><a name="l02793"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f"> 2793</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetSnapshotMicros(uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02794"></a><span class="lineno"> 2794</span>&#160; </div>
+<div class="line"><a name="l02804"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae"> 2804</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetSnapshotRaw(uint64_t snapshot_timestamp) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02805"></a><span class="lineno"> 2805</span>&#160; </div>
+<div class="line"><a name="l02807"></a><span class="lineno"> 2807</span>&#160; </div>
+<div class="line"><a name="l02822"></a><span class="lineno"> 2822</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetDiffScan(uint64_t start_timestamp, uint64_t end_timestamp)</div>
+<div class="line"><a name="l02823"></a><span class="lineno"> 2823</span>&#160;      WARN_UNUSED_RESULT KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l02824"></a><span class="lineno"> 2824</span>&#160; </div>
+<div class="line"><a name="l02826"></a><span class="lineno"> 2826</span>&#160; </div>
+<div class="line"><a name="l02832"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6"> 2832</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetTimeoutMillis(<span class="keywordtype">int</span> millis);</div>
+<div class="line"><a name="l02833"></a><span class="lineno"> 2833</span>&#160; </div>
+<div class="line"><a name="l02835"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82"> 2835</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> GetProjectionSchema() const;</div>
+<div class="line"><a name="l02836"></a><span class="lineno"> 2836</span>&#160; </div>
+<div class="line"><a name="l02838"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a"> 2838</a></span>&#160;  sp::shared_ptr&lt;<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>&gt; GetKuduTable();</div>
+<div class="line"><a name="l02839"></a><span class="lineno"> 2839</span>&#160; </div>
+<div class="line"><a name="l02847"></a><span class="lineno"> 2847</span>&#160; </div>
+<div class="line"><a name="l02849"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85"> 2849</a></span>&#160;  static const uint64_t NO_FLAGS = 0;</div>
+<div class="line"><a name="l02856"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44"> 2856</a></span>&#160;  static const uint64_t PAD_UNIXTIME_MICROS_TO_16_BYTES = 1 &lt;&lt; 0;</div>
+<div class="line"><a name="l02857"></a><span class="lineno"> 2857</span>&#160; </div>
+<div class="line"><a name="l02865"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10"> 2865</a></span>&#160;  static const uint64_t COLUMNAR_LAYOUT = 1 &lt;&lt; 1;</div>
+<div class="line"><a name="l02866"></a><span class="lineno"> 2866</span>&#160; </div>
+<div class="line"><a name="l02894"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11"> 2894</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetRowFormatFlags(uint64_t flags);</div>
+<div class="line"><a name="l02896"></a><span class="lineno"> 2896</span>&#160; </div>
+<div class="line"><a name="l02902"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac"> 2902</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetLimit(int64_t limit) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02903"></a><span class="lineno"> 2903</span>&#160; </div>
+<div class="line"><a name="l02909"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae"> 2909</a></span>&#160;  std::<span class="keywordtype">string</span> ToString() const;</div>
+<div class="line"><a name="l02910"></a><span class="lineno"> 2910</span>&#160; </div>
+<div class="line"><a name="l02911"></a><span class="lineno"> 2911</span>&#160; private:</div>
+<div class="line"><a name="l02912"></a><span class="lineno"> 2912</span>&#160;  class KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l02913"></a><span class="lineno"> 2913</span>&#160; </div>
+<div class="line"><a name="l02914"></a><span class="lineno"> 2914</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> NextBatch(internal::ScanBatchDataInterface* batch);</div>
+<div class="line"><a name="l02915"></a><span class="lineno"> 2915</span>&#160; </div>
+<div class="line"><a name="l02916"></a><span class="lineno"> 2916</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>;</div>
+<div class="line"><a name="l02917"></a><span class="lineno"> 2917</span>&#160;  FRIEND_TEST(ClientTest, TestBlockScannerHijackingAttempts);</div>
+<div class="line"><a name="l02918"></a><span class="lineno"> 2918</span>&#160;  FRIEND_TEST(ClientTest, TestScanCloseProxy);</div>
+<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span>&#160;  FRIEND_TEST(ClientTest, TestScanFaultTolerance);</div>
+<div class="line"><a name="l02920"></a><span class="lineno"> 2920</span>&#160;  FRIEND_TEST(ClientTest, TestScanNoBlockCaching);</div>
+<div class="line"><a name="l02921"></a><span class="lineno"> 2921</span>&#160;  FRIEND_TEST(ClientTest, TestScanTimeout);</div>
+<div class="line"><a name="l02922"></a><span class="lineno"> 2922</span>&#160;  FRIEND_TEST(ClientTest, TestReadAtSnapshotNoTimestampSet);</div>
+<div class="line"><a name="l02923"></a><span class="lineno"> 2923</span>&#160;  FRIEND_TEST(ConsistencyITest, TestSnapshotScanTimestampReuse);</div>
+<div class="line"><a name="l02924"></a><span class="lineno"> 2924</span>&#160;  FRIEND_TEST(ScanTokenTest, TestScanTokens);</div>
+<div class="line"><a name="l02925"></a><span class="lineno"> 2925</span>&#160; </div>
+<div class="line"><a name="l02926"></a><span class="lineno"> 2926</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l02927"></a><span class="lineno"> 2927</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l02928"></a><span class="lineno"> 2928</span>&#160; </div>
+<div class="line"><a name="l02929"></a><span class="lineno"> 2929</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>);</div>
+<div class="line"><a name="l02930"></a><span class="lineno"> 2930</span>&#160;};</div>
+<div class="line"><a name="l02931"></a><span class="lineno"> 2931</span>&#160; </div>
+<div class="line"><a name="l02952"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html"> 2952</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a> {</div>
+<div class="line"><a name="l02953"></a><span class="lineno"> 2953</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l02954"></a><span class="lineno"> 2954</span>&#160; </div>
+<div class="line"><a name="l02955"></a><span class="lineno"> 2955</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>();</div>
+<div class="line"><a name="l02956"></a><span class="lineno"> 2956</span>&#160; </div>
+<div class="line"><a name="l02967"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292"> 2967</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292">IntoKuduScanner</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>** scanner) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02968"></a><span class="lineno"> 2968</span>&#160; </div>
+<div class="line"><a name="l02970"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96"> 2970</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduTablet.html">KuduTablet</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96">tablet</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l02971"></a><span class="lineno"> 2971</span>&#160; </div>
+<div class="line"><a name="l02980"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008"> 2980</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008">Serialize</a>(std::string* buf) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02981"></a><span class="lineno"> 2981</span>&#160; </div>
+<div class="line"><a name="l02993"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867"> 2993</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867">DeserializeIntoScanner</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>* client,</div>
+<div class="line"><a name="l02994"></a><span class="lineno"> 2994</span>&#160;                                       <span class="keyword">const</span> std::string&amp; serialized_token,</div>
+<div class="line"><a name="l02995"></a><span class="lineno"> 2995</span>&#160;                                       <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>** scanner) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l02996"></a><span class="lineno"> 2996</span>&#160; </div>
+<div class="line"><a name="l02997"></a><span class="lineno"> 2997</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l02998"></a><span class="lineno"> 2998</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l02999"></a><span class="lineno"> 2999</span>&#160; </div>
+<div class="line"><a name="l03000"></a><span class="lineno"> 3000</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
+<div class="line"><a name="l03001"></a><span class="lineno"> 3001</span>&#160; </div>
+<div class="line"><a name="l03002"></a><span class="lineno"> 3002</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>();</div>
+<div class="line"><a name="l03003"></a><span class="lineno"> 3003</span>&#160; </div>
+<div class="line"><a name="l03004"></a><span class="lineno"> 3004</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l03005"></a><span class="lineno"> 3005</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l03006"></a><span class="lineno"> 3006</span>&#160; </div>
+<div class="line"><a name="l03007"></a><span class="lineno"> 3007</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>);</div>
+<div class="line"><a name="l03008"></a><span class="lineno"> 3008</span>&#160;};</div>
+<div class="line"><a name="l03009"></a><span class="lineno"> 3009</span>&#160; </div>
+<div class="line"><a name="l03013"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html"> 3013</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a> {</div>
+<div class="line"><a name="l03014"></a><span class="lineno"> 3014</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l03015"></a><span class="lineno"> 3015</span>&#160; </div>
+<div class="line"><a name="l03021"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484"> 3021</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484">KuduScanTokenBuilder</a>(<a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>* table);</div>
+<div class="line"><a name="l03022"></a><span class="lineno"> 3022</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>();</div>
+<div class="line"><a name="l03023"></a><span class="lineno"> 3023</span>&#160; </div>
+<div class="line"><a name="l03033"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad"> 3033</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">SetProjectedColumnNames</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; col_names)</div>
+<div class="line"><a name="l03034"></a><span class="lineno"> 3034</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03035"></a><span class="lineno"> 3035</span>&#160; </div>
+<div class="line"><a name="l03037"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8"> 3037</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8">SetProjectedColumnIndexes</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; col_indexes)</div>
+<div class="line"><a name="l03038"></a><span class="lineno"> 3038</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03039"></a><span class="lineno"> 3039</span>&#160; </div>
+<div class="line"><a name="l03041"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e"> 3041</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e">AddConjunctPredicate</a>(<a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* pred) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03042"></a><span class="lineno"> 3042</span>&#160; </div>
+<div class="line"><a name="l03044"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf"> 3044</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf">AddLowerBound</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; key) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03045"></a><span class="lineno"> 3045</span>&#160; </div>
+<div class="line"><a name="l03054"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a"> 3054</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a">AddUpperBound</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; key) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03055"></a><span class="lineno"> 3055</span>&#160; </div>
+<div class="line"><a name="l03057"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475"> 3057</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">SetCacheBlocks</a>(<span class="keywordtype">bool</span> cache_blocks) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03058"></a><span class="lineno"> 3058</span>&#160; </div>
+<div class="line"><a name="l03065"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c"> 3065</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c">SetBatchSizeBytes</a>(uint32_t batch_size) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03066"></a><span class="lineno"> 3066</span>&#160; </div>
+<div class="line"><a name="l03074"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88"> 3074</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88">SetSelection</a>(<a class="code" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">KuduClient::ReplicaSelection</a> selection)</div>
+<div class="line"><a name="l03075"></a><span class="lineno"> 3075</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03076"></a><span class="lineno"> 3076</span>&#160; </div>
+<div class="line"><a name="l03078"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892"> 3078</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892">SetReadMode</a>(<a class="code" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">KuduScanner::ReadMode</a> read_mode) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03079"></a><span class="lineno"> 3079</span>&#160; </div>
+<div class="line"><a name="l03081"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe"> 3081</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe">SetFaultTolerant</a>() WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03082"></a><span class="lineno"> 3082</span>&#160; </div>
+<div class="line"><a name="l03084"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5"> 3084</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetSnapshotMicros(uint64_t snapshot_timestamp_micros)</div>
+<div class="line"><a name="l03085"></a><span class="lineno"> 3085</span>&#160;    WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03086"></a><span class="lineno"> 3086</span>&#160; </div>
+<div class="line"><a name="l03088"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7"> 3088</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetSnapshotRaw(uint64_t snapshot_timestamp) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03089"></a><span class="lineno"> 3089</span>&#160; </div>
+<div class="line"><a name="l03091"></a><span class="lineno"> 3091</span>&#160; </div>
+<div class="line"><a name="l03093"></a><span class="lineno"> 3093</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetDiffScan(uint64_t start_timestamp, uint64_t end_timestamp)</div>
+<div class="line"><a name="l03094"></a><span class="lineno"> 3094</span>&#160;      WARN_UNUSED_RESULT KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l03096"></a><span class="lineno"> 3096</span>&#160; </div>
+<div class="line"><a name="l03098"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445"> 3098</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> SetTimeoutMillis(<span class="keywordtype">int</span> millis) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03099"></a><span class="lineno"> 3099</span>&#160; </div>
+<div class="line"><a name="l03107"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3"> 3107</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> IncludeTableMetadata(<span class="keywordtype">bool</span> include_metadata) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03108"></a><span class="lineno"> 3108</span>&#160; </div>
+<div class="line"><a name="l03116"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843"> 3116</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> IncludeTabletMetadata(<span class="keywordtype">bool</span> include_metadata) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03117"></a><span class="lineno"> 3117</span>&#160; </div>
+<div class="line"><a name="l03126"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb"> 3126</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> Build(std::vector&lt;<a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>*&gt;* tokens) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l03127"></a><span class="lineno"> 3127</span>&#160; </div>
+<div class="line"><a name="l03128"></a><span class="lineno"> 3128</span>&#160; private:</div>
+<div class="line"><a name="l03129"></a><span class="lineno"> 3129</span>&#160;  class KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l03130"></a><span class="lineno"> 3130</span>&#160; </div>
+<div class="line"><a name="l03131"></a><span class="lineno"> 3131</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l03132"></a><span class="lineno"> 3132</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l03133"></a><span class="lineno"> 3133</span>&#160; </div>
+<div class="line"><a name="l03134"></a><span class="lineno"> 3134</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>);</div>
+<div class="line"><a name="l03135"></a><span class="lineno"> 3135</span>&#160;};</div>
+<div class="line"><a name="l03136"></a><span class="lineno"> 3136</span>&#160; </div>
+<div class="line"><a name="l03138"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html"> 3138</a></span>&#160;class KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a> {</div>
+<div class="line"><a name="l03139"></a><span class="lineno"> 3139</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l03144"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba"> 3144</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba">KuduPartitionerBuilder</a>(sp::shared_ptr&lt;KuduTable&gt; table);</div>
+<div class="line"><a name="l03145"></a><span class="lineno"> 3145</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>();</div>
+<div class="line"><a name="l03146"></a><span class="lineno"> 3146</span>&#160; </div>
+<div class="line"><a name="l03152"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14"> 3152</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>* <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14">SetBuildTimeout</a>(<a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> timeout);</div>
+<div class="line"><a name="l03153"></a><span class="lineno"> 3153</span>&#160; </div>
+<div class="line"><a name="l03172"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba"> 3172</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba">Build</a>(<a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a>** partitioner);</div>
+<div class="line"><a name="l03173"></a><span class="lineno"> 3173</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l03174"></a><span class="lineno"> 3174</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l03175"></a><span class="lineno"> 3175</span>&#160; </div>
+<div class="line"><a name="l03176"></a><span class="lineno"> 3176</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l03177"></a><span class="lineno"> 3177</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l03178"></a><span class="lineno"> 3178</span>&#160; </div>
+<div class="line"><a name="l03179"></a><span class="lineno"> 3179</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>);</div>
+<div class="line"><a name="l03180"></a><span class="lineno"> 3180</span>&#160;};</div>
+<div class="line"><a name="l03181"></a><span class="lineno"> 3181</span>&#160; </div>
+<div class="line"><a name="l03192"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitioner.html"> 3192</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a> {</div>
+<div class="line"><a name="l03193"></a><span class="lineno"> 3193</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l03194"></a><span class="lineno"> 3194</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a>();</div>
+<div class="line"><a name="l03195"></a><span class="lineno"> 3195</span>&#160; </div>
+<div class="line"><a name="l03199"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a"> 3199</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a">NumPartitions</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l03200"></a><span class="lineno"> 3200</span>&#160; </div>
+<div class="line"><a name="l03212"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369"> 3212</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369">PartitionRow</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; row, <span class="keywordtype">int</span>* partition);</div>
+<div class="line"><a name="l03213"></a><span class="lineno"> 3213</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l03214"></a><span class="lineno"> 3214</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l03215"></a><span class="lineno"> 3215</span>&#160; </div>
+<div class="line"><a name="l03216"></a><span class="lineno"> 3216</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">KuduPartitionerBuilder</a>;</div>
+<div class="line"><a name="l03217"></a><span class="lineno"> 3217</span>&#160; </div>
+<div class="line"><a name="l03218"></a><span class="lineno"> 3218</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduPartitioner.html">KuduPartitioner</a>(Data* data);</div>
+<div class="line"><a name="l03219"></a><span class="lineno"> 3219</span>&#160;  Data* data_; <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l03220"></a><span class="lineno"> 3220</span>&#160;};</div>
+<div class="line"><a name="l03221"></a><span class="lineno"> 3221</span>&#160; </div>
+<div class="line"><a name="l03222"></a><span class="lineno"> 3222</span>&#160; </div>
+<div class="line"><a name="l03223"></a><span class="lineno"> 3223</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l03224"></a><span class="lineno"> 3224</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l03225"></a><span class="lineno"> 3225</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclassKuduPartialRow_html"><div class="ttname"><a href="classKuduPartialRow.html">KuduPartialRow</a></div><div class="ttdoc">A row which may only contain values for a subset of the columns.</div><div class="ttdef"><b>Definition:</b> partial_row.h:72</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html"><div class="ttname"><a href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></div><div class="ttdoc">A representation of a time interval.</div><div class="ttdef"><b>Definition:</b> monotime.h:57</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html"><div class="ttname"><a href="classkudu_1_1Slice.html">kudu::Slice</a></div><div class="ttdoc">A wrapper around externally allocated data.</div><div class="ttdef"><b>Definition:</b> slice.h:51</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html"><div class="ttname"><a href="classkudu_1_1Status.html">kudu::Status</a></div><div class="ttdoc">A representation of an operation's outcome.</div><div class="ttdef"><b>Definition:</b> status.h:165</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html">kudu::client::KuduClientBuilder</a></div><div class="ttdoc">A &quot;factory&quot; for KuduClient objects.</div><div class="ttdef"><b>Definition:</b> client.h:228</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a08f4d2bf7053c6336e625ee2e6eeddd1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1">kudu::client::KuduClientBuilder::clear_master_server_addrs</a></div><div class="ttdeci">KuduClientBuilder &amp; clear_master_server_addrs()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a0c1b92afad7a6e21c5ea781fb7d42114"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">kudu::client::KuduClientBuilder::master_server_addrs</a></div><div class="ttdeci">KuduClientBuilder &amp; master_server_addrs(const std::vector&lt; std::string &gt; &amp;addrs)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a1585dd6eff82519fe81088d1cfd35b77"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">kudu::client::KuduClientBuilder::Build</a></div><div class="ttdeci">Status Build(sp::shared_ptr&lt; KuduClient &gt; *client)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a1813e8c8d24e92a0a710724000e2b3df"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df">kudu::client::KuduClientBuilder::default_rpc_timeout</a></div><div class="ttdeci">KuduClientBuilder &amp; default_rpc_timeout(const MonoDelta &amp;timeout)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a5c411bc4638cbf77e5d318f5049b0b7e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">kudu::client::KuduClientBuilder::import_authentication_credentials</a></div><div class="ttdeci">KuduClientBuilder &amp; import_authentication_credentials(std::string authn_creds)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a6114bb56e4d9d1231df0ef73c9aec752"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752">kudu::client::KuduClientBuilder::default_admin_operation_timeout</a></div><div class="ttdeci">KuduClientBuilder &amp; default_admin_operation_timeout(const MonoDelta &amp;timeout)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_a66ba0fb68608ebc4a6c7e9148848cddb"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">kudu::client::KuduClientBuilder::num_reactors</a></div><div class="ttdeci">KuduClientBuilder &amp; num_reactors(int num_reactors)</div><div class="ttdoc">Set the number of reactors for the RPC messenger.</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_ab5b297f792b8e4142e913ceee2f5f3de"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">kudu::client::KuduClientBuilder::sasl_protocol_name</a></div><div class="ttdeci">KuduClientBuilder &amp; sasl_protocol_name(const std::string &amp;sasl_protocol_name)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_add149f1c1c2d3653e6a6cae4f44fa90c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c">kudu::client::KuduClientBuilder::add_master_server_addr</a></div><div class="ttdeci">KuduClientBuilder &amp; add_master_server_addr(const std::string &amp;addr)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClientBuilder_html_af2dcfb700c52d531f0da7146f331521f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f">kudu::client::KuduClientBuilder::connection_negotiation_timeout</a></div><div class="ttdeci">KuduClientBuilder &amp; connection_negotiation_timeout(const MonoDelta &amp;timeout)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></div><div class="ttdoc">A handle for a connection to a cluster.</div><div class="ttdef"><b>Definition:</b> client.h:615</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a003f13604b4fb378f61e133a9b49d153"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153">kudu::client::KuduClient::NewTableCreator</a></div><div class="ttdeci">KuduTableCreator * NewTableCreator()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a0646b1b93edeb92cf7ea46a1bb433838"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838">kudu::client::KuduClient::default_admin_operation_timeout</a></div><div class="ttdeci">const MonoDelta &amp; default_admin_operation_timeout() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a0809b055eda76fd68988462f2a9791dd"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">kudu::client::KuduClient::SetLatestObservedTimestamp</a></div><div class="ttdeci">void SetLatestObservedTimestamp(uint64_t ht_timestamp)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a116bbcf13dc0991ad2a3129630075aea"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">kudu::client::KuduClient::NewTableAlterer</a></div><div class="ttdeci">KuduTableAlterer * NewTableAlterer(const std::string &amp;table_name)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a196f1a18c000cdca309d05161caaddaa"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">kudu::client::KuduClient::kNoTimestamp</a></div><div class="ttdeci">static const uint64_t kNoTimestamp</div><div class="ttdef"><b>Definition:</b> client.h:831</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a1e1363d5dfab959b0d9ca98bfd390433"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433">kudu::client::KuduClient::IsMultiMaster</a></div><div class="ttdeci">bool IsMultiMaster() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a1f5b9bf8767b44f03f4d3220dfd5f925"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">kudu::client::KuduClient::NewSession</a></div><div class="ttdeci">sp::shared_ptr&lt; KuduSession &gt; NewSession()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a2aa649e05e0cfb0e10ebce98fb4d7a65"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65">kudu::client::KuduClient::GetTableSchema</a></div><div class="ttdeci">Status GetTableSchema(const std::string &amp;table_name, KuduSchema *schema)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a2f0323b439d8658b2ac31fde7f46de63"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63">kudu::client::KuduClient::IsCreateTableInProgress</a></div><div class="ttdeci">Status IsCreateTableInProgress(const std::string &amp;table_name, bool *create_in_progress)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a3ab09f69753b8c99ac7b2eeed03faa1d"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d">kudu::client::KuduClient::ListTables</a></div><div class="ttdeci">Status ListTables(std::vector&lt; std::string &gt; *tables, const std::string &amp;filter=&quot;&quot;)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a68b569dd6749ec61805e3b0a691eacac"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac">kudu::client::KuduClient::connection_negotiation_timeout</a></div><div class="ttdeci">MonoDelta connection_negotiation_timeout() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a7a331e528759296089837b4611c01809"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809">kudu::client::KuduClient::IsAlterTableInProgress</a></div><div class="ttdeci">Status IsAlterTableInProgress(const std::string &amp;table_name, bool *alter_in_progress)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a96e9a6c0a16a8825c291528ac27af818"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818">kudu::client::KuduClient::TableExists</a></div><div class="ttdeci">Status TableExists(const std::string &amp;table_name, bool *exists)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_a9d7cbad036bc74c71873a428abce5c1d"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d">kudu::client::KuduClient::DeleteTable</a></div><div class="ttdeci">Status DeleteTable(const std::string &amp;table_name)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_aa4af2abf2a56d92d8795662fa090baa9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">kudu::client::KuduClient::GetLatestObservedTimestamp</a></div><div class="ttdeci">uint64_t GetLatestObservedTimestamp() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_aa82a09718ffe68d3255195e736aec8d7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">kudu::client::KuduClient::OpenTable</a></div><div class="ttdeci">Status OpenTable(const std::string &amp;table_name, sp::shared_ptr&lt; KuduTable &gt; *table)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_aaae3d73831a41d260d2578fef68bcd49"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49">kudu::client::KuduClient::default_rpc_timeout</a></div><div class="ttdeci">const MonoDelta &amp; default_rpc_timeout() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_acce5fd87acb241d2ce2686545f423345"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345">kudu::client::KuduClient::NewTransaction</a></div><div class="ttdeci">Status NewTransaction(sp::shared_ptr&lt; KuduTransaction &gt; *txn) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_ae283a49551a081524b41f5d8e51e68d9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9">kudu::client::KuduClient::ListTabletServers</a></div><div class="ttdeci">Status ListTabletServers(std::vector&lt; KuduTabletServer * &gt; *tablet_servers)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_ae932971967e58a8a7b85f6a56ee44cd0"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">kudu::client::KuduClient::ExportAuthenticationCredentials</a></div><div class="ttdeci">Status ExportAuthenticationCredentials(std::string *authn_creds) const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_aef70c7f3a596ecda4040f9d46514b11a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">kudu::client::KuduClient::ReplicaSelection</a></div><div class="ttdeci">ReplicaSelection</div><div class="ttdoc">Policy with which to choose amongst multiple replicas.</div><div class="ttdef"><b>Definition:</b> client.h:804</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html_aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">kudu::client::KuduClient::LEADER_ONLY</a></div><div class="ttdeci">@ LEADER_ONLY</div><div class="ttdoc">Select the LEADER replica.</div><div class="ttdef"><b>Definition:</b> client.h:805</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></div><div class="ttdoc">Builder API for specifying or altering a column within a table schema.</div><div class="ttdef"><b>Definition:</b> schema.h:360</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnarScanBatch_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">kudu::client::KuduColumnarScanBatch</a></div><div class="ttdoc">A batch of columnar data returned from a scanner.</div><div class="ttdef"><b>Definition:</b> columnar_scan_batch.h:51</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduDeleteIgnore_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduDeleteIgnore.html">kudu::client::KuduDeleteIgnore</a></div><div class="ttdoc">A single row delete ignore to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:297</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduDelete_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduDelete.html">kudu::client::KuduDelete</a></div><div class="ttdoc">A single row delete to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:271</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduError_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduError.html">kudu::client::KuduError</a></div><div class="ttdoc">This class represents an error which occurred in a write operation.</div><div class="ttdef"><b>Definition:</b> client.h:1934</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduError_html_a6d8adf94782868d081cff223664257a7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7">kudu::client::KuduError::status</a></div><div class="ttdeci">const Status &amp; status() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduError_html_a8f20b590e9da321abc624480c62262ea"><div class="ttname"><a href="classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea">kudu::client::KuduError::failed_op</a></div><div class="ttdeci">const KuduWriteOperation &amp; failed_op() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduError_html_ac8729b8c113b3d44035b0193013844a4"><div class="ttname"><a href="classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4">kudu::client::KuduError::was_possibly_successful</a></div><div class="ttdeci">bool was_possibly_successful() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduError_html_ae1a49bd16eeff4d2ab88fa70e1dc3c6a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a">kudu::client::KuduError::release_failed_op</a></div><div class="ttdeci">KuduWriteOperation * release_failed_op()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduInsertIgnore_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduInsertIgnore.html">kudu::client::KuduInsertIgnore</a></div><div class="ttdoc">A single row insert ignore to be sent to the cluster, duplicate row errors are ignored.</div><div class="ttdef"><b>Definition:</b> write_op.h:166</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduInsert_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduInsert.html">kudu::client::KuduInsert</a></div><div class="ttdoc">A single row insert to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:139</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduLoggingCallback_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduLoggingCallback.html">kudu::client::KuduLoggingCallback</a></div><div class="ttdoc">The interface for all logging callbacks.</div><div class="ttdef"><b>Definition:</b> callbacks.h:44</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitionerBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitionerBuilder.html">kudu::client::KuduPartitionerBuilder</a></div><div class="ttdoc">Builder for Partitioner instances.</div><div class="ttdef"><b>Definition:</b> client.h:3138</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitionerBuilder_html_a11e28b7ad87a53a92d2ad5494f2c5f14"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14">kudu::client::KuduPartitionerBuilder::SetBuildTimeout</a></div><div class="ttdeci">KuduPartitionerBuilder * SetBuildTimeout(MonoDelta timeout)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitionerBuilder_html_a27d130235be1c2691779e1d97732a4ba"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba">kudu::client::KuduPartitionerBuilder::KuduPartitionerBuilder</a></div><div class="ttdeci">KuduPartitionerBuilder(sp::shared_ptr&lt; KuduTable &gt; table)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitionerBuilder_html_aa8859050484de2d367781ce6ec41d0ba"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba">kudu::client::KuduPartitionerBuilder::Build</a></div><div class="ttdeci">Status Build(KuduPartitioner **partitioner)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitioner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitioner.html">kudu::client::KuduPartitioner</a></div><div class="ttdef"><b>Definition:</b> client.h:3192</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitioner_html_a05d816ba08d85d5c0c95025e12d2e369"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369">kudu::client::KuduPartitioner::PartitionRow</a></div><div class="ttdeci">Status PartitionRow(const KuduPartialRow &amp;row, int *partition)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPartitioner_html_a73fa744430a09ba8c75410f07882714a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a">kudu::client::KuduPartitioner::NumPartitions</a></div><div class="ttdeci">int NumPartitions() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPredicate_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></div><div class="ttdoc">A representation of comparison predicate for Kudu queries.</div><div class="ttdef"><b>Definition:</b> scan_predicate.h:43</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPredicate_html_ad58e80ced596d7738f99b5b83ba24eb4"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">kudu::client::KuduPredicate::ComparisonOp</a></div><div class="ttdeci">ComparisonOp</div><div class="ttdoc">Supported comparison operators.</div><div class="ttdef"><b>Definition:</b> scan_predicate.h:46</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduReplica_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduReplica.html">kudu::client::KuduReplica</a></div><div class="ttdoc">In-memory representation of a remote tablet's replica.</div><div class="ttdef"><b>Definition:</b> client.h:1025</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduReplica_html_a0423ce10a541c5e1a38fbcaebbb50627"><div class="ttname"><a href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627">kudu::client::KuduReplica::ts</a></div><div class="ttdeci">const KuduTabletServer &amp; ts() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduReplica_html_a383c26df7f94bca3acffddda1a7d12f5"><div class="ttname"><a href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5">kudu::client::KuduReplica::is_leader</a></div><div class="ttdeci">bool is_leader() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></div><div class="ttdoc">A batch of zero or more rows returned by a scan operation.</div><div class="ttdef"><b>Definition:</b> scan_batch.h:84</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></div><div class="ttdoc">Builds scan tokens for a table.</div><div class="ttdef"><b>Definition:</b> client.h:3013</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_a01d990e024632c7749cca96b4f857be8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8">kudu::client::KuduScanTokenBuilder::SetProjectedColumnIndexes</a></div><div class="ttdeci">Status SetProjectedColumnIndexes(const std::vector&lt; int &gt; &amp;col_indexes) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_a0dbb58301fc0e48ce44f41215d32f0ad"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">kudu::client::KuduScanTokenBuilder::SetProjectedColumnNames</a></div><div class="ttdeci">Status SetProjectedColumnNames(const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_a168bfed43dcd754a17d4c82293dade88"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88">kudu::client::KuduScanTokenBuilder::SetSelection</a></div><div class="ttdeci">Status SetSelection(KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_a36523ca7f2f9a2b4e3c096cf6167643c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c">kudu::client::KuduScanTokenBuilder::SetBatchSizeBytes</a></div><div class="ttdeci">Status SetBatchSizeBytes(uint32_t batch_size) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_a4a17f27950ccd59bcb3430fb28b61dbe"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe">kudu::client::KuduScanTokenBuilder::SetFaultTolerant</a></div><div class="ttdeci">Status SetFaultTolerant() WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_a7ab7c9c1c4f4d3bbbc18b2b35d7d5475"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">kudu::client::KuduScanTokenBuilder::SetCacheBlocks</a></div><div class="ttdeci">Status SetCacheBlocks(bool cache_blocks) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_aa8d300b560d419030abd503b66812484"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484">kudu::client::KuduScanTokenBuilder::KuduScanTokenBuilder</a></div><div class="ttdeci">KuduScanTokenBuilder(KuduTable *table)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_ac40487d17b8e4dcca7ca08efeb5f195e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e">kudu::client::KuduScanTokenBuilder::AddConjunctPredicate</a></div><div class="ttdeci">Status AddConjunctPredicate(KuduPredicate *pred) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_ac4d0fa934e4c705ac76c424a5431566a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a">kudu::client::KuduScanTokenBuilder::AddUpperBound</a></div><div class="ttdeci">Status AddUpperBound(const KuduPartialRow &amp;key) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_adb34f01a9bc52a9e23ce49124bab3892"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892">kudu::client::KuduScanTokenBuilder::SetReadMode</a></div><div class="ttdeci">Status SetReadMode(KuduScanner::ReadMode read_mode) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html_ae11ca3d00d15138e957a2c2e89b05fcf"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf">kudu::client::KuduScanTokenBuilder::AddLowerBound</a></div><div class="ttdeci">Status AddLowerBound(const KuduPartialRow &amp;key) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a></div><div class="ttdoc">A scan descriptor limited to a single physical contiguous location.</div><div class="ttdef"><b>Definition:</b> client.h:2952</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html_a63abcf53607bdc4346b86b98a3d0ec96"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96">kudu::client::KuduScanToken::tablet</a></div><div class="ttdeci">const KuduTablet &amp; tablet() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html_a6eb749ddf0a1434596d86df88341a008"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008">kudu::client::KuduScanToken::Serialize</a></div><div class="ttdeci">Status Serialize(std::string *buf) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html_adb95c9538bb1fc4c83963557ce487292"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292">kudu::client::KuduScanToken::IntoKuduScanner</a></div><div class="ttdeci">Status IntoKuduScanner(KuduScanner **scanner) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html_ae90d9422476cf6eee5c33afb41d1f867"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867">kudu::client::KuduScanToken::DeserializeIntoScanner</a></div><div class="ttdeci">static Status DeserializeIntoScanner(KuduClient *client, const std::string &amp;serialized_token, KuduScanner **scanner) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2456</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a107a8a682c0977272e0ae47746d39e6f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f">kudu::client::KuduScanner::SetFaultTolerant</a></div><div class="ttdeci">Status SetFaultTolerant() WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a248e0a05e7bfdc31b5b8d363a937e81e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e">kudu::client::KuduScanner::SetReadMode</a></div><div class="ttdeci">Status SetReadMode(ReadMode read_mode) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a2c621f778072a02f4092e96a0baf8180"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180">kudu::client::KuduScanner::KuduScanner</a></div><div class="ttdeci">KuduScanner(KuduTable *table)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a36fdb59d6488618363331269d3f58348"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">kudu::client::KuduScanner::ReadMode</a></div><div class="ttdeci">ReadMode</div><div class="ttdoc">The read modes for scanners.</div><div class="ttdef"><b>Definition:</b> client.h:2459</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2">kudu::client::KuduScanner::READ_AT_SNAPSHOT</a></div><div class="ttdeci">@ READ_AT_SNAPSHOT</div><div class="ttdef"><b>Definition:</b> client.h:2488</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8">kudu::client::KuduScanner::READ_LATEST</a></div><div class="ttdeci">@ READ_LATEST</div><div class="ttdef"><b>Definition:</b> client.h:2467</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a3d6c79325c9da9741d0accf1b43bf7f9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">kudu::client::KuduScanner::OrderMode</a></div><div class="ttdeci">OrderMode</div><div class="ttdef"><b>Definition:</b> client.h:2506</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3">kudu::client::KuduScanner::UNORDERED</a></div><div class="ttdeci">@ UNORDERED</div><div class="ttdef"><b>Definition:</b> client.h:2512</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a3e51a978f3e54237fa60f7447ef3436e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e">kudu::client::KuduScanner::AddLowerBoundRaw</a></div><div class="ttdeci">Status AddLowerBoundRaw(const Slice &amp;key) ATTRIBUTE_DEPRECATED(&quot;use AddLowerBound() instead&quot;)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a47b0fcd30f8002cb4fdcf69351896b74"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">kudu::client::KuduScanner::AddConjunctPredicate</a></div><div class="ttdeci">Status AddConjunctPredicate(KuduPredicate *pred) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a4a4a2e354b3113561758b9bf4095d310"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310">kudu::client::KuduScanner::SetCacheBlocks</a></div><div class="ttdeci">Status SetCacheBlocks(bool cache_blocks)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a4c4f46e8da9053621727a2e365196c94"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94">kudu::client::KuduScanner::HasMoreRows</a></div><div class="ttdeci">bool HasMoreRows() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a551fd38d48a686f2662727a82e79bd3d"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d">kudu::client::KuduScanner::AddExclusiveUpperBound</a></div><div class="ttdeci">Status AddExclusiveUpperBound(const KuduPartialRow &amp;key)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a6508528f880d73d7d66e37752130fb81"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81">kudu::client::KuduScanner::NextBatch</a></div><div class="ttdeci">Status NextBatch(KuduColumnarScanBatch *batch)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a67691944fc112f43c565ab4486514b86"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86">kudu::client::KuduScanner::AddLowerBound</a></div><div class="ttdeci">Status AddLowerBound(const KuduPartialRow &amp;key)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a68e2115cde71e113674e7a8b4df399ad"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad">kudu::client::KuduScanner::SetProjectedColumns</a></div><div class="ttdeci">Status SetProjectedColumns(const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT ATTRIBUTE_DEPRECATED(&quot;use SetProjectedColumnNames() instead&quot;)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a8d938c6efc1b36d456c91b5af0b1578d"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d">kudu::client::KuduScanner::SetProjectedColumnIndexes</a></div><div class="ttdeci">Status SetProjectedColumnIndexes(const std::vector&lt; int &gt; &amp;col_indexes) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_a93a87740ea75c9b6524dc229576b69fc"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc">kudu::client::KuduScanner::SetOrderMode</a></div><div class="ttdeci">Status SetOrderMode(OrderMode order_mode) WARN_UNUSED_RESULT ATTRIBUTE_DEPRECATED(&quot;use SetFaultTolerant() instead&quot;)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_aa1ff3c11d9ac9f8183189ea5ac1ed9f1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">kudu::client::KuduScanner::Open</a></div><div class="ttdeci">Status Open()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_aa4a0caf7142880255d7aac1d75f33d21"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21">kudu::client::KuduScanner::KeepAlive</a></div><div class="ttdeci">Status KeepAlive()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_aa951a6ec3aeb82c82afe35d8e3ba18a9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9">kudu::client::KuduScanner::AddExclusiveUpperBoundPartitionKeyRaw</a></div><div class="ttdeci">Status AddExclusiveUpperBoundPartitionKeyRaw(const Slice &amp;partition_key)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_ab53b88307028a50f66bcffe5e78c6d6e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e">kudu::client::KuduScanner::AddLowerBoundPartitionKeyRaw</a></div><div class="ttdeci">Status AddLowerBoundPartitionKeyRaw(const Slice &amp;partition_key)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_abb10b26056757bf81c410d3d5e6bcc01"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">kudu::client::KuduScanner::SetProjectedColumnNames</a></div><div class="ttdeci">Status SetProjectedColumnNames(const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_ac2bce7bd17627a3aa46f7d7fdb4c0c10"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10">kudu::client::KuduScanner::GetCurrentServer</a></div><div class="ttdeci">Status GetCurrentServer(KuduTabletServer **server)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_ac673dd15cb038e75787af7e74087e874"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874">kudu::client::KuduScanner::Close</a></div><div class="ttdeci">void Close()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_ae2cd8d87f9469665ae06bd00d11b8337"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337">kudu::client::KuduScanner::GetResourceMetrics</a></div><div class="ttdeci">const ResourceMetrics &amp; GetResourceMetrics() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_aefb6badecb950d5089b2f9d29d1f2ffe"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe">kudu::client::KuduScanner::AddExclusiveUpperBoundRaw</a></div><div class="ttdeci">Status AddExclusiveUpperBoundRaw(const Slice &amp;key) ATTRIBUTE_DEPRECATED(&quot;use AddExclusiveUpperBound() instead&quot;)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_af1475d9a0667839c1ed9c3714b47d487"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487">kudu::client::KuduScanner::NextBatch</a></div><div class="ttdeci">Status NextBatch(KuduScanBatch *batch)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_af1db3f372fe3d0f30cd0b6a36b783cc8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8">kudu::client::KuduScanner::SetSelection</a></div><div class="ttdeci">Status SetSelection(KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_af365f1d3b3b34aeb7d016727a9019067"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">kudu::client::KuduScanner::NextBatch</a></div><div class="ttdeci">Status NextBatch(std::vector&lt; KuduRowResult &gt; *rows) ATTRIBUTE_DEPRECATED(&quot;use NextBatch(KuduScanBatch*) instead&quot;)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html_af82c4ccb442c222033841dd65cf5a67c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c">kudu::client::KuduScanner::SetBatchSizeBytes</a></div><div class="ttdeci">Status SetBatchSizeBytes(uint32_t batch_size)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></div><div class="ttdoc">A representation of a table's schema.</div><div class="ttdef"><b>Definition:</b> schema.h:616</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></div><div class="ttdoc">Representation of a Kudu client session.</div><div class="ttdef"><b>Definition:</b> client.h:2039</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_a25b22362650d7120f59cc1025e40bd79"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79">kudu::client::KuduSession::SetTimeoutMillis</a></div><div class="ttdeci">void SetTimeoutMillis(int millis)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_a56d1c7f47dfcaf5121b15a4435a8eeca"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca">kudu::client::KuduSession::SetExternalConsistencyMode</a></div><div class="ttdeci">Status SetExternalConsistencyMode(ExternalConsistencyMode m) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_a64955abb5f5cc821b6e56354f733ce84"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">kudu::client::KuduSession::Flush</a></div><div class="ttdeci">Status Flush() WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_a7311344cec37b3847217197c35467cdf"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf">kudu::client::KuduSession::SetMutationBufferFlushWatermark</a></div><div class="ttdeci">Status SetMutationBufferFlushWatermark(double watermark_pct) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_a83555781b5a037f87c215e565ecf1a8f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f">kudu::client::KuduSession::SetFlushMode</a></div><div class="ttdeci">Status SetFlushMode(FlushMode m) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aabd55109ba3b086bbe33b277cdd40d22"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">kudu::client::KuduSession::ExternalConsistencyMode</a></div><div class="ttdeci">ExternalConsistencyMode</div><div class="ttdoc">The possible external consistency modes on which Kudu operates.</div><div class="ttdef"><b>Definition:</b> client.h:2105</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">kudu::client::KuduSession::CLIENT_PROPAGATED</a></div><div class="ttdeci">@ CLIENT_PROPAGATED</div><div class="ttdef"><b>Definition:</b> client.h:2124</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aabe75f0688f992dbdb2694a50d07f941"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941">kudu::client::KuduSession::SetMutationBufferFlushInterval</a></div><div class="ttdeci">Status SetMutationBufferFlushInterval(unsigned int millis) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aaec3956e642610d703f3b83b78e24e19"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">kudu::client::KuduSession::FlushMode</a></div><div class="ttdeci">FlushMode</div><div class="ttdoc">Modes of flush operations.</div><div class="ttdef"><b>Definition:</b> client.h:2044</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">kudu::client::KuduSession::AUTO_FLUSH_BACKGROUND</a></div><div class="ttdeci">@ AUTO_FLUSH_BACKGROUND</div><div class="ttdef"><b>Definition:</b> client.h:2077</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b">kudu::client::KuduSession::AUTO_FLUSH_SYNC</a></div><div class="ttdeci">@ AUTO_FLUSH_SYNC</div><div class="ttdef"><b>Definition:</b> client.h:2049</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_ac9a96017f86bfb6348fca9bfa0b8b5a4"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4">kudu::client::KuduSession::SetMutationBufferMaxNum</a></div><div class="ttdeci">Status SetMutationBufferMaxNum(unsigned int max_num) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_ad3f7324b27fca298c5ca3d07b4741943"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">kudu::client::KuduSession::Apply</a></div><div class="ttdeci">Status Apply(KuduWriteOperation *write_op) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html_aefa9bbc51c27104ce103b9ecda3b8abf"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf">kudu::client::KuduSession::SetMutationBufferSpace</a></div><div class="ttdeci">Status SetMutationBufferSpace(size_t size_bytes) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduStatusCallback_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduStatusCallback.html">kudu::client::KuduStatusCallback</a></div><div class="ttdoc">The interface for all status callbacks.</div><div class="ttdef"><b>Definition:</b> callbacks.h:161</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></div><div class="ttdoc">Alters an existing table based on the provided steps.</div><div class="ttdef"><b>Definition:</b> client.h:1666</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a14768f28048355d997e0ed4fa82e218c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">kudu::client::KuduTableAlterer::Alter</a></div><div class="ttdeci">Status Alter()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a2c97cc290258e86adaa2ea87393b93a8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8">kudu::client::KuduTableAlterer::SetOwner</a></div><div class="ttdeci">KuduTableAlterer * SetOwner(const std::string &amp;new_owner)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a3eec4fd1b1c1d0245052599aa2692541"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541">kudu::client::KuduTableAlterer::AlterExtraConfig</a></div><div class="ttdeci">KuduTableAlterer * AlterExtraConfig(const std::map&lt; std::string, std::string &gt; &amp;extra_configs)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a521a968f4db133a10629f76c75dde793"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793">kudu::client::KuduTableAlterer::AddRangePartition</a></div><div class="ttdeci">KuduTableAlterer * AddRangePartition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a6d62bfbcfab6b99dcb057e7f7a4cf742"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742">kudu::client::KuduTableAlterer::AlterColumn</a></div><div class="ttdeci">KuduColumnSpec * AlterColumn(const std::string &amp;name)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a86e6d55d0888d4bc99789b1dcd0e5646"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">kudu::client::KuduTableAlterer::wait</a></div><div class="ttdeci">KuduTableAlterer * wait(bool wait)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a8a82d41c8e7181875c6a29bd3ce6f006"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006">kudu::client::KuduTableAlterer::AddRangePartitionWithDimension</a></div><div class="ttdeci">KuduTableAlterer * AddRangePartitionWithDimension(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, const std::string &amp;dimension_label, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_a9dc99957dac9029dd5ecd0f41b3d2fe6"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6">kudu::client::KuduTableAlterer::SetComment</a></div><div class="ttdeci">KuduTableAlterer * SetComment(const std::string &amp;new_comment)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_ab0f8abf78d35725198876aaa04b737a7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7">kudu::client::KuduTableAlterer::DropRangePartition</a></div><div class="ttdeci">KuduTableAlterer * DropRangePartition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_ac5a4ec376ec53ba912b85ea0057d10a7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7">kudu::client::KuduTableAlterer::DropColumn</a></div><div class="ttdeci">KuduTableAlterer * DropColumn(const std::string &amp;name)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_aca8ea8d7b65e6952c76fd97f12d5b324"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324">kudu::client::KuduTableAlterer::RenameTo</a></div><div class="ttdeci">KuduTableAlterer * RenameTo(const std::string &amp;new_name)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_acb9406a6a254997dd584ce6c2cf51cd0"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0">kudu::client::KuduTableAlterer::AddColumn</a></div><div class="ttdeci">KuduColumnSpec * AddColumn(const std::string &amp;name)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_add2961a41c37a6b0fd869e0f553a04a1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">kudu::client::KuduTableAlterer::timeout</a></div><div class="ttdeci">KuduTableAlterer * timeout(const MonoDelta &amp;timeout)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_ae5eedc7d2bf9c3f69073701444808fbe"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe">kudu::client::KuduTableAlterer::SetTableRowCountLimit</a></div><div class="ttdeci">KuduTableAlterer * SetTableRowCountLimit(int64_t row_count_limit)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html_af39c953344e62d09e0170c5371f2ab27"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27">kudu::client::KuduTableAlterer::SetTableDiskSizeLimit</a></div><div class="ttdeci">KuduTableAlterer * SetTableDiskSizeLimit(int64_t disk_size_limit)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></div><div class="ttdoc">A helper class to create a new table with the desired options.</div><div class="ttdef"><b>Definition:</b> client.h:1084</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a0a63fdc58e8062e505f4fa71d6f2343b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">kudu::client::KuduTableCreator::RangePartitionBound</a></div><div class="ttdeci">RangePartitionBound</div><div class="ttdoc">Range partition bound type.</div><div class="ttdef"><b>Definition:</b> client.h:1165</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">kudu::client::KuduTableCreator::INCLUSIVE_BOUND</a></div><div class="ttdeci">@ INCLUSIVE_BOUND</div><div class="ttdoc">An inclusive bound.</div><div class="ttdef"><b>Definition:</b> client.h:1167</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">kudu::client::KuduTableCreator::EXCLUSIVE_BOUND</a></div><div class="ttdeci">@ EXCLUSIVE_BOUND</div><div class="ttdoc">An exclusive bound.</div><div class="ttdef"><b>Definition:</b> client.h:1166</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a0fe4f05dab63be87058b81f1b380f2cd"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd">kudu::client::KuduTableCreator::extra_configs</a></div><div class="ttdeci">KuduTableCreator &amp; extra_configs(const std::map&lt; std::string, std::string &gt; &amp;extra_configs)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a15126b62437fc1741b41249080376f93"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">kudu::client::KuduTableCreator::table_name</a></div><div class="ttdeci">KuduTableCreator &amp; table_name(const std::string &amp;name)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a30efad5c256dae0af7bb43599403b1cc"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">kudu::client::KuduTableCreator::Create</a></div><div class="ttdeci">Status Create()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a38a83cf0e856ebaf4a5afe8c4a1d06f7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">kudu::client::KuduTableCreator::schema</a></div><div class="ttdeci">KuduTableCreator &amp; schema(const KuduSchema *schema)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a482701285b7a071dd56f04df480bc7c3"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3">kudu::client::KuduTableCreator::set_range_partition_columns</a></div><div class="ttdeci">KuduTableCreator &amp; set_range_partition_columns(const std::vector&lt; std::string &gt; &amp;columns)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a48f9e977356c37666106f303100198d9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">kudu::client::KuduTableCreator::wait</a></div><div class="ttdeci">KuduTableCreator &amp; wait(bool wait)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a52855857927fe1a08fbd4c81e746c235"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">kudu::client::KuduTableCreator::timeout</a></div><div class="ttdeci">KuduTableCreator &amp; timeout(const MonoDelta &amp;timeout)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a989ccdb9b6f4186d3227d3811048538e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">kudu::client::KuduTableCreator::add_hash_partitions</a></div><div class="ttdeci">KuduTableCreator &amp; add_hash_partitions(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a9cdcee398f94af53d721e3d085929d24"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24">kudu::client::KuduTableCreator::add_hash_partitions</a></div><div class="ttdeci">KuduTableCreator &amp; add_hash_partitions(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets, int32_t seed)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_a9dd4673755ba242eab3f06b19182d139"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139">kudu::client::KuduTableCreator::num_replicas</a></div><div class="ttdeci">KuduTableCreator &amp; num_replicas(int n_replicas)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_aac3d941bf3b381c08f64ed919680984a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a">kudu::client::KuduTableCreator::add_range_partition</a></div><div class="ttdeci">KuduTableCreator &amp; add_range_partition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, RangePartitionBound lower_bound_type=INCLUSIVE_BOUND, RangePartitionBound upper_bound_type=EXCLUSIVE_BOUND)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_aadb48996ad9e16efbae069ee87174007"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">kudu::client::KuduTableCreator::set_owner</a></div><div class="ttdeci">KuduTableCreator &amp; set_owner(const std::string &amp;owner)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_adbdd2208d9ede696704fbecea15bea1f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">kudu::client::KuduTableCreator::add_range_partition_split</a></div><div class="ttdeci">KuduTableCreator &amp; add_range_partition_split(KuduPartialRow *split_row)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_ae12cc7c72da40f25b079273a6169faf9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">kudu::client::KuduTableCreator::split_rows</a></div><div class="ttdeci">KuduTableCreator &amp; split_rows(const std::vector&lt; const KuduPartialRow * &gt; &amp;split_rows) ATTRIBUTE_DEPRECATED(&quot;use add_range_partition_split() instead&quot;)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_af0e832f6d358f9572ee1cf7f755e1658"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">kudu::client::KuduTableCreator::dimension_label</a></div><div class="ttdeci">KuduTableCreator &amp; dimension_label(const std::string &amp;dimension_label)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html_af6b9911f943bee6c6840dab918d6652f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f">kudu::client::KuduTableCreator::set_comment</a></div><div class="ttdeci">KuduTableCreator &amp; set_comment(const std::string &amp;comment)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html">kudu::client::KuduTableStatistics</a></div><div class="ttdoc">In-memory statistics of table.</div><div class="ttdef"><b>Definition:</b> client.h:1320</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html_a111ee4d90863b9e6c3619e712fe72b3a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">kudu::client::KuduTableStatistics::on_disk_size_limit</a></div><div class="ttdeci">int64_t on_disk_size_limit() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html_aaf8ca7f5f9f4640e517c1b33235450d1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">kudu::client::KuduTableStatistics::live_row_count</a></div><div class="ttdeci">int64_t live_row_count() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html_ab437c1e3cb382828eb32fea424bc25ff"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">kudu::client::KuduTableStatistics::ToString</a></div><div class="ttdeci">std::string ToString() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html_aec261d988a4083bdb74bf39d52bfc1dd"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd">kudu::client::KuduTableStatistics::live_row_count_limit</a></div><div class="ttdeci">int64_t live_row_count_limit() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableStatistics_html_afe152cbb7f239618bfc4625cadba4484"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">kudu::client::KuduTableStatistics::on_disk_size</a></div><div class="ttdeci">int64_t on_disk_size() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></div><div class="ttdoc">A representation of a table on a particular cluster.</div><div class="ttdef"><b>Definition:</b> client.h:1389</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a0c78f86c5d0fbf53437c2c9db26f92b6"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">kudu::client::KuduTable::NewInsert</a></div><div class="ttdeci">KuduInsert * NewInsert()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a0f3728fb6eab9e1d099f02e378c27af2"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2">kudu::client::KuduTable::partition_schema</a></div><div class="ttdeci">const PartitionSchema &amp; partition_schema() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a19e92dbaeeff86c5d707b15b2a7051fc"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc">kudu::client::KuduTable::NewUpsert</a></div><div class="ttdeci">KuduUpsert * NewUpsert()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a23a66ada3e868985467b2ded94cb24bf"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf">kudu::client::KuduTable::client</a></div><div class="ttdeci">KuduClient * client() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a2cc4b8f9fcbff1450d0a056e8f9a8103"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103">kudu::client::KuduTable::NewInsertIgnore</a></div><div class="ttdeci">KuduInsertIgnore * NewInsertIgnore()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a356e8d0d10491d4d8540adefac86be94"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">kudu::client::KuduTable::NewInBloomFilterPredicate</a></div><div class="ttdeci">KuduPredicate * NewInBloomFilterPredicate(const Slice &amp;col_name, std::vector&lt; KuduBloomFilter * &gt; *bloom_filters)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a453ffb83cf7c12541caba5ea182fadd9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9">kudu::client::KuduTable::NewInListPredicate</a></div><div class="ttdeci">KuduPredicate * NewInListPredicate(const Slice &amp;col_name, std::vector&lt; KuduValue * &gt; *values)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a4f24cd5f89f247933976076fbeafec9b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b">kudu::client::KuduTable::comment</a></div><div class="ttdeci">const std::string &amp; comment() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a58abf46f2fe2cd2adab8c7a872cd0a3d"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">kudu::client::KuduTable::owner</a></div><div class="ttdeci">const std::string &amp; owner() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a5f453909cdeda167ad15506358470466"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">kudu::client::KuduTable::NewIsNullPredicate</a></div><div class="ttdeci">KuduPredicate * NewIsNullPredicate(const Slice &amp;col_name)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a79eae97f8828a50d0d21d85c623bd0ec"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec">kudu::client::KuduTable::extra_configs</a></div><div class="ttdeci">const std::map&lt; std::string, std::string &gt; &amp; extra_configs() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_a7e95271452d608fc2b563f7b46ddcda8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8">kudu::client::KuduTable::NewUpdate</a></div><div class="ttdeci">KuduUpdate * NewUpdate()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_aab4f670329e21099dadafa574c4ad094"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094">kudu::client::KuduTable::NewDeleteIgnore</a></div><div class="ttdeci">KuduDeleteIgnore * NewDeleteIgnore()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_abf0432f09886b3df1ab64c61227f4bf3"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3">kudu::client::KuduTable::NewUpdateIgnore</a></div><div class="ttdeci">KuduUpdateIgnore * NewUpdateIgnore()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_ac5436bdd675d45de6c2980f3a05f5e20"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20">kudu::client::KuduTable::id</a></div><div class="ttdeci">const std::string &amp; id() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_ac8f62fdc5c12af06fc9cec0f1d006fed"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed">kudu::client::KuduTable::num_replicas</a></div><div class="ttdeci">int num_replicas() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_ad873078bdbcafe015d359a65c370a89a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a">kudu::client::KuduTable::NewDelete</a></div><div class="ttdeci">KuduDelete * NewDelete()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_ae1ada81a49d909fab15694ed3e2f5244"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">kudu::client::KuduTable::name</a></div><div class="ttdeci">const std::string &amp; name() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_aed6c3571aff35270a3e6cd66770f1cea"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">kudu::client::KuduTable::NewComparisonPredicate</a></div><div class="ttdeci">KuduPredicate * NewComparisonPredicate(const Slice &amp;col_name, KuduPredicate::ComparisonOp op, KuduValue *value)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_aefc75c9c36846675e4b8bd53075f6f5c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c">kudu::client::KuduTable::schema</a></div><div class="ttdeci">const KuduSchema &amp; schema() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_af6e70f115cf3c0359b1c170533a2d523"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523">kudu::client::KuduTable::NewIsNotNullPredicate</a></div><div class="ttdeci">KuduPredicate * NewIsNotNullPredicate(const Slice &amp;col_name)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html_aff0381dcf80981edfa7182618b9fc7a3"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3">kudu::client::KuduTable::NewInBloomFilterPredicate</a></div><div class="ttdeci">KuduPredicate * NewInBloomFilterPredicate(const Slice &amp;col_name, const std::vector&lt; Slice &gt; &amp;bloom_filters)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTabletServer_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTabletServer.html">kudu::client::KuduTabletServer</a></div><div class="ttdoc">In-memory representation of a remote tablet server.</div><div class="ttdef"><b>Definition:</b> client.h:984</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTabletServer_html_a16f7afb807b569d73c54b5b7feda2c9f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f">kudu::client::KuduTabletServer::port</a></div><div class="ttdeci">uint16_t port() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTabletServer_html_a2b25121a16e203f2fa673644950da1d1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1">kudu::client::KuduTabletServer::hostname</a></div><div class="ttdeci">const std::string &amp; hostname() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTabletServer_html_a5de30699fb086485d44b14469234bbfc"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc">kudu::client::KuduTabletServer::uuid</a></div><div class="ttdeci">const std::string &amp; uuid() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTablet_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTablet.html">kudu::client::KuduTablet</a></div><div class="ttdoc">In-memory representation of a remote tablet.</div><div class="ttdef"><b>Definition:</b> client.h:1054</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTablet_html_a3d38d4bb09f0c135e999290d03dea837"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837">kudu::client::KuduTablet::id</a></div><div class="ttdeci">const std::string &amp; id() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTablet_html_a738839e72d0a3d87686d06c43238bf19"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19">kudu::client::KuduTablet::replicas</a></div><div class="ttdeci">const std::vector&lt; const KuduReplica * &gt; &amp; replicas() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_1_1SerializationOptions_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">kudu::client::KuduTransaction::SerializationOptions</a></div><div class="ttdef"><b>Definition:</b> client.h:459</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_1_1SerializationOptions_html_a7c296a5bb34839e0be7c9191d595f24f"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f">kudu::client::KuduTransaction::SerializationOptions::keepalive</a></div><div class="ttdeci">bool keepalive() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_1_1SerializationOptions_html_af1349e70e599bb44e47fcfc548c6b9df"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">kudu::client::KuduTransaction::SerializationOptions::enable_keepalive</a></div><div class="ttdeci">SerializationOptions &amp; enable_keepalive(bool enable)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction.html">kudu::client::KuduTransaction</a></div><div class="ttdef"><b>Definition:</b> client.h:363</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_html_aaf0b693b1ff9a44399bea3ed1f22f495"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">kudu::client::KuduTransaction::Commit</a></div><div class="ttdeci">Status Commit() WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_html_ad55ec331c2e0471dca2e73b30750b5f5"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">kudu::client::KuduTransaction::Serialize</a></div><div class="ttdeci">Status Serialize(std::string *serialized_txn, const SerializationOptions &amp;options=SerializationOptions()) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTransaction_html_ad79babbbd8bd296741fad2ed0adce55a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">kudu::client::KuduTransaction::CreateSession</a></div><div class="ttdeci">Status CreateSession(sp::shared_ptr&lt; KuduSession &gt; *session) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduUpdateIgnore_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpdateIgnore.html">kudu::client::KuduUpdateIgnore</a></div><div class="ttdoc">A single row update ignore to be sent to the cluster, missing row errors are ignored.</div><div class="ttdef"><b>Definition:</b> write_op.h:245</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduUpdate_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpdate.html">kudu::client::KuduUpdate</a></div><div class="ttdoc">A single row update to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:219</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduUpsert_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpsert.html">kudu::client::KuduUpsert</a></div><div class="ttdoc">A single row upsert to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:192</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></div><div class="ttdoc">A constant cell value with a specific type.</div><div class="ttdef"><b>Definition:</b> value.h:35</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduWriteOperation_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></div><div class="ttdoc">A single-row write operation to be sent to a Kudu table.</div><div class="ttdef"><b>Definition:</b> write_op.h:64</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1ResourceMetrics_html"><div class="ttname"><a href="classkudu_1_1client_1_1ResourceMetrics.html">kudu::client::ResourceMetrics</a></div><div class="ttdoc">A generic catalog of simple metrics.</div><div class="ttdef"><b>Definition:</b> resource_metrics.h:39</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc_html"><div class="ttname"><a href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html">kudu::client::internal::AsyncLeaderMasterRpc</a></div><div class="ttdef"><b>Definition:</b> client.h:123</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc_html"><div class="ttname"><a href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html">kudu::client::internal::AsyncRandomTxnManagerRpc</a></div><div class="ttdef"><b>Definition:</b> client.h:125</div></div>
+<div class="ttc" id="ashared__ptr_8h_html"><div class="ttname"><a href="shared__ptr_8h.html">shared_ptr.h</a></div><div class="ttdoc">Smart pointer typedefs for externally-faced code.</div></div>
+<div class="ttc" id="astatus_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/closed.png b/releases/1.15.0/cpp-client-api/closed.png
new file mode 100644
index 0000000..98cc2c9
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/closed.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/columnar__scan__batch_8h_source.html b/releases/1.15.0/cpp-client-api/columnar__scan__batch_8h_source.html
new file mode 100644
index 0000000..8a3de93
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/columnar__scan__batch_8h_source.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/columnar_scan_batch.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">columnar_scan_batch.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_COLUMNAR_SCAN_BATCH_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_COLUMNAR_SCAN_BATCH_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/macros.h&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="status_8h.html">kudu/util/status.h</a>&quot;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">class </span>Slice;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">   51</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">KuduColumnarScanBatch</a> {</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">KuduColumnarScanBatch</a>();</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">KuduColumnarScanBatch</a>();</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7">   57</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7">NumRows</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300">   73</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300">GetFixedLengthColumn</a>(<span class="keywordtype">int</span> idx, <a class="code" href="classkudu_1_1Slice.html">Slice</a>* data) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1">   88</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1">GetVariableLengthColumn</a>(<span class="keywordtype">int</span> idx, <a class="code" href="classkudu_1_1Slice.html">Slice</a>* offsets, <a class="code" href="classkudu_1_1Slice.html">Slice</a>* data) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312">  105</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312">GetNonNullBitmapForColumn</a>(<span class="keywordtype">int</span> idx, <a class="code" href="classkudu_1_1Slice.html">Slice</a>* data) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">KuduColumnarScanBatch</a>);</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;};</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html"><div class="ttname"><a href="classkudu_1_1Slice.html">kudu::Slice</a></div><div class="ttdoc">A wrapper around externally allocated data.</div><div class="ttdef"><b>Definition:</b> slice.h:51</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html"><div class="ttname"><a href="classkudu_1_1Status.html">kudu::Status</a></div><div class="ttdoc">A representation of an operation's outcome.</div><div class="ttdef"><b>Definition:</b> status.h:165</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnarScanBatch_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnarScanBatch.html">kudu::client::KuduColumnarScanBatch</a></div><div class="ttdoc">A batch of columnar data returned from a scanner.</div><div class="ttdef"><b>Definition:</b> columnar_scan_batch.h:51</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnarScanBatch_html_a36907b80d801e8f55fc7136e21973ed1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1">kudu::client::KuduColumnarScanBatch::GetVariableLengthColumn</a></div><div class="ttdeci">Status GetVariableLengthColumn(int idx, Slice *offsets, Slice *data) const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnarScanBatch_html_a407f9f0dfe0e7f489ef015a422055300"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300">kudu::client::KuduColumnarScanBatch::GetFixedLengthColumn</a></div><div class="ttdeci">Status GetFixedLengthColumn(int idx, Slice *data) const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnarScanBatch_html_acd1c9a1f894dc35fdb3e9e04ecb100e7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7">kudu::client::KuduColumnarScanBatch::NumRows</a></div><div class="ttdeci">int NumRows() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnarScanBatch_html_aeab3521399ba6aa8672cc9fa6e626312"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312">kudu::client::KuduColumnarScanBatch::GetNonNullBitmapForColumn</a></div><div class="ttdeci">Status GetNonNullBitmapForColumn(int idx, Slice *data) const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2456</div></div>
+<div class="ttc" id="astatus_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/deprecated.html b/releases/1.15.0/cpp-client-api/deprecated.html
new file mode 100644
index 0000000..ddd5159
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/deprecated.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Deprecated List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="PageDoc"><div class="header">
+  <div class="headertitle">
+<div class="title">Deprecated List </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><dl class="reflist">
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82">kudu::client::KuduColumnStorageAttributes::GROUP_VARINT</a>  </dt>
+<dd><a class="anchor" id="_deprecated000010"></a>GROUP_VARINT is not supported for valid types, and will fall back to another encoding on the server side.  </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab">kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes</a>  (EncodingType encoding=AUTO_ENCODING, CompressionType compression=DEFAULT_COMPRESSION, int32_t block_size=0) ATTRIBUTE_DEPRECATED("this const ructor will be private in a future release")</dt>
+<dd><a class="anchor" id="_deprecated000009"></a>This constructor is deprecated for external use, and will be made private in a future release. </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe">kudu::client::KuduScanner::AddExclusiveUpperBoundRaw</a>  (const <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> &amp;key) ATTRIBUTE_DEPRECATED("use AddExclusiveUpperBound() instead")</dt>
+<dd><a class="anchor" id="_deprecated000005"></a>Use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d">AddExclusiveUpperBound()</a> instead. </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e">kudu::client::KuduScanner::AddLowerBoundRaw</a>  (const <a class="el" href="classkudu_1_1Slice.html" title="A wrapper around externally allocated data.">Slice</a> &amp;key) ATTRIBUTE_DEPRECATED("use AddLowerBound() instead")</dt>
+<dd><a class="anchor" id="_deprecated000004"></a>Use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86">AddLowerBound()</a> instead. </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">kudu::client::KuduScanner::NextBatch</a>  (std::vector&lt; KuduRowResult &gt; *rows) ATTRIBUTE_DEPRECATED("use NextBatch(KuduScanBatch*) instead")</dt>
+<dd><a class="anchor" id="_deprecated000006"></a>Use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487">NextBatch(KuduScanBatch*)</a> instead. </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc">kudu::client::KuduScanner::SetOrderMode</a>  (OrderMode order_mode) WARN_UNUSED_RESULT ATTRIBUTE_DEPRECATED("use SetFaultTolerant() instead")</dt>
+<dd><a class="anchor" id="_deprecated000007"></a>Use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f">SetFaultTolerant()</a> instead. </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad">kudu::client::KuduScanner::SetProjectedColumns</a>  (const std::vector&lt; std::string &gt; &amp;col_names) WARN_UNUSED_RESULT ATTRIBUTE_DEPRECATED("use SetProjectedColumnNames() instead")</dt>
+<dd><a class="anchor" id="_deprecated000003"></a>Use <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">SetProjectedColumnNames()</a> instead. </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">kudu::client::KuduSchema::Reset</a>  (const std::vector&lt; KuduColumnSchema &gt; &amp;columns, int key_columns) WARN_UNUSED_RESULT</dt>
+<dd><a class="anchor" id="_deprecated000012"></a>This method will be removed soon. </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112">kudu::client::KuduSession::CountBufferedOperations</a>  () const ATTRIBUTE_DEPRECATED("this method is experimental and will disappear " "in a future release")</dt>
+<dd><a class="anchor" id="_deprecated000002"></a>This method is experimental and will disappear in a future release. </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">kudu::client::KuduTableCreator::split_rows</a>  (const std::vector&lt; const KuduPartialRow * &gt; &amp;split_rows) ATTRIBUTE_DEPRECATED("use add_range_partition_split() instead")</dt>
+<dd><a class="anchor" id="_deprecated000001"></a>Use <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split()</a></code> instead.</dd>
+</dl>
+</div></div><!-- contents -->
+</div><!-- PageDoc -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/dir_4eb331d85bb84eae27db9d0af49f6f99.html b/releases/1.15.0/cpp-client-api/dir_4eb331d85bb84eae27db9d0af49f6f99.html
new file mode 100644
index 0000000..57cb0d6
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/dir_4eb331d85bb84eae27db9d0af49f6f99.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">client Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:shared__ptr_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="shared__ptr_8h.html">shared_ptr.h</a> <a href="shared__ptr_8h_source.html">[code]</a></td></tr>
+<tr class="memdesc:shared__ptr_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Smart pointer typedefs for externally-faced code. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/dir_58b01e52e53886b8d78ab5060a2cd2bd.html b/releases/1.15.0/cpp-client-api/dir_58b01e52e53886b8d78ab5060a2cd2bd.html
new file mode 100644
index 0000000..955a2d3
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/dir_58b01e52e53886b8d78ab5060a2cd2bd.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html b/releases/1.15.0/cpp-client-api/dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html
new file mode 100644
index 0000000..ea0c4ff
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/common Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html">common</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">common Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/dir_d44c64559bbebec7f509842c48db8b23.html b/releases/1.15.0/cpp-client-api/dir_d44c64559bbebec7f509842c48db8b23.html
new file mode 100644
index 0000000..752f692
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/dir_d44c64559bbebec7f509842c48db8b23.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">include Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html b/releases/1.15.0/cpp-client-api/dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html
new file mode 100644
index 0000000..8234522
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/util Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html">util</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">util Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:status_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html">status.h</a> <a href="status_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/doc.png b/releases/1.15.0/cpp-client-api/doc.png
new file mode 100644
index 0000000..17edabf
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/doc.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/doxygen.css b/releases/1.15.0/cpp-client-api/doxygen.css
new file mode 100644
index 0000000..ffbff02
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/doxygen.css
@@ -0,0 +1,1793 @@
+/* The standard CSS for doxygen 1.9.1 */
+
+body, table, div, p, dl {
+	font: 400 14px/22px Roboto,sans-serif;
+}
+
+p.reference, p.definition {
+	font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+	font-size: 150%;
+}
+
+.title {
+	font: 400 14px/28px Roboto,sans-serif;
+	font-size: 150%;
+	font-weight: bold;
+	margin: 10px 2px;
+}
+
+h2.groupheader {
+	border-bottom: 1px solid #879ECB;
+	color: #354C7B;
+	font-size: 150%;
+	font-weight: normal;
+	margin-top: 1.75em;
+	padding-top: 8px;
+	padding-bottom: 4px;
+	width: 100%;
+}
+
+h3.groupheader {
+	font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+	-webkit-transition: text-shadow 0.5s linear;
+	-moz-transition: text-shadow 0.5s linear;
+	-ms-transition: text-shadow 0.5s linear;
+	-o-transition: text-shadow 0.5s linear;
+	transition: text-shadow 0.5s linear;
+	margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+	text-shadow: 0 0 15px cyan;
+}
+
+dt {
+	font-weight: bold;
+}
+
+ul.multicol {
+	-moz-column-gap: 1em;
+	-webkit-column-gap: 1em;
+	column-gap: 1em;
+	-moz-column-count: 3;
+	-webkit-column-count: 3;
+	column-count: 3;
+}
+
+p.startli, p.startdd {
+	margin-top: 2px;
+}
+
+th p.starttd, th p.intertd, th p.endtd {
+        font-size: 100%;
+        font-weight: 700;
+}
+
+p.starttd {
+	margin-top: 0px;
+}
+
+p.endli {
+	margin-bottom: 0px;
+}
+
+p.enddd {
+	margin-bottom: 4px;
+}
+
+p.endtd {
+	margin-bottom: 2px;
+}
+
+p.interli {
+}
+
+p.interdd {
+}
+
+p.intertd {
+}
+
+/* @end */
+
+caption {
+	font-weight: bold;
+}
+
+span.legend {
+	font-size: 70%;
+	text-align: center;
+}
+
+h3.version {
+	font-size: 90%;
+	text-align: center;
+}
+
+div.navtab {
+	border-right: 1px solid #A3B4D7;
+	padding-right: 15px;
+	text-align: right;
+	line-height: 110%;
+}
+
+div.navtab table {
+	border-spacing: 0;
+}
+
+td.navtab {
+	padding-right: 6px;
+	padding-left: 6px;
+}
+td.navtabHL {
+	background-image: url('tab_a.png');
+	background-repeat:repeat-x;
+	padding-right: 6px;
+	padding-left: 6px;
+}
+
+td.navtabHL a, td.navtabHL a:visited {
+	color: #fff;
+	text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
+
+a.navtab {
+	font-weight: bold;
+}
+
+div.qindex{
+	text-align: center;
+	width: 100%;
+	line-height: 140%;
+	font-size: 130%;
+	color: #A0A0A0;
+}
+
+dt.alphachar{
+	font-size: 180%;
+	font-weight: bold;
+}
+
+.alphachar a{
+	color: black;
+}
+
+.alphachar a:hover, .alphachar a:visited{
+	text-decoration: none;
+}
+
+.classindex dl {
+	padding: 25px;
+	column-count:1
+}
+
+.classindex dd {
+	display:inline-block;
+	margin-left: 50px;
+	width: 90%;
+	line-height: 1.15em;
+}
+
+.classindex dl.odd {
+	background-color: #F8F9FC;
+}
+
+@media(min-width: 1120px) {
+	.classindex dl {
+		column-count:2
+	}
+}
+
+@media(min-width: 1320px) {
+	.classindex dl {
+		column-count:3
+	}
+}
+
+
+/* @group Link Styling */
+
+a {
+	color: #3D578C;
+	font-weight: normal;
+	text-decoration: none;
+}
+
+.contents a:visited {
+	color: #4665A2;
+}
+
+a:hover {
+	text-decoration: underline;
+}
+
+.contents a.qindexHL:visited {
+        color: #FFFFFF;
+}
+
+a.el {
+	font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+	color: #4665A2; 
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+	color: #4665A2; 
+}
+
+/* @end */
+
+dl.el {
+	margin-left: -1cm;
+}
+
+ul {
+  overflow: hidden; /*Fixed: list item bullets overlap floating elements*/
+}
+
+#side-nav ul {
+  overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
+}
+
+#main-nav ul {
+  overflow: visible; /* reset ul rule for the navigation bar drop down lists */
+}
+
+.fragment {
+  text-align: left;
+  direction: ltr;
+  overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
+  overflow-y: hidden;
+}
+
+pre.fragment {
+        border: 1px solid #C4CFE5;
+        background-color: #FBFCFD;
+        padding: 4px 6px;
+        margin: 4px 8px 4px 2px;
+        overflow: auto;
+        word-wrap: break-word;
+        font-size:  9pt;
+        line-height: 125%;
+        font-family: monospace, fixed;
+        font-size: 105%;
+}
+
+div.fragment {
+  padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
+  margin: 4px 8px 4px 2px;
+	background-color: #FBFCFD;
+	border: 1px solid #C4CFE5;
+}
+
+div.line {
+	font-family: monospace, fixed;
+        font-size: 13px;
+	min-height: 13px;
+	line-height: 1.0;
+	text-wrap: unrestricted;
+	white-space: -moz-pre-wrap; /* Moz */
+	white-space: -pre-wrap;     /* Opera 4-6 */
+	white-space: -o-pre-wrap;   /* Opera 7 */
+	white-space: pre-wrap;      /* CSS3  */
+	word-wrap: break-word;      /* IE 5.5+ */
+	text-indent: -53px;
+	padding-left: 53px;
+	padding-bottom: 0px;
+	margin: 0px;
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+div.line:after {
+    content:"\000A";
+    white-space: pre;
+}
+
+div.line.glow {
+	background-color: cyan;
+	box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+	padding-right: 4px;
+	text-align: right;
+	border-right: 2px solid #0F0;
+	background-color: #E8E8E8;
+        white-space: pre;
+}
+span.lineno a {
+	background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+	background-color: #C8C8C8;
+}
+
+.lineno {
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+div.ah, span.ah {
+	background-color: black;
+	font-weight: bold;
+	color: #FFFFFF;
+	margin-bottom: 3px;
+	margin-top: 3px;
+	padding: 0.2em;
+	border: solid thin #333;
+	border-radius: 0.5em;
+	-webkit-border-radius: .5em;
+	-moz-border-radius: .5em;
+	box-shadow: 2px 2px 3px #999;
+	-webkit-box-shadow: 2px 2px 3px #999;
+	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
+}
+
+div.classindex ul {
+        list-style: none;
+        padding-left: 0;
+}
+
+div.classindex span.ai {
+        display: inline-block;
+}
+
+div.groupHeader {
+	margin-left: 16px;
+	margin-top: 12px;
+	font-weight: bold;
+}
+
+div.groupText {
+	margin-left: 16px;
+	font-style: italic;
+}
+
+body {
+	background-color: white;
+	color: black;
+        margin: 0;
+}
+
+div.contents {
+	margin-top: 10px;
+	margin-left: 12px;
+	margin-right: 8px;
+}
+
+td.indexkey {
+	background-color: #EBEFF6;
+	font-weight: bold;
+	border: 1px solid #C4CFE5;
+	margin: 2px 0px 2px 0;
+	padding: 2px 10px;
+        white-space: nowrap;
+        vertical-align: top;
+}
+
+td.indexvalue {
+	background-color: #EBEFF6;
+	border: 1px solid #C4CFE5;
+	padding: 2px 10px;
+	margin: 2px 0px;
+}
+
+tr.memlist {
+	background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+	text-align: center;
+}
+
+img.formulaDsp {
+	
+}
+
+img.formulaInl, img.inline {
+	vertical-align: middle;
+}
+
+div.center {
+	text-align: center;
+        margin-top: 0px;
+        margin-bottom: 0px;
+        padding: 0px;
+}
+
+div.center img {
+	border: 0px;
+}
+
+address.footer {
+	text-align: right;
+	padding-right: 12px;
+}
+
+img.footer {
+	border: 0px;
+	vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+	color: #008000
+}
+
+span.keywordtype {
+	color: #604020
+}
+
+span.keywordflow {
+	color: #e08000
+}
+
+span.comment {
+	color: #800000
+}
+
+span.preprocessor {
+	color: #806020
+}
+
+span.stringliteral {
+	color: #002080
+}
+
+span.charliteral {
+	color: #008080
+}
+
+span.vhdldigit { 
+	color: #ff00ff 
+}
+
+span.vhdlchar { 
+	color: #000000 
+}
+
+span.vhdlkeyword { 
+	color: #700070 
+}
+
+span.vhdllogic { 
+	color: #ff0000 
+}
+
+blockquote {
+        background-color: #F7F8FB;
+        border-left: 2px solid #9CAFD4;
+        margin: 0 24px 0 4px;
+        padding: 0 12px 0 16px;
+}
+
+blockquote.DocNodeRTL {
+   border-left: 0;
+   border-right: 2px solid #9CAFD4;
+   margin: 0 4px 0 24px;
+   padding: 0 16px 0 12px;
+}
+
+/* @end */
+
+/*
+.search {
+	color: #003399;
+	font-weight: bold;
+}
+
+form.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+
+input.search {
+	font-size: 75%;
+	color: #000080;
+	font-weight: normal;
+	background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+	font-size: 75%;
+}
+
+.dirtab {
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+	background: #EBEFF6;
+	font-weight: bold;
+}
+
+hr {
+	height: 0px;
+	border: none;
+	border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+	height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+	border-spacing: 0px;
+	padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+	background-color: cyan;
+	box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+	background-color: #F9FAFC;
+	border: none;
+	margin: 4px;
+	padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+	padding: 0px 8px 4px 8px;
+	color: #555;
+}
+
+.memSeparator {
+        border-bottom: 1px solid #DEE4F0;
+        line-height: 1px;
+        margin: 0px;
+        padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+        white-space: nowrap;
+}
+
+.memItemRight, .memTemplItemRight {
+	width: 100%;
+}
+
+.memTemplParams {
+	color: #4665A2;
+        white-space: nowrap;
+	font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtitle {
+	padding: 8px;
+	border-top: 1px solid #A8B8D9;
+	border-left: 1px solid #A8B8D9;
+	border-right: 1px solid #A8B8D9;
+	border-top-right-radius: 4px;
+	border-top-left-radius: 4px;
+	margin-bottom: -1px;
+	background-image: url('nav_f.png');
+	background-repeat: repeat-x;
+	background-color: #E2E8F2;
+	line-height: 1.25;
+	font-weight: 300;
+	float:left;
+}
+
+.permalink
+{
+        font-size: 65%;
+        display: inline-block;
+        vertical-align: middle;
+}
+
+.memtemplate {
+	font-size: 80%;
+	color: #4665A2;
+	font-weight: normal;
+	margin-left: 9px;
+}
+
+.memnav {
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+
+.mempage {
+	width: 100%;
+}
+
+.memitem {
+	padding: 0;
+	margin-bottom: 10px;
+	margin-right: 5px;
+        -webkit-transition: box-shadow 0.5s linear;
+        -moz-transition: box-shadow 0.5s linear;
+        -ms-transition: box-shadow 0.5s linear;
+        -o-transition: box-shadow 0.5s linear;
+        transition: box-shadow 0.5s linear;
+        display: table !important;
+        width: 100%;
+}
+
+.memitem.glow {
+         box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+        font-weight: 400;
+        margin-left: 6px;
+}
+
+.memname td {
+	vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+        border-top: 1px solid #A8B8D9;
+        border-left: 1px solid #A8B8D9;
+        border-right: 1px solid #A8B8D9;
+        padding: 6px 0px 6px 0px;
+        color: #253555;
+        font-weight: bold;
+        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+        background-color: #DFE5F1;
+        /* opera specific markup */
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        border-top-right-radius: 4px;
+        /* firefox specific markup */
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        -moz-border-radius-topright: 4px;
+        /* webkit specific markup */
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        -webkit-border-top-right-radius: 4px;
+
+}
+
+.overload {
+        font-family: "courier new",courier,monospace;
+	font-size: 65%;
+}
+
+.memdoc, dl.reflist dd {
+        border-bottom: 1px solid #A8B8D9;      
+        border-left: 1px solid #A8B8D9;      
+        border-right: 1px solid #A8B8D9; 
+        padding: 6px 10px 2px 10px;
+        background-color: #FBFCFD;
+        border-top-width: 0;
+        background-image:url('nav_g.png');
+        background-repeat:repeat-x;
+        background-color: #FFFFFF;
+        /* opera specific markup */
+        border-bottom-left-radius: 4px;
+        border-bottom-right-radius: 4px;
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        /* firefox specific markup */
+        -moz-border-radius-bottomleft: 4px;
+        -moz-border-radius-bottomright: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        /* webkit specific markup */
+        -webkit-border-bottom-left-radius: 4px;
+        -webkit-border-bottom-right-radius: 4px;
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+        padding: 5px;
+}
+
+dl.reflist dd {
+        margin: 0px 0px 10px 0px;
+        padding: 5px;
+}
+
+.paramkey {
+	text-align: right;
+}
+
+.paramtype {
+	white-space: nowrap;
+}
+
+.paramname {
+	color: #602020;
+	white-space: nowrap;
+}
+.paramname em {
+	font-style: normal;
+}
+.paramname code {
+        line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+        margin-left: 0px;
+        padding-left: 0px;
+}       
+
+.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
+        font-weight: bold;
+        vertical-align: top;
+}
+        
+.params .paramtype, .tparams .paramtype {
+        font-style: italic;
+        vertical-align: top;
+}       
+        
+.params .paramdir, .tparams .paramdir {
+        font-family: "courier new",courier,monospace;
+        vertical-align: top;
+}
+
+table.mlabels {
+	border-spacing: 0px;
+}
+
+td.mlabels-left {
+	width: 100%;
+	padding: 0px;
+}
+
+td.mlabels-right {
+	vertical-align: bottom;
+	padding: 0px;
+	white-space: nowrap;
+}
+
+span.mlabels {
+        margin-left: 8px;
+}
+
+span.mlabel {
+        background-color: #728DC1;
+        border-top:1px solid #5373B4;
+        border-left:1px solid #5373B4;
+        border-right:1px solid #C4CFE5;
+        border-bottom:1px solid #C4CFE5;
+	text-shadow: none;
+	color: white;
+	margin-right: 4px;
+	padding: 2px 3px;
+	border-radius: 3px;
+	font-size: 7pt;
+	white-space: nowrap;
+	vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view inside a (index) page */
+
+div.directory {
+        margin: 10px 0px;
+        border-top: 1px solid #9CAFD4;
+        border-bottom: 1px solid #9CAFD4;
+        width: 100%;
+}
+
+.directory table {
+        border-collapse:collapse;
+}
+
+.directory td {
+        margin: 0px;
+        padding: 0px;
+	vertical-align: top;
+}
+
+.directory td.entry {
+        white-space: nowrap;
+        padding-right: 6px;
+	padding-top: 3px;
+}
+
+.directory td.entry a {
+        outline:none;
+}
+
+.directory td.entry a img {
+        border: none;
+}
+
+.directory td.desc {
+        width: 100%;
+        padding-left: 6px;
+	padding-right: 6px;
+	padding-top: 3px;
+	border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+	padding-left: 6px;
+	background-color: #F7F8FB;
+}
+
+.directory img {
+	vertical-align: -30%;
+}
+
+.directory .levels {
+        white-space: nowrap;
+        width: 100%;
+        text-align: right;
+        font-size: 9pt;
+}
+
+.directory .levels span {
+        cursor: pointer;
+        padding-left: 2px;
+        padding-right: 2px;
+	color: #3D578C;
+}
+
+.arrow {
+    color: #9CAFD4;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    cursor: pointer;
+    font-size: 80%;
+    display: inline-block;
+    width: 16px;
+    height: 22px;
+}
+
+.icon {
+    font-family: Arial, Helvetica;
+    font-weight: bold;
+    font-size: 12px;
+    height: 14px;
+    width: 16px;
+    display: inline-block;
+    background-color: #728DC1;
+    color: white;
+    text-align: center;
+    border-radius: 4px;
+    margin-left: 2px;
+    margin-right: 2px;
+}
+
+.icona {
+    width: 24px;
+    height: 22px;
+    display: inline-block;
+}
+
+.iconfopen {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('folderopen.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+.iconfclosed {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('folderclosed.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+.icondoc {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('doc.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+table.directory {
+    font: 400 14px Roboto,sans-serif;
+}
+
+/* @end */
+
+div.dynheader {
+        margin-top: 8px;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+address {
+	font-style: normal;
+	color: #2A3D61;
+}
+
+table.doxtable caption {
+	caption-side: top;
+}
+
+table.doxtable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+table.fieldtable {
+        /*width: 100%;*/
+        margin-bottom: 10px;
+        border: 1px solid #A8B8D9;
+        border-spacing: 0px;
+        -moz-border-radius: 4px;
+        -webkit-border-radius: 4px;
+        border-radius: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+        padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+        white-space: nowrap;
+        border-right: 1px solid #A8B8D9;
+        border-bottom: 1px solid #A8B8D9;
+        vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+        padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+        border-bottom: 1px solid #A8B8D9;
+        /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+        margin-top: 0px;
+}       
+        
+.fieldtable td.fielddoc p:last-child {
+        margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+        border-bottom: none;
+}
+
+.fieldtable th {
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+        font-size: 90%;
+        color: #253555;
+        padding-bottom: 4px;
+        padding-top: 5px;
+        text-align:left;
+        font-weight: 400;
+        -moz-border-radius-topleft: 4px;
+        -moz-border-radius-topright: 4px;
+        -webkit-border-top-left-radius: 4px;
+        -webkit-border-top-right-radius: 4px;
+        border-top-left-radius: 4px;
+        border-top-right-radius: 4px;
+        border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+	top: 0px;
+	left: 10px;
+	height: 36px;
+	background-image: url('tab_b.png');
+	z-index: 101;
+	overflow: hidden;
+	font-size: 13px;
+}
+
+.navpath ul
+{
+	font-size: 11px;
+	background-image:url('tab_b.png');
+	background-repeat:repeat-x;
+	background-position: 0 -5px;
+	height:30px;
+	line-height:30px;
+	color:#8AA0CC;
+	border:solid 1px #C2CDE4;
+	overflow:hidden;
+	margin:0px;
+	padding:0px;
+}
+
+.navpath li
+{
+	list-style-type:none;
+	float:left;
+	padding-left:10px;
+	padding-right:15px;
+	background-image:url('bc_s.png');
+	background-repeat:no-repeat;
+	background-position:right;
+	color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+	height:32px;
+	display:block;
+	text-decoration: none;
+	outline: none;
+	color: #283A5D;
+	font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+	text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+	text-decoration: none;        
+}
+
+.navpath li.navelem a:hover
+{
+	color:#6884BD;
+}
+
+.navpath li.footer
+{
+        list-style-type:none;
+        float:right;
+        padding-left:10px;
+        padding-right:15px;
+        background-image:none;
+        background-repeat:no-repeat;
+        background-position:right;
+        color:#364D7C;
+        font-size: 8pt;
+}
+
+
+div.summary
+{
+	float: right;
+	font-size: 8pt;
+	padding-right: 5px;
+	width: 50%;
+	text-align: right;
+}       
+
+div.summary a
+{
+	white-space: nowrap;
+}
+
+table.classindex
+{
+        margin: 10px;
+        white-space: nowrap;
+        margin-left: 3%;
+        margin-right: 3%;
+        width: 94%;
+        border: 0;
+        border-spacing: 0; 
+        padding: 0;
+}
+
+div.ingroups
+{
+	font-size: 8pt;
+	width: 50%;
+	text-align: left;
+}
+
+div.ingroups a
+{
+	white-space: nowrap;
+}
+
+div.header
+{
+        background-image:url('nav_h.png');
+        background-repeat:repeat-x;
+	background-color: #F9FAFC;
+	margin:  0px;
+	border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+	padding: 5px 5px 5px 10px;
+}
+
+.PageDocRTL-title div.headertitle {
+  text-align: right;
+  direction: rtl;
+}
+
+dl {
+        padding: 0 0 0 0;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
+dl.section {
+	margin-left: 0px;
+	padding-left: 0px;
+}
+
+dl.section.DocNodeRTL {
+  margin-right: 0px;
+  padding-right: 0px;
+}
+
+dl.note {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #D0C000;
+}
+
+dl.note.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #D0C000;
+}
+
+dl.warning, dl.attention {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #FF0000;
+}
+
+dl.warning.DocNodeRTL, dl.attention.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #00D000;
+}
+
+dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #00D000;
+}
+
+dl.deprecated {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #505050;
+}
+
+dl.deprecated.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #505050;
+}
+
+dl.todo {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #00C0E0;
+}
+
+dl.todo.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #00C0E0;
+}
+
+dl.test {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #3030E0;
+}
+
+dl.test.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #3030E0;
+}
+
+dl.bug {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #C08050;
+}
+
+dl.bug.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #C08050;
+}
+
+dl.section dd {
+	margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+	text-align: center;
+	vertical-align: bottom;
+	border-collapse: separate;
+}
+ 
+#projectlogo img
+{ 
+	border: 0px none;
+}
+ 
+#projectalign
+{
+        vertical-align: middle;
+}
+
+#projectname
+{
+	font: 300% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 2px 0px;
+}
+    
+#projectbrief
+{
+	font: 120% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#projectnumber
+{
+	font: 50% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#titlearea
+{
+	padding: 0px;
+	margin: 0px;
+	width: 100%;
+	border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+        text-align: center;
+}
+
+.dotgraph
+{
+        text-align: center;
+}
+
+.mscgraph
+{
+        text-align: center;
+}
+
+.plantumlgraph
+{
+        text-align: center;
+}
+
+.diagraph
+{
+        text-align: center;
+}
+
+.caption
+{
+	font-weight: bold;
+}
+
+div.zoom
+{
+	border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+        margin-bottom:50px;
+}
+
+dl.citelist dt {
+        color:#334975;
+        float:left;
+        font-weight:bold;
+        margin-right:10px;
+        padding:5px;
+        text-align:right;
+        width:52px;
+}
+
+dl.citelist dd {
+        margin:2px 0 2px 72px;
+        padding:5px 0;
+}
+
+div.toc {
+        padding: 14px 25px;
+        background-color: #F4F6FA;
+        border: 1px solid #D8DFEE;
+        border-radius: 7px 7px 7px 7px;
+        float: right;
+        height: auto;
+        margin: 0 8px 10px 10px;
+        width: 200px;
+}
+
+.PageDocRTL-title div.toc {
+  float: left !important;
+  text-align: right;
+}
+
+div.toc li {
+        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+        margin-top: 5px;
+        padding-left: 10px;
+        padding-top: 2px;
+}
+
+.PageDocRTL-title div.toc li {
+  background-position-x: right !important;
+  padding-left: 0 !important;
+  padding-right: 10px;
+}
+
+div.toc h3 {
+        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+	color: #4665A2;
+        border-bottom: 0 none;
+        margin: 0;
+}
+
+div.toc ul {
+        list-style: none outside none;
+        border: medium none;
+        padding: 0px;
+}       
+
+div.toc li.level1 {
+        margin-left: 0px;
+}
+
+div.toc li.level2 {
+        margin-left: 15px;
+}
+
+div.toc li.level3 {
+        margin-left: 30px;
+}
+
+div.toc li.level4 {
+        margin-left: 45px;
+}
+
+span.emoji {
+        /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html
+         * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
+         */
+}
+
+.PageDocRTL-title div.toc li.level1 {
+  margin-left: 0 !important;
+  margin-right: 0;
+}
+
+.PageDocRTL-title div.toc li.level2 {
+  margin-left: 0 !important;
+  margin-right: 15px;
+}
+
+.PageDocRTL-title div.toc li.level3 {
+  margin-left: 0 !important;
+  margin-right: 30px;
+}
+
+.PageDocRTL-title div.toc li.level4 {
+  margin-left: 0 !important;
+  margin-right: 45px;
+}
+
+.inherit_header {
+        font-weight: bold;
+        color: gray;
+        cursor: pointer;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+.inherit_header td {
+        padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+        display: none;
+}
+
+tr.heading h2 {
+        margin-top: 12px;
+        margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+        position: absolute;
+        display: none;
+}
+
+#powerTip {
+	cursor: default;
+	white-space: nowrap;
+	background-color: white;
+	border: 1px solid gray;
+	border-radius: 4px 4px 4px 4px;
+	box-shadow: 1px 1px 7px gray;
+	display: none;
+	font-size: smaller;
+	max-width: 80%;
+	opacity: 0.9;
+	padding: 1ex 1em 1em;
+	position: absolute;
+	z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+        color: grey;
+	font-style: italic;
+}
+
+#powerTip div.ttname a {
+        font-weight: bold;
+}
+
+#powerTip div.ttname {
+        font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+        color: #006318;
+}
+
+#powerTip div {
+        margin: 0px;
+        padding: 0px;
+        font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+	content: "";
+	position: absolute;
+	margin: 0px;
+}
+
+#powerTip.n:after,  #powerTip.n:before,
+#powerTip.s:after,  #powerTip.s:before,
+#powerTip.w:after,  #powerTip.w:before,
+#powerTip.e:after,  #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+	border: solid transparent;
+	content: " ";
+	height: 0;
+	width: 0;
+	position: absolute;
+}
+
+#powerTip.n:after,  #powerTip.s:after,
+#powerTip.w:after,  #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+	border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before,  #powerTip.s:before,
+#powerTip.w:before,  #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+	border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after,  #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+	top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+	border-top-color: #FFFFFF;
+	border-width: 10px;
+	margin: 0px -10px;
+}
+#powerTip.n:before {
+	border-top-color: #808080;
+	border-width: 11px;
+	margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+	left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+	right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+	left: 14px;
+}
+
+#powerTip.s:after,  #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+	bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+	border-bottom-color: #FFFFFF;
+	border-width: 10px;
+	margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+	border-bottom-color: #808080;
+	border-width: 11px;
+	margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+	left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+	right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+	left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+	left: 100%;
+}
+#powerTip.e:after {
+	border-left-color: #FFFFFF;
+	border-width: 10px;
+	top: 50%;
+	margin-top: -10px;
+}
+#powerTip.e:before {
+	border-left-color: #808080;
+	border-width: 11px;
+	top: 50%;
+	margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+	right: 100%;
+}
+#powerTip.w:after {
+	border-right-color: #FFFFFF;
+	border-width: 10px;
+	top: 50%;
+	margin-top: -10px;
+}
+#powerTip.w:before {
+	border-right-color: #808080;
+	border-width: 11px;
+	top: 50%;
+	margin-top: -11px;
+}
+
+@media print
+{
+  #top { display: none; }
+  #side-nav { display: none; }
+  #nav-path { display: none; }
+  body { overflow:visible; }
+  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+  .summary { display: none; }
+  .memitem { page-break-inside: avoid; }
+  #doc-content
+  {
+    margin-left:0 !important;
+    height:auto !important;
+    width:auto !important;
+    overflow:inherit;
+    display:inline;
+  }
+}
+
+/* @group Markdown */
+
+table.markdownTable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.markdownTable tr {
+}
+
+th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+th.markdownTableHeadLeft, td.markdownTableBodyLeft {
+	text-align: left
+}
+
+th.markdownTableHeadRight, td.markdownTableBodyRight {
+	text-align: right
+}
+
+th.markdownTableHeadCenter, td.markdownTableBodyCenter {
+	text-align: center
+}
+
+.DocNodeRTL {
+  text-align: right;
+  direction: rtl;
+}
+
+.DocNodeLTR {
+  text-align: left;
+  direction: ltr;
+}
+
+table.DocNodeRTL {
+   width: auto;
+   margin-right: 0;
+   margin-left: auto;
+}
+
+table.DocNodeLTR {
+   width: auto;
+   margin-right: auto;
+   margin-left: 0;
+}
+
+tt, code, kbd, samp
+{
+  display: inline-block;
+  direction:ltr; 
+}
+/* @end */
+
+u {
+	text-decoration: underline;
+}
+
diff --git a/releases/1.15.0/cpp-client-api/doxygen.svg b/releases/1.15.0/cpp-client-api/doxygen.svg
new file mode 100644
index 0000000..d42dad5
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/doxygen.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 104 31" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+  <linearGradient id="a">
+   <stop stop-color="#5373B4" offset="0"/>
+   <stop stop-color="#7C95C6" offset="1"/>
+  </linearGradient>
+  <linearGradient id="d" x1="31.474" x2="31.474" y1="24.821" y2="26.773" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+  <linearGradient id="c" x1="31.474" x2="31.474" y1="24.821" y2="26.773" gradientTransform="matrix(.6816 0 0 1.0248 72.391 -.91809)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+  <linearGradient id="b" x1="56.295" x2="56.295" y1="24.622" y2="26.574" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+  <linearGradient id="e" x1="49.067" x2="48.956" y1="19.719" y2="9.5227" gradientTransform="matrix(.97968 0 0 1.0207 -.25579 -.25579)" gradientUnits="userSpaceOnUse">
+   <stop stop-color="#C0CCE3" offset="0"/>
+   <stop stop-color="#EEF1F7" offset="1"/>
+  </linearGradient>
+  <filter id="f" x="-.010676" y="-.045304" width="1.0214" height="1.0906" color-interpolation-filters="sRGB">
+   <feGaussianBlur stdDeviation="0.45293203"/>
+  </filter>
+ </defs>
+ <g>
+  <path transform="translate(-2.5759 -27.848)" d="m13.609 32.203v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23645 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88018-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35277 3.7988-1.0566 1.0471-0.70387 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.92299-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.4611 0.28066 1.7988 0.84375 0.33777 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5976v-8.3926c0-0.84464-0.0765-1.6106-0.22851-2.2969-0.13511-0.70387-0.37971-1.2925-0.73438-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.063 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07028-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06051 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3438h-0.05078l-2.9648-9.3438zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914 0.38844 0.24635 0.6991 0.57184 0.93555 0.97656 0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13253 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10134 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88814-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70105 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.4927-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89025 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74023 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" filter="url(#f)" opacity=".3" stroke="#969696" xlink:href="#path141"/>
+  <path d="m0.97202 24.161 43.605-0.0019 0.0508 3.3061-43.6 0.04174z" fill="url(#d)" stroke="#000" stroke-width=".5"/>
+  <path d="m10.283 3.5547v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23644 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88017-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35278 3.7988-1.0566 1.0471-0.70386 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.923-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.461 0.28066 1.7988 0.84375 0.33778 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5977v-8.3926c0-0.84464-0.0765-1.6106-0.22852-2.2969-0.13511-0.70387-0.3797-1.2925-0.73437-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.062 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07027-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06052 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3437h-0.05078l-2.9648-9.3437zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914s0.6991 0.57184 0.93555 0.97656c0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13254 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10133 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88813-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70106 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.49271-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89026 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74024 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" fill="url(#e)" stroke="#4665A2" stroke-width=".7"/>
+  <path d="m52.988 27.291c0.99602-1.0359 1.3944-1.8725 1.7928-3.1076l3.8247-0.03984c0.3113 1.6096 0.82413 2.5137 1.6335 3.1474z" fill="url(#b)" stroke="#000" stroke-width=".5"/>
+  <path d="m73.89 24.04 28.885-0.2011-0.12476 3.3879-31.033 0.16229c1.2621-1.0234 1.9665-2.2859 2.2724-3.3491z" fill="url(#c)" stroke="#000" stroke-width=".41788"/>
+ </g>
+</svg>
diff --git a/releases/1.15.0/cpp-client-api/dynsections.js b/releases/1.15.0/cpp-client-api/dynsections.js
new file mode 100644
index 0000000..3174bd7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/dynsections.js
@@ -0,0 +1,121 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+ */
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+   content.hide();
+   summary.show();
+   $(linkObj).addClass('closed').removeClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+   content.show();
+   summary.hide();
+   $(linkObj).removeClass('closed').addClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+  $('table.directory tr').
+       removeClass('even').filter(':visible:even').addClass('even');
+}
+
+function toggleLevel(level)
+{
+  $('table.directory tr').each(function() {
+    var l = this.id.split('_').length-1;
+    var i = $('#img'+this.id.substring(3));
+    var a = $('#arr'+this.id.substring(3));
+    if (l<level+1) {
+      i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
+      a.html('&#9660;');
+      $(this).show();
+    } else if (l==level+1) {
+      i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
+      a.html('&#9658;');
+      $(this).show();
+    } else {
+      $(this).hide();
+    }
+  });
+  updateStripes();
+}
+
+function toggleFolder(id)
+{
+  // the clicked row
+  var currentRow = $('#row_'+id);
+
+  // all rows after the clicked row
+  var rows = currentRow.nextAll("tr");
+
+  var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
+
+  // only match elements AFTER this one (can't hide elements before)
+  var childRows = rows.filter(function() { return this.id.match(re); });
+
+  // first row is visible we are HIDING
+  if (childRows.filter(':first').is(':visible')===true) {
+    // replace down arrow by right arrow for current row
+    var currentRowSpans = currentRow.find("span");
+    currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+    currentRowSpans.filter(".arrow").html('&#9658;');
+    rows.filter("[id^=row_"+id+"]").hide(); // hide all children
+  } else { // we are SHOWING
+    // replace right arrow by down arrow for current row
+    var currentRowSpans = currentRow.find("span");
+    currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
+    currentRowSpans.filter(".arrow").html('&#9660;');
+    // replace down arrows by right arrows for child rows
+    var childRowsSpans = childRows.find("span");
+    childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+    childRowsSpans.filter(".arrow").html('&#9658;');
+    childRows.show(); //show all children
+  }
+  updateStripes();
+}
+
+
+function toggleInherit(id)
+{
+  var rows = $('tr.inherit.'+id);
+  var img = $('tr.inherit_header.'+id+' img');
+  var src = $(img).attr('src');
+  if (rows.filter(':first').is(':visible')===true) {
+    rows.css('display','none');
+    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+  } else {
+    rows.css('display','table-row'); // using show() causes jump in firefox
+    $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+  }
+}
+/* @license-end */
diff --git a/releases/1.15.0/cpp-client-api/files.html b/releases/1.15.0/cpp-client-api/files.html
new file mode 100644
index 0000000..843d27d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/files.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: File List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">File List</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span id="img_0_0_" class="iconfopen" onclick="toggleFolder('0_0_')">&#160;</span><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html" target="_self">kudu</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_')">&#9660;</span><span id="img_0_0_0_" class="iconfopen" onclick="toggleFolder('0_0_0_')">&#160;</span><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html" target="_self">client</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="callbacks_8h_source.html"><span class="icondoc"></span></a><b>callbacks.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="client_8h_source.html"><span class="icondoc"></span></a><b>client.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_2_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="columnar__scan__batch_8h_source.html"><span class="icondoc"></span></a><b>columnar_scan_batch.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_3_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="hash_8h_source.html"><span class="icondoc"></span></a><b>hash.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_4_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="resource__metrics_8h_source.html"><span class="icondoc"></span></a><b>resource_metrics.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_5_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="row__result_8h_source.html"><span class="icondoc"></span></a><b>row_result.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_6_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="scan__batch_8h_source.html"><span class="icondoc"></span></a><b>scan_batch.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_7_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="scan__predicate_8h_source.html"><span class="icondoc"></span></a><b>scan_predicate.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_8_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="schema_8h_source.html"><span class="icondoc"></span></a><b>schema.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_9_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="shared__ptr_8h_source.html"><span class="icondoc"></span></a><a class="el" href="shared__ptr_8h.html" target="_self">shared_ptr.h</a></td><td class="desc">Smart pointer typedefs for externally-faced code </td></tr>
+<tr id="row_0_0_0_10_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="stubs_8h_source.html"><span class="icondoc"></span></a><b>stubs.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_11_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="value_8h_source.html"><span class="icondoc"></span></a><b>value.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_12_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="write__op_8h_source.html"><span class="icondoc"></span></a><b>write_op.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_1_" class="arrow" onclick="toggleFolder('0_0_1_')">&#9660;</span><span id="img_0_0_1_" class="iconfopen" onclick="toggleFolder('0_0_1_')">&#160;</span><a class="el" href="dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html" target="_self">common</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_1_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="partial__row_8h_source.html"><span class="icondoc"></span></a><b>partial_row.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_2_" class="arrow" onclick="toggleFolder('0_0_2_')">&#9660;</span><span id="img_0_0_2_" class="iconfopen" onclick="toggleFolder('0_0_2_')">&#160;</span><a class="el" href="dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html" target="_self">util</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_2_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="int128_8h_source.html"><span class="icondoc"></span></a><b>int128.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_2_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="kudu__export_8h_source.html"><span class="icondoc"></span></a><b>kudu_export.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_2_2_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="monotime_8h_source.html"><span class="icondoc"></span></a><b>monotime.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_2_3_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="slice_8h_source.html"><span class="icondoc"></span></a><b>slice.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_2_4_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="status_8h_source.html"><span class="icondoc"></span></a><a class="el" href="status_8h.html" target="_self">status.h</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/folderclosed.png b/releases/1.15.0/cpp-client-api/folderclosed.png
new file mode 100644
index 0000000..bb8ab35
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/folderclosed.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/folderopen.png b/releases/1.15.0/cpp-client-api/folderopen.png
new file mode 100644
index 0000000..d6c7f67
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/folderopen.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/functions.html b/releases/1.15.0/cpp-client-api/functions.html
new file mode 100644
index 0000000..50be710
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions.html
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_a"></a>- a -</h3><ul>
+<li>Aborted()
+: <a class="el" href="classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144">kudu::Status</a>
+</li>
+<li>add_hash_partitions()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">kudu::client::KuduTableCreator</a>
+</li>
+<li>add_master_server_addr()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c">kudu::client::KuduClientBuilder</a>
+</li>
+<li>add_range_partition()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a">kudu::client::KuduTableCreator</a>
+</li>
+<li>add_range_partition_split()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">kudu::client::KuduTableCreator</a>
+</li>
+<li>AddColumn()
+: <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">kudu::client::KuduSchemaBuilder</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0">kudu::client::KuduTableAlterer</a>
+</li>
+<li>AddConjunctPredicate()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>AddExclusiveUpperBound()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d">kudu::client::KuduScanner</a>
+</li>
+<li>AddExclusiveUpperBoundPartitionKeyRaw()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9">kudu::client::KuduScanner</a>
+</li>
+<li>AddExclusiveUpperBoundRaw()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe">kudu::client::KuduScanner</a>
+</li>
+<li>AddLowerBound()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>AddLowerBoundPartitionKeyRaw()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e">kudu::client::KuduScanner</a>
+</li>
+<li>AddLowerBoundRaw()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e">kudu::client::KuduScanner</a>
+</li>
+<li>AddRangePartition()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793">kudu::client::KuduTableAlterer</a>
+</li>
+<li>AddRangePartitionWithDimension()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006">kudu::client::KuduTableAlterer</a>
+</li>
+<li>AddUpperBound()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>AllColumnsSet()
+: <a class="el" href="classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d">KuduPartialRow</a>
+</li>
+<li>AlreadyPresent()
+: <a class="el" href="classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45">kudu::Status</a>
+</li>
+<li>Alter()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">kudu::client::KuduTableAlterer</a>
+</li>
+<li>AlterColumn()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742">kudu::client::KuduTableAlterer</a>
+</li>
+<li>AlterExtraConfig()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541">kudu::client::KuduTableAlterer</a>
+</li>
+<li>Apply()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">kudu::client::KuduSession</a>
+</li>
+<li>AUTO_FLUSH_BACKGROUND
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">kudu::client::KuduSession</a>
+</li>
+<li>AUTO_FLUSH_SYNC
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b">kudu::client::KuduSession</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_b.html b/releases/1.15.0/cpp-client-api/functions_b.html
new file mode 100644
index 0000000..4d1b19f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_b.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_b"></a>- b -</h3><ul>
+<li>begin()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21">kudu::client::KuduScanBatch</a>
+</li>
+<li>BlockSize()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">kudu::client::KuduColumnSpec</a>
+</li>
+<li>Build()
+: <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a">kudu::client::KuduBloomFilterBuilder</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">kudu::client::KuduClientBuilder</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba">kudu::client::KuduPartitionerBuilder</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb">kudu::client::KuduScanTokenBuilder</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15">kudu::client::KuduSchemaBuilder</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_c.html b/releases/1.15.0/cpp-client-api/functions_c.html
new file mode 100644
index 0000000..8788117
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_c.html
@@ -0,0 +1,179 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_c"></a>- c -</h3><ul>
+<li>cell()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af">kudu::client::KuduScanBatch</a>
+</li>
+<li>CerrLog()
+: <a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713">kudu::internal_logging::CerrLog</a>
+</li>
+<li>check_size()
+: <a class="el" href="classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e">kudu::Slice</a>
+</li>
+<li>clear()
+: <a class="el" href="classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5">kudu::Slice</a>
+</li>
+<li>clear_master_server_addrs()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1">kudu::client::KuduClientBuilder</a>
+</li>
+<li>client()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1">kudu::client::KuduSession</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf">kudu::client::KuduTable</a>
+</li>
+<li>CLIENT_PROPAGATED
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">kudu::client::KuduSession</a>
+</li>
+<li>Clone()
+: <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670">kudu::client::KuduPredicate</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569">kudu::client::KuduValue</a>
+</li>
+<li>CloneAndAppend()
+: <a class="el" href="classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7">kudu::Status</a>
+</li>
+<li>CloneAndPrepend()
+: <a class="el" href="classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de">kudu::Status</a>
+</li>
+<li>Close()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436">kudu::client::KuduSession</a>
+</li>
+<li>CLOSEST_REPLICA
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8">kudu::client::KuduClient</a>
+</li>
+<li>CodeAsString()
+: <a class="el" href="classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5">kudu::Status</a>
+</li>
+<li>COLUMNAR_LAYOUT
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10">kudu::client::KuduScanner</a>
+</li>
+<li>Comment()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">kudu::client::KuduColumnSpec</a>
+</li>
+<li>comment()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b">kudu::client::KuduTable</a>
+</li>
+<li>Commit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">kudu::client::KuduTransaction</a>
+</li>
+<li>COMMIT_WAIT
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9">kudu::client::KuduSession</a>
+</li>
+<li>compare()
+: <a class="el" href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">kudu::Slice</a>
+</li>
+<li>ComparisonOp
+: <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">kudu::client::KuduPredicate</a>
+</li>
+<li>Compression()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b">kudu::client::KuduColumnSpec</a>
+</li>
+<li>compression()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>CompressionType
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>ConfigurationError()
+: <a class="el" href="classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801">kudu::Status</a>
+</li>
+<li>connection_negotiation_timeout()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac">kudu::client::KuduClient</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f">kudu::client::KuduClientBuilder</a>
+</li>
+<li>CopyFrom()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">kudu::client::KuduColumnSchema</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c">kudu::client::KuduColumnTypeAttributes</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">kudu::client::KuduSchema</a>
+</li>
+<li>CopyString()
+: <a class="el" href="classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe">kudu::client::KuduValue</a>
+</li>
+<li>Corruption()
+: <a class="el" href="classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee">kudu::Status</a>
+</li>
+<li>CountBufferedOperations()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112">kudu::client::KuduSession</a>
+</li>
+<li>CountPendingErrors()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913">kudu::client::KuduSession</a>
+</li>
+<li>Create()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">kudu::client::KuduTableCreator</a>
+</li>
+<li>CreateSession()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">kudu::client::KuduTransaction</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_d.html b/releases/1.15.0/cpp-client-api/functions_d.html
new file mode 100644
index 0000000..2ecee48
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_d.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_d"></a>- d -</h3><ul>
+<li>Data
+: <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0">kudu::client::KuduPredicate</a>
+</li>
+<li>data()
+: <a class="el" href="classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d">kudu::Slice</a>
+</li>
+<li>DataType
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">kudu::client::KuduColumnSchema</a>
+</li>
+<li>DataTypeToString()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c">kudu::client::KuduColumnSchema</a>
+</li>
+<li>Default()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7">kudu::client::KuduColumnSpec</a>
+</li>
+<li>default_admin_operation_timeout()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838">kudu::client::KuduClient</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752">kudu::client::KuduClientBuilder</a>
+</li>
+<li>default_rpc_timeout()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49">kudu::client::KuduClient</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df">kudu::client::KuduClientBuilder</a>
+</li>
+<li>DeleteTable()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d">kudu::client::KuduClient</a>
+</li>
+<li>Deserialize()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">kudu::client::KuduTransaction</a>
+</li>
+<li>DeserializeIntoScanner()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867">kudu::client::KuduScanToken</a>
+</li>
+<li>dimension_label()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">kudu::client::KuduTableCreator</a>
+</li>
+<li>direct_data()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992">kudu::client::KuduScanBatch</a>
+</li>
+<li>DropColumn()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7">kudu::client::KuduTableAlterer</a>
+</li>
+<li>DropRangePartition()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7">kudu::client::KuduTableAlterer</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_e.html b/releases/1.15.0/cpp-client-api/functions_e.html
new file mode 100644
index 0000000..a9a8865
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_e.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_e"></a>- e -</h3><ul>
+<li>empty()
+: <a class="el" href="classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523">kudu::Slice</a>
+</li>
+<li>enable_keepalive()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">kudu::client::KuduTransaction::SerializationOptions</a>
+</li>
+<li>EncodeRowKey()
+: <a class="el" href="classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2">KuduPartialRow</a>
+</li>
+<li>Encoding()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97">kudu::client::KuduColumnSpec</a>
+</li>
+<li>encoding()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>EncodingType
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>end()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c">kudu::client::KuduScanBatch</a>
+</li>
+<li>EndOfFile()
+: <a class="el" href="classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b">kudu::Status</a>
+</li>
+<li>Equals()
+: <a class="el" href="classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc">kudu::MonoDelta</a>
+</li>
+<li>EXCLUSIVE_BOUND
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">kudu::client::KuduTableCreator</a>
+</li>
+<li>ExportAuthenticationCredentials()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">kudu::client::KuduClient</a>
+</li>
+<li>ExternalConsistencyMode
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">kudu::client::KuduSession</a>
+</li>
+<li>extra_configs()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec">kudu::client::KuduTable</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd">kudu::client::KuduTableCreator</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_enum.html b/releases/1.15.0/cpp-client-api/functions_enum.html
new file mode 100644
index 0000000..d84401a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_enum.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Enumerations</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>ComparisonOp
+: <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">kudu::client::KuduPredicate</a>
+</li>
+<li>CompressionType
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>DataType
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">kudu::client::KuduColumnSchema</a>
+</li>
+<li>EncodingType
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>ExternalConsistencyMode
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22">kudu::client::KuduSession</a>
+</li>
+<li>FlushMode
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">kudu::client::KuduSession</a>
+</li>
+<li>OrderMode
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">kudu::client::KuduScanner</a>
+</li>
+<li>RangePartitionBound
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">kudu::client::KuduTableCreator</a>
+</li>
+<li>ReadMode
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">kudu::client::KuduScanner</a>
+</li>
+<li>ReplicaSelection
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">kudu::client::KuduClient</a>
+</li>
+<li>Type
+: <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">kudu::client::KuduWriteOperation</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_eval.html b/releases/1.15.0/cpp-client-api/functions_eval.html
new file mode 100644
index 0000000..b84056a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_eval.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Enumerator</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>AUTO_FLUSH_BACKGROUND
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">kudu::client::KuduSession</a>
+</li>
+<li>AUTO_FLUSH_SYNC
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b">kudu::client::KuduSession</a>
+</li>
+<li>CLIENT_PROPAGATED
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c">kudu::client::KuduSession</a>
+</li>
+<li>CLOSEST_REPLICA
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8">kudu::client::KuduClient</a>
+</li>
+<li>COMMIT_WAIT
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9">kudu::client::KuduSession</a>
+</li>
+<li>EXCLUSIVE_BOUND
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">kudu::client::KuduTableCreator</a>
+</li>
+<li>FIRST_REPLICA
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f">kudu::client::KuduClient</a>
+</li>
+<li>GROUP_VARINT
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>INCLUSIVE_BOUND
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">kudu::client::KuduTableCreator</a>
+</li>
+<li>LEADER_ONLY
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">kudu::client::KuduClient</a>
+</li>
+<li>MANUAL_FLUSH
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a">kudu::client::KuduSession</a>
+</li>
+<li>ORDERED
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a">kudu::client::KuduScanner</a>
+</li>
+<li>READ_AT_SNAPSHOT
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2">kudu::client::KuduScanner</a>
+</li>
+<li>READ_LATEST
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8">kudu::client::KuduScanner</a>
+</li>
+<li>READ_YOUR_WRITES
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567">kudu::client::KuduScanner</a>
+</li>
+<li>TIMESTAMP
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505">kudu::client::KuduColumnSchema</a>
+</li>
+<li>UNORDERED
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3">kudu::client::KuduScanner</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_f.html b/releases/1.15.0/cpp-client-api/functions_f.html
new file mode 100644
index 0000000..2399fe8
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_f.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_f"></a>- f -</h3><ul>
+<li>failed_op()
+: <a class="el" href="classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea">kudu::client::KuduError</a>
+</li>
+<li>false_positive_probability()
+: <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7">kudu::client::KuduBloomFilterBuilder</a>
+</li>
+<li>FIRST_REPLICA
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f">kudu::client::KuduClient</a>
+</li>
+<li>Flush()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">kudu::client::KuduSession</a>
+</li>
+<li>FlushAsync()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731">kudu::client::KuduSession</a>
+</li>
+<li>FlushMode
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19">kudu::client::KuduSession</a>
+</li>
+<li>FromBool()
+: <a class="el" href="classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10">kudu::client::KuduValue</a>
+</li>
+<li>FromDouble()
+: <a class="el" href="classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5">kudu::client::KuduValue</a>
+</li>
+<li>FromFloat()
+: <a class="el" href="classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a">kudu::client::KuduValue</a>
+</li>
+<li>FromInt()
+: <a class="el" href="classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302">kudu::client::KuduValue</a>
+</li>
+<li>FromMicroseconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d">kudu::MonoDelta</a>
+</li>
+<li>FromMilliseconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a">kudu::MonoDelta</a>
+</li>
+<li>FromNanoseconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819">kudu::MonoDelta</a>
+</li>
+<li>FromSeconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1">kudu::MonoDelta</a>
+</li>
+<li>FunctionType
+: <a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d">kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910">kudu::client::KuduStatusFunctionCallback&lt; T &gt;</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func.html b/releases/1.15.0/cpp-client-api/functions_func.html
new file mode 100644
index 0000000..7738c5f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_a"></a>- a -</h3><ul>
+<li>Aborted()
+: <a class="el" href="classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144">kudu::Status</a>
+</li>
+<li>add_hash_partitions()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">kudu::client::KuduTableCreator</a>
+</li>
+<li>add_master_server_addr()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c">kudu::client::KuduClientBuilder</a>
+</li>
+<li>add_range_partition()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a">kudu::client::KuduTableCreator</a>
+</li>
+<li>add_range_partition_split()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">kudu::client::KuduTableCreator</a>
+</li>
+<li>AddColumn()
+: <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">kudu::client::KuduSchemaBuilder</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0">kudu::client::KuduTableAlterer</a>
+</li>
+<li>AddConjunctPredicate()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>AddExclusiveUpperBound()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d">kudu::client::KuduScanner</a>
+</li>
+<li>AddExclusiveUpperBoundPartitionKeyRaw()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9">kudu::client::KuduScanner</a>
+</li>
+<li>AddExclusiveUpperBoundRaw()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe">kudu::client::KuduScanner</a>
+</li>
+<li>AddLowerBound()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>AddLowerBoundPartitionKeyRaw()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e">kudu::client::KuduScanner</a>
+</li>
+<li>AddLowerBoundRaw()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e">kudu::client::KuduScanner</a>
+</li>
+<li>AddRangePartition()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793">kudu::client::KuduTableAlterer</a>
+</li>
+<li>AddRangePartitionWithDimension()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006">kudu::client::KuduTableAlterer</a>
+</li>
+<li>AddUpperBound()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>AllColumnsSet()
+: <a class="el" href="classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d">KuduPartialRow</a>
+</li>
+<li>AlreadyPresent()
+: <a class="el" href="classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45">kudu::Status</a>
+</li>
+<li>Alter()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c">kudu::client::KuduTableAlterer</a>
+</li>
+<li>AlterColumn()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742">kudu::client::KuduTableAlterer</a>
+</li>
+<li>AlterExtraConfig()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541">kudu::client::KuduTableAlterer</a>
+</li>
+<li>Apply()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">kudu::client::KuduSession</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_b.html b/releases/1.15.0/cpp-client-api/functions_func_b.html
new file mode 100644
index 0000000..d171ce7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_b.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_b"></a>- b -</h3><ul>
+<li>begin()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21">kudu::client::KuduScanBatch</a>
+</li>
+<li>BlockSize()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">kudu::client::KuduColumnSpec</a>
+</li>
+<li>Build()
+: <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a">kudu::client::KuduBloomFilterBuilder</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77">kudu::client::KuduClientBuilder</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba">kudu::client::KuduPartitionerBuilder</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb">kudu::client::KuduScanTokenBuilder</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15">kudu::client::KuduSchemaBuilder</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_c.html b/releases/1.15.0/cpp-client-api/functions_func_c.html
new file mode 100644
index 0000000..b149a18
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_c.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_c"></a>- c -</h3><ul>
+<li>cell()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af">kudu::client::KuduScanBatch</a>
+</li>
+<li>CerrLog()
+: <a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713">kudu::internal_logging::CerrLog</a>
+</li>
+<li>check_size()
+: <a class="el" href="classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e">kudu::Slice</a>
+</li>
+<li>clear()
+: <a class="el" href="classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5">kudu::Slice</a>
+</li>
+<li>clear_master_server_addrs()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1">kudu::client::KuduClientBuilder</a>
+</li>
+<li>client()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1">kudu::client::KuduSession</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf">kudu::client::KuduTable</a>
+</li>
+<li>Clone()
+: <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670">kudu::client::KuduPredicate</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569">kudu::client::KuduValue</a>
+</li>
+<li>CloneAndAppend()
+: <a class="el" href="classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7">kudu::Status</a>
+</li>
+<li>CloneAndPrepend()
+: <a class="el" href="classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de">kudu::Status</a>
+</li>
+<li>Close()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436">kudu::client::KuduSession</a>
+</li>
+<li>CodeAsString()
+: <a class="el" href="classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5">kudu::Status</a>
+</li>
+<li>Comment()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">kudu::client::KuduColumnSpec</a>
+</li>
+<li>comment()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b">kudu::client::KuduTable</a>
+</li>
+<li>Commit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">kudu::client::KuduTransaction</a>
+</li>
+<li>compare()
+: <a class="el" href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">kudu::Slice</a>
+</li>
+<li>Compression()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b">kudu::client::KuduColumnSpec</a>
+</li>
+<li>compression()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>ConfigurationError()
+: <a class="el" href="classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801">kudu::Status</a>
+</li>
+<li>connection_negotiation_timeout()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac">kudu::client::KuduClient</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f">kudu::client::KuduClientBuilder</a>
+</li>
+<li>CopyFrom()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">kudu::client::KuduColumnSchema</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c">kudu::client::KuduColumnTypeAttributes</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">kudu::client::KuduSchema</a>
+</li>
+<li>CopyString()
+: <a class="el" href="classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe">kudu::client::KuduValue</a>
+</li>
+<li>Corruption()
+: <a class="el" href="classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee">kudu::Status</a>
+</li>
+<li>CountBufferedOperations()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112">kudu::client::KuduSession</a>
+</li>
+<li>CountPendingErrors()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913">kudu::client::KuduSession</a>
+</li>
+<li>Create()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">kudu::client::KuduTableCreator</a>
+</li>
+<li>CreateSession()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">kudu::client::KuduTransaction</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_d.html b/releases/1.15.0/cpp-client-api/functions_func_d.html
new file mode 100644
index 0000000..52dc393
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_d.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_d"></a>- d -</h3><ul>
+<li>data()
+: <a class="el" href="classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d">kudu::Slice</a>
+</li>
+<li>DataTypeToString()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c">kudu::client::KuduColumnSchema</a>
+</li>
+<li>Default()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7">kudu::client::KuduColumnSpec</a>
+</li>
+<li>default_admin_operation_timeout()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838">kudu::client::KuduClient</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752">kudu::client::KuduClientBuilder</a>
+</li>
+<li>default_rpc_timeout()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49">kudu::client::KuduClient</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df">kudu::client::KuduClientBuilder</a>
+</li>
+<li>DeleteTable()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d">kudu::client::KuduClient</a>
+</li>
+<li>Deserialize()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">kudu::client::KuduTransaction</a>
+</li>
+<li>DeserializeIntoScanner()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867">kudu::client::KuduScanToken</a>
+</li>
+<li>dimension_label()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">kudu::client::KuduTableCreator</a>
+</li>
+<li>direct_data()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992">kudu::client::KuduScanBatch</a>
+</li>
+<li>DropColumn()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7">kudu::client::KuduTableAlterer</a>
+</li>
+<li>DropRangePartition()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7">kudu::client::KuduTableAlterer</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_e.html b/releases/1.15.0/cpp-client-api/functions_func_e.html
new file mode 100644
index 0000000..e88dfed
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_e.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_e"></a>- e -</h3><ul>
+<li>empty()
+: <a class="el" href="classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523">kudu::Slice</a>
+</li>
+<li>enable_keepalive()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">kudu::client::KuduTransaction::SerializationOptions</a>
+</li>
+<li>EncodeRowKey()
+: <a class="el" href="classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2">KuduPartialRow</a>
+</li>
+<li>Encoding()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97">kudu::client::KuduColumnSpec</a>
+</li>
+<li>encoding()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>end()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c">kudu::client::KuduScanBatch</a>
+</li>
+<li>EndOfFile()
+: <a class="el" href="classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b">kudu::Status</a>
+</li>
+<li>Equals()
+: <a class="el" href="classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc">kudu::MonoDelta</a>
+</li>
+<li>ExportAuthenticationCredentials()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0">kudu::client::KuduClient</a>
+</li>
+<li>extra_configs()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec">kudu::client::KuduTable</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd">kudu::client::KuduTableCreator</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_f.html b/releases/1.15.0/cpp-client-api/functions_func_f.html
new file mode 100644
index 0000000..569f8af
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_f.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_f"></a>- f -</h3><ul>
+<li>failed_op()
+: <a class="el" href="classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea">kudu::client::KuduError</a>
+</li>
+<li>false_positive_probability()
+: <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7">kudu::client::KuduBloomFilterBuilder</a>
+</li>
+<li>Flush()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84">kudu::client::KuduSession</a>
+</li>
+<li>FlushAsync()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731">kudu::client::KuduSession</a>
+</li>
+<li>FromBool()
+: <a class="el" href="classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10">kudu::client::KuduValue</a>
+</li>
+<li>FromDouble()
+: <a class="el" href="classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5">kudu::client::KuduValue</a>
+</li>
+<li>FromFloat()
+: <a class="el" href="classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a">kudu::client::KuduValue</a>
+</li>
+<li>FromInt()
+: <a class="el" href="classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302">kudu::client::KuduValue</a>
+</li>
+<li>FromMicroseconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d">kudu::MonoDelta</a>
+</li>
+<li>FromMilliseconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a">kudu::MonoDelta</a>
+</li>
+<li>FromNanoseconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819">kudu::MonoDelta</a>
+</li>
+<li>FromSeconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1">kudu::MonoDelta</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_g.html b/releases/1.15.0/cpp-client-api/functions_func_g.html
new file mode 100644
index 0000000..3e3d2ca
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_g.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_g"></a>- g -</h3><ul>
+<li>Get()
+: <a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936">kudu::client::ResourceMetrics</a>
+</li>
+<li>GetBinary()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e">KuduPartialRow</a>
+</li>
+<li>GetBool()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2">KuduPartialRow</a>
+</li>
+<li>GetCurrentServer()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10">kudu::client::KuduScanner</a>
+</li>
+<li>GetDate()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97">KuduPartialRow</a>
+</li>
+<li>GetDouble()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd">KuduPartialRow</a>
+</li>
+<li>GetFixedLengthColumn()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300">kudu::client::KuduColumnarScanBatch</a>
+</li>
+<li>GetFloat()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc">KuduPartialRow</a>
+</li>
+<li>GetInt16()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93">KuduPartialRow</a>
+</li>
+<li>GetInt32()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc">KuduPartialRow</a>
+</li>
+<li>GetInt64()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc">KuduPartialRow</a>
+</li>
+<li>GetInt8()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4">KuduPartialRow</a>
+</li>
+<li>GetKuduTable()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a">kudu::client::KuduScanner</a>
+</li>
+<li>GetLatestObservedTimestamp()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">kudu::client::KuduClient</a>
+</li>
+<li>GetMetric()
+: <a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc">kudu::client::ResourceMetrics</a>
+</li>
+<li>GetNonNullBitmapForColumn()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312">kudu::client::KuduColumnarScanBatch</a>
+</li>
+<li>GetPendingErrors()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7">kudu::client::KuduSession</a>
+</li>
+<li>GetProjectionSchema()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82">kudu::client::KuduScanner</a>
+</li>
+<li>GetResourceMetrics()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337">kudu::client::KuduScanner</a>
+</li>
+<li>GetString()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee">KuduPartialRow</a>
+</li>
+<li>GetTableSchema()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65">kudu::client::KuduClient</a>
+</li>
+<li>GetUnixTimeMicros()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8">KuduPartialRow</a>
+</li>
+<li>GetVarchar()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d">KuduPartialRow</a>
+</li>
+<li>GetVariableLengthColumn()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1">kudu::client::KuduColumnarScanBatch</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_h.html b/releases/1.15.0/cpp-client-api/functions_func_h.html
new file mode 100644
index 0000000..515774b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_h.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_h"></a>- h -</h3><ul>
+<li>hash_algorithm()
+: <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57">kudu::client::KuduBloomFilterBuilder</a>
+</li>
+<li>hash_seed()
+: <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356">kudu::client::KuduBloomFilterBuilder</a>
+</li>
+<li>HasMoreRows()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94">kudu::client::KuduScanner</a>
+</li>
+<li>HasPendingOperations()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578">kudu::client::KuduSession</a>
+</li>
+<li>hostname()
+: <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1">kudu::client::KuduTabletServer</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_i.html b/releases/1.15.0/cpp-client-api/functions_func_i.html
new file mode 100644
index 0000000..8fa6305
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_i.html
@@ -0,0 +1,202 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_i"></a>- i -</h3><ul>
+<li>id()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20">kudu::client::KuduTable</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837">kudu::client::KuduTablet</a>
+</li>
+<li>IllegalState()
+: <a class="el" href="classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b">kudu::Status</a>
+</li>
+<li>import_authentication_credentials()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">kudu::client::KuduClientBuilder</a>
+</li>
+<li>IncludeTableMetadata()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>IncludeTabletMetadata()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>Incomplete()
+: <a class="el" href="classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b">kudu::Status</a>
+</li>
+<li>Increment()
+: <a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a">kudu::client::ResourceMetrics</a>
+</li>
+<li>indirect_data()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989">kudu::client::KuduScanBatch</a>
+</li>
+<li>Initialized()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a">kudu::MonoDelta</a>
+</li>
+<li>Insert()
+: <a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678">kudu::client::KuduBloomFilter</a>
+</li>
+<li>IntoKuduScanner()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292">kudu::client::KuduScanToken</a>
+</li>
+<li>InvalidArgument()
+: <a class="el" href="classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4">kudu::Status</a>
+</li>
+<li>IOError()
+: <a class="el" href="classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862">kudu::Status</a>
+</li>
+<li>is_leader()
+: <a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5">kudu::client::KuduReplica</a>
+</li>
+<li>IsAborted()
+: <a class="el" href="classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874">kudu::Status</a>
+</li>
+<li>IsAlreadyPresent()
+: <a class="el" href="classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282">kudu::Status</a>
+</li>
+<li>IsAlterTableInProgress()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809">kudu::client::KuduClient</a>
+</li>
+<li>IsColumnSet()
+: <a class="el" href="classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8">KuduPartialRow</a>
+</li>
+<li>IsCommitComplete()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">kudu::client::KuduTransaction</a>
+</li>
+<li>IsConfigurationError()
+: <a class="el" href="classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef">kudu::Status</a>
+</li>
+<li>IsCorruption()
+: <a class="el" href="classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4">kudu::Status</a>
+</li>
+<li>IsCreateTableInProgress()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63">kudu::client::KuduClient</a>
+</li>
+<li>IsDeleted()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3">kudu::client::KuduScanBatch</a>
+</li>
+<li>IsDiskFailure()
+: <a class="el" href="classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c">kudu::Status</a>
+</li>
+<li>IsEndOfFile()
+: <a class="el" href="classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6">kudu::Status</a>
+</li>
+<li>IsIllegalState()
+: <a class="el" href="classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24">kudu::Status</a>
+</li>
+<li>IsIncomplete()
+: <a class="el" href="classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7">kudu::Status</a>
+</li>
+<li>IsInvalidArgument()
+: <a class="el" href="classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b">kudu::Status</a>
+</li>
+<li>IsIOError()
+: <a class="el" href="classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250">kudu::Status</a>
+</li>
+<li>IsKeySet()
+: <a class="el" href="classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1">KuduPartialRow</a>
+</li>
+<li>IsMultiMaster()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433">kudu::client::KuduClient</a>
+</li>
+<li>IsNetworkError()
+: <a class="el" href="classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431">kudu::Status</a>
+</li>
+<li>IsNotAuthorized()
+: <a class="el" href="classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171">kudu::Status</a>
+</li>
+<li>IsNotFound()
+: <a class="el" href="classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd">kudu::Status</a>
+</li>
+<li>IsNotSupported()
+: <a class="el" href="classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea">kudu::Status</a>
+</li>
+<li>IsNull()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186">KuduPartialRow</a>
+</li>
+<li>IsRemoteError()
+: <a class="el" href="classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6">kudu::Status</a>
+</li>
+<li>IsRuntimeError()
+: <a class="el" href="classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8">kudu::Status</a>
+</li>
+<li>IsServiceUnavailable()
+: <a class="el" href="classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668">kudu::Status</a>
+</li>
+<li>IsTimedOut()
+: <a class="el" href="classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03">kudu::Status</a>
+</li>
+<li>IsUninitialized()
+: <a class="el" href="classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b">kudu::Status</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_k.html b/releases/1.15.0/cpp-client-api/functions_func_k.html
new file mode 100644
index 0000000..5b2d1c5
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_k.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_k"></a>- k -</h3><ul>
+<li>KeepAlive()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21">kudu::client::KuduScanner</a>
+</li>
+<li>keepalive()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f">kudu::client::KuduTransaction::SerializationOptions</a>
+</li>
+<li>KuduBloomFilterBuilder()
+: <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4">kudu::client::KuduBloomFilterBuilder</a>
+</li>
+<li>KuduColumnSchema()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872">kudu::client::KuduColumnSchema</a>
+</li>
+<li>KuduColumnStorageAttributes()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>KuduColumnTypeAttributes()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae">kudu::client::KuduColumnTypeAttributes</a>
+</li>
+<li>KuduLoggingFunctionCallback()
+: <a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c">kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</a>
+</li>
+<li>KuduLoggingMemberCallback()
+: <a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8">kudu::client::KuduLoggingMemberCallback&lt; T &gt;</a>
+</li>
+<li>KuduPartialRow()
+: <a class="el" href="classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4">KuduPartialRow</a>
+</li>
+<li>KuduPartitionerBuilder()
+: <a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba">kudu::client::KuduPartitionerBuilder</a>
+</li>
+<li>KuduScanner()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180">kudu::client::KuduScanner</a>
+</li>
+<li>KuduScanTokenBuilder()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>KuduSchema()
+: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">kudu::client::KuduSchema</a>
+</li>
+<li>KuduStatusFunctionCallback()
+: <a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b">kudu::client::KuduStatusFunctionCallback&lt; T &gt;</a>
+</li>
+<li>KuduStatusMemberCallback()
+: <a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa">kudu::client::KuduStatusMemberCallback&lt; T &gt;</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_l.html b/releases/1.15.0/cpp-client-api/functions_func_l.html
new file mode 100644
index 0000000..2ca92f5
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_l.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_l"></a>- l -</h3><ul>
+<li>Length()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd">kudu::client::KuduColumnSpec</a>
+</li>
+<li>length()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04">kudu::client::KuduColumnTypeAttributes</a>
+</li>
+<li>LessThan()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79">kudu::MonoDelta</a>
+</li>
+<li>ListTables()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d">kudu::client::KuduClient</a>
+</li>
+<li>ListTabletServers()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9">kudu::client::KuduClient</a>
+</li>
+<li>live_row_count()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">kudu::client::KuduTableStatistics</a>
+</li>
+<li>live_row_count_limit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd">kudu::client::KuduTableStatistics</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_m.html b/releases/1.15.0/cpp-client-api/functions_func_m.html
new file mode 100644
index 0000000..18dd3cc
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_m.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_m"></a>- m -</h3><ul>
+<li>master_server_addrs()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">kudu::client::KuduClientBuilder</a>
+</li>
+<li>Max()
+: <a class="el" href="classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9">kudu::MonoTime</a>
+</li>
+<li>memory_footprint_excluding_this()
+: <a class="el" href="classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9">kudu::Status</a>
+</li>
+<li>memory_footprint_including_this()
+: <a class="el" href="classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c">kudu::Status</a>
+</li>
+<li>message()
+: <a class="el" href="classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796">kudu::Status</a>
+</li>
+<li>Min()
+: <a class="el" href="classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99">kudu::MonoTime</a>
+</li>
+<li>MonoDelta()
+: <a class="el" href="classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f">kudu::MonoDelta</a>
+</li>
+<li>MoreThan()
+: <a class="el" href="classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02">kudu::MonoDelta</a>
+</li>
+<li>mutable_data()
+: <a class="el" href="classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164">kudu::Slice</a>
+</li>
+<li>mutable_row()
+: <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">kudu::client::KuduWriteOperation</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_n.html b/releases/1.15.0/cpp-client-api/functions_func_n.html
new file mode 100644
index 0000000..e3bd088
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_n.html
@@ -0,0 +1,169 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_n"></a>- n -</h3><ul>
+<li>name()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">kudu::client::KuduTable</a>
+</li>
+<li>NanosToTimeSpec()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22">kudu::MonoDelta</a>
+</li>
+<li>NetworkError()
+: <a class="el" href="classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af">kudu::Status</a>
+</li>
+<li>NewComparisonPredicate()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">kudu::client::KuduTable</a>
+</li>
+<li>NewDelete()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a">kudu::client::KuduTable</a>
+</li>
+<li>NewDeleteIgnore()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094">kudu::client::KuduTable</a>
+</li>
+<li>NewInBloomFilterPredicate()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">kudu::client::KuduTable</a>
+</li>
+<li>NewInListPredicate()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9">kudu::client::KuduTable</a>
+</li>
+<li>NewInsert()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">kudu::client::KuduTable</a>
+</li>
+<li>NewInsertIgnore()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103">kudu::client::KuduTable</a>
+</li>
+<li>NewIsNotNullPredicate()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523">kudu::client::KuduTable</a>
+</li>
+<li>NewIsNullPredicate()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">kudu::client::KuduTable</a>
+</li>
+<li>NewSession()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">kudu::client::KuduClient</a>
+</li>
+<li>NewTableAlterer()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">kudu::client::KuduClient</a>
+</li>
+<li>NewTableCreator()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153">kudu::client::KuduClient</a>
+</li>
+<li>NewTransaction()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345">kudu::client::KuduClient</a>
+</li>
+<li>NewUpdate()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8">kudu::client::KuduTable</a>
+</li>
+<li>NewUpdateIgnore()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3">kudu::client::KuduTable</a>
+</li>
+<li>NewUpsert()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc">kudu::client::KuduTable</a>
+</li>
+<li>NextBatch()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">kudu::client::KuduScanner</a>
+</li>
+<li>NotAuthorized()
+: <a class="el" href="classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba">kudu::Status</a>
+</li>
+<li>NotFound()
+: <a class="el" href="classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3">kudu::Status</a>
+</li>
+<li>NotNull()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca">kudu::client::KuduColumnSpec</a>
+</li>
+<li>NotSupported()
+: <a class="el" href="classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c">kudu::Status</a>
+</li>
+<li>Now()
+: <a class="el" href="classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783">kudu::MonoTime</a>
+</li>
+<li>Nullable()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">kudu::client::KuduColumnSpec</a>
+</li>
+<li>num_reactors()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">kudu::client::KuduClientBuilder</a>
+</li>
+<li>num_replicas()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed">kudu::client::KuduTable</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139">kudu::client::KuduTableCreator</a>
+</li>
+<li>NumPartitions()
+: <a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a">kudu::client::KuduPartitioner</a>
+</li>
+<li>NumRows()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7">kudu::client::KuduColumnarScanBatch</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c">kudu::client::KuduScanBatch</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_o.html b/releases/1.15.0/cpp-client-api/functions_func_o.html
new file mode 100644
index 0000000..a030ea7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_o.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_o"></a>- o -</h3><ul>
+<li>OK()
+: <a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">kudu::Status</a>
+</li>
+<li>ok()
+: <a class="el" href="classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af">kudu::Status</a>
+</li>
+<li>on_disk_size()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">kudu::client::KuduTableStatistics</a>
+</li>
+<li>on_disk_size_limit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">kudu::client::KuduTableStatistics</a>
+</li>
+<li>Open()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">kudu::client::KuduScanner</a>
+</li>
+<li>OpenTable()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">kudu::client::KuduClient</a>
+</li>
+<li>operator!=()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0">kudu::client::KuduScanBatch</a>
+</li>
+<li>operator()()
+: <a class="el" href="structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5">kudu::Slice::Comparator</a>
+</li>
+<li>operator*()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9">kudu::client::KuduScanBatch</a>
+</li>
+<li>operator++()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c">kudu::client::KuduScanBatch</a>
+</li>
+<li>operator+=()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299">kudu::MonoDelta</a>
+</li>
+<li>operator-=()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb">kudu::MonoDelta</a>
+</li>
+<li>operator-&gt;()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf">kudu::client::KuduScanBatch</a>
+</li>
+<li>operator&lt;&lt;()
+: <a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724">kudu::internal_logging::CerrLog</a>
+, <a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a">kudu::internal_logging::NullLog</a>
+</li>
+<li>operator=()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e">kudu::client::KuduColumnSchema</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7">kudu::client::KuduColumnTypeAttributes</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">kudu::client::KuduSchema</a>
+, <a class="el" href="classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88">kudu::Status</a>
+, <a class="el" href="classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f">KuduPartialRow</a>
+</li>
+<li>operator==()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63">kudu::client::KuduScanBatch</a>
+</li>
+<li>operator[]()
+: <a class="el" href="classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff">kudu::Slice</a>
+</li>
+<li>owner()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">kudu::client::KuduTable</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_p.html b/releases/1.15.0/cpp-client-api/functions_func_p.html
new file mode 100644
index 0000000..c5c4f82
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_p.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_p"></a>- p -</h3><ul>
+<li>partition_schema()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2">kudu::client::KuduTable</a>
+</li>
+<li>PartitionRow()
+: <a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369">kudu::client::KuduPartitioner</a>
+</li>
+<li>port()
+: <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f">kudu::client::KuduTabletServer</a>
+</li>
+<li>posix_code()
+: <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">kudu::Status</a>
+</li>
+<li>Precision()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb">kudu::client::KuduColumnSpec</a>
+</li>
+<li>precision()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1">kudu::client::KuduColumnTypeAttributes</a>
+</li>
+<li>PrimaryKey()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">kudu::client::KuduColumnSpec</a>
+</li>
+<li>projection_schema()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324">kudu::client::KuduScanBatch</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_r.html b/releases/1.15.0/cpp-client-api/functions_func_r.html
new file mode 100644
index 0000000..95fae56
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_r.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_r"></a>- r -</h3><ul>
+<li>release_failed_op()
+: <a class="el" href="classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a">kudu::client::KuduError</a>
+</li>
+<li>relocate()
+: <a class="el" href="classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806">kudu::Slice</a>
+</li>
+<li>RemoteError()
+: <a class="el" href="classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f">kudu::Status</a>
+</li>
+<li>remove_prefix()
+: <a class="el" href="classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842">kudu::Slice</a>
+</li>
+<li>RemoveDefault()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82">kudu::client::KuduColumnSpec</a>
+</li>
+<li>RenameTo()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4">kudu::client::KuduColumnSpec</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324">kudu::client::KuduTableAlterer</a>
+</li>
+<li>replicas()
+: <a class="el" href="classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19">kudu::client::KuduTablet</a>
+</li>
+<li>Reset()
+: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">kudu::client::KuduSchema</a>
+</li>
+<li>Rollback()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">kudu::client::KuduTransaction</a>
+</li>
+<li>Row()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320">kudu::client::KuduScanBatch</a>
+</li>
+<li>row()
+: <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">kudu::client::KuduWriteOperation</a>
+</li>
+<li>RowPtr()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">kudu::client::KuduScanBatch</a>
+</li>
+<li>Run()
+: <a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c">kudu::client::KuduLoggingCallback</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d">kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9">kudu::client::KuduLoggingMemberCallback&lt; T &gt;</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07">kudu::client::KuduStatusCallback</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a">kudu::client::KuduStatusFunctionCallback&lt; T &gt;</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232">kudu::client::KuduStatusMemberCallback&lt; T &gt;</a>
+</li>
+<li>RuntimeError()
+: <a class="el" href="classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692">kudu::Status</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_s.html b/releases/1.15.0/cpp-client-api/functions_func_s.html
new file mode 100644
index 0000000..a3515f6
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_s.html
@@ -0,0 +1,286 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_s"></a>- s -</h3><ul>
+<li>sasl_protocol_name()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">kudu::client::KuduClientBuilder</a>
+</li>
+<li>Scale()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">kudu::client::KuduColumnSpec</a>
+</li>
+<li>scale()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567">kudu::client::KuduColumnTypeAttributes</a>
+</li>
+<li>schema()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c">kudu::client::KuduTable</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">kudu::client::KuduTableCreator</a>
+, <a class="el" href="classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8">KuduPartialRow</a>
+</li>
+<li>Serialize()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008">kudu::client::KuduScanToken</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">kudu::client::KuduTransaction</a>
+</li>
+<li>ServiceUnavailable()
+: <a class="el" href="classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568">kudu::Status</a>
+</li>
+<li>set_comment()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f">kudu::client::KuduTableCreator</a>
+</li>
+<li>set_owner()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">kudu::client::KuduTableCreator</a>
+</li>
+<li>set_range_partition_columns()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3">kudu::client::KuduTableCreator</a>
+</li>
+<li>SetBatchSizeBytes()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetBinary()
+: <a class="el" href="classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3">KuduPartialRow</a>
+</li>
+<li>SetBinaryCopy()
+: <a class="el" href="classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78">KuduPartialRow</a>
+</li>
+<li>SetBinaryNoCopy()
+: <a class="el" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">KuduPartialRow</a>
+</li>
+<li>SetBool()
+: <a class="el" href="classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d">KuduPartialRow</a>
+</li>
+<li>SetBuildTimeout()
+: <a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14">kudu::client::KuduPartitionerBuilder</a>
+</li>
+<li>SetCacheBlocks()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetComment()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6">kudu::client::KuduTableAlterer</a>
+</li>
+<li>SetDate()
+: <a class="el" href="classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a">KuduPartialRow</a>
+</li>
+<li>SetDouble()
+: <a class="el" href="classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20">KuduPartialRow</a>
+</li>
+<li>SetErrorBufferSpace()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5">kudu::client::KuduSession</a>
+</li>
+<li>SetExternalConsistencyMode()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca">kudu::client::KuduSession</a>
+</li>
+<li>SetFaultTolerant()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetFloat()
+: <a class="el" href="classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b">KuduPartialRow</a>
+</li>
+<li>SetFlushMode()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f">kudu::client::KuduSession</a>
+</li>
+<li>SetInt16()
+: <a class="el" href="classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810">KuduPartialRow</a>
+</li>
+<li>SetInt32()
+: <a class="el" href="classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887">KuduPartialRow</a>
+</li>
+<li>SetInt64()
+: <a class="el" href="classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4">KuduPartialRow</a>
+</li>
+<li>SetInt8()
+: <a class="el" href="classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f">KuduPartialRow</a>
+</li>
+<li>SetLatestObservedTimestamp()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">kudu::client::KuduClient</a>
+</li>
+<li>SetLimit()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac">kudu::client::KuduScanner</a>
+</li>
+<li>SetMutationBufferFlushInterval()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941">kudu::client::KuduSession</a>
+</li>
+<li>SetMutationBufferFlushWatermark()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf">kudu::client::KuduSession</a>
+</li>
+<li>SetMutationBufferMaxNum()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4">kudu::client::KuduSession</a>
+</li>
+<li>SetMutationBufferSpace()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf">kudu::client::KuduSession</a>
+</li>
+<li>SetNull()
+: <a class="el" href="classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5">KuduPartialRow</a>
+</li>
+<li>SetOrderMode()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc">kudu::client::KuduScanner</a>
+</li>
+<li>SetOwner()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8">kudu::client::KuduTableAlterer</a>
+</li>
+<li>SetPrimaryKey()
+: <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">kudu::client::KuduSchemaBuilder</a>
+</li>
+<li>SetProjectedColumnIndexes()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetProjectedColumnNames()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetProjectedColumns()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad">kudu::client::KuduScanner</a>
+</li>
+<li>SetReadMode()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetRowFormatFlags()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11">kudu::client::KuduScanner</a>
+</li>
+<li>SetSelection()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetSnapshotMicros()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetSnapshotRaw()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetString()
+: <a class="el" href="classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab">KuduPartialRow</a>
+</li>
+<li>SetStringCopy()
+: <a class="el" href="classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199">KuduPartialRow</a>
+</li>
+<li>SetStringNoCopy()
+: <a class="el" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">KuduPartialRow</a>
+</li>
+<li>SetTableDiskSizeLimit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27">kudu::client::KuduTableAlterer</a>
+</li>
+<li>SetTableRowCountLimit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe">kudu::client::KuduTableAlterer</a>
+</li>
+<li>SetTimeoutMillis()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445">kudu::client::KuduScanTokenBuilder</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79">kudu::client::KuduSession</a>
+</li>
+<li>SetUnixTimeMicros()
+: <a class="el" href="classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a">KuduPartialRow</a>
+</li>
+<li>SetVarchar()
+: <a class="el" href="classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c">KuduPartialRow</a>
+</li>
+<li>SetVarcharNoCopyUnsafe()
+: <a class="el" href="classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714">KuduPartialRow</a>
+</li>
+<li>size()
+: <a class="el" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">kudu::Slice</a>
+</li>
+<li>Slice()
+: <a class="el" href="classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5">kudu::Slice</a>
+</li>
+<li>split_rows()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">kudu::client::KuduTableCreator</a>
+</li>
+<li>StartCommit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce">kudu::client::KuduTransaction</a>
+</li>
+<li>starts_with()
+: <a class="el" href="classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d">kudu::Slice</a>
+</li>
+<li>status()
+: <a class="el" href="classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7">kudu::client::KuduError</a>
+</li>
+<li>Status()
+: <a class="el" href="classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0">kudu::Status</a>
+</li>
+<li>StringToCompressionType()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>StringToDataType()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8">kudu::client::KuduColumnSchema</a>
+</li>
+<li>StringToEncodingType()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_t.html b/releases/1.15.0/cpp-client-api/functions_func_t.html
new file mode 100644
index 0000000..2aa4d74
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_t.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_t"></a>- t -</h3><ul>
+<li>table_name()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">kudu::client::KuduTableCreator</a>
+</li>
+<li>TableExists()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818">kudu::client::KuduClient</a>
+</li>
+<li>tablet()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96">kudu::client::KuduScanToken</a>
+</li>
+<li>TimedOut()
+: <a class="el" href="classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe">kudu::Status</a>
+</li>
+<li>timeout()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">kudu::client::KuduTableAlterer</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">kudu::client::KuduTableCreator</a>
+</li>
+<li>ToDebugString()
+: <a class="el" href="classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7">kudu::Slice</a>
+</li>
+<li>ToEncodedRowKeyOrDie()
+: <a class="el" href="classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469">KuduPartialRow</a>
+</li>
+<li>ToMicroseconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491">kudu::MonoDelta</a>
+</li>
+<li>ToMilliseconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591">kudu::MonoDelta</a>
+</li>
+<li>ToNanoseconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c">kudu::MonoDelta</a>
+</li>
+<li>ToSeconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c">kudu::MonoDelta</a>
+</li>
+<li>ToString()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11">kudu::client::KuduColumnStorageAttributes</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0">kudu::client::KuduDelete</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763">kudu::client::KuduDeleteIgnore</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240">kudu::client::KuduInsert</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83">kudu::client::KuduInsertIgnore</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">kudu::client::KuduTableStatistics</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718">kudu::client::KuduUpdate</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261">kudu::client::KuduUpdateIgnore</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8">kudu::client::KuduUpsert</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">kudu::client::KuduWriteOperation</a>
+, <a class="el" href="classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c">kudu::MonoDelta</a>
+, <a class="el" href="classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03">kudu::Slice</a>
+, <a class="el" href="classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99">kudu::Status</a>
+, <a class="el" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">KuduPartialRow</a>
+</li>
+<li>ToTimeSpec()
+: <a class="el" href="classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862">kudu::MonoDelta</a>
+</li>
+<li>ToTimeVal()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e">kudu::MonoDelta</a>
+</li>
+<li>truncate()
+: <a class="el" href="classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44">kudu::Slice</a>
+</li>
+<li>ts()
+: <a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627">kudu::client::KuduReplica</a>
+</li>
+<li>Type()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">kudu::client::KuduColumnSpec</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_u.html b/releases/1.15.0/cpp-client-api/functions_func_u.html
new file mode 100644
index 0000000..ac54e13
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_u.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_u"></a>- u -</h3><ul>
+<li>Uninitialized()
+: <a class="el" href="classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15">kudu::Status</a>
+</li>
+<li>Unset()
+: <a class="el" href="classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23">KuduPartialRow</a>
+</li>
+<li>uuid()
+: <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc">kudu::client::KuduTabletServer</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_func_w.html b/releases/1.15.0/cpp-client-api/functions_func_w.html
new file mode 100644
index 0000000..6a449ba
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_func_w.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_w"></a>- w -</h3><ul>
+<li>wait()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">kudu::client::KuduTableAlterer</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">kudu::client::KuduTableCreator</a>
+</li>
+<li>was_possibly_successful()
+: <a class="el" href="classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4">kudu::client::KuduError</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_g.html b/releases/1.15.0/cpp-client-api/functions_g.html
new file mode 100644
index 0000000..c95a471
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_g.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_g"></a>- g -</h3><ul>
+<li>Get()
+: <a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936">kudu::client::ResourceMetrics</a>
+</li>
+<li>GetBinary()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e">KuduPartialRow</a>
+</li>
+<li>GetBool()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2">KuduPartialRow</a>
+</li>
+<li>GetCurrentServer()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10">kudu::client::KuduScanner</a>
+</li>
+<li>GetDate()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97">KuduPartialRow</a>
+</li>
+<li>GetDouble()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd">KuduPartialRow</a>
+</li>
+<li>GetFixedLengthColumn()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300">kudu::client::KuduColumnarScanBatch</a>
+</li>
+<li>GetFloat()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc">KuduPartialRow</a>
+</li>
+<li>GetInt16()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93">KuduPartialRow</a>
+</li>
+<li>GetInt32()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc">KuduPartialRow</a>
+</li>
+<li>GetInt64()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc">KuduPartialRow</a>
+</li>
+<li>GetInt8()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4">KuduPartialRow</a>
+</li>
+<li>GetKuduTable()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a">kudu::client::KuduScanner</a>
+</li>
+<li>GetLatestObservedTimestamp()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9">kudu::client::KuduClient</a>
+</li>
+<li>GetMetric()
+: <a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc">kudu::client::ResourceMetrics</a>
+</li>
+<li>GetNonNullBitmapForColumn()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312">kudu::client::KuduColumnarScanBatch</a>
+</li>
+<li>GetPendingErrors()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7">kudu::client::KuduSession</a>
+</li>
+<li>GetProjectionSchema()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82">kudu::client::KuduScanner</a>
+</li>
+<li>GetResourceMetrics()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337">kudu::client::KuduScanner</a>
+</li>
+<li>GetString()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee">KuduPartialRow</a>
+</li>
+<li>GetTableSchema()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65">kudu::client::KuduClient</a>
+</li>
+<li>GetUnixTimeMicros()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8">KuduPartialRow</a>
+</li>
+<li>GetVarchar()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d">KuduPartialRow</a>
+</li>
+<li>GetVariableLengthColumn()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1">kudu::client::KuduColumnarScanBatch</a>
+</li>
+<li>GROUP_VARINT
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_h.html b/releases/1.15.0/cpp-client-api/functions_h.html
new file mode 100644
index 0000000..152f044
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_h.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_h"></a>- h -</h3><ul>
+<li>hash_algorithm()
+: <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57">kudu::client::KuduBloomFilterBuilder</a>
+</li>
+<li>hash_seed()
+: <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356">kudu::client::KuduBloomFilterBuilder</a>
+</li>
+<li>HasMoreRows()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94">kudu::client::KuduScanner</a>
+</li>
+<li>HasPendingOperations()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578">kudu::client::KuduSession</a>
+</li>
+<li>hostname()
+: <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1">kudu::client::KuduTabletServer</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_i.html b/releases/1.15.0/cpp-client-api/functions_i.html
new file mode 100644
index 0000000..219f9e7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_i.html
@@ -0,0 +1,205 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_i"></a>- i -</h3><ul>
+<li>id()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20">kudu::client::KuduTable</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837">kudu::client::KuduTablet</a>
+</li>
+<li>IllegalState()
+: <a class="el" href="classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b">kudu::Status</a>
+</li>
+<li>import_authentication_credentials()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e">kudu::client::KuduClientBuilder</a>
+</li>
+<li>IncludeTableMetadata()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>IncludeTabletMetadata()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>INCLUSIVE_BOUND
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">kudu::client::KuduTableCreator</a>
+</li>
+<li>Incomplete()
+: <a class="el" href="classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b">kudu::Status</a>
+</li>
+<li>Increment()
+: <a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a">kudu::client::ResourceMetrics</a>
+</li>
+<li>indirect_data()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989">kudu::client::KuduScanBatch</a>
+</li>
+<li>Initialized()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a">kudu::MonoDelta</a>
+</li>
+<li>Insert()
+: <a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678">kudu::client::KuduBloomFilter</a>
+</li>
+<li>IntoKuduScanner()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292">kudu::client::KuduScanToken</a>
+</li>
+<li>InvalidArgument()
+: <a class="el" href="classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4">kudu::Status</a>
+</li>
+<li>IOError()
+: <a class="el" href="classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862">kudu::Status</a>
+</li>
+<li>is_leader()
+: <a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5">kudu::client::KuduReplica</a>
+</li>
+<li>IsAborted()
+: <a class="el" href="classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874">kudu::Status</a>
+</li>
+<li>IsAlreadyPresent()
+: <a class="el" href="classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282">kudu::Status</a>
+</li>
+<li>IsAlterTableInProgress()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809">kudu::client::KuduClient</a>
+</li>
+<li>IsColumnSet()
+: <a class="el" href="classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8">KuduPartialRow</a>
+</li>
+<li>IsCommitComplete()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">kudu::client::KuduTransaction</a>
+</li>
+<li>IsConfigurationError()
+: <a class="el" href="classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef">kudu::Status</a>
+</li>
+<li>IsCorruption()
+: <a class="el" href="classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4">kudu::Status</a>
+</li>
+<li>IsCreateTableInProgress()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63">kudu::client::KuduClient</a>
+</li>
+<li>IsDeleted()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3">kudu::client::KuduScanBatch</a>
+</li>
+<li>IsDiskFailure()
+: <a class="el" href="classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c">kudu::Status</a>
+</li>
+<li>IsEndOfFile()
+: <a class="el" href="classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6">kudu::Status</a>
+</li>
+<li>IsIllegalState()
+: <a class="el" href="classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24">kudu::Status</a>
+</li>
+<li>IsIncomplete()
+: <a class="el" href="classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7">kudu::Status</a>
+</li>
+<li>IsInvalidArgument()
+: <a class="el" href="classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b">kudu::Status</a>
+</li>
+<li>IsIOError()
+: <a class="el" href="classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250">kudu::Status</a>
+</li>
+<li>IsKeySet()
+: <a class="el" href="classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1">KuduPartialRow</a>
+</li>
+<li>IsMultiMaster()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433">kudu::client::KuduClient</a>
+</li>
+<li>IsNetworkError()
+: <a class="el" href="classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431">kudu::Status</a>
+</li>
+<li>IsNotAuthorized()
+: <a class="el" href="classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171">kudu::Status</a>
+</li>
+<li>IsNotFound()
+: <a class="el" href="classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd">kudu::Status</a>
+</li>
+<li>IsNotSupported()
+: <a class="el" href="classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea">kudu::Status</a>
+</li>
+<li>IsNull()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186">KuduPartialRow</a>
+</li>
+<li>IsRemoteError()
+: <a class="el" href="classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6">kudu::Status</a>
+</li>
+<li>IsRuntimeError()
+: <a class="el" href="classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8">kudu::Status</a>
+</li>
+<li>IsServiceUnavailable()
+: <a class="el" href="classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668">kudu::Status</a>
+</li>
+<li>IsTimedOut()
+: <a class="el" href="classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03">kudu::Status</a>
+</li>
+<li>IsUninitialized()
+: <a class="el" href="classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b">kudu::Status</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_k.html b/releases/1.15.0/cpp-client-api/functions_k.html
new file mode 100644
index 0000000..d76f472
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_k.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_k"></a>- k -</h3><ul>
+<li>KeepAlive()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21">kudu::client::KuduScanner</a>
+</li>
+<li>keepalive()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f">kudu::client::KuduTransaction::SerializationOptions</a>
+</li>
+<li>kMicrosecondsPerSecond
+: <a class="el" href="classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f">kudu::MonoTime</a>
+</li>
+<li>kNanosecondsPerMicrosecond
+: <a class="el" href="classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583">kudu::MonoTime</a>
+</li>
+<li>kNanosecondsPerMillisecond
+: <a class="el" href="classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7">kudu::MonoTime</a>
+</li>
+<li>kNanosecondsPerSecond
+: <a class="el" href="classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18">kudu::MonoTime</a>
+</li>
+<li>kNoTimestamp
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">kudu::client::KuduClient</a>
+</li>
+<li>KuduBloomFilterBuilder()
+: <a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4">kudu::client::KuduBloomFilterBuilder</a>
+</li>
+<li>KuduColumnSchema()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872">kudu::client::KuduColumnSchema</a>
+</li>
+<li>KuduColumnStorageAttributes()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>KuduColumnTypeAttributes()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4">kudu::client::KuduColumnTypeAttributes</a>
+</li>
+<li>KuduLoggingFunctionCallback()
+: <a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c">kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</a>
+</li>
+<li>KuduLoggingMemberCallback()
+: <a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8">kudu::client::KuduLoggingMemberCallback&lt; T &gt;</a>
+</li>
+<li>KuduPartialRow()
+: <a class="el" href="classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4">KuduPartialRow</a>
+</li>
+<li>KuduPartitionerBuilder()
+: <a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba">kudu::client::KuduPartitionerBuilder</a>
+</li>
+<li>KuduScanner()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180">kudu::client::KuduScanner</a>
+</li>
+<li>KuduScanTokenBuilder()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>KuduSchema()
+: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">kudu::client::KuduSchema</a>
+</li>
+<li>KuduStatusFunctionCallback()
+: <a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b">kudu::client::KuduStatusFunctionCallback&lt; T &gt;</a>
+</li>
+<li>KuduStatusMemberCallback()
+: <a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa">kudu::client::KuduStatusMemberCallback&lt; T &gt;</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_l.html b/releases/1.15.0/cpp-client-api/functions_l.html
new file mode 100644
index 0000000..275591d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_l.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_l"></a>- l -</h3><ul>
+<li>LEADER_ONLY
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239">kudu::client::KuduClient</a>
+</li>
+<li>Length()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd">kudu::client::KuduColumnSpec</a>
+</li>
+<li>length()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04">kudu::client::KuduColumnTypeAttributes</a>
+</li>
+<li>LessThan()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79">kudu::MonoDelta</a>
+</li>
+<li>ListTables()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d">kudu::client::KuduClient</a>
+</li>
+<li>ListTabletServers()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9">kudu::client::KuduClient</a>
+</li>
+<li>live_row_count()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1">kudu::client::KuduTableStatistics</a>
+</li>
+<li>live_row_count_limit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd">kudu::client::KuduTableStatistics</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_m.html b/releases/1.15.0/cpp-client-api/functions_m.html
new file mode 100644
index 0000000..3f76a09
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_m.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_m"></a>- m -</h3><ul>
+<li>MANUAL_FLUSH
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a">kudu::client::KuduSession</a>
+</li>
+<li>master_server_addrs()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114">kudu::client::KuduClientBuilder</a>
+</li>
+<li>Max()
+: <a class="el" href="classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9">kudu::MonoTime</a>
+</li>
+<li>MemberType
+: <a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d">kudu::client::KuduLoggingMemberCallback&lt; T &gt;</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a">kudu::client::KuduStatusMemberCallback&lt; T &gt;</a>
+</li>
+<li>memory_footprint_excluding_this()
+: <a class="el" href="classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9">kudu::Status</a>
+</li>
+<li>memory_footprint_including_this()
+: <a class="el" href="classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c">kudu::Status</a>
+</li>
+<li>message()
+: <a class="el" href="classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796">kudu::Status</a>
+</li>
+<li>Min()
+: <a class="el" href="classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99">kudu::MonoTime</a>
+</li>
+<li>MonoDelta()
+: <a class="el" href="classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f">kudu::MonoDelta</a>
+</li>
+<li>MoreThan()
+: <a class="el" href="classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02">kudu::MonoDelta</a>
+</li>
+<li>mutable_data()
+: <a class="el" href="classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164">kudu::Slice</a>
+</li>
+<li>mutable_row()
+: <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">kudu::client::KuduWriteOperation</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_n.html b/releases/1.15.0/cpp-client-api/functions_n.html
new file mode 100644
index 0000000..4063e82
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_n.html
@@ -0,0 +1,172 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_n"></a>- n -</h3><ul>
+<li>name()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244">kudu::client::KuduTable</a>
+</li>
+<li>NanosToTimeSpec()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22">kudu::MonoDelta</a>
+</li>
+<li>NetworkError()
+: <a class="el" href="classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af">kudu::Status</a>
+</li>
+<li>NewComparisonPredicate()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea">kudu::client::KuduTable</a>
+</li>
+<li>NewDelete()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a">kudu::client::KuduTable</a>
+</li>
+<li>NewDeleteIgnore()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094">kudu::client::KuduTable</a>
+</li>
+<li>NewInBloomFilterPredicate()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94">kudu::client::KuduTable</a>
+</li>
+<li>NewInListPredicate()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9">kudu::client::KuduTable</a>
+</li>
+<li>NewInsert()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6">kudu::client::KuduTable</a>
+</li>
+<li>NewInsertIgnore()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103">kudu::client::KuduTable</a>
+</li>
+<li>NewIsNotNullPredicate()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523">kudu::client::KuduTable</a>
+</li>
+<li>NewIsNullPredicate()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466">kudu::client::KuduTable</a>
+</li>
+<li>NewSession()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925">kudu::client::KuduClient</a>
+</li>
+<li>NewTableAlterer()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea">kudu::client::KuduClient</a>
+</li>
+<li>NewTableCreator()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153">kudu::client::KuduClient</a>
+</li>
+<li>NewTransaction()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345">kudu::client::KuduClient</a>
+</li>
+<li>NewUpdate()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8">kudu::client::KuduTable</a>
+</li>
+<li>NewUpdateIgnore()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3">kudu::client::KuduTable</a>
+</li>
+<li>NewUpsert()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc">kudu::client::KuduTable</a>
+</li>
+<li>NextBatch()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067">kudu::client::KuduScanner</a>
+</li>
+<li>NO_FLAGS
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85">kudu::client::KuduScanner</a>
+</li>
+<li>NotAuthorized()
+: <a class="el" href="classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba">kudu::Status</a>
+</li>
+<li>NotFound()
+: <a class="el" href="classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3">kudu::Status</a>
+</li>
+<li>NotNull()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca">kudu::client::KuduColumnSpec</a>
+</li>
+<li>NotSupported()
+: <a class="el" href="classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c">kudu::Status</a>
+</li>
+<li>Now()
+: <a class="el" href="classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783">kudu::MonoTime</a>
+</li>
+<li>Nullable()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">kudu::client::KuduColumnSpec</a>
+</li>
+<li>num_reactors()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb">kudu::client::KuduClientBuilder</a>
+</li>
+<li>num_replicas()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed">kudu::client::KuduTable</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139">kudu::client::KuduTableCreator</a>
+</li>
+<li>NumPartitions()
+: <a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a">kudu::client::KuduPartitioner</a>
+</li>
+<li>NumRows()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7">kudu::client::KuduColumnarScanBatch</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c">kudu::client::KuduScanBatch</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_o.html b/releases/1.15.0/cpp-client-api/functions_o.html
new file mode 100644
index 0000000..af76043
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_o.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_o"></a>- o -</h3><ul>
+<li>OK()
+: <a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">kudu::Status</a>
+</li>
+<li>ok()
+: <a class="el" href="classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af">kudu::Status</a>
+</li>
+<li>on_disk_size()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484">kudu::client::KuduTableStatistics</a>
+</li>
+<li>on_disk_size_limit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a">kudu::client::KuduTableStatistics</a>
+</li>
+<li>Open()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1">kudu::client::KuduScanner</a>
+</li>
+<li>OpenTable()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">kudu::client::KuduClient</a>
+</li>
+<li>operator!=()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0">kudu::client::KuduScanBatch</a>
+</li>
+<li>operator()()
+: <a class="el" href="structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5">kudu::Slice::Comparator</a>
+</li>
+<li>operator*()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9">kudu::client::KuduScanBatch</a>
+</li>
+<li>operator+
+: <a class="el" href="classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08">kudu::MonoDelta</a>
+</li>
+<li>operator++()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c">kudu::client::KuduScanBatch</a>
+</li>
+<li>operator+=()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299">kudu::MonoDelta</a>
+</li>
+<li>operator-
+: <a class="el" href="classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b">kudu::MonoDelta</a>
+</li>
+<li>operator-=()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb">kudu::MonoDelta</a>
+</li>
+<li>operator-&gt;()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf">kudu::client::KuduScanBatch</a>
+</li>
+<li>operator&lt;&lt;()
+: <a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724">kudu::internal_logging::CerrLog</a>
+, <a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a">kudu::internal_logging::NullLog</a>
+</li>
+<li>operator=()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e">kudu::client::KuduColumnSchema</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7">kudu::client::KuduColumnTypeAttributes</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">kudu::client::KuduSchema</a>
+, <a class="el" href="classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88">kudu::Status</a>
+, <a class="el" href="classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f">KuduPartialRow</a>
+</li>
+<li>operator==()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c">kudu::Slice</a>
+</li>
+<li>operator[]()
+: <a class="el" href="classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff">kudu::Slice</a>
+</li>
+<li>ORDERED
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a">kudu::client::KuduScanner</a>
+</li>
+<li>OrderMode
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9">kudu::client::KuduScanner</a>
+</li>
+<li>owner()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d">kudu::client::KuduTable</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_p.html b/releases/1.15.0/cpp-client-api/functions_p.html
new file mode 100644
index 0000000..c1f124b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_p.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_p"></a>- p -</h3><ul>
+<li>PAD_UNIXTIME_MICROS_TO_16_BYTES
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44">kudu::client::KuduScanner</a>
+</li>
+<li>partition_schema()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2">kudu::client::KuduTable</a>
+</li>
+<li>PartitionRow()
+: <a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369">kudu::client::KuduPartitioner</a>
+</li>
+<li>port()
+: <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f">kudu::client::KuduTabletServer</a>
+</li>
+<li>posix_code()
+: <a class="el" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">kudu::Status</a>
+</li>
+<li>Precision()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb">kudu::client::KuduColumnSpec</a>
+</li>
+<li>precision()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1">kudu::client::KuduColumnTypeAttributes</a>
+</li>
+<li>PrimaryKey()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">kudu::client::KuduColumnSpec</a>
+</li>
+<li>projection_schema()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324">kudu::client::KuduScanBatch</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_r.html b/releases/1.15.0/cpp-client-api/functions_r.html
new file mode 100644
index 0000000..4a81e05
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_r.html
@@ -0,0 +1,143 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_r"></a>- r -</h3><ul>
+<li>RangePartitionBound
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">kudu::client::KuduTableCreator</a>
+</li>
+<li>READ_AT_SNAPSHOT
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2">kudu::client::KuduScanner</a>
+</li>
+<li>READ_LATEST
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8">kudu::client::KuduScanner</a>
+</li>
+<li>READ_YOUR_WRITES
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567">kudu::client::KuduScanner</a>
+</li>
+<li>ReadMode
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348">kudu::client::KuduScanner</a>
+</li>
+<li>release_failed_op()
+: <a class="el" href="classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a">kudu::client::KuduError</a>
+</li>
+<li>relocate()
+: <a class="el" href="classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806">kudu::Slice</a>
+</li>
+<li>RemoteError()
+: <a class="el" href="classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f">kudu::Status</a>
+</li>
+<li>remove_prefix()
+: <a class="el" href="classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842">kudu::Slice</a>
+</li>
+<li>RemoveDefault()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82">kudu::client::KuduColumnSpec</a>
+</li>
+<li>RenameTo()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4">kudu::client::KuduColumnSpec</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324">kudu::client::KuduTableAlterer</a>
+</li>
+<li>replicas()
+: <a class="el" href="classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19">kudu::client::KuduTablet</a>
+</li>
+<li>ReplicaSelection
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a">kudu::client::KuduClient</a>
+</li>
+<li>Reset()
+: <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">kudu::client::KuduSchema</a>
+</li>
+<li>Rollback()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">kudu::client::KuduTransaction</a>
+</li>
+<li>Row()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320">kudu::client::KuduScanBatch</a>
+</li>
+<li>row()
+: <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">kudu::client::KuduWriteOperation</a>
+</li>
+<li>RowPtr()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">kudu::client::KuduScanBatch</a>
+</li>
+<li>Run()
+: <a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c">kudu::client::KuduLoggingCallback</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d">kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9">kudu::client::KuduLoggingMemberCallback&lt; T &gt;</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07">kudu::client::KuduStatusCallback</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a">kudu::client::KuduStatusFunctionCallback&lt; T &gt;</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232">kudu::client::KuduStatusMemberCallback&lt; T &gt;</a>
+</li>
+<li>RuntimeError()
+: <a class="el" href="classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692">kudu::Status</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_rela.html b/releases/1.15.0/cpp-client-api/functions_rela.html
new file mode 100644
index 0000000..a56f169
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_rela.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Related Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>operator+
+: <a class="el" href="classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08">kudu::MonoDelta</a>
+</li>
+<li>operator-
+: <a class="el" href="classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b">kudu::MonoDelta</a>
+</li>
+<li>operator==
+: <a class="el" href="classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c">kudu::Slice</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_s.html b/releases/1.15.0/cpp-client-api/functions_s.html
new file mode 100644
index 0000000..5cd4bf7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_s.html
@@ -0,0 +1,286 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_s"></a>- s -</h3><ul>
+<li>sasl_protocol_name()
+: <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de">kudu::client::KuduClientBuilder</a>
+</li>
+<li>Scale()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">kudu::client::KuduColumnSpec</a>
+</li>
+<li>scale()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567">kudu::client::KuduColumnTypeAttributes</a>
+</li>
+<li>schema()
+: <a class="el" href="classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c">kudu::client::KuduTable</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">kudu::client::KuduTableCreator</a>
+, <a class="el" href="classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8">KuduPartialRow</a>
+</li>
+<li>Serialize()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008">kudu::client::KuduScanToken</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">kudu::client::KuduTransaction</a>
+</li>
+<li>ServiceUnavailable()
+: <a class="el" href="classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568">kudu::Status</a>
+</li>
+<li>set_comment()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f">kudu::client::KuduTableCreator</a>
+</li>
+<li>set_owner()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">kudu::client::KuduTableCreator</a>
+</li>
+<li>set_range_partition_columns()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3">kudu::client::KuduTableCreator</a>
+</li>
+<li>SetBatchSizeBytes()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetBinary()
+: <a class="el" href="classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3">KuduPartialRow</a>
+</li>
+<li>SetBinaryCopy()
+: <a class="el" href="classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78">KuduPartialRow</a>
+</li>
+<li>SetBinaryNoCopy()
+: <a class="el" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">KuduPartialRow</a>
+</li>
+<li>SetBool()
+: <a class="el" href="classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d">KuduPartialRow</a>
+</li>
+<li>SetBuildTimeout()
+: <a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14">kudu::client::KuduPartitionerBuilder</a>
+</li>
+<li>SetCacheBlocks()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetComment()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6">kudu::client::KuduTableAlterer</a>
+</li>
+<li>SetDate()
+: <a class="el" href="classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a">KuduPartialRow</a>
+</li>
+<li>SetDouble()
+: <a class="el" href="classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20">KuduPartialRow</a>
+</li>
+<li>SetErrorBufferSpace()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5">kudu::client::KuduSession</a>
+</li>
+<li>SetExternalConsistencyMode()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca">kudu::client::KuduSession</a>
+</li>
+<li>SetFaultTolerant()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetFloat()
+: <a class="el" href="classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b">KuduPartialRow</a>
+</li>
+<li>SetFlushMode()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f">kudu::client::KuduSession</a>
+</li>
+<li>SetInt16()
+: <a class="el" href="classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810">KuduPartialRow</a>
+</li>
+<li>SetInt32()
+: <a class="el" href="classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887">KuduPartialRow</a>
+</li>
+<li>SetInt64()
+: <a class="el" href="classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4">KuduPartialRow</a>
+</li>
+<li>SetInt8()
+: <a class="el" href="classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f">KuduPartialRow</a>
+</li>
+<li>SetLatestObservedTimestamp()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd">kudu::client::KuduClient</a>
+</li>
+<li>SetLimit()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac">kudu::client::KuduScanner</a>
+</li>
+<li>SetMutationBufferFlushInterval()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941">kudu::client::KuduSession</a>
+</li>
+<li>SetMutationBufferFlushWatermark()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf">kudu::client::KuduSession</a>
+</li>
+<li>SetMutationBufferMaxNum()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4">kudu::client::KuduSession</a>
+</li>
+<li>SetMutationBufferSpace()
+: <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf">kudu::client::KuduSession</a>
+</li>
+<li>SetNull()
+: <a class="el" href="classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5">KuduPartialRow</a>
+</li>
+<li>SetOrderMode()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc">kudu::client::KuduScanner</a>
+</li>
+<li>SetOwner()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8">kudu::client::KuduTableAlterer</a>
+</li>
+<li>SetPrimaryKey()
+: <a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">kudu::client::KuduSchemaBuilder</a>
+</li>
+<li>SetProjectedColumnIndexes()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetProjectedColumnNames()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetProjectedColumns()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad">kudu::client::KuduScanner</a>
+</li>
+<li>SetReadMode()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetRowFormatFlags()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11">kudu::client::KuduScanner</a>
+</li>
+<li>SetSelection()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetSnapshotMicros()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetSnapshotRaw()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7">kudu::client::KuduScanTokenBuilder</a>
+</li>
+<li>SetString()
+: <a class="el" href="classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab">KuduPartialRow</a>
+</li>
+<li>SetStringCopy()
+: <a class="el" href="classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199">KuduPartialRow</a>
+</li>
+<li>SetStringNoCopy()
+: <a class="el" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">KuduPartialRow</a>
+</li>
+<li>SetTableDiskSizeLimit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27">kudu::client::KuduTableAlterer</a>
+</li>
+<li>SetTableRowCountLimit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe">kudu::client::KuduTableAlterer</a>
+</li>
+<li>SetTimeoutMillis()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445">kudu::client::KuduScanTokenBuilder</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79">kudu::client::KuduSession</a>
+</li>
+<li>SetUnixTimeMicros()
+: <a class="el" href="classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a">KuduPartialRow</a>
+</li>
+<li>SetVarchar()
+: <a class="el" href="classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c">KuduPartialRow</a>
+</li>
+<li>SetVarcharNoCopyUnsafe()
+: <a class="el" href="classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714">KuduPartialRow</a>
+</li>
+<li>size()
+: <a class="el" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">kudu::Slice</a>
+</li>
+<li>Slice()
+: <a class="el" href="classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5">kudu::Slice</a>
+</li>
+<li>split_rows()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">kudu::client::KuduTableCreator</a>
+</li>
+<li>StartCommit()
+: <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce">kudu::client::KuduTransaction</a>
+</li>
+<li>starts_with()
+: <a class="el" href="classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d">kudu::Slice</a>
+</li>
+<li>status()
+: <a class="el" href="classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7">kudu::client::KuduError</a>
+</li>
+<li>Status()
+: <a class="el" href="classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0">kudu::Status</a>
+</li>
+<li>StringToCompressionType()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+<li>StringToDataType()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8">kudu::client::KuduColumnSchema</a>
+</li>
+<li>StringToEncodingType()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db">kudu::client::KuduColumnStorageAttributes</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_t.html b/releases/1.15.0/cpp-client-api/functions_t.html
new file mode 100644
index 0000000..cb91abe
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_t.html
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_t"></a>- t -</h3><ul>
+<li>table_name()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">kudu::client::KuduTableCreator</a>
+</li>
+<li>TableExists()
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818">kudu::client::KuduClient</a>
+</li>
+<li>tablet()
+: <a class="el" href="classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96">kudu::client::KuduScanToken</a>
+</li>
+<li>TimedOut()
+: <a class="el" href="classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe">kudu::Status</a>
+</li>
+<li>timeout()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1">kudu::client::KuduTableAlterer</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">kudu::client::KuduTableCreator</a>
+</li>
+<li>TIMESTAMP
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505">kudu::client::KuduColumnSchema</a>
+</li>
+<li>ToDebugString()
+: <a class="el" href="classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7">kudu::Slice</a>
+</li>
+<li>ToEncodedRowKeyOrDie()
+: <a class="el" href="classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469">KuduPartialRow</a>
+</li>
+<li>ToMicroseconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491">kudu::MonoDelta</a>
+</li>
+<li>ToMilliseconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591">kudu::MonoDelta</a>
+</li>
+<li>ToNanoseconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c">kudu::MonoDelta</a>
+</li>
+<li>ToSeconds()
+: <a class="el" href="classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c">kudu::MonoDelta</a>
+</li>
+<li>ToString()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11">kudu::client::KuduColumnStorageAttributes</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0">kudu::client::KuduDelete</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763">kudu::client::KuduDeleteIgnore</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240">kudu::client::KuduInsert</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83">kudu::client::KuduInsertIgnore</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3">kudu::client::KuduScanBatch</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae">kudu::client::KuduScanner</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff">kudu::client::KuduTableStatistics</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718">kudu::client::KuduUpdate</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261">kudu::client::KuduUpdateIgnore</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8">kudu::client::KuduUpsert</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">kudu::client::KuduWriteOperation</a>
+, <a class="el" href="classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c">kudu::MonoDelta</a>
+, <a class="el" href="classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03">kudu::Slice</a>
+, <a class="el" href="classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99">kudu::Status</a>
+, <a class="el" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">KuduPartialRow</a>
+</li>
+<li>ToTimeSpec()
+: <a class="el" href="classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862">kudu::MonoDelta</a>
+</li>
+<li>ToTimeVal()
+: <a class="el" href="classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e">kudu::MonoDelta</a>
+</li>
+<li>truncate()
+: <a class="el" href="classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44">kudu::Slice</a>
+</li>
+<li>ts()
+: <a class="el" href="classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627">kudu::client::KuduReplica</a>
+</li>
+<li>Type()
+: <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">kudu::client::KuduColumnSpec</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">kudu::client::KuduWriteOperation</a>
+</li>
+<li>type
+: <a class="el" href="structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6">kudu::SliceMap&lt; T &gt;</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_type.html b/releases/1.15.0/cpp-client-api/functions_type.html
new file mode 100644
index 0000000..43b0e92
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_type.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Typedefs</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>FunctionType
+: <a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d">kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910">kudu::client::KuduStatusFunctionCallback&lt; T &gt;</a>
+</li>
+<li>MemberType
+: <a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d">kudu::client::KuduLoggingMemberCallback&lt; T &gt;</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a">kudu::client::KuduStatusMemberCallback&lt; T &gt;</a>
+</li>
+<li>type
+: <a class="el" href="structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6">kudu::SliceMap&lt; T &gt;</a>
+</li>
+<li>value_type
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467">kudu::client::KuduScanBatch</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_u.html b/releases/1.15.0/cpp-client-api/functions_u.html
new file mode 100644
index 0000000..7ebf8d0
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_u.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_u"></a>- u -</h3><ul>
+<li>Uninitialized()
+: <a class="el" href="classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15">kudu::Status</a>
+</li>
+<li>UNORDERED
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3">kudu::client::KuduScanner</a>
+</li>
+<li>Unset()
+: <a class="el" href="classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23">KuduPartialRow</a>
+</li>
+<li>uuid()
+: <a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc">kudu::client::KuduTabletServer</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_v.html b/releases/1.15.0/cpp-client-api/functions_v.html
new file mode 100644
index 0000000..617ff14
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_v.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_v"></a>- v -</h3><ul>
+<li>value_type
+: <a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467">kudu::client::KuduScanBatch</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_vars.html b/releases/1.15.0/cpp-client-api/functions_vars.html
new file mode 100644
index 0000000..e295c1a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_vars.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members - Variables</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>COLUMNAR_LAYOUT
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10">kudu::client::KuduScanner</a>
+</li>
+<li>Data
+: <a class="el" href="classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0">kudu::client::KuduPredicate</a>
+</li>
+<li>kMicrosecondsPerSecond
+: <a class="el" href="classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f">kudu::MonoTime</a>
+</li>
+<li>kNanosecondsPerMicrosecond
+: <a class="el" href="classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583">kudu::MonoTime</a>
+</li>
+<li>kNanosecondsPerMillisecond
+: <a class="el" href="classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7">kudu::MonoTime</a>
+</li>
+<li>kNanosecondsPerSecond
+: <a class="el" href="classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18">kudu::MonoTime</a>
+</li>
+<li>kNoTimestamp
+: <a class="el" href="classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa">kudu::client::KuduClient</a>
+</li>
+<li>NO_FLAGS
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85">kudu::client::KuduScanner</a>
+</li>
+<li>PAD_UNIXTIME_MICROS_TO_16_BYTES
+: <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44">kudu::client::KuduScanner</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/functions_w.html b/releases/1.15.0/cpp-client-api/functions_w.html
new file mode 100644
index 0000000..77149b0
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/functions_w.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_w"></a>- w -</h3><ul>
+<li>wait()
+: <a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646">kudu::client::KuduTableAlterer</a>
+, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">kudu::client::KuduTableCreator</a>
+</li>
+<li>was_possibly_successful()
+: <a class="el" href="classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4">kudu::client::KuduError</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/globals.html b/releases/1.15.0/cpp-client-api/globals.html
new file mode 100644
index 0000000..460c00e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/globals.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: File Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented file members with links to the documentation:</div><ul>
+<li>KUDU_CHECK_OK
+: <a class="el" href="status_8h.html#ac503ba85e942147294cdc82087da60f6">status.h</a>
+</li>
+<li>KUDU_CHECK_OK_PREPEND
+: <a class="el" href="status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f">status.h</a>
+</li>
+<li>KUDU_DCHECK_OK
+: <a class="el" href="status_8h.html#a99332afa18f00de3c7fcf3e76949df9d">status.h</a>
+</li>
+<li>KUDU_DCHECK_OK_PREPEND
+: <a class="el" href="status_8h.html#a2b360b53025724bb97d1dc21e25e26cc">status.h</a>
+</li>
+<li>KUDU_LOG_AND_RETURN
+: <a class="el" href="status_8h.html#abbd85cc2c5535627091bb06a21918150">status.h</a>
+</li>
+<li>KUDU_RETURN_MAIN_NOT_OK
+: <a class="el" href="status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba">status.h</a>
+</li>
+<li>KUDU_RETURN_NOT_OK
+: <a class="el" href="status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab">status.h</a>
+</li>
+<li>KUDU_RETURN_NOT_OK_EVAL
+: <a class="el" href="status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e">status.h</a>
+</li>
+<li>KUDU_RETURN_NOT_OK_LOG
+: <a class="el" href="status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce">status.h</a>
+</li>
+<li>KUDU_RETURN_NOT_OK_PREPEND
+: <a class="el" href="status_8h.html#af66b8458f1d3f1264c1da86744e29e46">status.h</a>
+</li>
+<li>KUDU_RETURN_NOT_OK_RET
+: <a class="el" href="status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223">status.h</a>
+</li>
+<li>KUDU_WARN_NOT_OK
+: <a class="el" href="status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e">status.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/globals_defs.html b/releases/1.15.0/cpp-client-api/globals_defs.html
new file mode 100644
index 0000000..4562e0e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/globals_defs.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: File Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>KUDU_CHECK_OK
+: <a class="el" href="status_8h.html#ac503ba85e942147294cdc82087da60f6">status.h</a>
+</li>
+<li>KUDU_CHECK_OK_PREPEND
+: <a class="el" href="status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f">status.h</a>
+</li>
+<li>KUDU_DCHECK_OK
+: <a class="el" href="status_8h.html#a99332afa18f00de3c7fcf3e76949df9d">status.h</a>
+</li>
+<li>KUDU_DCHECK_OK_PREPEND
+: <a class="el" href="status_8h.html#a2b360b53025724bb97d1dc21e25e26cc">status.h</a>
+</li>
+<li>KUDU_LOG_AND_RETURN
+: <a class="el" href="status_8h.html#abbd85cc2c5535627091bb06a21918150">status.h</a>
+</li>
+<li>KUDU_RETURN_MAIN_NOT_OK
+: <a class="el" href="status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba">status.h</a>
+</li>
+<li>KUDU_RETURN_NOT_OK
+: <a class="el" href="status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab">status.h</a>
+</li>
+<li>KUDU_RETURN_NOT_OK_EVAL
+: <a class="el" href="status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e">status.h</a>
+</li>
+<li>KUDU_RETURN_NOT_OK_LOG
+: <a class="el" href="status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce">status.h</a>
+</li>
+<li>KUDU_RETURN_NOT_OK_PREPEND
+: <a class="el" href="status_8h.html#af66b8458f1d3f1264c1da86744e29e46">status.h</a>
+</li>
+<li>KUDU_RETURN_NOT_OK_RET
+: <a class="el" href="status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223">status.h</a>
+</li>
+<li>KUDU_WARN_NOT_OK
+: <a class="el" href="status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e">status.h</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/hash_8h_source.html b/releases/1.15.0/cpp-client-api/hash_8h_source.html
new file mode 100644
index 0000000..23b62dd
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/hash_8h_source.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/hash.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">hash.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_HASH_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_HASH_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">enum</span> HashAlgorithm {</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;  UNKNOWN_HASH = 0,</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;  MURMUR_HASH_2 = 1,</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;  CITY_HASH = 2,</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;  FAST_HASH = 3</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;};</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// KUDU_CLIENT_HASH_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/hierarchy.html b/releases/1.15.0/cpp-client-api/hierarchy.html
new file mode 100644
index 0000000..b4623e3
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/hierarchy.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Class Hierarchy</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Class Hierarchy</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html" target="_self">kudu::client::internal::AsyncLeaderMasterRpc&lt; ReqClass, RespClass &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html" target="_self">kudu::client::internal::AsyncRandomTxnManagerRpc&lt; ReqClass, RespClass &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1internal__logging_1_1CerrLog.html" target="_self">kudu::internal_logging::CerrLog</a></td><td class="desc">A helper for stderr log sink </td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkudu_1_1Slice_1_1Comparator.html" target="_self">kudu::Slice::Comparator</a></td><td class="desc"><a class="el" href="structkudu_1_1Slice_1_1Comparator.html" title="Comparator struct, useful for ordered collections (like STL maps).">Comparator</a> struct, useful for ordered collections (like STL maps) </td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>const_iterator public std::iterator</b></td><td class="desc"></td></tr>
+<tr id="row_4_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html" target="_self">kudu::client::KuduScanBatch</a></td><td class="desc">A batch of zero or more rows returned by a scan operation </td></tr>
+<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html" target="_self">kudu::client::KuduBloomFilter</a></td><td class="desc">Bloom filter to be used with IN Bloom filter predicate </td></tr>
+<tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html" target="_self">kudu::client::KuduBloomFilterBuilder</a></td><td class="desc">Builder class to help build <code><a class="el" href="classkudu_1_1client_1_1KuduBloomFilter.html" title="Bloom filter to be used with IN Bloom filter predicate.">KuduBloomFilter</a></code> to be used with IN Bloom filter predicate </td></tr>
+<tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html" target="_self">kudu::client::KuduClientBuilder</a></td><td class="desc">A "factory" for <a class="el" href="classkudu_1_1client_1_1KuduClient.html" title="A handle for a connection to a cluster.">KuduClient</a> objects </td></tr>
+<tr id="row_8_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduColumnarScanBatch.html" target="_self">kudu::client::KuduColumnarScanBatch</a></td><td class="desc">A batch of columnar data returned from a scanner </td></tr>
+<tr id="row_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduColumnSchema.html" target="_self">kudu::client::KuduColumnSchema</a></td><td class="desc">Representation of the column schema </td></tr>
+<tr id="row_10_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html" target="_self">kudu::client::KuduColumnSpec</a></td><td class="desc">Builder API for specifying or altering a column within a table schema </td></tr>
+<tr id="row_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html" target="_self">kudu::client::KuduColumnStorageAttributes</a></td><td class="desc">Representation of column storage attributes </td></tr>
+<tr id="row_12_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html" target="_self">kudu::client::KuduColumnTypeAttributes</a></td><td class="desc">Representation of column type attributes </td></tr>
+<tr id="row_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduError.html" target="_self">kudu::client::KuduError</a></td><td class="desc">This class represents an error which occurred in a write operation </td></tr>
+<tr id="row_14_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_14_" class="arrow" onclick="toggleFolder('14_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduLoggingCallback.html" target="_self">kudu::client::KuduLoggingCallback</a></td><td class="desc">The interface for all logging callbacks </td></tr>
+<tr id="row_14_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduLoggingFunctionCallback.html" target="_self">kudu::client::KuduLoggingFunctionCallback&lt; T &gt;</a></td><td class="desc">The logging callback that invokes a function by pointer with a single argument </td></tr>
+<tr id="row_14_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduLoggingMemberCallback.html" target="_self">kudu::client::KuduLoggingMemberCallback&lt; T &gt;</a></td><td class="desc">The logging callback that invokes a member function of an object </td></tr>
+<tr id="row_15_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classKuduPartialRow.html" target="_self">KuduPartialRow</a></td><td class="desc">A row which may only contain values for a subset of the columns </td></tr>
+<tr id="row_16_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduPartitioner.html" target="_self">kudu::client::KuduPartitioner</a></td><td class="desc"></td></tr>
+<tr id="row_17_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduPartitionerBuilder.html" target="_self">kudu::client::KuduPartitionerBuilder</a></td><td class="desc">Builder for Partitioner instances </td></tr>
+<tr id="row_18_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduPredicate.html" target="_self">kudu::client::KuduPredicate</a></td><td class="desc">A representation of comparison predicate for Kudu queries </td></tr>
+<tr id="row_19_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduReplica.html" target="_self">kudu::client::KuduReplica</a></td><td class="desc">In-memory representation of a remote tablet's replica </td></tr>
+<tr id="row_20_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduScanner.html" target="_self">kudu::client::KuduScanner</a></td><td class="desc">This class is a representation of a single scan </td></tr>
+<tr id="row_21_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduScanToken.html" target="_self">kudu::client::KuduScanToken</a></td><td class="desc">A scan descriptor limited to a single physical contiguous location </td></tr>
+<tr id="row_22_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html" target="_self">kudu::client::KuduScanTokenBuilder</a></td><td class="desc">Builds scan tokens for a table </td></tr>
+<tr id="row_23_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduSchema.html" target="_self">kudu::client::KuduSchema</a></td><td class="desc">A representation of a table's schema </td></tr>
+<tr id="row_24_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduSchemaBuilder.html" target="_self">kudu::client::KuduSchemaBuilder</a></td><td class="desc">Builder API for constructing a <a class="el" href="classkudu_1_1client_1_1KuduSchema.html" title="A representation of a table&#39;s schema.">KuduSchema</a> object </td></tr>
+<tr id="row_25_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_25_" class="arrow" onclick="toggleFolder('25_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduStatusCallback.html" target="_self">kudu::client::KuduStatusCallback</a></td><td class="desc">The interface for all status callbacks </td></tr>
+<tr id="row_25_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduStatusFunctionCallback.html" target="_self">kudu::client::KuduStatusFunctionCallback&lt; T &gt;</a></td><td class="desc">The status callback that invokes a function by pointer with a single argument </td></tr>
+<tr id="row_25_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduStatusMemberCallback.html" target="_self">kudu::client::KuduStatusMemberCallback&lt; T &gt;</a></td><td class="desc">The status callback that invokes a member function of an object </td></tr>
+<tr id="row_26_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTableAlterer.html" target="_self">kudu::client::KuduTableAlterer</a></td><td class="desc">Alters an existing table based on the provided steps </td></tr>
+<tr id="row_27_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" target="_self">kudu::client::KuduTableCreator</a></td><td class="desc">A helper class to create a new table with the desired options </td></tr>
+<tr id="row_28_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTableStatistics.html" target="_self">kudu::client::KuduTableStatistics</a></td><td class="desc">In-memory statistics of table </td></tr>
+<tr id="row_29_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTablet.html" target="_self">kudu::client::KuduTablet</a></td><td class="desc">In-memory representation of a remote tablet </td></tr>
+<tr id="row_30_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTabletServer.html" target="_self">kudu::client::KuduTabletServer</a></td><td class="desc">In-memory representation of a remote tablet server </td></tr>
+<tr id="row_31_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduValue.html" target="_self">kudu::client::KuduValue</a></td><td class="desc">A constant cell value with a specific type </td></tr>
+<tr id="row_32_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_32_" class="arrow" onclick="toggleFolder('32_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html" target="_self">kudu::client::KuduWriteOperation</a></td><td class="desc">A single-row write operation to be sent to a Kudu table </td></tr>
+<tr id="row_32_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduDelete.html" target="_self">kudu::client::KuduDelete</a></td><td class="desc">A single row delete to be sent to the cluster </td></tr>
+<tr id="row_32_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduDeleteIgnore.html" target="_self">kudu::client::KuduDeleteIgnore</a></td><td class="desc">A single row delete ignore to be sent to the cluster </td></tr>
+<tr id="row_32_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduInsert.html" target="_self">kudu::client::KuduInsert</a></td><td class="desc">A single row insert to be sent to the cluster </td></tr>
+<tr id="row_32_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduInsertIgnore.html" target="_self">kudu::client::KuduInsertIgnore</a></td><td class="desc">A single row insert ignore to be sent to the cluster, duplicate row errors are ignored </td></tr>
+<tr id="row_32_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduUpdate.html" target="_self">kudu::client::KuduUpdate</a></td><td class="desc">A single row update to be sent to the cluster </td></tr>
+<tr id="row_32_5_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduUpdateIgnore.html" target="_self">kudu::client::KuduUpdateIgnore</a></td><td class="desc">A single row update ignore to be sent to the cluster, missing row errors are ignored </td></tr>
+<tr id="row_32_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduUpsert.html" target="_self">kudu::client::KuduUpsert</a></td><td class="desc">A single row upsert to be sent to the cluster </td></tr>
+<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1MonoDelta.html" target="_self">kudu::MonoDelta</a></td><td class="desc">A representation of a time interval </td></tr>
+<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1MonoTime.html" target="_self">kudu::MonoTime</a></td><td class="desc">Representation of a particular point in time </td></tr>
+<tr id="row_35_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1internal__logging_1_1NullLog.html" target="_self">kudu::internal_logging::NullLog</a></td><td class="desc">A helper for the nil log sink </td></tr>
+<tr id="row_36_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1ResourceMetrics.html" target="_self">kudu::client::ResourceMetrics</a></td><td class="desc">A generic catalog of simple metrics </td></tr>
+<tr id="row_37_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_37_" class="arrow" onclick="toggleFolder('37_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>RowPtr</b></td><td class="desc"></td></tr>
+<tr id="row_37_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduScanBatch.html" target="_self">kudu::client::KuduScanBatch</a></td><td class="desc">A batch of zero or more rows returned by a scan operation </td></tr>
+<tr id="row_38_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html" target="_self">kudu::client::KuduTransaction::SerializationOptions</a></td><td class="desc"></td></tr>
+<tr id="row_39_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1Slice.html" target="_self">kudu::Slice</a></td><td class="desc">A wrapper around externally allocated data </td></tr>
+<tr id="row_40_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkudu_1_1SliceMap.html" target="_self">kudu::SliceMap&lt; T &gt;</a></td><td class="desc">STL map whose keys are Slices </td></tr>
+<tr id="row_41_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1Status.html" target="_self">kudu::Status</a></td><td class="desc">A representation of an operation's outcome </td></tr>
+<tr id="row_42_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_42_" class="arrow" onclick="toggleFolder('42_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>enable_shared_from_this</b></td><td class="desc"></td></tr>
+<tr id="row_42_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduClient.html" target="_self">kudu::client::KuduClient</a></td><td class="desc">A handle for a connection to a cluster </td></tr>
+<tr id="row_42_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduSession.html" target="_self">kudu::client::KuduSession</a></td><td class="desc">Representation of a Kudu client session </td></tr>
+<tr id="row_42_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTable.html" target="_self">kudu::client::KuduTable</a></td><td class="desc">A representation of a table on a particular cluster </td></tr>
+<tr id="row_42_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html" target="_self">kudu::client::KuduTransaction</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/index.html b/releases/1.15.0/cpp-client-api/index.html
new file mode 100644
index 0000000..d651533
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/index.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Kudu C++ client API documentation</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="PageDoc"><div class="header">
+  <div class="headertitle">
+<div class="title">Kudu C++ client API documentation </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Kudu provides C++ and Java client APIs, as well as reference examples to illustrate their use (check the source code for the examples). This is Kudu C++ client API. Use of any APIs other than the client APIs is unsupported. </p>
+</div></div><!-- PageDoc -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/int128_8h_source.html b/releases/1.15.0/cpp-client-api/int128_8h_source.html
new file mode 100644
index 0000000..19f7d71
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/int128_8h_source.html
@@ -0,0 +1,127 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/util/int128.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html">util</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">int128.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">// This file is the central location for defining the int128 type</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// used by Kudu. Though this file is small it ensures flexibility</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">// as choices and standards around int128 change.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">// __int128 is not supported before gcc 4.6</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#if defined(__clang__) || \</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">  (defined(__GNUC__) &amp;&amp; \</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">  (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) &gt;= 40600)</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#define KUDU_INT128_SUPPORTED 1</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define KUDU_INT128_SUPPORTED 0</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#if KUDU_INT128_SUPPORTED</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int128 uint128_t;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">signed</span> __int128 int128_t;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">// Note: We don&#39;t use numeric_limits because it can give incorrect</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">// values for __int128 and unsigned __int128.</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> uint128_t UINT128_MIN = (uint128_t) 0;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> uint128_t UINT128_MAX = ((uint128_t) -1);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> int128_t INT128_MAX = ((int128_t)(UINT128_MAX &gt;&gt; 1));</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> int128_t INT128_MIN = (-INT128_MAX - 1);</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/jquery.js b/releases/1.15.0/cpp-client-api/jquery.js
new file mode 100644
index 0000000..103c32d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/jquery.js
@@ -0,0 +1,35 @@
+/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
+/*! jQuery UI - v1.12.1 - 2019-01-27
+* http://jqueryui.com
+* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/resizable.js, widgets/mouse.js
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}t.ui=t.ui||{},t.ui.version="1.12.1";var i=0,s=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,n,o=s.call(arguments,1),a=0,r=o.length;r>a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,m,g,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),x={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,m=_.offset,g=t.extend({},m),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),x[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?g.left+=p:"center"===n.at[0]&&(g.left+=p/2),"bottom"===n.at[1]?g.top+=f:"center"===n.at[1]&&(g.top+=f/2),u=e(x.at,p,f),g.left+=u[0],g.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),k=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},g),T=e(x.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:k,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=m.left-D.left,i=e+p-l,s=m.top-D.top,r=s+f-c,u={target:{element:v,left:m.left,top:m.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element
+},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/**
+ * Copyright (c) 2007 Ariel Flesler - aflesler â—‹ gmail • com | https://github.com/flesler
+ * Licensed under MIT
+ * @author Ariel Flesler
+ * @version 2.1.2
+ */
+;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case "number":case "string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e= h(e);break}e=l?$(e):$(e,q);case "object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&& "%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()}, set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});
+/*!
+ PowerTip v1.3.1 (2018-04-15)
+ https://stevenbenner.github.io/jquery-powertip/
+ Copyright (c) 2018 Steven Benner (http://stevenbenner.com/).
+ Released under MIT license.
+ https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
+*/
+(function(root,factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof module==="object"&&module.exports){module.exports=factory(require("jquery"))}else{factory(root.jQuery)}})(this,function($){var $document=$(document),$window=$(window),$body=$("body");var DATA_DISPLAYCONTROLLER="displayController",DATA_HASACTIVEHOVER="hasActiveHover",DATA_FORCEDOPEN="forcedOpen",DATA_HASMOUSEMOVE="hasMouseMove",DATA_MOUSEONTOTIP="mouseOnToPopup",DATA_ORIGINALTITLE="originalTitle",DATA_POWERTIP="powertip",DATA_POWERTIPJQ="powertipjq",DATA_POWERTIPTARGET="powertiptarget",EVENT_NAMESPACE=".powertip",RAD2DEG=180/Math.PI,MOUSE_EVENTS=["click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave","contextmenu"];var session={tooltips:null,isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,closeDelayTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var Collision={none:0,top:1,bottom:2,left:4,right:8};$.fn.powerTip=function(opts,arg){var targetElements=this,options,tipController;if(!targetElements.length){return targetElements}if($.type(opts)==="string"&&$.powerTip[opts]){return $.powerTip[opts].call(targetElements,targetElements,arg)}options=$.extend({},$.fn.powerTip.defaults,opts);tipController=new TooltipController(options);initTracking();targetElements.each(function elementSetup(){var $this=$(this),dataPowertip=$this.data(DATA_POWERTIP),dataElem=$this.data(DATA_POWERTIPJQ),dataTarget=$this.data(DATA_POWERTIPTARGET),title=$this.attr("title");if(!dataPowertip&&!dataTarget&&!dataElem&&title){$this.data(DATA_POWERTIP,title);$this.data(DATA_ORIGINALTITLE,title);$this.removeAttr("title")}$this.data(DATA_DISPLAYCONTROLLER,new DisplayController($this,options,tipController))});if(!options.manual){$.each(options.openEvents,function(idx,evt){if($.inArray(evt,options.closeEvents)>-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference<options.intentSensitivity){cancelClose();closeAnyDelayed();tipController.showTip(element)}else{session.previousX=session.currentX;session.previousY=session.currentY;openTooltip()}}function cancelTimer(stopClose){hoverTimer=clearTimeout(hoverTimer);if(session.closeDelayTimeout&&myCloseDelay===session.closeDelayTimeout||stopClose){cancelClose()}}function cancelClose(){session.closeDelayTimeout=clearTimeout(session.closeDelayTimeout);session.delayInProgress=false}function closeAnyDelayed(){if(session.delayInProgress&&session.activeHover&&!session.activeHover.is(element)){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide(true)}}function repositionTooltip(){tipController.resetPosition(element)}this.show=openTooltip;this.hide=closeTooltip;this.cancel=cancelTimer;this.resetPosition=repositionTooltip}function PlacementCalculator(){function computePlacementCoords(element,placement,tipWidth,tipHeight,offset){var placementBase=placement.split("-")[0],coords=new CSSCoordinates,position;if(isSvgElement(element)){position=getSvgPlacement(element,placementBase)}else{position=getHtmlPlacement(element,placementBase)}switch(placement){case"n":coords.set("left",position.left-tipWidth/2);coords.set("bottom",session.windowHeight-position.top+offset);break;case"e":coords.set("left",position.left+offset);coords.set("top",position.top-tipHeight/2);break;case"s":coords.set("left",position.left-tipWidth/2);coords.set("top",position.top+offset);break;case"w":coords.set("top",position.top-tipHeight/2);coords.set("right",session.windowWidth-position.left+offset);break;case"nw":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"nw-alt":coords.set("left",position.left);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne":coords.set("left",position.left-20);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne-alt":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left);break;case"sw":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"sw-alt":coords.set("left",position.left);coords.set("top",position.top+offset);break;case"se":coords.set("left",position.left-20);coords.set("top",position.top+offset);break;case"se-alt":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left);break}return coords}function getHtmlPlacement(element,placement){var objectOffset=element.offset(),objectWidth=element.outerWidth(),objectHeight=element.outerHeight(),left,top;switch(placement){case"n":left=objectOffset.left+objectWidth/2;top=objectOffset.top;break;case"e":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight/2;break;case"s":left=objectOffset.left+objectWidth/2;top=objectOffset.top+objectHeight;break;case"w":left=objectOffset.left;top=objectOffset.top+objectHeight/2;break;case"nw":left=objectOffset.left;top=objectOffset.top;break;case"ne":left=objectOffset.left+objectWidth;top=objectOffset.top;break;case"sw":left=objectOffset.left;top=objectOffset.top+objectHeight;break;case"se":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight;break}return{top:top,left:left}}function getSvgPlacement(element,placement){var svgElement=element.closest("svg")[0],domElement=element[0],point=svgElement.createSVGPoint(),boundingBox=domElement.getBBox(),matrix=domElement.getScreenCTM(),halfWidth=boundingBox.width/2,halfHeight=boundingBox.height/2,placements=[],placementKeys=["nw","n","ne","e","se","s","sw","w"],coords,rotation,steps,x;function pushPlacement(){placements.push(point.matrixTransform(matrix))}point.x=boundingBox.x;point.y=boundingBox.y;pushPlacement();point.x+=halfWidth;pushPlacement();point.x+=halfWidth;pushPlacement();point.y+=halfHeight;pushPlacement();point.y+=halfHeight;pushPlacement();point.x-=halfWidth;pushPlacement();point.x-=halfWidth;pushPlacement();point.y-=halfHeight;pushPlacement();if(placements[0].y!==placements[1].y||placements[0].x!==placements[7].x){rotation=Math.atan2(matrix.b,matrix.a)*RAD2DEG;steps=Math.ceil((rotation%360-22.5)/45);if(steps<1){steps+=8}while(steps--){placementKeys.push(placementKeys.shift())}}for(x=0;x<placements.length;x++){if(placementKeys[x]===placement){coords=placements[x];break}}return{top:coords.y+session.scrollTop,left:coords.x+session.scrollLeft}}this.compute=computePlacementCoords}function TooltipController(options){var placementCalculator=new PlacementCalculator,tipElement=$("#"+options.popupId);if(tipElement.length===0){tipElement=$("<div/>",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.top<viewportTop||Math.abs(coords.bottom-session.windowHeight)-elementHeight<viewportTop){collisions|=Collision.top}if(coords.top+elementHeight>viewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.left<viewportLeft||coords.right+elementWidth>viewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right<viewportLeft){collisions|=Collision.right}return collisions}function countFlags(value){var count=0;while(value){value&=value-1;count++}return count}return $.powerTip});/*!
+ * jQuery UI Touch Punch 0.2.3
+ *
+ * Copyright 2011–2014, Dave Furfero
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ *
+ * Depends:
+ *  jquery.ui.widget.js
+ *  jquery.ui.mouse.js
+ */
+!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017
+ * http://www.smartmenus.org/
+ * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("<span/>").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],$('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y<o.upEnd)&&a.eq(o.up?1:0).show(),o.y==n)mouse&&a.eq(o.up?0:1).hide(),this.menuScrollStop(t);else if(!e){this.opts.scrollAccelerate&&o.step<this.opts.scrollStep&&(o.step+=.2);var h=this;this.scrollTimeout=requestAnimationFrame(function(){h.menuScroll(t)})}},menuScrollMousewheel:function(t,e){if(this.getClosestMenu(e.target)==t[0]){e=e.originalEvent;var i=(e.wheelDelta||-e.detail)>0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$});
\ No newline at end of file
diff --git a/releases/1.15.0/cpp-client-api/kudu__export_8h_source.html b/releases/1.15.0/cpp-client-api/kudu__export_8h_source.html
new file mode 100644
index 0000000..f8cc6c4
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/kudu__export_8h_source.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/util/kudu_export.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html">util</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu_export.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#ifndef KUDU_EXPORT_H</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor">#define KUDU_EXPORT_H</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#ifdef KUDU_STATIC_DEFINE</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#  define KUDU_EXPORT</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#  define KUDU_NO_EXPORT</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#  ifndef KUDU_EXPORT</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#    ifdef kudu_client_exported_EXPORTS</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        <span class="comment">/* We are building this library */</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#      define KUDU_EXPORT __attribute__((visibility(&quot;default&quot;</span>)))</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#    else</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        <span class="comment">/* We are using this library */</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#      define KUDU_EXPORT __attribute__((visibility(&quot;default&quot;</span>)))</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#    endif</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#  endif</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#  ifndef KUDU_NO_EXPORT</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#    define KUDU_NO_EXPORT __attribute__((visibility(&quot;hidden&quot;</span>)))</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#  endif</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifndef KUDU_DEPRECATED</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#  define KUDU_DEPRECATED __attribute__ ((__deprecated__))</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef KUDU_DEPRECATED_EXPORT</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#  define KUDU_DEPRECATED_EXPORT KUDU_EXPORT KUDU_DEPRECATED</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef KUDU_DEPRECATED_NO_EXPORT</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#  define KUDU_DEPRECATED_NO_EXPORT KUDU_NO_EXPORT KUDU_DEPRECATED</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#if 0 </span><span class="comment">/* DEFINE_NO_DEPRECATED */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#  ifndef KUDU_NO_DEPRECATED</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#    define KUDU_NO_DEPRECATED</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#  endif</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* KUDU_EXPORT_H */</span><span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/menu.js b/releases/1.15.0/cpp-client-api/menu.js
new file mode 100644
index 0000000..2fe2214
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/menu.js
@@ -0,0 +1,51 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+ */
+function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
+  function makeTree(data,relPath) {
+    var result='';
+    if ('children' in data) {
+      result+='<ul>';
+      for (var i in data.children) {
+        result+='<li><a href="'+relPath+data.children[i].url+'">'+
+                                data.children[i].text+'</a>'+
+                                makeTree(data.children[i],relPath)+'</li>';
+      }
+      result+='</ul>';
+    }
+    return result;
+  }
+
+  $('#main-nav').append(makeTree(menudata,relPath));
+  $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
+  if (searchEnabled) {
+    if (serverSide) {
+      $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.svg" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
+    } else {
+      $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.svg" alt=""/></a></span></div></li>');
+    }
+  }
+  $('#main-menu').smartmenus();
+}
+/* @license-end */
diff --git a/releases/1.15.0/cpp-client-api/menudata.js b/releases/1.15.0/cpp-client-api/menudata.js
new file mode 100644
index 0000000..d4516b2
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/menudata.js
@@ -0,0 +1,85 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+*/
+var menudata={children:[
+{text:"Main Page",url:"index.html"},
+{text:"Related Pages",url:"pages.html"},
+{text:"Classes",url:"annotated.html",children:[
+{text:"Class List",url:"annotated.html"},
+{text:"Class Index",url:"classes.html"},
+{text:"Class Hierarchy",url:"hierarchy.html"},
+{text:"Class Members",url:"functions.html",children:[
+{text:"All",url:"functions.html",children:[
+{text:"a",url:"functions.html#index_a"},
+{text:"b",url:"functions_b.html#index_b"},
+{text:"c",url:"functions_c.html#index_c"},
+{text:"d",url:"functions_d.html#index_d"},
+{text:"e",url:"functions_e.html#index_e"},
+{text:"f",url:"functions_f.html#index_f"},
+{text:"g",url:"functions_g.html#index_g"},
+{text:"h",url:"functions_h.html#index_h"},
+{text:"i",url:"functions_i.html#index_i"},
+{text:"k",url:"functions_k.html#index_k"},
+{text:"l",url:"functions_l.html#index_l"},
+{text:"m",url:"functions_m.html#index_m"},
+{text:"n",url:"functions_n.html#index_n"},
+{text:"o",url:"functions_o.html#index_o"},
+{text:"p",url:"functions_p.html#index_p"},
+{text:"r",url:"functions_r.html#index_r"},
+{text:"s",url:"functions_s.html#index_s"},
+{text:"t",url:"functions_t.html#index_t"},
+{text:"u",url:"functions_u.html#index_u"},
+{text:"v",url:"functions_v.html#index_v"},
+{text:"w",url:"functions_w.html#index_w"}]},
+{text:"Functions",url:"functions_func.html",children:[
+{text:"a",url:"functions_func.html#index_a"},
+{text:"b",url:"functions_func_b.html#index_b"},
+{text:"c",url:"functions_func_c.html#index_c"},
+{text:"d",url:"functions_func_d.html#index_d"},
+{text:"e",url:"functions_func_e.html#index_e"},
+{text:"f",url:"functions_func_f.html#index_f"},
+{text:"g",url:"functions_func_g.html#index_g"},
+{text:"h",url:"functions_func_h.html#index_h"},
+{text:"i",url:"functions_func_i.html#index_i"},
+{text:"k",url:"functions_func_k.html#index_k"},
+{text:"l",url:"functions_func_l.html#index_l"},
+{text:"m",url:"functions_func_m.html#index_m"},
+{text:"n",url:"functions_func_n.html#index_n"},
+{text:"o",url:"functions_func_o.html#index_o"},
+{text:"p",url:"functions_func_p.html#index_p"},
+{text:"r",url:"functions_func_r.html#index_r"},
+{text:"s",url:"functions_func_s.html#index_s"},
+{text:"t",url:"functions_func_t.html#index_t"},
+{text:"u",url:"functions_func_u.html#index_u"},
+{text:"w",url:"functions_func_w.html#index_w"}]},
+{text:"Variables",url:"functions_vars.html"},
+{text:"Typedefs",url:"functions_type.html"},
+{text:"Enumerations",url:"functions_enum.html"},
+{text:"Enumerator",url:"functions_eval.html"},
+{text:"Related Functions",url:"functions_rela.html"}]}]},
+{text:"Files",url:"files.html",children:[
+{text:"File List",url:"files.html"},
+{text:"File Members",url:"globals.html",children:[
+{text:"All",url:"globals.html"},
+{text:"Macros",url:"globals_defs.html"}]}]}]}
diff --git a/releases/1.15.0/cpp-client-api/monotime_8h_source.html b/releases/1.15.0/cpp-client-api/monotime_8h_source.html
new file mode 100644
index 0000000..994fb6f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/monotime_8h_source.html
@@ -0,0 +1,310 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/util/monotime.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html">util</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">monotime.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef KUDU_UTIL_MONOTIME_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define KUDU_UTIL_MONOTIME_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">// NOTE: using stdint.h instead of cstdint because this file is supposed</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">//       to be processed by a compiler lacking C++11 support.</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;gtest/gtest_prod.h&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/port.h&quot;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// This is a poor module interdependency, but the stubs are header-only and</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// it&#39;s only for exported header builds, so we&#39;ll make an exception.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">// The &#39;noexcept&#39; specifier is recognized by a C++11-capable compiler, but this</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">// file is targeted to compile by C++-98 compiler as well. As it turns out,</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// adding &#39;noexcept&#39; doesn&#39;t affect the generated symbols in the exported</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">// MonoTime class, so it&#39;s safe to turn it on when compiling in the C++11 mode.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// The &#39;noexcept&#39; specified is useful in cases when wrapping MonoTime into</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">// std::atomic&lt;&gt; and the standard C++ library explicitly requires that.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#ifdef LANG_CXX11</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#define KUDU_MONOTIME_NOEXCEPT noexcept</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#define KUDU_MONOTIME_NOEXCEPT</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// #ifdef LANG_CXX11 ... #else ...</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html">   57</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> {</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160; </div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1">   66</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> <a class="code" href="classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1">FromSeconds</a>(<span class="keywordtype">double</span> seconds);</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a">   72</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> <a class="code" href="classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a">FromMilliseconds</a>(int64_t ms);</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d">   78</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> <a class="code" href="classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d">FromMicroseconds</a>(int64_t us);</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819">   84</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> <a class="code" href="classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819">FromNanoseconds</a>(int64_t ns);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f">   91</a></span>&#160;  <a class="code" href="classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f">MonoDelta</a>();</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
+<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a">   94</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a">Initialized</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79">  102</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79">LessThan</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;rhs) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
+<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02">  110</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02">MoreThan</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;rhs) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc">  119</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc">Equals</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;rhs) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c">  122</a></span>&#160;  std::string <a class="code" href="classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c">ToString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c">  128</a></span>&#160;  <span class="keywordtype">double</span> <a class="code" href="classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c">ToSeconds</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591">  129</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591">ToMilliseconds</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491">  130</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491">ToMicroseconds</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c">  131</a></span>&#160;  int64_t <a class="code" href="classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c">ToNanoseconds</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e">  139</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e">ToTimeVal</a>(<span class="keyword">struct</span> timeval *tv) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160; </div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862">  146</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862">ToTimeSpec</a>(<span class="keyword">struct</span> timespec* ts) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
+<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22">  154</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22">NanosToTimeSpec</a>(int64_t nanos, <span class="keyword">struct</span> timespec* ts);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160; </div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299">  164</a></span>&#160;  <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; <a class="code" href="classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; delta);</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160; </div>
+<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb">  171</a></span>&#160;  <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; <a class="code" href="classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; delta);</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160; </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> int64_t kUninitialized;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160; </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>;</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <span class="keyword">friend</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> operator-(<span class="keyword">const</span> <span class="keyword">class</span> <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp;, <span class="keyword">const</span> <span class="keyword">class</span> <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp;);</div>
+<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b">  180</a></span>&#160;  <span class="keyword">friend</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> <a class="code" href="classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b">operator-</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp;, <span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp;);</div>
+<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08">  181</a></span>&#160;  <span class="keyword">friend</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> <a class="code" href="classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08">operator+</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp;, <span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp;);</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160; </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;  FRIEND_TEST(TestMonoTime, TestDeltaConversions);</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160; </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>(int64_t delta);</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  int64_t nano_delta_;</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;};</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160; </div>
+<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoTime.html">  196</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a> {</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160; </div>
+<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18">  202</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> int64_t kNanosecondsPerSecond = 1000000000L;</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160; </div>
+<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7">  205</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> int64_t kNanosecondsPerMillisecond = 1000000L;</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160; </div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583">  208</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> int64_t kNanosecondsPerMicrosecond = 1000L;</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160; </div>
+<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f">  211</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> int64_t kMicrosecondsPerSecond = 1000000L;</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160; </div>
+<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783">  217</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a> <a class="code" href="classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783">Now</a>();</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160; </div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9">  220</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a> <a class="code" href="classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9">Max</a>();</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160; </div>
+<div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99">  223</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a> <a class="code" href="classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99">Min</a>();</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160; </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; Earliest(<span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; a, <span class="keyword">const</span> <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; b)</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use std::min() instead&quot;</span>);</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; </div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>() KUDU_MONOTIME_NOEXCEPT;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160; </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <span class="keywordtype">bool</span> Initialized() const;</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160; </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;  <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> GetDeltaSince(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a> &amp;rhs) const ATTRIBUTE_DEPRECATED(</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;      &quot;use kudu::operator-(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp;, const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp;) instead&quot;);</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160; </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  <span class="keywordtype">void</span> AddDelta(const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;delta);</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160; </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <span class="keywordtype">bool</span> ComesBefore(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a> &amp;rhs) const;</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160; </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  std::<span class="keywordtype">string</span> ToString() const;</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160; </div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <span class="keywordtype">void</span> ToTimeSpec(struct timespec* ts) const;</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160; </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  <span class="keywordtype">bool</span> Equals(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; other) const;</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160; </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160; </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; operator+=(const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; delta);</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160; </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; operator-=(const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; delta);</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160; </div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160; private:</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  friend class <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>;</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;  friend <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> operator-(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp;, const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp;);</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;  FRIEND_TEST(TestMonoTime, TestTimeSpec);</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;  FRIEND_TEST(TestMonoTime, TestDeltaConversions);</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160; </div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;  explicit <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>(const struct timespec&amp; ts) KUDU_MONOTIME_NOEXCEPT;</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;  explicit <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>(int64_t nanos) KUDU_MONOTIME_NOEXCEPT;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  <span class="keywordtype">double</span> ToSeconds() const;</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;  int64_t nanos_;</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;};</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160; </div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="keywordtype">void</span> KUDU_EXPORT SleepFor(const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; delta);</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160; </div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160; </div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="keywordtype">bool</span> KUDU_EXPORT operator==(const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;lhs, const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;rhs);</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160; </div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="keywordtype">bool</span> KUDU_EXPORT operator!=(const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;lhs, const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;rhs);</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160; </div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="keywordtype">bool</span> KUDU_EXPORT operator&lt;(const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;lhs, const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;rhs);</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160; </div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="keywordtype">bool</span> KUDU_EXPORT operator&lt;=(const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;lhs, const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;rhs);</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160; </div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="keywordtype">bool</span> KUDU_EXPORT operator&gt;(const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;lhs, const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;rhs);</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160; </div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="keywordtype">bool</span> KUDU_EXPORT operator&gt;=(const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;lhs, const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;rhs);</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160; </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> KUDU_EXPORT operator-(const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; lhs, const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; rhs);</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160; </div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> KUDU_EXPORT operator+(const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; lhs, const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; rhs);</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160; </div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160; </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="keywordtype">bool</span> KUDU_EXPORT operator==(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; lhs, const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; rhs);</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160; </div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;<span class="keywordtype">bool</span> KUDU_EXPORT operator!=(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; lhs, const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; rhs);</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160; </div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<span class="keywordtype">bool</span> KUDU_EXPORT operator&lt;(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; lhs, const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; rhs);</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160; </div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="keywordtype">bool</span> KUDU_EXPORT operator&lt;=(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; lhs, const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; rhs);</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160; </div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;<span class="keywordtype">bool</span> KUDU_EXPORT operator&gt;(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; lhs, const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; rhs);</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160; </div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="keywordtype">bool</span> KUDU_EXPORT operator&gt;=(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; lhs, const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; rhs);</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160; </div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160; </div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a> KUDU_EXPORT operator+(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; t, const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; delta);</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160; </div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a> KUDU_EXPORT operator-(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; t, const <a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a>&amp; delta);</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160; </div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;<a class="code" href="classkudu_1_1MonoDelta.html">MonoDelta</a> KUDU_EXPORT operator-(const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; t_end, const <a class="code" href="classkudu_1_1MonoTime.html">MonoTime</a>&amp; t_begin);</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160; </div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160; </div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html"><div class="ttname"><a href="classkudu_1_1MonoDelta.html">kudu::MonoDelta</a></div><div class="ttdoc">A representation of a time interval.</div><div class="ttdef"><b>Definition:</b> monotime.h:57</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_a12aaaa89190dbd2d2239884f43bbba08"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08">kudu::MonoDelta::operator+</a></div><div class="ttdeci">friend MonoDelta operator+(const MonoDelta &amp;, const MonoDelta &amp;)</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_a1589aa831a2e6b4a137b944de61bca1c"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c">kudu::MonoDelta::ToNanoseconds</a></div><div class="ttdeci">int64_t ToNanoseconds() const</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_a237089697f6e14513a305b10f662cc6e"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e">kudu::MonoDelta::ToTimeVal</a></div><div class="ttdeci">void ToTimeVal(struct timeval *tv) const</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_a2aaa30660bd168200074330f098f680a"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a">kudu::MonoDelta::Initialized</a></div><div class="ttdeci">bool Initialized() const</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_a38ca50b383a13eb739f4f694cc117491"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491">kudu::MonoDelta::ToMicroseconds</a></div><div class="ttdeci">int64_t ToMicroseconds() const</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_a4854924550c571f8af548270da52ac22"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22">kudu::MonoDelta::NanosToTimeSpec</a></div><div class="ttdeci">static void NanosToTimeSpec(int64_t nanos, struct timespec *ts)</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_a5ebe4c7fb832419217772ca264f27b79"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79">kudu::MonoDelta::LessThan</a></div><div class="ttdeci">bool LessThan(const MonoDelta &amp;rhs) const</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_a87624954c9ebd4a2c255910072592db1"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1">kudu::MonoDelta::FromSeconds</a></div><div class="ttdeci">static MonoDelta FromSeconds(double seconds)</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_a87faf992d3c8f291e8f34251e5cd175c"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c">kudu::MonoDelta::ToString</a></div><div class="ttdeci">std::string ToString() const</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_a895ad22b21a7e93ca80ef02c1d862299"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299">kudu::MonoDelta::operator+=</a></div><div class="ttdeci">MonoDelta &amp; operator+=(const MonoDelta &amp;delta)</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_a8a6b1e2b0e4ff38291a07e218228c46b"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b">kudu::MonoDelta::operator-</a></div><div class="ttdeci">friend MonoDelta operator-(const MonoDelta &amp;, const MonoDelta &amp;)</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_a90f478f2fa4976a4cf7f9efc2ba5e0bb"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb">kudu::MonoDelta::operator-=</a></div><div class="ttdeci">MonoDelta &amp; operator-=(const MonoDelta &amp;delta)</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_aa75663ef2da59aef250bb63ee4b0a591"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591">kudu::MonoDelta::ToMilliseconds</a></div><div class="ttdeci">int64_t ToMilliseconds() const</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_abdc48e03e6037096c13a6bf095aef06c"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c">kudu::MonoDelta::ToSeconds</a></div><div class="ttdeci">double ToSeconds() const</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_ac5c505cedf9a8a8ce7082c347fb4363a"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a">kudu::MonoDelta::FromMilliseconds</a></div><div class="ttdeci">static MonoDelta FromMilliseconds(int64_t ms)</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_ad0646900f0927ad9be6302fcda8bfe5f"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f">kudu::MonoDelta::MonoDelta</a></div><div class="ttdeci">MonoDelta()</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_ad50c159b220bb8e63d8d05c21053113d"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d">kudu::MonoDelta::FromMicroseconds</a></div><div class="ttdeci">static MonoDelta FromMicroseconds(int64_t us)</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_ada258d175b463f4dc938630c12de9862"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862">kudu::MonoDelta::ToTimeSpec</a></div><div class="ttdeci">void ToTimeSpec(struct timespec *ts) const</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_ae1175ef48b67152c7dbedf47af665d02"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02">kudu::MonoDelta::MoreThan</a></div><div class="ttdeci">bool MoreThan(const MonoDelta &amp;rhs) const</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_ae9e5f2bd1058b01309f82ae960520819"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819">kudu::MonoDelta::FromNanoseconds</a></div><div class="ttdeci">static MonoDelta FromNanoseconds(int64_t ns)</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoDelta_html_aeeda0dc9b20ef8cbc9622431b38d09bc"><div class="ttname"><a href="classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc">kudu::MonoDelta::Equals</a></div><div class="ttdeci">bool Equals(const MonoDelta &amp;rhs) const</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoTime_html"><div class="ttname"><a href="classkudu_1_1MonoTime.html">kudu::MonoTime</a></div><div class="ttdoc">Representation of a particular point in time.</div><div class="ttdef"><b>Definition:</b> monotime.h:196</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoTime_html_a28d08092b30ccefc5e45a6e228034ef9"><div class="ttname"><a href="classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9">kudu::MonoTime::Max</a></div><div class="ttdeci">static MonoTime Max()</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoTime_html_a6c83d5c31e6ea5a869a655646f924783"><div class="ttname"><a href="classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783">kudu::MonoTime::Now</a></div><div class="ttdeci">static MonoTime Now()</div></div>
+<div class="ttc" id="aclasskudu_1_1MonoTime_html_acf4fc0351fe9245431932e481e002b99"><div class="ttname"><a href="classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99">kudu::MonoTime::Min</a></div><div class="ttdeci">static MonoTime Min()</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/nav_f.png b/releases/1.15.0/cpp-client-api/nav_f.png
new file mode 100644
index 0000000..72a58a5
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/nav_f.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/nav_g.png b/releases/1.15.0/cpp-client-api/nav_g.png
new file mode 100644
index 0000000..2093a23
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/nav_g.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/nav_h.png b/releases/1.15.0/cpp-client-api/nav_h.png
new file mode 100644
index 0000000..33389b1
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/nav_h.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/open.png b/releases/1.15.0/cpp-client-api/open.png
new file mode 100644
index 0000000..30f75c7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/open.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/pages.html b/releases/1.15.0/cpp-client-api/pages.html
new file mode 100644
index 0000000..bfd2654
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/pages.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Related Pages</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Related Pages</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="todo.html" target="_self">Todo List</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="deprecated.html" target="_self">Deprecated List</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/partial__row_8h_source.html b/releases/1.15.0/cpp-client-api/partial__row_8h_source.html
new file mode 100644
index 0000000..05a84a2
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/partial__row_8h_source.html
@@ -0,0 +1,456 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/common/partial_row.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html">common</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">partial_row.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef KUDU_COMMON_PARTIAL_ROW_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define KUDU_COMMON_PARTIAL_ROW_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">// NOTE: using stdint.h instead of cstdint because this file is supposed</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">//       to be processed by a compiler lacking C++11 support.</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;gtest/gtest_prod.h&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/port.h&quot;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// This is a poor module interdependency, but the stubs are header-only and</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// it&#39;s only for exported header builds, so we&#39;ll make an exception.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;kudu/util/int128.h&quot;</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;kudu/util/slice.h&quot;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="status_8h.html">kudu/util/status.h</a>&quot;</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">class </span>ColumnSchema;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">class </span>ClientTest_TestProjectionPredicatesFuzz_Test;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">class </span>KuduWriteOperation;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">namespace </span>internal {</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">class </span>WriteRpc;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;} <span class="comment">// namespace internal</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> KeyTypeWrapper&gt; <span class="keyword">struct </span>SliceKeysTestSetup;<span class="comment">// IWYU pragma: keep</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> KeyTypeWrapper&gt; <span class="keyword">struct </span>IntKeysTestSetup;  <span class="comment">// IWYU pragma: keep</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">namespace </span>tablet {</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> KeyTypeWrapper&gt; <span class="keyword">struct </span>SliceTypeRowOps; <span class="comment">// IWYU pragma: keep</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> KeyTypeWrapper&gt; <span class="keyword">struct </span>NumTypeRowOps;   <span class="comment">// IWYU pragma: keep</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;} <span class="comment">// namespace tablet</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">namespace </span>tools {</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">class </span>TableScanner;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;} <span class="comment">// namespace tools</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">class </span>Schema;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html">   72</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a> {</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4">   77</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4">KuduPartialRow</a>(<span class="keyword">const</span> Schema* schema);</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>();</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1">   85</a></span>&#160;  <a class="code" href="classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1">KuduPartialRow</a>(<span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; other);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f">   92</a></span>&#160;  <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; <a class="code" href="classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f">operator=</a>(<a class="code" href="classKuduPartialRow.html">KuduPartialRow</a> other);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d">  104</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d">SetBool</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keywordtype">bool</span> val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f">  105</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f">SetInt8</a>(<span class="keyword">const</span> Slice&amp; col_name, int8_t val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810">  106</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810">SetInt16</a>(<span class="keyword">const</span> Slice&amp; col_name, int16_t val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887">  107</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887">SetInt32</a>(<span class="keyword">const</span> Slice&amp; col_name, int32_t val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4">  108</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4">SetInt64</a>(<span class="keyword">const</span> Slice&amp; col_name, int64_t val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a">  116</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a">SetUnixTimeMicros</a>(<span class="keyword">const</span> Slice&amp; col_name,</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;                           int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4">  125</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4">SetDate</a>(<span class="keyword">const</span> Slice&amp; col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b">  126</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b">SetFloat</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keywordtype">float</span> val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20">  127</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20">SetDouble</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keywordtype">double</span> val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">#if KUDU_INT128_SUPPORTED</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  Status SetUnscaledDecimal(<span class="keyword">const</span> Slice&amp; col_name, int128_t val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160; </div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a8500986269930b88336c36bc50328768">  146</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a8500986269930b88336c36bc50328768">SetBool</a>(<span class="keywordtype">int</span> col_idx, <span class="keywordtype">bool</span> val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
+<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#af6d10997e70e776eb353ad67abc78d79">  148</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#af6d10997e70e776eb353ad67abc78d79">SetInt8</a>(<span class="keywordtype">int</span> col_idx, int8_t val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#adb92cc301cbcc89ef46e9bebbe86c508">  149</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#adb92cc301cbcc89ef46e9bebbe86c508">SetInt16</a>(<span class="keywordtype">int</span> col_idx, int16_t val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad">  150</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad">SetInt32</a>(<span class="keywordtype">int</span> col_idx, int32_t val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a62224148c353a9eba4e19574a61fe369">  151</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a62224148c353a9eba4e19574a61fe369">SetInt64</a>(<span class="keywordtype">int</span> col_idx, int64_t val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160; </div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536">  158</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536">SetUnixTimeMicros</a>(<span class="keywordtype">int</span> col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160; </div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a">  165</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a">SetDate</a>(<span class="keywordtype">int</span> col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160; </div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ad0b76030c919b941997ffd047b12f40e">  167</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#ad0b76030c919b941997ffd047b12f40e">SetFloat</a>(<span class="keywordtype">int</span> col_idx, <span class="keywordtype">float</span> val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a7ee7f7a17437d338e58dd6a82431729d">  168</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a7ee7f7a17437d338e58dd6a82431729d">SetDouble</a>(<span class="keywordtype">int</span> col_idx, <span class="keywordtype">double</span> val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">#if KUDU_INT128_SUPPORTED</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  Status SetUnscaledDecimal(<span class="keywordtype">int</span> col_idx, int128_t val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160; </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160; </div>
+<div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3">  190</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3">SetBinary</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab">  191</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab">SetString</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160; </div>
+<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c">  203</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c">SetVarchar</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160; </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160; </div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c">  226</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c">SetBinary</a>(<span class="keywordtype">int</span> col_idx, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a0e606cb958eab0db1b12289aca255819">  227</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a0e606cb958eab0db1b12289aca255819">SetString</a>(<span class="keywordtype">int</span> col_idx, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160; </div>
+<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1">  243</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1">SetVarchar</a>(<span class="keywordtype">int</span> col_idx, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160; </div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160; </div>
+<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78">  256</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78">SetBinaryCopy</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199">  257</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199">SetStringCopy</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160; </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160; </div>
+<div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a9da30ad760f428b2d5f70a1fe4eba827">  276</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a9da30ad760f428b2d5f70a1fe4eba827">SetStringCopy</a>(<span class="keywordtype">int</span> col_idx, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35">  277</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35">SetBinaryCopy</a>(<span class="keywordtype">int</span> col_idx, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160; </div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160; </div>
+<div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">  296</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">SetBinaryNoCopy</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">  297</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">SetStringNoCopy</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160; </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160; </div>
+<div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714">  324</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714">SetVarcharNoCopyUnsafe</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160; </div>
+<div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4">  349</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4">SetVarcharNoCopyUnsafe</a>(<span class="keywordtype">int</span> col_idx, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160; </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160; </div>
+<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793">  373</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793">SetBinaryNoCopy</a>(<span class="keywordtype">int</span> col_idx, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd">  374</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd">SetStringNoCopy</a>(<span class="keywordtype">int</span> col_idx, <span class="keyword">const</span> Slice&amp; val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160; </div>
+<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5">  385</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5">SetNull</a>(<span class="keyword">const</span> Slice&amp; col_name) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160; </div>
+<div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#abeaa8d438650b7796e30e9865bb83d2f">  395</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#abeaa8d438650b7796e30e9865bb83d2f">SetNull</a>(<span class="keywordtype">int</span> col_idx) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160; </div>
+<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23">  404</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23">Unset</a>(<span class="keyword">const</span> Slice&amp; col_name) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160; </div>
+<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394">  413</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394">Unset</a>(<span class="keywordtype">int</span> col_idx) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160; </div>
+<div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8">  420</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8">IsColumnSet</a>(<span class="keyword">const</span> Slice&amp; col_name) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160; </div>
+<div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf">  427</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf">IsColumnSet</a>(<span class="keywordtype">int</span> col_idx) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160; </div>
+<div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186">  434</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186">IsNull</a>(<span class="keyword">const</span> Slice&amp; col_name) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160; </div>
+<div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648">  441</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648">IsNull</a>(<span class="keywordtype">int</span> col_idx) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160; </div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160; </div>
+<div class="line"><a name="l00457"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2">  457</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2">GetBool</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keywordtype">bool</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160; </div>
+<div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4">  459</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4">GetInt8</a>(<span class="keyword">const</span> Slice&amp; col_name, int8_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93">  460</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93">GetInt16</a>(<span class="keyword">const</span> Slice&amp; col_name, int16_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a9956360f9208549aab03d9284ff80b46">  461</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a9956360f9208549aab03d9284ff80b46">GetInt32</a>(<span class="keyword">const</span> Slice&amp; col_name, int32_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc">  462</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc">GetInt64</a>(<span class="keyword">const</span> Slice&amp; col_name, int64_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160; </div>
+<div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8">  473</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8">GetUnixTimeMicros</a>(<span class="keyword">const</span> Slice&amp; col_name,</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;                           int64_t* micros_since_utc_epoch) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160; </div>
+<div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97">  485</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97">GetDate</a>(<span class="keyword">const</span> Slice&amp; col_name, int32_t* days_since_unix_epoch) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00486"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc">  486</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc">GetFloat</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keywordtype">float</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd">  487</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd">GetDouble</a>(<span class="keyword">const</span> Slice&amp; col_name, <span class="keywordtype">double</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<span class="preprocessor">#if KUDU_INT128_SUPPORTED</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;  <span class="comment">// NOTE: The non-const version of this function is kept for backwards compatibility.</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;  Status GetUnscaledDecimal(<span class="keyword">const</span> Slice&amp; col_name, int128_t* val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;  Status GetUnscaledDecimal(<span class="keyword">const</span> Slice&amp; col_name, int128_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160; </div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160; </div>
+<div class="line"><a name="l00514"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#afd863a5f5a4803a89f6a2db06ba54931">  514</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#afd863a5f5a4803a89f6a2db06ba54931">GetBool</a>(<span class="keywordtype">int</span> col_idx, <span class="keywordtype">bool</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ada872affe8163dfa6420c0f191f9c650">  515</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#ada872affe8163dfa6420c0f191f9c650">GetInt8</a>(<span class="keywordtype">int</span> col_idx, int8_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a918cb01437d863fa0a35a9a72b7bac1a">  516</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a918cb01437d863fa0a35a9a72b7bac1a">GetInt16</a>(<span class="keywordtype">int</span> col_idx, int16_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00517"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc">  517</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc">GetInt32</a>(<span class="keywordtype">int</span> col_idx, int32_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00518"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a9ded00965652dde7d94769f01df01dc9">  518</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a9ded00965652dde7d94769f01df01dc9">GetInt64</a>(<span class="keywordtype">int</span> col_idx, int64_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160; </div>
+<div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246">  529</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246">GetUnixTimeMicros</a>(<span class="keywordtype">int</span> col_idx, int64_t* micros_since_utc_epoch) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160; </div>
+<div class="line"><a name="l00540"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#af0a4c7c7b575a9349195f4f2a8882428">  540</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#af0a4c7c7b575a9349195f4f2a8882428">GetDate</a>(<span class="keywordtype">int</span> col_idx, int32_t* days_since_unix_epoch) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00541"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a1a53cf17ad2cd746b7512ae3ecd6131f">  541</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a1a53cf17ad2cd746b7512ae3ecd6131f">GetFloat</a>(<span class="keywordtype">int</span> col_idx, <span class="keywordtype">float</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a4b4fae6f8be68e97b0e7145ea55fae9f">  542</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a4b4fae6f8be68e97b0e7145ea55fae9f">GetDouble</a>(<span class="keywordtype">int</span> col_idx, <span class="keywordtype">double</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;<span class="preprocessor">#if KUDU_INT128_SUPPORTED</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;  <span class="comment">// NOTE: The non-const version of this function is kept for backwards compatibility.</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;  Status GetUnscaledDecimal(<span class="keywordtype">int</span> col_idx, int128_t* val) WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;  Status GetUnscaledDecimal(<span class="keywordtype">int</span> col_idx, int128_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160; </div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160; </div>
+<div class="line"><a name="l00566"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee">  566</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee">GetString</a>(<span class="keyword">const</span> Slice&amp; col_name, Slice* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00567"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e">  567</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e">GetBinary</a>(<span class="keyword">const</span> Slice&amp; col_name, Slice* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00568"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d">  568</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d">GetVarchar</a>(<span class="keyword">const</span> Slice&amp; col_name, Slice* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160; </div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160; </div>
+<div class="line"><a name="l00591"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd">  591</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd">GetString</a>(<span class="keywordtype">int</span> col_idx, Slice* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a1c6b9c1cdf9f80ddeea53117ddc5545d">  592</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a1c6b9c1cdf9f80ddeea53117ddc5545d">GetBinary</a>(<span class="keywordtype">int</span> col_idx, Slice* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00593"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b">  593</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b">GetVarchar</a>(<span class="keywordtype">int</span> col_idx, Slice* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160; </div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;  <span class="comment">//------------------------------------------------------------</span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;  <span class="comment">// Key-encoding related functions</span></div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;  <span class="comment">//------------------------------------------------------------</span></div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160; </div>
+<div class="line"><a name="l00611"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2">  611</a></span>&#160;  Status <a class="code" href="classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2">EncodeRowKey</a>(std::string* encoded_key) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160; </div>
+<div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469">  619</a></span>&#160;  std::string <a class="code" href="classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469">ToEncodedRowKeyOrDie</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160; </div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;  <span class="comment">//------------------------------------------------------------</span></div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;  <span class="comment">// Utility code</span></div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;  <span class="comment">//------------------------------------------------------------</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160; </div>
+<div class="line"><a name="l00627"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1">  627</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1">IsKeySet</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160; </div>
+<div class="line"><a name="l00630"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d">  630</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d">AllColumnsSet</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160; </div>
+<div class="line"><a name="l00637"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">  637</a></span>&#160;  std::string <a class="code" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">ToString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160; </div>
+<div class="line"><a name="l00640"></a><span class="lineno"><a class="line" href="classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8">  640</a></span>&#160;  <span class="keyword">const</span> Schema* <a class="code" href="classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8">schema</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> schema_; }</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160; </div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>client::KuduWriteOperation;   <span class="comment">// for row_data_.</span></div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>client::internal::WriteRpc;   <span class="comment">// for row_data_.</span></div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>KeyUtilTest;</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>PartitionSchema;</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>RowOperationsPBDecoder;</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>RowOperationsPBEncoder;</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>ScanSpec; <span class="comment">// for Set(int32_t column_idx, const uint8_t* val)</span></div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>tools::TableScanner;</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>TestScanSpec;</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> KeyTypeWrapper&gt; <span class="keyword">friend</span> <span class="keyword">struct </span>client::SliceKeysTestSetup;</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> KeyTypeWrapper&gt; <span class="keyword">friend</span> <span class="keyword">struct </span>client::IntKeysTestSetup;</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> KeyTypeWrapper&gt; <span class="keyword">friend</span> <span class="keyword">struct </span>tablet::SliceTypeRowOps;</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> KeyTypeWrapper&gt; <span class="keyword">friend</span> <span class="keyword">struct </span>tablet::NumTypeRowOps;</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;  FRIEND_TEST(client::ClientTest, TestProjectionPredicatesFuzz);</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;  FRIEND_TEST(KeyUtilTest, TestIncrementInt128PrimaryKey);</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;  FRIEND_TEST(PartitionPrunerTest, TestIntPartialPrimaryKeyRangePruning);</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;  FRIEND_TEST(PartitionPrunerTest, TestPartialPrimaryKeyRangePruning);</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;  FRIEND_TEST(PartitionPrunerTest, TestPrimaryKeyRangePruning);</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;  FRIEND_TEST(RowOperationsTest, ProjectionTestWholeSchemaSpecified);</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;  FRIEND_TEST(RowOperationsTest, TestProjectUpdates);</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;  FRIEND_TEST(RowOperationsTest, TestProjectDeletes);</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160; </div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;  Status Set(<span class="keyword">const</span> Slice&amp; col_name, <span class="keyword">const</span> <span class="keyword">typename</span> T::cpp_type&amp; val,</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;             <span class="keywordtype">bool</span> owned = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160; </div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;  Status Set(<span class="keywordtype">int</span> col_idx, <span class="keyword">const</span> <span class="keyword">typename</span> T::cpp_type&amp; val,</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;             <span class="keywordtype">bool</span> owned = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160; </div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;  <span class="comment">// Runtime version of the generic setter.</span></div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;  Status Set(int32_t column_idx, <span class="keyword">const</span> uint8_t* val);</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160; </div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;  Status Get(<span class="keyword">const</span> Slice&amp; col_name, <span class="keyword">typename</span> T::cpp_type* val) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160; </div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;  Status Get(<span class="keywordtype">int</span> col_idx, <span class="keyword">typename</span> T::cpp_type* val) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160; </div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;  Status SetSliceCopy(<span class="keyword">const</span> Slice&amp; col_name, <span class="keyword">const</span> Slice&amp; val);</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160; </div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;  Status SetSliceCopy(<span class="keywordtype">int</span> col_idx, <span class="keyword">const</span> Slice&amp; val);</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160; </div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;  <span class="comment">// If the given column is a variable length column whose memory is owned by this instance,</span></div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;  <span class="comment">// deallocates the value.</span></div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;  <span class="comment">// NOTE: Does not mutate the isset bitmap.</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;  <span class="comment">// REQUIRES: col_idx must be a variable length column.</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;  <span class="keywordtype">void</span> DeallocateStringIfSet(<span class="keywordtype">int</span> col_idx, <span class="keyword">const</span> ColumnSchema&amp; col);</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160; </div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;  <span class="comment">// Deallocate any string/binary values whose memory is managed by this object.</span></div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;  <span class="keywordtype">void</span> DeallocateOwnedStrings();</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160; </div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;  <span class="keyword">const</span> Schema* schema_;</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160; </div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;  <span class="comment">// 1-bit set for any field which has been explicitly set. This is distinct</span></div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;  <span class="comment">// from NULL -- an &quot;unset&quot; field will take the server-side default on insert,</span></div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;  <span class="comment">// whereas a field explicitly set to NULL will override the default.</span></div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;  uint8_t* isset_bitmap_;</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160; </div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;  <span class="comment">// 1-bit set for any variable length columns whose memory is managed by this instance.</span></div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;  <span class="comment">// These strings need to be deallocated whenever the value is reset,</span></div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;  <span class="comment">// or when the instance is destructed.</span></div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;  uint8_t* owned_strings_bitmap_;</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160; </div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;  <span class="comment">// The normal &quot;contiguous row&quot; format row data. Any column whose data is unset</span></div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;  <span class="comment">// or NULL can have undefined bytes.</span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;  uint8_t* row_data_;</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;};</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160; </div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* KUDU_COMMON_PARTIAL_ROW_H */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclassKuduPartialRow_html"><div class="ttname"><a href="classKuduPartialRow.html">KuduPartialRow</a></div><div class="ttdoc">A row which may only contain values for a subset of the columns.</div><div class="ttdef"><b>Definition:</b> partial_row.h:72</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a03cab3e1aa0bef19c14f94181934181f"><div class="ttname"><a href="classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f">KuduPartialRow::operator=</a></div><div class="ttdeci">KuduPartialRow &amp; operator=(KuduPartialRow other)</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a06ca4331c1fd13caadf7346805fdfc97"><div class="ttname"><a href="classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97">KuduPartialRow::GetDate</a></div><div class="ttdeci">Status GetDate(const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a0980615e522c4e7f8c8ddf80df0ec887"><div class="ttname"><a href="classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887">KuduPartialRow::SetInt32</a></div><div class="ttdeci">Status SetInt32(const Slice &amp;col_name, int32_t val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a0c31a9a374229b15103111913c8378ee"><div class="ttname"><a href="classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee">KuduPartialRow::GetString</a></div><div class="ttdeci">Status GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a0e606cb958eab0db1b12289aca255819"><div class="ttname"><a href="classKuduPartialRow.html#a0e606cb958eab0db1b12289aca255819">KuduPartialRow::SetString</a></div><div class="ttdeci">Status SetString(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a0f3cbad9ded11b6b19815b130eb7038a"><div class="ttname"><a href="classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a">KuduPartialRow::SetUnixTimeMicros</a></div><div class="ttdeci">Status SetUnixTimeMicros(const Slice &amp;col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a185482f79abb8a276b2025129d13ab70"><div class="ttname"><a href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">KuduPartialRow::ToString</a></div><div class="ttdeci">std::string ToString() const</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a1a53cf17ad2cd746b7512ae3ecd6131f"><div class="ttname"><a href="classKuduPartialRow.html#a1a53cf17ad2cd746b7512ae3ecd6131f">KuduPartialRow::GetFloat</a></div><div class="ttdeci">Status GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a1b5c60e7a1b34f29615eb00d40e4ca35"><div class="ttname"><a href="classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35">KuduPartialRow::SetBinaryCopy</a></div><div class="ttdeci">Status SetBinaryCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a1b799f772b0524295b3d99acb246c67a"><div class="ttname"><a href="classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a">KuduPartialRow::SetDate</a></div><div class="ttdeci">Status SetDate(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a1c6b9c1cdf9f80ddeea53117ddc5545d"><div class="ttname"><a href="classKuduPartialRow.html#a1c6b9c1cdf9f80ddeea53117ddc5545d">KuduPartialRow::GetBinary</a></div><div class="ttdeci">Status GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a2a698140e257b13d559bdfc220540f73"><div class="ttname"><a href="classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73">KuduPartialRow::SetStringNoCopy</a></div><div class="ttdeci">Status SetStringNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a32617fcbfa1b7c119a6c27596ab0d648"><div class="ttname"><a href="classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648">KuduPartialRow::IsNull</a></div><div class="ttdeci">bool IsNull(int col_idx) const</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a3cb0b4c5358ac4b42551f016f8a1cad4"><div class="ttname"><a href="classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4">KuduPartialRow::GetInt8</a></div><div class="ttdeci">Status GetInt8(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a3db12a1c2807ed0e49ca2ba933248fa1"><div class="ttname"><a href="classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1">KuduPartialRow::IsKeySet</a></div><div class="ttdeci">bool IsKeySet() const</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a46bebd1ee3d723d7529c5935545f3810"><div class="ttname"><a href="classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810">KuduPartialRow::SetInt16</a></div><div class="ttdeci">Status SetInt16(const Slice &amp;col_name, int16_t val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a4b4fae6f8be68e97b0e7145ea55fae9f"><div class="ttname"><a href="classKuduPartialRow.html#a4b4fae6f8be68e97b0e7145ea55fae9f">KuduPartialRow::GetDouble</a></div><div class="ttdeci">Status GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a4bfc81d0678835bb8d97ef24f76ebda2"><div class="ttname"><a href="classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2">KuduPartialRow::EncodeRowKey</a></div><div class="ttdeci">Status EncodeRowKey(std::string *encoded_key) const</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a5aa39a18379e4339ac88138dfc5223f8"><div class="ttname"><a href="classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8">KuduPartialRow::GetUnixTimeMicros</a></div><div class="ttdeci">Status GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a5de48c13b1a83abefc0a1b5262f69a93"><div class="ttname"><a href="classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93">KuduPartialRow::GetInt16</a></div><div class="ttdeci">Status GetInt16(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a5ee25fdcff40d212e8e7cad67675c8fd"><div class="ttname"><a href="classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd">KuduPartialRow::GetDouble</a></div><div class="ttdeci">Status GetDouble(const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a613b6a91b39551b280f8fc0834fbd8a1"><div class="ttname"><a href="classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1">KuduPartialRow::SetVarchar</a></div><div class="ttdeci">Status SetVarchar(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a62224148c353a9eba4e19574a61fe369"><div class="ttname"><a href="classKuduPartialRow.html#a62224148c353a9eba4e19574a61fe369">KuduPartialRow::SetInt64</a></div><div class="ttdeci">Status SetInt64(int col_idx, int64_t val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a63f7bc57c1bc9a924466754eeac76a7b"><div class="ttname"><a href="classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b">KuduPartialRow::SetFloat</a></div><div class="ttdeci">Status SetFloat(const Slice &amp;col_name, float val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a66586a8208c3f7e90cf01fcb359a4793"><div class="ttname"><a href="classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793">KuduPartialRow::SetBinaryNoCopy</a></div><div class="ttdeci">Status SetBinaryNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a6867fbfce181081810ab2522fbf764bd"><div class="ttname"><a href="classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd">KuduPartialRow::GetString</a></div><div class="ttdeci">Status GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a691d2ce90e503f939c07f5e874d6a536"><div class="ttname"><a href="classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536">KuduPartialRow::SetUnixTimeMicros</a></div><div class="ttdeci">Status SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a6959f50b00dd3211a08e9442bbec0469"><div class="ttname"><a href="classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469">KuduPartialRow::ToEncodedRowKeyOrDie</a></div><div class="ttdeci">std::string ToEncodedRowKeyOrDie() const</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a6a87c89208b635dc275c34dea9830fdf"><div class="ttname"><a href="classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf">KuduPartialRow::IsColumnSet</a></div><div class="ttdeci">bool IsColumnSet(int col_idx) const</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a75d35ae76b436eea6ac2af27e179460f"><div class="ttname"><a href="classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f">KuduPartialRow::SetBinaryNoCopy</a></div><div class="ttdeci">Status SetBinaryNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a7ee7f7a17437d338e58dd6a82431729d"><div class="ttname"><a href="classKuduPartialRow.html#a7ee7f7a17437d338e58dd6a82431729d">KuduPartialRow::SetDouble</a></div><div class="ttdeci">Status SetDouble(int col_idx, double val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a8087c08eae65c609192c0dc0960334c2"><div class="ttname"><a href="classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2">KuduPartialRow::GetBool</a></div><div class="ttdeci">Status GetBool(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a81d62690c48e6c1bbcaa0bb8f10f553f"><div class="ttname"><a href="classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f">KuduPartialRow::SetInt8</a></div><div class="ttdeci">Status SetInt8(const Slice &amp;col_name, int8_t val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a8500986269930b88336c36bc50328768"><div class="ttname"><a href="classKuduPartialRow.html#a8500986269930b88336c36bc50328768">KuduPartialRow::SetBool</a></div><div class="ttdeci">Status SetBool(int col_idx, bool val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a869dcfb0e7847489b31b125e79e683dc"><div class="ttname"><a href="classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc">KuduPartialRow::GetInt32</a></div><div class="ttdeci">Status GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a8d00b3a45ec8612187eba6751742beab"><div class="ttname"><a href="classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab">KuduPartialRow::SetString</a></div><div class="ttdeci">Status SetString(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a8f65b552d35d23e6fc494cb1f6dcd394"><div class="ttname"><a href="classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394">KuduPartialRow::Unset</a></div><div class="ttdeci">Status Unset(int col_idx) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a918cb01437d863fa0a35a9a72b7bac1a"><div class="ttname"><a href="classKuduPartialRow.html#a918cb01437d863fa0a35a9a72b7bac1a">KuduPartialRow::GetInt16</a></div><div class="ttdeci">Status GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a9288c78e2a10cd9feb1189110e04e186"><div class="ttname"><a href="classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186">KuduPartialRow::IsNull</a></div><div class="ttdeci">bool IsNull(const Slice &amp;col_name) const</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a92a85cbf52028798b6f3c00545f82d0b"><div class="ttname"><a href="classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b">KuduPartialRow::GetVarchar</a></div><div class="ttdeci">Status GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a9956360f9208549aab03d9284ff80b46"><div class="ttname"><a href="classKuduPartialRow.html#a9956360f9208549aab03d9284ff80b46">KuduPartialRow::GetInt32</a></div><div class="ttdeci">Status GetInt32(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a9d5bdd73756eb630a7a8268677244afc"><div class="ttname"><a href="classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc">KuduPartialRow::GetFloat</a></div><div class="ttdeci">Status GetFloat(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a9da30ad760f428b2d5f70a1fe4eba827"><div class="ttname"><a href="classKuduPartialRow.html#a9da30ad760f428b2d5f70a1fe4eba827">KuduPartialRow::SetStringCopy</a></div><div class="ttdeci">Status SetStringCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a9ded00965652dde7d94769f01df01dc9"><div class="ttname"><a href="classKuduPartialRow.html#a9ded00965652dde7d94769f01df01dc9">KuduPartialRow::GetInt64</a></div><div class="ttdeci">Status GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a9eb1cbd1b216f6313a03c82ab67112e4"><div class="ttname"><a href="classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4">KuduPartialRow::KuduPartialRow</a></div><div class="ttdeci">KuduPartialRow(const Schema *schema)</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_aa144a55744bff07d34cd9db7788cb38e"><div class="ttname"><a href="classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e">KuduPartialRow::GetBinary</a></div><div class="ttdeci">Status GetBinary(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_aa58ca5345b45b8bd0f3d700d75fa661c"><div class="ttname"><a href="classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c">KuduPartialRow::SetBinary</a></div><div class="ttdeci">Status SetBinary(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_aaa665d17637cd02e53cde5c68186daf8"><div class="ttname"><a href="classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8">KuduPartialRow::IsColumnSet</a></div><div class="ttdeci">bool IsColumnSet(const Slice &amp;col_name) const</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_aac6ae9c9f8267cd6a52e46121b5f0199"><div class="ttname"><a href="classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199">KuduPartialRow::SetStringCopy</a></div><div class="ttdeci">Status SetStringCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ab328b8a04618328a7b4c72217138e246"><div class="ttname"><a href="classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246">KuduPartialRow::GetUnixTimeMicros</a></div><div class="ttdeci">Status GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ab4ebb399982edbb3e877e38a74c700f1"><div class="ttname"><a href="classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1">KuduPartialRow::KuduPartialRow</a></div><div class="ttdeci">KuduPartialRow(const KuduPartialRow &amp;other)</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ab6317b89f734b8cdef3553e2a4d17714"><div class="ttname"><a href="classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714">KuduPartialRow::SetVarcharNoCopyUnsafe</a></div><div class="ttdeci">Status SetVarcharNoCopyUnsafe(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ab65a91210596b8fffce9d0052858af20"><div class="ttname"><a href="classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20">KuduPartialRow::SetDouble</a></div><div class="ttdeci">Status SetDouble(const Slice &amp;col_name, double val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_abaa3b48abbafa7b224dbc6c199a430d4"><div class="ttname"><a href="classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4">KuduPartialRow::SetInt64</a></div><div class="ttdeci">Status SetInt64(const Slice &amp;col_name, int64_t val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_abeaa8d438650b7796e30e9865bb83d2f"><div class="ttname"><a href="classKuduPartialRow.html#abeaa8d438650b7796e30e9865bb83d2f">KuduPartialRow::SetNull</a></div><div class="ttdeci">Status SetNull(int col_idx) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ac883d7bfb3cbdb7986a18895320097ad"><div class="ttname"><a href="classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad">KuduPartialRow::SetInt32</a></div><div class="ttdeci">Status SetInt32(int col_idx, int32_t val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_accff7fc112c59b13d375de5b6fed10c4"><div class="ttname"><a href="classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4">KuduPartialRow::SetDate</a></div><div class="ttdeci">Status SetDate(const Slice &amp;col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ace5ff767150c15d8368f258cf8b4fe78"><div class="ttname"><a href="classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78">KuduPartialRow::SetBinaryCopy</a></div><div class="ttdeci">Status SetBinaryCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ad0b76030c919b941997ffd047b12f40e"><div class="ttname"><a href="classKuduPartialRow.html#ad0b76030c919b941997ffd047b12f40e">KuduPartialRow::SetFloat</a></div><div class="ttdeci">Status SetFloat(int col_idx, float val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ad25bbdf03e1ac9733df5fe9ac197469c"><div class="ttname"><a href="classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c">KuduPartialRow::SetVarchar</a></div><div class="ttdeci">Status SetVarchar(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ad823d725e2e1fef446a7f1e25ffb0a6d"><div class="ttname"><a href="classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d">KuduPartialRow::GetVarchar</a></div><div class="ttdeci">Status GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ada872affe8163dfa6420c0f191f9c650"><div class="ttname"><a href="classKuduPartialRow.html#ada872affe8163dfa6420c0f191f9c650">KuduPartialRow::GetInt8</a></div><div class="ttdeci">Status GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_adb92cc301cbcc89ef46e9bebbe86c508"><div class="ttname"><a href="classKuduPartialRow.html#adb92cc301cbcc89ef46e9bebbe86c508">KuduPartialRow::SetInt16</a></div><div class="ttdeci">Status SetInt16(int col_idx, int16_t val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_adccabf294832ba33fce80a72992f6e23"><div class="ttname"><a href="classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23">KuduPartialRow::Unset</a></div><div class="ttdeci">Status Unset(const Slice &amp;col_name) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ae4b6f159c53f0c61ca5d0ad1615deeb3"><div class="ttname"><a href="classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3">KuduPartialRow::SetBinary</a></div><div class="ttdeci">Status SetBinary(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ae64a1264303b8081cf5ee8dbd44fc6dc"><div class="ttname"><a href="classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc">KuduPartialRow::GetInt64</a></div><div class="ttdeci">Status GetInt64(const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_ae6ad2c3b84a65f3d7062fe4fcf8eb5bd"><div class="ttname"><a href="classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd">KuduPartialRow::SetStringNoCopy</a></div><div class="ttdeci">Status SetStringNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_aea33d936e05641d86fc4e647bf014b9d"><div class="ttname"><a href="classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d">KuduPartialRow::AllColumnsSet</a></div><div class="ttdeci">bool AllColumnsSet() const</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_aeca0f9adc600ac2e24918e981a47252d"><div class="ttname"><a href="classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d">KuduPartialRow::SetBool</a></div><div class="ttdeci">Status SetBool(const Slice &amp;col_name, bool val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_aedbcf22d41791c5ae28e978eb9054cc5"><div class="ttname"><a href="classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5">KuduPartialRow::SetNull</a></div><div class="ttdeci">Status SetNull(const Slice &amp;col_name) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_aee2b349bffa75f9730263a652f2a02b4"><div class="ttname"><a href="classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4">KuduPartialRow::SetVarcharNoCopyUnsafe</a></div><div class="ttdeci">Status SetVarcharNoCopyUnsafe(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_af0a4c7c7b575a9349195f4f2a8882428"><div class="ttname"><a href="classKuduPartialRow.html#af0a4c7c7b575a9349195f4f2a8882428">KuduPartialRow::GetDate</a></div><div class="ttdeci">Status GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_af6d10997e70e776eb353ad67abc78d79"><div class="ttname"><a href="classKuduPartialRow.html#af6d10997e70e776eb353ad67abc78d79">KuduPartialRow::SetInt8</a></div><div class="ttdeci">Status SetInt8(int col_idx, int8_t val) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_afd863a5f5a4803a89f6a2db06ba54931"><div class="ttname"><a href="classKuduPartialRow.html#afd863a5f5a4803a89f6a2db06ba54931">KuduPartialRow::GetBool</a></div><div class="ttdeci">Status GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_aff66c4638ad8dee78a59937592147fd8"><div class="ttname"><a href="classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8">KuduPartialRow::schema</a></div><div class="ttdeci">const Schema * schema() const</div><div class="ttdef"><b>Definition:</b> partial_row.h:640</div></div>
+<div class="ttc" id="astatus_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/resource__metrics_8h_source.html b/releases/1.15.0/cpp-client-api/resource__metrics_8h_source.html
new file mode 100644
index 0000000..af84672
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/resource__metrics_8h_source.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/resource_metrics.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">resource_metrics.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_RESOURCE_METRICS_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_RESOURCE_METRICS_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">// NOTE: using stdint.h instead of cstdint because this file is supposed</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">//       to be processed by a compiler lacking C++11 support.</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/port.h&quot;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1ResourceMetrics.html">   39</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1ResourceMetrics.html">ResourceMetrics</a> {</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <a class="code" href="classkudu_1_1client_1_1ResourceMetrics.html">ResourceMetrics</a>();</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1ResourceMetrics.html">ResourceMetrics</a>();</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936">   47</a></span>&#160;  std::map&lt;std::string, int64_t&gt; <a class="code" href="classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936">Get</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;This function will become private in a future release.&quot;</span>)</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a">   57</a></span>&#160;  void Increment(const std::<span class="keywordtype">string</span>&amp; name, int64_t amount);</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc">   64</a></span>&#160;  int64_t GetMetric(const std::<span class="keywordtype">string</span>&amp; name) const;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; private:</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  class KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;};</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160; </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2456</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1ResourceMetrics_html"><div class="ttname"><a href="classkudu_1_1client_1_1ResourceMetrics.html">kudu::client::ResourceMetrics</a></div><div class="ttdoc">A generic catalog of simple metrics.</div><div class="ttdef"><b>Definition:</b> resource_metrics.h:39</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1ResourceMetrics_html_ae46eb43e391c642b521fb6febcaea936"><div class="ttname"><a href="classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936">kudu::client::ResourceMetrics::Get</a></div><div class="ttdeci">std::map&lt; std::string, int64_t &gt; Get() const</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/row__result_8h_source.html b/releases/1.15.0/cpp-client-api/row__result_8h_source.html
new file mode 100644
index 0000000..ced2e68
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/row__result_8h_source.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/row_result.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">row_result.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_ROW_RESULT_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_ROW_RESULT_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;kudu/client/scan_batch.h&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> KuduRowResult;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a92bbfa48e9b503181c2dfb5f11f14e4e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">kudu::client::KuduScanBatch::RowPtr</a></div><div class="ttdeci">RowPtr()</div><div class="ttdef"><b>Definition:</b> scan_batch.h:167</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/scan__batch_8h_source.html b/releases/1.15.0/cpp-client-api/scan__batch_8h_source.html
new file mode 100644
index 0000000..36abc11
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/scan__batch_8h_source.html
@@ -0,0 +1,353 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/scan_batch.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">scan_batch.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_SCAN_BATCH_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_SCAN_BATCH_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">// NOTE: using stdint.h instead of cstdint because this file is supposed</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">//       to be processed by a compiler lacking C++11 support.</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;iterator&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/macros.h&quot;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/port.h&quot;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;kudu/util/int128.h&quot;</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;kudu/util/slice.h&quot;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="status_8h.html">kudu/util/status.h</a>&quot;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">class </span>Schema;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">namespace </span>tools {</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">class </span>ReplicaDumper;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">class </span>TableScanner;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;} <span class="comment">// namespace tools</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">class </span>KuduSchema;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html">   84</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a> {</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="keyword">class </span>RowPtr;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keyword">class </span>const_iterator;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
+<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467">  101</a></span>&#160;  <span class="keyword">typedef</span> RowPtr <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467">value_type</a>;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a>();</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a>();</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c">  107</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c">NumRows</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320">  116</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320">Row</a>(<span class="keywordtype">int</span> idx) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  const_iterator begin() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  const_iterator end() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324">  126</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>* <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324">projection_schema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992">  144</a></span>&#160;  <a class="code" href="classkudu_1_1Slice.html">Slice</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992">direct_data</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; </div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989">  151</a></span>&#160;  <a class="code" href="classkudu_1_1Slice.html">Slice</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989">indirect_data</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>tools::ReplicaDumper;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160; </div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a>);</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;};</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160; </div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a>::RowPtr {</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">  167</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">RowPtr</a>() : schema_(NULL), row_data_(NULL) {}</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160; </div>
+<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf">  173</a></span>&#160;  <span class="keyword">const</span> RowPtr* <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf">operator-&gt;</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  }</div>
+<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047">  179</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047">IsNull</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160; </div>
+<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520">  184</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520">IsNull</a>(<span class="keywordtype">int</span> col_idx) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3">  192</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3">IsDeleted</a>(<span class="keywordtype">bool</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160; </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160; </div>
+<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8">  206</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8">GetBool</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, <span class="keywordtype">bool</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b">  207</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b">GetInt8</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, int8_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037">  208</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037">GetInt16</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, int16_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2">  209</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2">GetInt32</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, int32_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0">  210</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0">GetInt64</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, int64_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3">  220</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3">GetUnixTimeMicros</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name,</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;                           int64_t* micros_since_utc_epoch) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb">  231</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb">GetDate</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, int32_t* days_since_unix_epoch) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3">  232</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3">GetFloat</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, <span class="keywordtype">float</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0">  233</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0">GetDouble</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, <span class="keywordtype">double</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor">#if KUDU_INT128_SUPPORTED</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> GetUnscaledDecimal(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, int128_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160; </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160; </div>
+<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a4b1044c3b78e5a6407c2a797005b0e21">  256</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a4b1044c3b78e5a6407c2a797005b0e21">GetBool</a>(<span class="keywordtype">int</span> col_idx, <span class="keywordtype">bool</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a81a30b5b89f6fa106b5d8575c3fb62b9">  257</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a81a30b5b89f6fa106b5d8575c3fb62b9">GetInt8</a>(<span class="keywordtype">int</span> col_idx, int8_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#ab5f35c107dc26165546065189dd53dfa">  258</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#ab5f35c107dc26165546065189dd53dfa">GetInt16</a>(<span class="keywordtype">int</span> col_idx, int16_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#ab321b8c245cc1748c3b3ecdf507b08fb">  259</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#ab321b8c245cc1748c3b3ecdf507b08fb">GetInt32</a>(<span class="keywordtype">int</span> col_idx, int32_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#ab59039c6f073df0b57ddc16fb8d8c432">  260</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#ab59039c6f073df0b57ddc16fb8d8c432">GetInt64</a>(<span class="keywordtype">int</span> col_idx, int64_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7">  271</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7">GetUnixTimeMicros</a>(<span class="keywordtype">int</span> col_idx, int64_t* micros_since_utc_epoch) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#afed25c9aadd0c6314aa3dd0acee9da54">  282</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#afed25c9aadd0c6314aa3dd0acee9da54">GetDate</a>(<span class="keywordtype">int</span> col_idx, int32_t* days_since_unix_epoch) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#ae41dd0f1e2b4bf074ded210382b825bd">  283</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#ae41dd0f1e2b4bf074ded210382b825bd">GetFloat</a>(<span class="keywordtype">int</span> col_idx, <span class="keywordtype">float</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#ab2b7fb17cac4571139b2eaca761a99c0">  284</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#ab2b7fb17cac4571139b2eaca761a99c0">GetDouble</a>(<span class="keywordtype">int</span> col_idx, <span class="keywordtype">double</span>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="preprocessor">#if KUDU_INT128_SUPPORTED</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> GetUnscaledDecimal(<span class="keywordtype">int</span> col_idx, int128_t* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160; </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160; </div>
+<div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7">  306</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7">GetString</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, <a class="code" href="classkudu_1_1Slice.html">Slice</a>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b">  307</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b">GetBinary</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, <a class="code" href="classkudu_1_1Slice.html">Slice</a>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb">  308</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb">GetVarchar</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, <a class="code" href="classkudu_1_1Slice.html">Slice</a>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160; </div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160; </div>
+<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56">  331</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56">GetString</a>(<span class="keywordtype">int</span> col_idx, <a class="code" href="classkudu_1_1Slice.html">Slice</a>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a921dfdeba21588f7a3c2d5e360d3268e">  332</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a921dfdeba21588f7a3c2d5e360d3268e">GetBinary</a>(<span class="keywordtype">int</span> col_idx, <a class="code" href="classkudu_1_1Slice.html">Slice</a>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b">  333</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b">GetVarchar</a>(<span class="keywordtype">int</span> col_idx, <a class="code" href="classkudu_1_1Slice.html">Slice</a>* val) <span class="keyword">const</span> WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160; </div>
+<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af">  342</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">void</span>* <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af">cell</a>(<span class="keywordtype">int</span> col_idx) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160; </div>
+<div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3">  345</a></span>&#160;  std::string <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3">ToString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160; </div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a>;</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>tools::TableScanner;</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> KeyTypeWrapper&gt; <span class="keyword">friend</span> <span class="keyword">struct </span>SliceKeysTestSetup;</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> KeyTypeWrapper&gt; <span class="keyword">friend</span> <span class="keyword">struct </span>IntKeysTestSetup;</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160; </div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;  <span class="comment">// Only invoked by KuduScanner.</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;  RowPtr(<span class="keyword">const</span> Schema* schema,</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;         <span class="keyword">const</span> uint8_t* row_data)</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;      : schema_(schema),</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        row_data_(row_data) {</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;  }</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160; </div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> Get(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; col_name, <span class="keyword">typename</span> T::cpp_type* val) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160; </div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> Get(<span class="keywordtype">int</span> col_idx, <span class="keyword">typename</span> T::cpp_type* val) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160; </div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  <span class="keyword">const</span> Schema* schema_;</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;  <span class="keyword">const</span> uint8_t* row_data_;</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;};</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160; </div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="keyword">class </span>KUDU_EXPORT KuduScanBatch::const_iterator</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    : <span class="keyword">public</span> std::iterator&lt;std::forward_iterator_tag, KuduScanBatch::RowPtr&gt; {</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;  ~const_iterator() {}</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160; </div>
+<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9">  376</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9">operator*</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="keywordflow">return</span> batch_-&gt;Row(idx_);</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;  }</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160; </div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160; </div>
+<div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b">  386</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">KuduScanBatch::RowPtr</a> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b">operator-&gt;</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    <span class="keywordflow">return</span> batch_-&gt;Row(idx_);</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;  }</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160; </div>
+<div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c">  393</a></span>&#160;  const_iterator&amp; <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c">operator++</a>() {</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    ++idx_;</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;  }</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160; </div>
+<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48">  401</a></span>&#160;  const_iterator <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48">operator++</a>(<span class="keywordtype">int</span>) {</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    const_iterator tmp(batch_, idx_);</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    ++idx_;</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    <span class="keywordflow">return</span> tmp;</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;  }</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160; </div>
+<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63">  413</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63">operator==</a>(<span class="keyword">const</span> const_iterator&amp; other)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    <span class="keywordflow">return</span> (idx_ == other.idx_) &amp;&amp; (batch_ == other.batch_);</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;  }</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160; </div>
+<div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0">  424</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0">operator!=</a>(<span class="keyword">const</span> const_iterator&amp; other)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == other);</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;  }</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160; </div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a>;</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;  const_iterator(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html">KuduScanBatch</a>* b, <span class="keywordtype">int</span> idx)</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;      : batch_(b),</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        idx_(idx) {</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;  }</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160; </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;  <span class="keyword">const</span> KuduScanBatch* <span class="keyword">const</span> batch_;</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;  <span class="keywordtype">int</span> idx_;</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;};</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160; </div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160; </div>
+<div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21">  440</a></span>&#160;<span class="keyword">inline</span> KuduScanBatch::const_iterator <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21">KuduScanBatch::begin</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;  <span class="keywordflow">return</span> const_iterator(<span class="keyword">this</span>, 0);</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;}</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160; </div>
+<div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c">  444</a></span>&#160;<span class="keyword">inline</span> KuduScanBatch::const_iterator <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c">KuduScanBatch::end</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;  <span class="keywordflow">return</span> const_iterator(<span class="keyword">this</span>, <a class="code" href="classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c">NumRows</a>());</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;}</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160; </div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160; </div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html"><div class="ttname"><a href="classkudu_1_1Slice.html">kudu::Slice</a></div><div class="ttdoc">A wrapper around externally allocated data.</div><div class="ttdef"><b>Definition:</b> slice.h:51</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html"><div class="ttname"><a href="classkudu_1_1Status.html">kudu::Status</a></div><div class="ttdoc">A representation of an operation's outcome.</div><div class="ttdef"><b>Definition:</b> status.h:165</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html">kudu::client::KuduScanBatch</a></div><div class="ttdoc">A batch of zero or more rows returned by a scan operation.</div><div class="ttdef"><b>Definition:</b> scan_batch.h:84</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a09bfd1652c0ab153ca6759317c3d3992"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992">kudu::client::KuduScanBatch::direct_data</a></div><div class="ttdeci">Slice direct_data() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a0c99e4ac2a6b822e693fe7c6625cb324"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324">kudu::client::KuduScanBatch::projection_schema</a></div><div class="ttdeci">const KuduSchema * projection_schema() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a110b51d5b7544a30c854ad64db19450b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b">kudu::client::KuduScanBatch::GetVarchar</a></div><div class="ttdeci">Status GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a160ee809dbe15fa456c509ef658368bb"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb">kudu::client::KuduScanBatch::GetDate</a></div><div class="ttdeci">Status GetDate(const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a252ffd623dbaa7d725d623fd220fee4c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c">kudu::client::KuduScanBatch::NumRows</a></div><div class="ttdeci">int NumRows() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a291fde9bf246b6f9277edb8d8ef214bb"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb">kudu::client::KuduScanBatch::GetVarchar</a></div><div class="ttdeci">Status GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a2bf8a53b3486a8b7c62b8d38d5f64ef0"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0">kudu::client::KuduScanBatch::operator!=</a></div><div class="ttdeci">bool operator!=(const const_iterator &amp;other) const</div><div class="ttdef"><b>Definition:</b> scan_batch.h:424</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a2c1f65ffcc1216f583f3ad1b468021f3"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3">kudu::client::KuduScanBatch::IsDeleted</a></div><div class="ttdeci">Status IsDeleted(bool *val) const WARN_UNUSED_RESULT KUDU_NO_EXPORT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a2fc063d4fb631b14f5651a84861ffa4b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b">kudu::client::KuduScanBatch::GetBinary</a></div><div class="ttdeci">Status GetBinary(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a2ff4e572251b5873491dfe827ec2c5af"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af">kudu::client::KuduScanBatch::cell</a></div><div class="ttdeci">const void * cell(int col_idx) const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a3b1a867cf2fd47b697fe3a68e28fadd8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8">kudu::client::KuduScanBatch::GetBool</a></div><div class="ttdeci">Status GetBool(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a3cb4c17aa228e680ecf088a29a075989"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989">kudu::client::KuduScanBatch::indirect_data</a></div><div class="ttdeci">Slice indirect_data() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a3f6366606eec7f0d0a8953ff6a81c320"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320">kudu::client::KuduScanBatch::Row</a></div><div class="ttdeci">KuduScanBatch::RowPtr Row(int idx) const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a4b1044c3b78e5a6407c2a797005b0e21"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a4b1044c3b78e5a6407c2a797005b0e21">kudu::client::KuduScanBatch::GetBool</a></div><div class="ttdeci">Status GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a4b1ad47fd7d429859b6181825a063c48"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48">kudu::client::KuduScanBatch::operator++</a></div><div class="ttdeci">const_iterator operator++(int)</div><div class="ttdef"><b>Definition:</b> scan_batch.h:401</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a51d43f077b4510b58a2fd471ae81f7b0"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0">kudu::client::KuduScanBatch::GetInt64</a></div><div class="ttdeci">Status GetInt64(const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a54bc996032e6b5bc0df0962d821c113c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c">kudu::client::KuduScanBatch::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> scan_batch.h:444</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a5fd788bcce7344ebe1fe33f22c734ab9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9">kudu::client::KuduScanBatch::operator*</a></div><div class="ttdeci">KuduScanBatch::RowPtr operator*() const</div><div class="ttdef"><b>Definition:</b> scan_batch.h:376</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a63aa794845d41cc5251ee5d30547e520"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520">kudu::client::KuduScanBatch::IsNull</a></div><div class="ttdeci">bool IsNull(int col_idx) const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a654b2572d33e8b45836527e7b63dac21"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21">kudu::client::KuduScanBatch::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> scan_batch.h:440</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a70ea98bc135e0b86285530c58e33bff3"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3">kudu::client::KuduScanBatch::GetFloat</a></div><div class="ttdeci">Status GetFloat(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a71f62ba8531f6415e9c5cb22621fa84b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b">kudu::client::KuduScanBatch::operator-&gt;</a></div><div class="ttdeci">KuduScanBatch::RowPtr operator-&gt;() const</div><div class="ttdef"><b>Definition:</b> scan_batch.h:386</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a78f4a33eed6ee9031c1b04146d124a63"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63">kudu::client::KuduScanBatch::operator==</a></div><div class="ttdeci">bool operator==(const const_iterator &amp;other) const</div><div class="ttdef"><b>Definition:</b> scan_batch.h:413</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a7bfea7b94e64073562892445a2a2ac7b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b">kudu::client::KuduScanBatch::GetInt8</a></div><div class="ttdeci">Status GetInt8(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a7d09dafc214133f2306eebc9aefddff0"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0">kudu::client::KuduScanBatch::GetDouble</a></div><div class="ttdeci">Status GetDouble(const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a81a30b5b89f6fa106b5d8575c3fb62b9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a81a30b5b89f6fa106b5d8575c3fb62b9">kudu::client::KuduScanBatch::GetInt8</a></div><div class="ttdeci">Status GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a887dd6b7e20ada26ee705c315fd86b56"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56">kudu::client::KuduScanBatch::GetString</a></div><div class="ttdeci">Status GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a921dfdeba21588f7a3c2d5e360d3268e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a921dfdeba21588f7a3c2d5e360d3268e">kudu::client::KuduScanBatch::GetBinary</a></div><div class="ttdeci">Status GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_a92bbfa48e9b503181c2dfb5f11f14e4e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e">kudu::client::KuduScanBatch::RowPtr</a></div><div class="ttdeci">RowPtr()</div><div class="ttdef"><b>Definition:</b> scan_batch.h:167</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_ab2b7fb17cac4571139b2eaca761a99c0"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#ab2b7fb17cac4571139b2eaca761a99c0">kudu::client::KuduScanBatch::GetDouble</a></div><div class="ttdeci">Status GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_ab321b8c245cc1748c3b3ecdf507b08fb"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#ab321b8c245cc1748c3b3ecdf507b08fb">kudu::client::KuduScanBatch::GetInt32</a></div><div class="ttdeci">Status GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_ab59039c6f073df0b57ddc16fb8d8c432"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#ab59039c6f073df0b57ddc16fb8d8c432">kudu::client::KuduScanBatch::GetInt64</a></div><div class="ttdeci">Status GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_ab5f35c107dc26165546065189dd53dfa"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#ab5f35c107dc26165546065189dd53dfa">kudu::client::KuduScanBatch::GetInt16</a></div><div class="ttdeci">Status GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_abc5120c7aadb029e442235a7131f6fd2"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2">kudu::client::KuduScanBatch::GetInt32</a></div><div class="ttdeci">Status GetInt32(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_aca10e03eeb078908c09e552cceb1e4c3"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3">kudu::client::KuduScanBatch::ToString</a></div><div class="ttdeci">std::string ToString() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_acc4dfced2215c5115fecb647fa73e4e7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7">kudu::client::KuduScanBatch::GetUnixTimeMicros</a></div><div class="ttdeci">Status GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_ad0dc62a642d513742785152e39c0ddaf"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf">kudu::client::KuduScanBatch::operator-&gt;</a></div><div class="ttdeci">const RowPtr * operator-&gt;() const</div><div class="ttdef"><b>Definition:</b> scan_batch.h:173</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_ad1bdf4368f87e0d83d9066584b2b2047"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047">kudu::client::KuduScanBatch::IsNull</a></div><div class="ttdeci">bool IsNull(const Slice &amp;col_name) const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_ad5df483ed3172caab5a8d6a72abfad0c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c">kudu::client::KuduScanBatch::operator++</a></div><div class="ttdeci">const_iterator &amp; operator++()</div><div class="ttdef"><b>Definition:</b> scan_batch.h:393</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_ad8f9ba0ff9a1fcd8326b012e689ad4a7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7">kudu::client::KuduScanBatch::GetString</a></div><div class="ttdeci">Status GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_ae1261a486faa04d0c984b50132e0a4a3"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3">kudu::client::KuduScanBatch::GetUnixTimeMicros</a></div><div class="ttdeci">Status GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_ae1a827120c84eeedb703451bd5782467"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467">kudu::client::KuduScanBatch::value_type</a></div><div class="ttdeci">RowPtr value_type</div><div class="ttdoc">A handy typedef for the RowPtr.</div><div class="ttdef"><b>Definition:</b> scan_batch.h:98</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_ae41dd0f1e2b4bf074ded210382b825bd"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#ae41dd0f1e2b4bf074ded210382b825bd">kudu::client::KuduScanBatch::GetFloat</a></div><div class="ttdeci">Status GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_afbaff6bf597df2fa0696bdc5cbdfb037"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037">kudu::client::KuduScanBatch::GetInt16</a></div><div class="ttdeci">Status GetInt16(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanBatch_html_afed25c9aadd0c6314aa3dd0acee9da54"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanBatch.html#afed25c9aadd0c6314aa3dd0acee9da54">kudu::client::KuduScanBatch::GetDate</a></div><div class="ttdeci">Status GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2456</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></div><div class="ttdoc">A representation of a table's schema.</div><div class="ttdef"><b>Definition:</b> schema.h:616</div></div>
+<div class="ttc" id="astatus_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/scan__predicate_8h_source.html b/releases/1.15.0/cpp-client-api/scan__predicate_8h_source.html
new file mode 100644
index 0000000..32d63b8
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/scan__predicate_8h_source.html
@@ -0,0 +1,215 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/scan_predicate.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">scan_predicate.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_SCAN_PREDICATE_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_SCAN_PREDICATE_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/macros.h&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;kudu/util/slice.h&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">// NOTE: using stdint.h instead of cstdint because this file is supposed</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">//       to be processed by a compiler lacking C++11 support.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;kudu/client/hash.h&quot;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="status_8h.html">kudu/util/status.h</a>&quot;</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPredicate.html">   43</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a> {</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">   46</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">ComparisonOp</a> {</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    LESS_EQUAL,</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    GREATER_EQUAL,</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    EQUAL,</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    LESS,</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    GREATER,</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  };</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>();</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670">   57</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>* <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670">Clone</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>ComparisonPredicateData;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>ErrorPredicateData;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>InListPredicateData;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>IsNotNullPredicateData;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>IsNullPredicateData;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>ScanConfiguration;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>(Data* d);</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduPredicate.html">KuduPredicate</a>);</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;};</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160; </div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduBloomFilter.html">   92</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a> {</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a>();</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678">  100</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678">Insert</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; key);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>InBloomFilterPredicateData;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a>;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="comment">// Owned ptr as per the PIMPL pattern.</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a>* Clone() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a>();</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a>(Data* other_data);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a>);</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;};</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; </div>
+<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">  131</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a> {</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4">  135</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4">KuduBloomFilterBuilder</a>(<span class="keywordtype">size_t</span> num_keys);</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a>();</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; </div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7">  142</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7">false_positive_probability</a>(<span class="keywordtype">double</span> fpp);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
+<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57">  149</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57">hash_algorithm</a>(HashAlgorithm hash_algorithm);</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160; </div>
+<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356">  156</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356">hash_seed</a>(uint32_t hash_seed);</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160; </div>
+<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a">  166</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a">Build</a>(<a class="code" href="classkudu_1_1client_1_1KuduBloomFilter.html">KuduBloomFilter</a>** bloom_filter);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160; </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160; </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  <span class="comment">// Owned ptr as per the PIMPL pattern.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160; </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">KuduBloomFilterBuilder</a>);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;};</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160; </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// KUDU_CLIENT_SCAN_PREDICATE_H</span></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html"><div class="ttname"><a href="classkudu_1_1Slice.html">kudu::Slice</a></div><div class="ttdoc">A wrapper around externally allocated data.</div><div class="ttdef"><b>Definition:</b> slice.h:51</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html"><div class="ttname"><a href="classkudu_1_1Status.html">kudu::Status</a></div><div class="ttdoc">A representation of an operation's outcome.</div><div class="ttdef"><b>Definition:</b> status.h:165</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduBloomFilterBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html">kudu::client::KuduBloomFilterBuilder</a></div><div class="ttdoc">Builder class to help build KuduBloomFilter to be used with IN Bloom filter predicate.</div><div class="ttdef"><b>Definition:</b> scan_predicate.h:131</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduBloomFilterBuilder_html_a1a72fd2c18e62054a64b2900fa6c4356"><div class="ttname"><a href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356">kudu::client::KuduBloomFilterBuilder::hash_seed</a></div><div class="ttdeci">KuduBloomFilterBuilder &amp; hash_seed(uint32_t hash_seed)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduBloomFilterBuilder_html_a4da74bd04dac54419fc0495cd25c70f4"><div class="ttname"><a href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4">kudu::client::KuduBloomFilterBuilder::KuduBloomFilterBuilder</a></div><div class="ttdeci">KuduBloomFilterBuilder(size_t num_keys)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduBloomFilterBuilder_html_a8f904340426aebb071f66a1964438ff7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7">kudu::client::KuduBloomFilterBuilder::false_positive_probability</a></div><div class="ttdeci">KuduBloomFilterBuilder &amp; false_positive_probability(double fpp)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduBloomFilterBuilder_html_a90bf3b2387dd08cbbeda59497ceeee6a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a">kudu::client::KuduBloomFilterBuilder::Build</a></div><div class="ttdeci">Status Build(KuduBloomFilter **bloom_filter)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduBloomFilterBuilder_html_aa314b4febf56d1ff450d95134457da57"><div class="ttname"><a href="classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57">kudu::client::KuduBloomFilterBuilder::hash_algorithm</a></div><div class="ttdeci">KuduBloomFilterBuilder &amp; hash_algorithm(HashAlgorithm hash_algorithm)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduBloomFilter_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduBloomFilter.html">kudu::client::KuduBloomFilter</a></div><div class="ttdoc">Bloom filter to be used with IN Bloom filter predicate.</div><div class="ttdef"><b>Definition:</b> scan_predicate.h:92</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduBloomFilter_html_aff2d94e3e2b1013174d7bad35e93b678"><div class="ttname"><a href="classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678">kudu::client::KuduBloomFilter::Insert</a></div><div class="ttdeci">void Insert(const Slice &amp;key)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPredicate_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPredicate.html">kudu::client::KuduPredicate</a></div><div class="ttdoc">A representation of comparison predicate for Kudu queries.</div><div class="ttdef"><b>Definition:</b> scan_predicate.h:43</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPredicate_html_a04cb09a481c3b94f249d81d2fd3d7670"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670">kudu::client::KuduPredicate::Clone</a></div><div class="ttdeci">KuduPredicate * Clone() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduPredicate_html_ad58e80ced596d7738f99b5b83ba24eb4"><div class="ttname"><a href="classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4">kudu::client::KuduPredicate::ComparisonOp</a></div><div class="ttdeci">ComparisonOp</div><div class="ttdoc">Supported comparison operators.</div><div class="ttdef"><b>Definition:</b> scan_predicate.h:46</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></div><div class="ttdoc">A representation of a table on a particular cluster.</div><div class="ttdef"><b>Definition:</b> client.h:1389</div></div>
+<div class="ttc" id="astatus_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/schema_8h_source.html b/releases/1.15.0/cpp-client-api/schema_8h_source.html
new file mode 100644
index 0000000..6c972d9
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/schema_8h_source.html
@@ -0,0 +1,532 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/schema.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">schema.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_SCHEMA_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_SCHEMA_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">// NOTE: using stdint.h instead of cstdint because this file is supposed</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">//       to be processed by a compiler lacking C++11 support.</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;gtest/gtest_prod.h&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/port.h&quot;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="status_8h.html">kudu/util/status.h</a>&quot;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">class </span>ColumnSchema;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">class </span><a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">class </span>Schema;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">class </span>Slice;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">struct </span>ColumnSchemaDelta;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">namespace </span>tools {</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">class </span>RemoteKsckCluster;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">class </span>ReplicaDumper;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;}</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">namespace </span>internal {</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">class </span>GetTableSchemaRpc;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">class </span>LookupRpc;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">class </span>MetaCache;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">class </span>MetaCacheEntry;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">class </span>WriteRpc;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;} <span class="comment">// namespace internal</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">class </span>KuduSchema;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">class </span>KuduValue;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">   67</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> {</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>();</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae">   75</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae">KuduColumnTypeAttributes</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>&amp; other);</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4">   83</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4">KuduColumnTypeAttributes</a>(int8_t precision, int8_t scale);</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160; </div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe">   89</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe">KuduColumnTypeAttributes</a>(uint16_t length);</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>();</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
+<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7">   99</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7">operator=</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>&amp; other);</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
+<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c">  103</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c">CopyFrom</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>&amp; other);</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1">  107</a></span>&#160;  int8_t <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1">precision</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
+<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567">  110</a></span>&#160;  int8_t <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567">scale</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
+<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04">  113</a></span>&#160;  uint16_t <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04">length</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>(int8_t precision, int8_t scale, uint16_t length);</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;};</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
+<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">  129</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">KuduColumnStorageAttributes</a> {</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">  132</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a> {</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    AUTO_ENCODING = 0,</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    PLAIN_ENCODING = 1,</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    PREFIX_ENCODING = 2,</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    RLE = 4,</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    DICT_ENCODING = 5,</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    BIT_SHUFFLE = 6,</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    GROUP_VARINT = 3</div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82">  143</a></span>&#160;  };</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">  146</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a> {</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    DEFAULT_COMPRESSION = 0,</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    NO_COMPRESSION = 1,</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    SNAPPY = 2,</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    LZ4 = 3,</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    ZLIB = 4,</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  };</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
+<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab">  166</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab">KuduColumnStorageAttributes</a>(</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a> encoding = AUTO_ENCODING,</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a> compression = DEFAULT_COMPRESSION,</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;      int32_t block_size = 0)</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;      ATTRIBUTE_DEPRECATED(&quot;this constructor will be private in a future release&quot;)</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      : encoding_(encoding),</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        compression_(compression),</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        block_size_(block_size) {</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  }</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; </div>
+<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b">  177</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a> <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b">encoding</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keywordflow">return</span> encoding_;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  }</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160; </div>
+<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554">  182</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a> <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554">compression</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <span class="keywordflow">return</span> compression_;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  }</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160; </div>
+<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11">  187</a></span>&#160;  std::string <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11">ToString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160; </div>
+<div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db">  195</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db">StringToEncodingType</a>(<span class="keyword">const</span> std::string&amp; encoding,</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a>* type);</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160; </div>
+<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af">  204</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af">StringToCompressionType</a>(<span class="keyword">const</span> std::string&amp; compression,</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a>* type);</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160; </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">EncodingType</a> encoding_;</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">CompressionType</a> compression_;</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  int32_t block_size_;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;};</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160; </div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html">  214</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> {</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">  217</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> {</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    INT8 = 0,</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    INT16 = 1,</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    INT32 = 2,</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    INT64 = 3,</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    STRING = 4,</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    BOOL = 5,</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    FLOAT = 6,</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    DOUBLE = 7,</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    BINARY = 8,</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    UNIXTIME_MICROS = 9,</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    DECIMAL = 10,</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    VARCHAR = 11,</div>
+<div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505">  230</a></span>&#160;    TIMESTAMP = UNIXTIME_MICROS, </div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    DATE = 12</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  };</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160; </div>
+<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c">  237</a></span>&#160;  <span class="keyword">static</span> std::string <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c">DataTypeToString</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> type);</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160; </div>
+<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8">  244</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8">StringToDataType</a>(<span class="keyword">const</span> std::string&amp; type_str, <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a>* type);</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160; </div>
+<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872">  250</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872">KuduColumnSchema</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; other);</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>();</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160; </div>
+<div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e">  258</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e">operator=</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; other);</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160; </div>
+<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">  264</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">CopyFrom</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; other);</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160; </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="keywordtype">bool</span> Equals(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; other) <span class="keyword">const</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;use operator==(const KuduColumnSchema&amp;) instead&quot;</span>);</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160; </div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; rhs) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160; </div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;  <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>&amp; rhs) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160; </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  <span class="keyword">const</span> std::string&amp; name() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160; </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> type() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;  <span class="keywordtype">bool</span> is_nullable() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160; </div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a> type_attributes() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160; </div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;  <span class="keyword">const</span> std::string&amp; comment() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160; </div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>;</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>;</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>;</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;  <span class="comment">// KuduTableAlterer::Data needs to be a friend. Friending the parent class</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  <span class="comment">// is transitive to nested classes. See https://s.apache.org/inner-class-friends</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>;</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160; </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  FRIEND_TEST(KuduColumnSchemaTest, TestEquals);</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160; </div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>();</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160; </div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor">#if defined(__clang__) || \</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="preprocessor">  (defined(__GNUC__) &amp;&amp; (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) &gt;= 40600)</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">#pragma GCC diagnostic push</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor">#pragma GCC diagnostic ignored &quot;-Wdeprecated-declarations&quot;</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>(</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;      <span class="keyword">const</span> std::string &amp;name,</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;      <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">DataType</a> type,</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;      <span class="keywordtype">bool</span> is_nullable = <span class="keyword">false</span>,</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">void</span>* default_value = NULL, <span class="comment">//NOLINT(modernize-use-nullptr)</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;      <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">KuduColumnStorageAttributes</a>&amp; storage_attributes = <a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">KuduColumnStorageAttributes</a>(),</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;      <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>&amp; type_attributes = <a class="code" href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">KuduColumnTypeAttributes</a>(),</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;      <span class="keyword">const</span> std::string&amp; comment = <span class="stringliteral">&quot;&quot;</span>);</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor">#if defined(__clang__) || \</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">  (defined(__GNUC__) &amp;&amp; (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) &gt;= 40600)</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">#pragma GCC diagnostic pop</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160; </div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  ColumnSchema* col_;</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;};</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160; </div>
+<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html">  360</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a> {</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7">  373</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7">Default</a>(<a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* value);</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160; </div>
+<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b">  380</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b">Compression</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">KuduColumnStorageAttributes::CompressionType</a> compression);</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160; </div>
+<div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97">  389</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97">Encoding</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">KuduColumnStorageAttributes::EncodingType</a> encoding);</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160; </div>
+<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">  410</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">BlockSize</a>(int32_t block_size);</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160; </div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160; </div>
+<div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb">  430</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb">Precision</a>(int8_t precision);</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160; </div>
+<div class="line"><a name="l00447"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">  447</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">Scale</a>(int8_t scale);</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160; </div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160; </div>
+<div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd">  465</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd">Length</a>(uint16_t length);</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160; </div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160; </div>
+<div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">  480</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">PrimaryKey</a>();</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160; </div>
+<div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca">  487</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca">NotNull</a>();</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160; </div>
+<div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">  494</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">Nullable</a>();</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160; </div>
+<div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">  503</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">Type</a>(<a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">KuduColumnSchema::DataType</a> type);</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160; </div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160; </div>
+<div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82">  515</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82">RemoveDefault</a>();</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160; </div>
+<div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4">  522</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4">RenameTo</a>(<span class="keyword">const</span> std::string&amp; new_name);</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160; </div>
+<div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">  530</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">Comment</a>(<span class="keyword">const</span> std::string&amp; comment);</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160; </div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160; </div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>;</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduTableAlterer.html">KuduTableAlterer</a>;</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160; </div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;  <span class="comment">// This class should always be owned and deleted by one of its friends,</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;  <span class="comment">// not the user.</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>();</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160; </div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>(<span class="keyword">const</span> std::string&amp; col_name);</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160; </div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> ToColumnSchema(<a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>* col) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160; </div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> ToColumnSchemaDelta(ColumnSchemaDelta* col_delta) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160; </div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;  <a class="code" href="classkudu_1_1Slice.html">Slice</a> DefaultValueAsSlice() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160; </div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;};</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160; </div>
+<div class="line"><a name="l00575"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">  575</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a> {</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>();</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>();</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160; </div>
+<div class="line"><a name="l00586"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">  586</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>* <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">AddColumn</a>(<span class="keyword">const</span> std::string&amp; name);</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160; </div>
+<div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">  595</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>* <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">SetPrimaryKey</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; key_col_names);</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160; </div>
+<div class="line"><a name="l00606"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15">  606</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15">Build</a>(<a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>* schema);</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160; </div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160; </div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;};</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160; </div>
+<div class="line"><a name="l00616"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html">  616</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> {</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>();</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160; </div>
+<div class="line"><a name="l00624"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">  624</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">KuduSchema</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; other);</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>();</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160; </div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160; </div>
+<div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">  633</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">operator=</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; other);</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160; </div>
+<div class="line"><a name="l00637"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">  637</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">CopyFrom</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; other);</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160; </div>
+<div class="line"><a name="l00649"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">  649</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">Reset</a>(<span class="keyword">const</span> std::vector&lt;KuduColumnSchema&gt;&amp; columns, <span class="keywordtype">int</span> key_columns)</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;      ATTRIBUTE_DEPRECATED(<span class="stringliteral">&quot;this method will be removed in a future release&quot;</span>)</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;      WARN_UNUSED_RESULT;</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160; </div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;  <span class="keywordtype">bool</span> Equals(const <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; other) const</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;      ATTRIBUTE_DEPRECATED(&quot;use operator==(const <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp;) instead&quot;);</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160; </div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;  <span class="keywordtype">bool</span> operator==(const <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; rhs) const;</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160; </div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;  <span class="keywordtype">bool</span> operator!=(const <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; rhs) const;</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160; </div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a> Column(<span class="keywordtype">size_t</span> idx) const;</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160; </div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;  <span class="keywordtype">bool</span> HasColumn(const std::<span class="keywordtype">string</span>&amp; col_name, <a class="code" href="classkudu_1_1client_1_1KuduColumnSchema.html">KuduColumnSchema</a>* col_schema) const;</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160; </div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;  <span class="keywordtype">size_t</span> num_columns() const;</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160; </div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;  <span class="keywordtype">void</span> GetPrimaryKeyColumnIndexes(std::vector&lt;<span class="keywordtype">int</span>&gt;* indexes) const;</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160; </div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;  <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* NewRow() const;</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160; </div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;  std::<span class="keywordtype">string</span> ToString() const;</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160; </div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160; </div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;  static <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> FromSchema(const Schema&amp; schema) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160; </div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;  static Schema ToSchema(const <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>&amp; kudu_schema) KUDU_NO_EXPORT;</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160; </div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160; </div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160; private:</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;  friend class ClientTest;</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a>;</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanner.html">KuduScanner</a>;</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanToken.html">KuduScanToken</a>;</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">KuduScanTokenBuilder</a>;</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduSchemaBuilder.html">KuduSchemaBuilder</a>;</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>;</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>;</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;  friend class <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>;</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;  friend class ScanConfiguration;</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;  friend class internal::GetTableSchemaRpc;</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;  friend class internal::LookupRpc;</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;  friend class internal::MetaCache;</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;  friend class internal::MetaCacheEntry;</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;  friend class internal::WriteRpc;</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;  friend class tools::RemoteKsckCluster;</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;  friend class tools::ReplicaDumper;</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160; </div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;  <span class="comment">// For use by KuduSchema::FromSchema.</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;  explicit <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>(const Schema&amp; schema);</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;<span class="preprocessor">#if __cplusplus &gt;= 201103</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a>(Schema&amp;&amp; schema);</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160; </div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;  <span class="comment">// Private since we don&#39;t want users to rely on the first N columns</span></div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;  <span class="comment">// being the keys.</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;  <span class="keywordtype">size_t</span> num_key_columns() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160; </div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;  Schema* schema_;</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;};</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160; </div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// KUDU_CLIENT_SCHEMA_H</span></div>
+<div class="ttc" id="aclassKuduPartialRow_html"><div class="ttname"><a href="classKuduPartialRow.html">KuduPartialRow</a></div><div class="ttdoc">A row which may only contain values for a subset of the columns.</div><div class="ttdef"><b>Definition:</b> partial_row.h:72</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html"><div class="ttname"><a href="classkudu_1_1Slice.html">kudu::Slice</a></div><div class="ttdoc">A wrapper around externally allocated data.</div><div class="ttdef"><b>Definition:</b> slice.h:51</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html"><div class="ttname"><a href="classkudu_1_1Status.html">kudu::Status</a></div><div class="ttdoc">A representation of an operation's outcome.</div><div class="ttdef"><b>Definition:</b> status.h:165</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduClient_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a></div><div class="ttdoc">A handle for a connection to a cluster.</div><div class="ttdef"><b>Definition:</b> client.h:615</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html">kudu::client::KuduColumnSchema</a></div><div class="ttdoc">Representation of the column schema.</div><div class="ttdef"><b>Definition:</b> schema.h:214</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_a11234db43eb8b758a65ba1b08f6b65b0"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0">kudu::client::KuduColumnSchema::CopyFrom</a></div><div class="ttdeci">void CopyFrom(const KuduColumnSchema &amp;other)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_a4b58da787c8e7dc14987aa74a54f199e"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e">kudu::client::KuduColumnSchema::operator=</a></div><div class="ttdeci">KuduColumnSchema &amp; operator=(const KuduColumnSchema &amp;other)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_aba69238e70af5c887a4fb11fa2a120c5"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5">kudu::client::KuduColumnSchema::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Supported data types for columns.</div><div class="ttdef"><b>Definition:</b> schema.h:217</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_abd89b94b581cc09387921c476ccb56b8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8">kudu::client::KuduColumnSchema::StringToDataType</a></div><div class="ttdeci">static Status StringToDataType(const std::string &amp;type_str, DataType *type)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_af362af4f9c937c2b7fa90ef284cfbd1c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c">kudu::client::KuduColumnSchema::DataTypeToString</a></div><div class="ttdeci">static std::string DataTypeToString(DataType type)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSchema_html_afc82e98af83ba61079ba5d30401b5872"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872">kudu::client::KuduColumnSchema::KuduColumnSchema</a></div><div class="ttdeci">KuduColumnSchema(const KuduColumnSchema &amp;other)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></div><div class="ttdoc">Builder API for specifying or altering a column within a table schema.</div><div class="ttdef"><b>Definition:</b> schema.h:360</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_a48a1457d2f4379a59c29280907c7f3c2"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2">kudu::client::KuduColumnSpec::PrimaryKey</a></div><div class="ttdeci">KuduColumnSpec * PrimaryKey()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_a67e794a08387e17ba430d6942419a2c2"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2">kudu::client::KuduColumnSpec::Type</a></div><div class="ttdeci">KuduColumnSpec * Type(KuduColumnSchema::DataType type)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_a8502dd68c6743c7c66b2b6a02d41a4e6"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">kudu::client::KuduColumnSpec::BlockSize</a></div><div class="ttdeci">KuduColumnSpec * BlockSize(int32_t block_size)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_a92c63c0e1872c03fcabeac19d802f6c7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7">kudu::client::KuduColumnSpec::Default</a></div><div class="ttdeci">KuduColumnSpec * Default(KuduValue *value)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_aab05d7d45f4cd2dadb8e0c715d87e841"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841">kudu::client::KuduColumnSpec::Nullable</a></div><div class="ttdeci">KuduColumnSpec * Nullable()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_abeb2cbbaa01253165202574db03872f4"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4">kudu::client::KuduColumnSpec::RenameTo</a></div><div class="ttdeci">KuduColumnSpec * RenameTo(const std::string &amp;new_name)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_ad2d1fe7273f0f5d656375e53f96ac777"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777">kudu::client::KuduColumnSpec::Scale</a></div><div class="ttdeci">KuduColumnSpec * Scale(int8_t scale)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_ad34607a281ef097705a81bfbdb6ce3b6"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6">kudu::client::KuduColumnSpec::Comment</a></div><div class="ttdeci">KuduColumnSpec * Comment(const std::string &amp;comment)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_ad9ed2e008ee926ee50c23e664d854e8b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b">kudu::client::KuduColumnSpec::Compression</a></div><div class="ttdeci">KuduColumnSpec * Compression(KuduColumnStorageAttributes::CompressionType compression)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_ade0ba64b4ff59889755800b817419b82"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82">kudu::client::KuduColumnSpec::RemoveDefault</a></div><div class="ttdeci">KuduColumnSpec * RemoveDefault()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_ae0ceeb41ac1427c2472a2f28778b6e97"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97">kudu::client::KuduColumnSpec::Encoding</a></div><div class="ttdeci">KuduColumnSpec * Encoding(KuduColumnStorageAttributes::EncodingType encoding)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_ae12c40324397f844d9c8c7c3a6cf49cd"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd">kudu::client::KuduColumnSpec::Length</a></div><div class="ttdeci">KuduColumnSpec * Length(uint16_t length)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_af28d86b2b63c9c5f8e9ca50871b60bcb"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb">kudu::client::KuduColumnSpec::Precision</a></div><div class="ttdeci">KuduColumnSpec * Precision(int8_t precision)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html_af8c64c5a8a7a93ec644d481f23d91cca"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca">kudu::client::KuduColumnSpec::NotNull</a></div><div class="ttdeci">KuduColumnSpec * NotNull()</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnStorageAttributes_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html">kudu::client::KuduColumnStorageAttributes</a></div><div class="ttdoc">Representation of column storage attributes.</div><div class="ttdef"><b>Definition:</b> schema.h:129</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnStorageAttributes_html_a0da01080a8e4c078d6bf3d9fe749db11"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11">kudu::client::KuduColumnStorageAttributes::ToString</a></div><div class="ttdeci">std::string ToString() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnStorageAttributes_html_a2d6e5bec50a7305b3b4d75d21d000fab"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab">kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes</a></div><div class="ttdeci">KuduColumnStorageAttributes(EncodingType encoding=AUTO_ENCODING, CompressionType compression=DEFAULT_COMPRESSION, int32_t block_size=0) ATTRIBUTE_DEPRECATED(&quot;this const ructor will be private in a future release&quot;)</div><div class="ttdef"><b>Definition:</b> schema.h:166</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnStorageAttributes_html_a46e1dace4602244a3b7b6f43bf7f5554"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554">kudu::client::KuduColumnStorageAttributes::compression</a></div><div class="ttdeci">const CompressionType compression() const</div><div class="ttdef"><b>Definition:</b> schema.h:182</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnStorageAttributes_html_a5422435108d868ad7379e03c8bf516db"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db">kudu::client::KuduColumnStorageAttributes::StringToEncodingType</a></div><div class="ttdeci">static Status StringToEncodingType(const std::string &amp;encoding, EncodingType *type)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnStorageAttributes_html_a7d0f25ffc47a1f00a17697dd0fe1d12b"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b">kudu::client::KuduColumnStorageAttributes::encoding</a></div><div class="ttdeci">const EncodingType encoding() const</div><div class="ttdef"><b>Definition:</b> schema.h:177</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnStorageAttributes_html_aeb835a12e6f40b1a619afa8abd773b6d"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d">kudu::client::KuduColumnStorageAttributes::EncodingType</a></div><div class="ttdeci">EncodingType</div><div class="ttdoc">Column encoding types.</div><div class="ttdef"><b>Definition:</b> schema.h:132</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnStorageAttributes_html_af497b47eaaa28205a8a6a5a4362954af"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af">kudu::client::KuduColumnStorageAttributes::StringToCompressionType</a></div><div class="ttdeci">static Status StringToCompressionType(const std::string &amp;compression, CompressionType *type)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnStorageAttributes_html_af579406931a40daa5cb9e10603341a78"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78">kudu::client::KuduColumnStorageAttributes::CompressionType</a></div><div class="ttdeci">CompressionType</div><div class="ttdoc">Column compression types.</div><div class="ttdef"><b>Definition:</b> schema.h:146</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnTypeAttributes_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html">kudu::client::KuduColumnTypeAttributes</a></div><div class="ttdoc">Representation of column type attributes.</div><div class="ttdef"><b>Definition:</b> schema.h:67</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnTypeAttributes_html_a5feef04c2abe72ddead16566e0e3ad1c"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c">kudu::client::KuduColumnTypeAttributes::CopyFrom</a></div><div class="ttdeci">void CopyFrom(const KuduColumnTypeAttributes &amp;other)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnTypeAttributes_html_a7016919f1c5eda0a47365381e26315fe"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe">kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes</a></div><div class="ttdeci">KuduColumnTypeAttributes(uint16_t length)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnTypeAttributes_html_a9531cde8c3ce74fc61c1bd5b0d667567"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567">kudu::client::KuduColumnTypeAttributes::scale</a></div><div class="ttdeci">int8_t scale() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnTypeAttributes_html_ab1229cc98abde1bbc7263d565aaa5b04"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04">kudu::client::KuduColumnTypeAttributes::length</a></div><div class="ttdeci">uint16_t length() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnTypeAttributes_html_ab978abf2f248cc1377f438174a9753b1"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1">kudu::client::KuduColumnTypeAttributes::precision</a></div><div class="ttdeci">int8_t precision() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnTypeAttributes_html_abbdc4a2daa6ee10ee57cb6258bc996f4"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4">kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes</a></div><div class="ttdeci">KuduColumnTypeAttributes(int8_t precision, int8_t scale)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnTypeAttributes_html_adf37f333f1828e722d1f3f19e98685a7"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7">kudu::client::KuduColumnTypeAttributes::operator=</a></div><div class="ttdeci">KuduColumnTypeAttributes &amp; operator=(const KuduColumnTypeAttributes &amp;other)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnTypeAttributes_html_afdfe9a35df0360457583e303fdfe3eae"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae">kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes</a></div><div class="ttdeci">KuduColumnTypeAttributes(const KuduColumnTypeAttributes &amp;other)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanTokenBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanTokenBuilder.html">kudu::client::KuduScanTokenBuilder</a></div><div class="ttdoc">Builds scan tokens for a table.</div><div class="ttdef"><b>Definition:</b> client.h:3013</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanToken_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanToken.html">kudu::client::KuduScanToken</a></div><div class="ttdoc">A scan descriptor limited to a single physical contiguous location.</div><div class="ttdef"><b>Definition:</b> client.h:2952</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduScanner_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduScanner.html">kudu::client::KuduScanner</a></div><div class="ttdoc">This class is a representation of a single scan.</div><div class="ttdef"><b>Definition:</b> client.h:2456</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchemaBuilder_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchemaBuilder.html">kudu::client::KuduSchemaBuilder</a></div><div class="ttdoc">Builder API for constructing a KuduSchema object.</div><div class="ttdef"><b>Definition:</b> schema.h:575</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchemaBuilder_html_a0fdf28d49cc05ba4f3182f7398ddf600"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600">kudu::client::KuduSchemaBuilder::AddColumn</a></div><div class="ttdeci">KuduColumnSpec * AddColumn(const std::string &amp;name)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchemaBuilder_html_ad4c1619445fea575a775f23752b6bfb9"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9">kudu::client::KuduSchemaBuilder::SetPrimaryKey</a></div><div class="ttdeci">KuduSchemaBuilder * SetPrimaryKey(const std::vector&lt; std::string &gt; &amp;key_col_names)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchemaBuilder_html_af117e347a7d0910dda2695997859db15"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15">kudu::client::KuduSchemaBuilder::Build</a></div><div class="ttdeci">Status Build(KuduSchema *schema)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html">kudu::client::KuduSchema</a></div><div class="ttdoc">A representation of a table's schema.</div><div class="ttdef"><b>Definition:</b> schema.h:616</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html_a3f51ccf1a7e6f4a4fe4958073305dbab"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">kudu::client::KuduSchema::Reset</a></div><div class="ttdeci">Status Reset(const std::vector&lt; KuduColumnSchema &gt; &amp;columns, int key_columns) WARN_UNUSED_RESULT</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html_a41a683f3d93357fe68531bf71df39d02"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02">kudu::client::KuduSchema::KuduSchema</a></div><div class="ttdeci">KuduSchema(const KuduSchema &amp;other)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html_a7d8f49f184a94cee7993158baf6ae758"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758">kudu::client::KuduSchema::operator=</a></div><div class="ttdeci">KuduSchema &amp; operator=(const KuduSchema &amp;other)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSchema_html_ab146eab7c7fb9a5ea80a4466b5f68555"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555">kudu::client::KuduSchema::CopyFrom</a></div><div class="ttdeci">void CopyFrom(const KuduSchema &amp;other)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableAlterer_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableAlterer.html">kudu::client::KuduTableAlterer</a></div><div class="ttdoc">Alters an existing table based on the provided steps.</div><div class="ttdef"><b>Definition:</b> client.h:1666</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTableCreator_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTableCreator.html">kudu::client::KuduTableCreator</a></div><div class="ttdoc">A helper class to create a new table with the desired options.</div><div class="ttdef"><b>Definition:</b> client.h:1084</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></div><div class="ttdoc">A representation of a table on a particular cluster.</div><div class="ttdef"><b>Definition:</b> client.h:1389</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></div><div class="ttdoc">A constant cell value with a specific type.</div><div class="ttdef"><b>Definition:</b> value.h:35</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduWriteOperation_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></div><div class="ttdoc">A single-row write operation to be sent to a Kudu table.</div><div class="ttdef"><b>Definition:</b> write_op.h:64</div></div>
+<div class="ttc" id="astatus_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_0.html b/releases/1.15.0/cpp-client-api/search/all_0.html
new file mode 100644
index 0000000..1ec5b2d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_0.js b/releases/1.15.0/cpp-client-api/search/all_0.js
new file mode 100644
index 0000000..90b8f11
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_0.js
@@ -0,0 +1,29 @@
+var searchData=
+[
+  ['aborted_0',['Aborted',['../classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144',1,'kudu::Status']]],
+  ['add_5fhash_5fpartitions_1',['add_hash_partitions',['../classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e',1,'kudu::client::KuduTableCreator::add_hash_partitions(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets)'],['../classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24',1,'kudu::client::KuduTableCreator::add_hash_partitions(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets, int32_t seed)']]],
+  ['add_5fmaster_5fserver_5faddr_2',['add_master_server_addr',['../classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c',1,'kudu::client::KuduClientBuilder']]],
+  ['add_5frange_5fpartition_3',['add_range_partition',['../classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a',1,'kudu::client::KuduTableCreator']]],
+  ['add_5frange_5fpartition_5fsplit_4',['add_range_partition_split',['../classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f',1,'kudu::client::KuduTableCreator']]],
+  ['addcolumn_5',['AddColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0',1,'kudu::client::KuduTableAlterer::AddColumn()'],['../classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600',1,'kudu::client::KuduSchemaBuilder::AddColumn()']]],
+  ['addconjunctpredicate_6',['AddConjunctPredicate',['../classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74',1,'kudu::client::KuduScanner::AddConjunctPredicate()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e',1,'kudu::client::KuduScanTokenBuilder::AddConjunctPredicate()']]],
+  ['addexclusiveupperbound_7',['AddExclusiveUpperBound',['../classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d',1,'kudu::client::KuduScanner']]],
+  ['addexclusiveupperboundpartitionkeyraw_8',['AddExclusiveUpperBoundPartitionKeyRaw',['../classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9',1,'kudu::client::KuduScanner']]],
+  ['addexclusiveupperboundraw_9',['AddExclusiveUpperBoundRaw',['../classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe',1,'kudu::client::KuduScanner']]],
+  ['addlowerbound_10',['AddLowerBound',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf',1,'kudu::client::KuduScanTokenBuilder::AddLowerBound()'],['../classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86',1,'kudu::client::KuduScanner::AddLowerBound(const KuduPartialRow &amp;key)']]],
+  ['addlowerboundpartitionkeyraw_11',['AddLowerBoundPartitionKeyRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e',1,'kudu::client::KuduScanner']]],
+  ['addlowerboundraw_12',['AddLowerBoundRaw',['../classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e',1,'kudu::client::KuduScanner']]],
+  ['addrangepartition_13',['AddRangePartition',['../classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793',1,'kudu::client::KuduTableAlterer']]],
+  ['addrangepartitionwithdimension_14',['AddRangePartitionWithDimension',['../classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006',1,'kudu::client::KuduTableAlterer']]],
+  ['addupperbound_15',['AddUpperBound',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['allcolumnsset_16',['AllColumnsSet',['../classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d',1,'KuduPartialRow']]],
+  ['alreadypresent_17',['AlreadyPresent',['../classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45',1,'kudu::Status']]],
+  ['alter_18',['Alter',['../classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c',1,'kudu::client::KuduTableAlterer']]],
+  ['altercolumn_19',['AlterColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742',1,'kudu::client::KuduTableAlterer']]],
+  ['alterextraconfig_20',['AlterExtraConfig',['../classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541',1,'kudu::client::KuduTableAlterer']]],
+  ['apply_21',['Apply',['../classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943',1,'kudu::client::KuduSession']]],
+  ['asyncleadermasterrpc_22',['AsyncLeaderMasterRpc',['../classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html',1,'kudu::client::internal']]],
+  ['asyncrandomtxnmanagerrpc_23',['AsyncRandomTxnManagerRpc',['../classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html',1,'kudu::client::internal']]],
+  ['auto_5fflush_5fbackground_24',['AUTO_FLUSH_BACKGROUND',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1',1,'kudu::client::KuduSession']]],
+  ['auto_5fflush_5fsync_25',['AUTO_FLUSH_SYNC',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b',1,'kudu::client::KuduSession']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_1.html b/releases/1.15.0/cpp-client-api/search/all_1.html
new file mode 100644
index 0000000..9f80e90
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_1.js b/releases/1.15.0/cpp-client-api/search/all_1.js
new file mode 100644
index 0000000..bd9a0f7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_1.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['begin_26',['begin',['../classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21',1,'kudu::client::KuduScanBatch']]],
+  ['blocksize_27',['BlockSize',['../classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6',1,'kudu::client::KuduColumnSpec']]],
+  ['build_28',['Build',['../classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77',1,'kudu::client::KuduClientBuilder::Build()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb',1,'kudu::client::KuduScanTokenBuilder::Build()'],['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba',1,'kudu::client::KuduPartitionerBuilder::Build()'],['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a',1,'kudu::client::KuduBloomFilterBuilder::Build()'],['../classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15',1,'kudu::client::KuduSchemaBuilder::Build()']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_10.html b/releases/1.15.0/cpp-client-api/search/all_10.html
new file mode 100644
index 0000000..3bf1196
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_10.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_10.js b/releases/1.15.0/cpp-client-api/search/all_10.js
new file mode 100644
index 0000000..225a539
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_10.js
@@ -0,0 +1,72 @@
+var searchData=
+[
+  ['sasl_5fprotocol_5fname_346',['sasl_protocol_name',['../classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de',1,'kudu::client::KuduClientBuilder']]],
+  ['scale_347',['Scale',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777',1,'kudu::client::KuduColumnSpec']]],
+  ['scale_348',['scale',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567',1,'kudu::client::KuduColumnTypeAttributes']]],
+  ['schema_349',['schema',['../classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8',1,'KuduPartialRow::schema()'],['../classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c',1,'kudu::client::KuduTable::schema()'],['../classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7',1,'kudu::client::KuduTableCreator::schema()']]],
+  ['serializationoptions_350',['SerializationOptions',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html',1,'kudu::client::KuduTransaction']]],
+  ['serialize_351',['Serialize',['../classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5',1,'kudu::client::KuduTransaction::Serialize()'],['../classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008',1,'kudu::client::KuduScanToken::Serialize()']]],
+  ['serviceunavailable_352',['ServiceUnavailable',['../classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568',1,'kudu::Status']]],
+  ['set_5fcomment_353',['set_comment',['../classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f',1,'kudu::client::KuduTableCreator']]],
+  ['set_5fowner_354',['set_owner',['../classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007',1,'kudu::client::KuduTableCreator']]],
+  ['set_5frange_5fpartition_5fcolumns_355',['set_range_partition_columns',['../classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3',1,'kudu::client::KuduTableCreator']]],
+  ['setbatchsizebytes_356',['SetBatchSizeBytes',['../classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c',1,'kudu::client::KuduScanner::SetBatchSizeBytes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c',1,'kudu::client::KuduScanTokenBuilder::SetBatchSizeBytes()']]],
+  ['setbinary_357',['SetBinary',['../classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3',1,'KuduPartialRow::SetBinary(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c',1,'KuduPartialRow::SetBinary(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setbinarycopy_358',['SetBinaryCopy',['../classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78',1,'KuduPartialRow::SetBinaryCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35',1,'KuduPartialRow::SetBinaryCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setbinarynocopy_359',['SetBinaryNoCopy',['../classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f',1,'KuduPartialRow::SetBinaryNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793',1,'KuduPartialRow::SetBinaryNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setbool_360',['SetBool',['../classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d',1,'KuduPartialRow::SetBool(const Slice &amp;col_name, bool val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8500986269930b88336c36bc50328768',1,'KuduPartialRow::SetBool(int col_idx, bool val) WARN_UNUSED_RESULT']]],
+  ['setbuildtimeout_361',['SetBuildTimeout',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14',1,'kudu::client::KuduPartitionerBuilder']]],
+  ['setcacheblocks_362',['SetCacheBlocks',['../classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310',1,'kudu::client::KuduScanner::SetCacheBlocks()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475',1,'kudu::client::KuduScanTokenBuilder::SetCacheBlocks()']]],
+  ['setcomment_363',['SetComment',['../classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6',1,'kudu::client::KuduTableAlterer']]],
+  ['setdate_364',['SetDate',['../classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a',1,'KuduPartialRow::SetDate(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4',1,'KuduPartialRow::SetDate(const Slice &amp;col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT']]],
+  ['setdouble_365',['SetDouble',['../classKuduPartialRow.html#a7ee7f7a17437d338e58dd6a82431729d',1,'KuduPartialRow::SetDouble(int col_idx, double val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20',1,'KuduPartialRow::SetDouble(const Slice &amp;col_name, double val) WARN_UNUSED_RESULT']]],
+  ['seterrorbufferspace_366',['SetErrorBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5',1,'kudu::client::KuduSession']]],
+  ['setexternalconsistencymode_367',['SetExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca',1,'kudu::client::KuduSession']]],
+  ['setfaulttolerant_368',['SetFaultTolerant',['../classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f',1,'kudu::client::KuduScanner::SetFaultTolerant()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe',1,'kudu::client::KuduScanTokenBuilder::SetFaultTolerant()']]],
+  ['setfloat_369',['SetFloat',['../classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b',1,'KuduPartialRow::SetFloat(const Slice &amp;col_name, float val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad0b76030c919b941997ffd047b12f40e',1,'KuduPartialRow::SetFloat(int col_idx, float val) WARN_UNUSED_RESULT']]],
+  ['setflushmode_370',['SetFlushMode',['../classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f',1,'kudu::client::KuduSession']]],
+  ['setint16_371',['SetInt16',['../classKuduPartialRow.html#adb92cc301cbcc89ef46e9bebbe86c508',1,'KuduPartialRow::SetInt16(int col_idx, int16_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810',1,'KuduPartialRow::SetInt16(const Slice &amp;col_name, int16_t val) WARN_UNUSED_RESULT']]],
+  ['setint32_372',['SetInt32',['../classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887',1,'KuduPartialRow::SetInt32(const Slice &amp;col_name, int32_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad',1,'KuduPartialRow::SetInt32(int col_idx, int32_t val) WARN_UNUSED_RESULT']]],
+  ['setint64_373',['SetInt64',['../classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4',1,'KuduPartialRow::SetInt64(const Slice &amp;col_name, int64_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a62224148c353a9eba4e19574a61fe369',1,'KuduPartialRow::SetInt64(int col_idx, int64_t val) WARN_UNUSED_RESULT']]],
+  ['setint8_374',['SetInt8',['../classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f',1,'KuduPartialRow::SetInt8(const Slice &amp;col_name, int8_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af6d10997e70e776eb353ad67abc78d79',1,'KuduPartialRow::SetInt8(int col_idx, int8_t val) WARN_UNUSED_RESULT']]],
+  ['setlatestobservedtimestamp_375',['SetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd',1,'kudu::client::KuduClient']]],
+  ['setlimit_376',['SetLimit',['../classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac',1,'kudu::client::KuduScanner']]],
+  ['setmutationbufferflushinterval_377',['SetMutationBufferFlushInterval',['../classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941',1,'kudu::client::KuduSession']]],
+  ['setmutationbufferflushwatermark_378',['SetMutationBufferFlushWatermark',['../classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf',1,'kudu::client::KuduSession']]],
+  ['setmutationbuffermaxnum_379',['SetMutationBufferMaxNum',['../classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4',1,'kudu::client::KuduSession']]],
+  ['setmutationbufferspace_380',['SetMutationBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf',1,'kudu::client::KuduSession']]],
+  ['setnull_381',['SetNull',['../classKuduPartialRow.html#abeaa8d438650b7796e30e9865bb83d2f',1,'KuduPartialRow::SetNull(int col_idx) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5',1,'KuduPartialRow::SetNull(const Slice &amp;col_name) WARN_UNUSED_RESULT']]],
+  ['setordermode_382',['SetOrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc',1,'kudu::client::KuduScanner']]],
+  ['setowner_383',['SetOwner',['../classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8',1,'kudu::client::KuduTableAlterer']]],
+  ['setprimarykey_384',['SetPrimaryKey',['../classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9',1,'kudu::client::KuduSchemaBuilder']]],
+  ['setprojectedcolumnindexes_385',['SetProjectedColumnIndexes',['../classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d',1,'kudu::client::KuduScanner::SetProjectedColumnIndexes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8',1,'kudu::client::KuduScanTokenBuilder::SetProjectedColumnIndexes()']]],
+  ['setprojectedcolumnnames_386',['SetProjectedColumnNames',['../classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01',1,'kudu::client::KuduScanner::SetProjectedColumnNames()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad',1,'kudu::client::KuduScanTokenBuilder::SetProjectedColumnNames()']]],
+  ['setprojectedcolumns_387',['SetProjectedColumns',['../classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad',1,'kudu::client::KuduScanner']]],
+  ['setreadmode_388',['SetReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e',1,'kudu::client::KuduScanner::SetReadMode()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892',1,'kudu::client::KuduScanTokenBuilder::SetReadMode()']]],
+  ['setrowformatflags_389',['SetRowFormatFlags',['../classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11',1,'kudu::client::KuduScanner']]],
+  ['setselection_390',['SetSelection',['../classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8',1,'kudu::client::KuduScanner::SetSelection()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88',1,'kudu::client::KuduScanTokenBuilder::SetSelection()']]],
+  ['setsnapshotmicros_391',['SetSnapshotMicros',['../classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f',1,'kudu::client::KuduScanner::SetSnapshotMicros()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotMicros()']]],
+  ['setsnapshotraw_392',['SetSnapshotRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae',1,'kudu::client::KuduScanner::SetSnapshotRaw()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotRaw()']]],
+  ['setstring_393',['SetString',['../classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab',1,'KuduPartialRow::SetString(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0e606cb958eab0db1b12289aca255819',1,'KuduPartialRow::SetString(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setstringcopy_394',['SetStringCopy',['../classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199',1,'KuduPartialRow::SetStringCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9da30ad760f428b2d5f70a1fe4eba827',1,'KuduPartialRow::SetStringCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setstringnocopy_395',['SetStringNoCopy',['../classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73',1,'KuduPartialRow::SetStringNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd',1,'KuduPartialRow::SetStringNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['settabledisksizelimit_396',['SetTableDiskSizeLimit',['../classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27',1,'kudu::client::KuduTableAlterer']]],
+  ['settablerowcountlimit_397',['SetTableRowCountLimit',['../classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe',1,'kudu::client::KuduTableAlterer']]],
+  ['settimeoutmillis_398',['SetTimeoutMillis',['../classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79',1,'kudu::client::KuduSession::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6',1,'kudu::client::KuduScanner::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445',1,'kudu::client::KuduScanTokenBuilder::SetTimeoutMillis()']]],
+  ['setunixtimemicros_399',['SetUnixTimeMicros',['../classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a',1,'KuduPartialRow::SetUnixTimeMicros(const Slice &amp;col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536',1,'KuduPartialRow::SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT']]],
+  ['setvarchar_400',['SetVarchar',['../classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c',1,'KuduPartialRow::SetVarchar(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1',1,'KuduPartialRow::SetVarchar(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setvarcharnocopyunsafe_401',['SetVarcharNoCopyUnsafe',['../classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['shared_5fptr_2eh_402',['shared_ptr.h',['../shared__ptr_8h.html',1,'']]],
+  ['size_403',['size',['../classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433',1,'kudu::Slice']]],
+  ['slice_404',['Slice',['../classkudu_1_1Slice.html',1,'kudu::Slice'],['../classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66',1,'kudu::Slice::Slice()'],['../classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c',1,'kudu::Slice::Slice(const uint8_t *d, size_t n)'],['../classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5',1,'kudu::Slice::Slice(const char *d, size_t n)'],['../classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd',1,'kudu::Slice::Slice(const std::string &amp;s)'],['../classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345',1,'kudu::Slice::Slice(const char *s)']]],
+  ['slicemap_405',['SliceMap',['../structkudu_1_1SliceMap.html',1,'kudu']]],
+  ['split_5frows_406',['split_rows',['../classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9',1,'kudu::client::KuduTableCreator']]],
+  ['startcommit_407',['StartCommit',['../classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce',1,'kudu::client::KuduTransaction']]],
+  ['starts_5fwith_408',['starts_with',['../classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d',1,'kudu::Slice']]],
+  ['status_409',['Status',['../classkudu_1_1Status.html',1,'kudu::Status'],['../classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0',1,'kudu::Status::Status()'],['../classkudu_1_1Status.html#affca5639a3341212bb23ae7f5c701803',1,'kudu::Status::Status(const Status &amp;s)']]],
+  ['status_410',['status',['../classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7',1,'kudu::client::KuduError']]],
+  ['status_2eh_411',['status.h',['../status_8h.html',1,'']]],
+  ['stringtocompressiontype_412',['StringToCompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['stringtodatatype_413',['StringToDataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8',1,'kudu::client::KuduColumnSchema']]],
+  ['stringtoencodingtype_414',['StringToEncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db',1,'kudu::client::KuduColumnStorageAttributes']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_11.html b/releases/1.15.0/cpp-client-api/search/all_11.html
new file mode 100644
index 0000000..c9f79d2
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_11.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_11.js b/releases/1.15.0/cpp-client-api/search/all_11.js
new file mode 100644
index 0000000..5f41bf4
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_11.js
@@ -0,0 +1,23 @@
+var searchData=
+[
+  ['table_5fname_415',['table_name',['../classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93',1,'kudu::client::KuduTableCreator']]],
+  ['tableexists_416',['TableExists',['../classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818',1,'kudu::client::KuduClient']]],
+  ['tablet_417',['tablet',['../classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96',1,'kudu::client::KuduScanToken']]],
+  ['timedout_418',['TimedOut',['../classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe',1,'kudu::Status']]],
+  ['timeout_419',['timeout',['../classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235',1,'kudu::client::KuduTableCreator::timeout()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1',1,'kudu::client::KuduTableAlterer::timeout()']]],
+  ['timestamp_420',['TIMESTAMP',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505',1,'kudu::client::KuduColumnSchema']]],
+  ['todebugstring_421',['ToDebugString',['../classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7',1,'kudu::Slice']]],
+  ['todo_20list_422',['Todo List',['../todo.html',1,'']]],
+  ['toencodedrowkeyordie_423',['ToEncodedRowKeyOrDie',['../classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469',1,'KuduPartialRow']]],
+  ['tomicroseconds_424',['ToMicroseconds',['../classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491',1,'kudu::MonoDelta']]],
+  ['tomilliseconds_425',['ToMilliseconds',['../classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591',1,'kudu::MonoDelta']]],
+  ['tonanoseconds_426',['ToNanoseconds',['../classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c',1,'kudu::MonoDelta']]],
+  ['toseconds_427',['ToSeconds',['../classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c',1,'kudu::MonoDelta']]],
+  ['tostring_428',['ToString',['../classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763',1,'kudu::client::KuduDeleteIgnore::ToString()'],['../classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99',1,'kudu::Status::ToString()'],['../classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03',1,'kudu::Slice::ToString()'],['../classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c',1,'kudu::MonoDelta::ToString()'],['../classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70',1,'KuduPartialRow::ToString()'],['../classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0',1,'kudu::client::KuduDelete::ToString()'],['../classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261',1,'kudu::client::KuduUpdateIgnore::ToString()'],['../classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718',1,'kudu::client::KuduUpdate::ToString()'],['../classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8',1,'kudu::client::KuduUpsert::ToString()'],['../classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83',1,'kudu::client::KuduInsertIgnore::ToString()'],['../classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240',1,'kudu::client::KuduInsert::ToString()'],['../classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19',1,'kudu::client::KuduWriteOperation::ToString()'],['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11',1,'kudu::client::KuduColumnStorageAttributes::ToString()'],['../classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3',1,'kudu::client::KuduScanBatch::ToString()'],['../classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae',1,'kudu::client::KuduScanner::ToString()'],['../classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff',1,'kudu::client::KuduTableStatistics::ToString()']]],
+  ['totimespec_429',['ToTimeSpec',['../classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862',1,'kudu::MonoDelta']]],
+  ['totimeval_430',['ToTimeVal',['../classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e',1,'kudu::MonoDelta']]],
+  ['truncate_431',['truncate',['../classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44',1,'kudu::Slice']]],
+  ['ts_432',['ts',['../classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627',1,'kudu::client::KuduReplica']]],
+  ['type_433',['type',['../structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6',1,'kudu::SliceMap']]],
+  ['type_434',['Type',['../classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357',1,'kudu::client::KuduWriteOperation::Type()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2',1,'kudu::client::KuduColumnSpec::Type()']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_12.html b/releases/1.15.0/cpp-client-api/search/all_12.html
new file mode 100644
index 0000000..ab93472
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_12.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_12.js b/releases/1.15.0/cpp-client-api/search/all_12.js
new file mode 100644
index 0000000..736025c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_12.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['uninitialized_435',['Uninitialized',['../classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15',1,'kudu::Status']]],
+  ['unordered_436',['UNORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3',1,'kudu::client::KuduScanner']]],
+  ['unset_437',['Unset',['../classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23',1,'KuduPartialRow::Unset(const Slice &amp;col_name) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394',1,'KuduPartialRow::Unset(int col_idx) WARN_UNUSED_RESULT']]],
+  ['uuid_438',['uuid',['../classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc',1,'kudu::client::KuduTabletServer']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_13.html b/releases/1.15.0/cpp-client-api/search/all_13.html
new file mode 100644
index 0000000..51172c2
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_13.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_13.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_13.js b/releases/1.15.0/cpp-client-api/search/all_13.js
new file mode 100644
index 0000000..82bd879
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_13.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['value_5ftype_439',['value_type',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467',1,'kudu::client::KuduScanBatch']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_14.html b/releases/1.15.0/cpp-client-api/search/all_14.html
new file mode 100644
index 0000000..afecf56
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_14.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_14.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_14.js b/releases/1.15.0/cpp-client-api/search/all_14.js
new file mode 100644
index 0000000..fd90a5c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_14.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['wait_440',['wait',['../classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9',1,'kudu::client::KuduTableCreator::wait()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646',1,'kudu::client::KuduTableAlterer::wait()']]],
+  ['was_5fpossibly_5fsuccessful_441',['was_possibly_successful',['../classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4',1,'kudu::client::KuduError']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_2.html b/releases/1.15.0/cpp-client-api/search/all_2.html
new file mode 100644
index 0000000..02cfffc
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_2.js b/releases/1.15.0/cpp-client-api/search/all_2.js
new file mode 100644
index 0000000..e3633a8
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_2.js
@@ -0,0 +1,36 @@
+var searchData=
+[
+  ['cell_29',['cell',['../classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af',1,'kudu::client::KuduScanBatch']]],
+  ['cerrlog_30',['CerrLog',['../classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713',1,'kudu::internal_logging::CerrLog::CerrLog()'],['../classkudu_1_1internal__logging_1_1CerrLog.html',1,'kudu::internal_logging::CerrLog']]],
+  ['check_5fsize_31',['check_size',['../classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e',1,'kudu::Slice']]],
+  ['clear_32',['clear',['../classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5',1,'kudu::Slice']]],
+  ['clear_5fmaster_5fserver_5faddrs_33',['clear_master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1',1,'kudu::client::KuduClientBuilder']]],
+  ['client_34',['client',['../classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf',1,'kudu::client::KuduTable::client()'],['../classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1',1,'kudu::client::KuduSession::client() const']]],
+  ['client_5fpropagated_35',['CLIENT_PROPAGATED',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c',1,'kudu::client::KuduSession']]],
+  ['clone_36',['Clone',['../classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569',1,'kudu::client::KuduValue::Clone()'],['../classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670',1,'kudu::client::KuduPredicate::Clone()']]],
+  ['cloneandappend_37',['CloneAndAppend',['../classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7',1,'kudu::Status']]],
+  ['cloneandprepend_38',['CloneAndPrepend',['../classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de',1,'kudu::Status']]],
+  ['close_39',['Close',['../classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436',1,'kudu::client::KuduSession::Close()'],['../classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874',1,'kudu::client::KuduScanner::Close()']]],
+  ['closest_5freplica_40',['CLOSEST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8',1,'kudu::client::KuduClient']]],
+  ['codeasstring_41',['CodeAsString',['../classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5',1,'kudu::Status']]],
+  ['columnar_5flayout_42',['COLUMNAR_LAYOUT',['../classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10',1,'kudu::client::KuduScanner']]],
+  ['comment_43',['comment',['../classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b',1,'kudu::client::KuduTable']]],
+  ['comment_44',['Comment',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6',1,'kudu::client::KuduColumnSpec']]],
+  ['commit_45',['Commit',['../classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495',1,'kudu::client::KuduTransaction']]],
+  ['commit_5fwait_46',['COMMIT_WAIT',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9',1,'kudu::client::KuduSession']]],
+  ['comparator_47',['Comparator',['../structkudu_1_1Slice_1_1Comparator.html',1,'kudu::Slice']]],
+  ['compare_48',['compare',['../classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2',1,'kudu::Slice']]],
+  ['comparisonop_49',['ComparisonOp',['../classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4',1,'kudu::client::KuduPredicate']]],
+  ['compression_50',['Compression',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b',1,'kudu::client::KuduColumnSpec']]],
+  ['compression_51',['compression',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['compressiontype_52',['CompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['configurationerror_53',['ConfigurationError',['../classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801',1,'kudu::Status']]],
+  ['connection_5fnegotiation_5ftimeout_54',['connection_negotiation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f',1,'kudu::client::KuduClientBuilder::connection_negotiation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac',1,'kudu::client::KuduClient::connection_negotiation_timeout()']]],
+  ['copyfrom_55',['CopyFrom',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c',1,'kudu::client::KuduColumnTypeAttributes::CopyFrom()'],['../classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555',1,'kudu::client::KuduSchema::CopyFrom()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0',1,'kudu::client::KuduColumnSchema::CopyFrom()']]],
+  ['copystring_56',['CopyString',['../classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe',1,'kudu::client::KuduValue']]],
+  ['corruption_57',['Corruption',['../classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee',1,'kudu::Status']]],
+  ['countbufferedoperations_58',['CountBufferedOperations',['../classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112',1,'kudu::client::KuduSession']]],
+  ['countpendingerrors_59',['CountPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913',1,'kudu::client::KuduSession']]],
+  ['create_60',['Create',['../classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc',1,'kudu::client::KuduTableCreator']]],
+  ['createsession_61',['CreateSession',['../classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a',1,'kudu::client::KuduTransaction']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_3.html b/releases/1.15.0/cpp-client-api/search/all_3.html
new file mode 100644
index 0000000..39767b8
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_3.js b/releases/1.15.0/cpp-client-api/search/all_3.js
new file mode 100644
index 0000000..88bfd0d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_3.js
@@ -0,0 +1,18 @@
+var searchData=
+[
+  ['data_62',['data',['../classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d',1,'kudu::Slice']]],
+  ['data_63',['Data',['../classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0',1,'kudu::client::KuduPredicate']]],
+  ['datatype_64',['DataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5',1,'kudu::client::KuduColumnSchema']]],
+  ['datatypetostring_65',['DataTypeToString',['../classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c',1,'kudu::client::KuduColumnSchema']]],
+  ['default_66',['Default',['../classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7',1,'kudu::client::KuduColumnSpec']]],
+  ['default_5fadmin_5foperation_5ftimeout_67',['default_admin_operation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752',1,'kudu::client::KuduClientBuilder::default_admin_operation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838',1,'kudu::client::KuduClient::default_admin_operation_timeout() const']]],
+  ['default_5frpc_5ftimeout_68',['default_rpc_timeout',['../classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49',1,'kudu::client::KuduClient::default_rpc_timeout()'],['../classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df',1,'kudu::client::KuduClientBuilder::default_rpc_timeout()']]],
+  ['deletetable_69',['DeleteTable',['../classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d',1,'kudu::client::KuduClient']]],
+  ['deprecated_20list_70',['Deprecated List',['../deprecated.html',1,'']]],
+  ['deserialize_71',['Deserialize',['../classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52',1,'kudu::client::KuduTransaction']]],
+  ['deserializeintoscanner_72',['DeserializeIntoScanner',['../classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867',1,'kudu::client::KuduScanToken']]],
+  ['dimension_5flabel_73',['dimension_label',['../classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658',1,'kudu::client::KuduTableCreator']]],
+  ['direct_5fdata_74',['direct_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992',1,'kudu::client::KuduScanBatch']]],
+  ['dropcolumn_75',['DropColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7',1,'kudu::client::KuduTableAlterer']]],
+  ['droprangepartition_76',['DropRangePartition',['../classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7',1,'kudu::client::KuduTableAlterer']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_4.html b/releases/1.15.0/cpp-client-api/search/all_4.html
new file mode 100644
index 0000000..fc40463
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_4.js b/releases/1.15.0/cpp-client-api/search/all_4.js
new file mode 100644
index 0000000..5087b7c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_4.js
@@ -0,0 +1,16 @@
+var searchData=
+[
+  ['empty_77',['empty',['../classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523',1,'kudu::Slice']]],
+  ['enable_5fkeepalive_78',['enable_keepalive',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df',1,'kudu::client::KuduTransaction::SerializationOptions']]],
+  ['encoderowkey_79',['EncodeRowKey',['../classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2',1,'KuduPartialRow']]],
+  ['encoding_80',['encoding',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['encoding_81',['Encoding',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97',1,'kudu::client::KuduColumnSpec']]],
+  ['encodingtype_82',['EncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['end_83',['end',['../classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c',1,'kudu::client::KuduScanBatch']]],
+  ['endoffile_84',['EndOfFile',['../classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b',1,'kudu::Status']]],
+  ['equals_85',['Equals',['../classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc',1,'kudu::MonoDelta']]],
+  ['exclusive_5fbound_86',['EXCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601',1,'kudu::client::KuduTableCreator']]],
+  ['exportauthenticationcredentials_87',['ExportAuthenticationCredentials',['../classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0',1,'kudu::client::KuduClient']]],
+  ['externalconsistencymode_88',['ExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22',1,'kudu::client::KuduSession']]],
+  ['extra_5fconfigs_89',['extra_configs',['../classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd',1,'kudu::client::KuduTableCreator::extra_configs()'],['../classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec',1,'kudu::client::KuduTable::extra_configs()']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_5.html b/releases/1.15.0/cpp-client-api/search/all_5.html
new file mode 100644
index 0000000..9dd9344
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_5.js b/releases/1.15.0/cpp-client-api/search/all_5.js
new file mode 100644
index 0000000..32ec76b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_5.js
@@ -0,0 +1,18 @@
+var searchData=
+[
+  ['failed_5fop_90',['failed_op',['../classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea',1,'kudu::client::KuduError']]],
+  ['false_5fpositive_5fprobability_91',['false_positive_probability',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['first_5freplica_92',['FIRST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f',1,'kudu::client::KuduClient']]],
+  ['flush_93',['Flush',['../classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84',1,'kudu::client::KuduSession']]],
+  ['flushasync_94',['FlushAsync',['../classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731',1,'kudu::client::KuduSession']]],
+  ['flushmode_95',['FlushMode',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19',1,'kudu::client::KuduSession']]],
+  ['frombool_96',['FromBool',['../classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10',1,'kudu::client::KuduValue']]],
+  ['fromdouble_97',['FromDouble',['../classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5',1,'kudu::client::KuduValue']]],
+  ['fromfloat_98',['FromFloat',['../classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a',1,'kudu::client::KuduValue']]],
+  ['fromint_99',['FromInt',['../classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302',1,'kudu::client::KuduValue']]],
+  ['frommicroseconds_100',['FromMicroseconds',['../classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d',1,'kudu::MonoDelta']]],
+  ['frommilliseconds_101',['FromMilliseconds',['../classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a',1,'kudu::MonoDelta']]],
+  ['fromnanoseconds_102',['FromNanoseconds',['../classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819',1,'kudu::MonoDelta']]],
+  ['fromseconds_103',['FromSeconds',['../classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1',1,'kudu::MonoDelta']]],
+  ['functiontype_104',['FunctionType',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d',1,'kudu::client::KuduLoggingFunctionCallback::FunctionType()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910',1,'kudu::client::KuduStatusFunctionCallback::FunctionType()']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_6.html b/releases/1.15.0/cpp-client-api/search/all_6.html
new file mode 100644
index 0000000..f1e516d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_6.js b/releases/1.15.0/cpp-client-api/search/all_6.js
new file mode 100644
index 0000000..ab91530
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_6.js
@@ -0,0 +1,28 @@
+var searchData=
+[
+  ['get_105',['Get',['../classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936',1,'kudu::client::ResourceMetrics']]],
+  ['getbinary_106',['GetBinary',['../classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b',1,'kudu::client::KuduScanBatch::GetBinary(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a921dfdeba21588f7a3c2d5e360d3268e',1,'kudu::client::KuduScanBatch::GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e',1,'KuduPartialRow::GetBinary(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1c6b9c1cdf9f80ddeea53117ddc5545d',1,'KuduPartialRow::GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
+  ['getbool_107',['GetBool',['../classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8',1,'kudu::client::KuduScanBatch::GetBool(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1044c3b78e5a6407c2a797005b0e21',1,'kudu::client::KuduScanBatch::GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2',1,'KuduPartialRow::GetBool(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#afd863a5f5a4803a89f6a2db06ba54931',1,'KuduPartialRow::GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT']]],
+  ['getcurrentserver_108',['GetCurrentServer',['../classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10',1,'kudu::client::KuduScanner']]],
+  ['getdate_109',['GetDate',['../classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb',1,'kudu::client::KuduScanBatch::GetDate(const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#afed25c9aadd0c6314aa3dd0acee9da54',1,'kudu::client::KuduScanBatch::GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97',1,'KuduPartialRow::GetDate(const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af0a4c7c7b575a9349195f4f2a8882428',1,'KuduPartialRow::GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT']]],
+  ['getdouble_110',['GetDouble',['../classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0',1,'kudu::client::KuduScanBatch::GetDouble()'],['../classKuduPartialRow.html#a4b4fae6f8be68e97b0e7145ea55fae9f',1,'KuduPartialRow::GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd',1,'KuduPartialRow::GetDouble(const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab2b7fb17cac4571139b2eaca761a99c0',1,'kudu::client::KuduScanBatch::GetDouble()']]],
+  ['getfixedlengthcolumn_111',['GetFixedLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300',1,'kudu::client::KuduColumnarScanBatch']]],
+  ['getfloat_112',['GetFloat',['../classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3',1,'kudu::client::KuduScanBatch::GetFloat(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ae41dd0f1e2b4bf074ded210382b825bd',1,'kudu::client::KuduScanBatch::GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc',1,'KuduPartialRow::GetFloat(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1a53cf17ad2cd746b7512ae3ecd6131f',1,'KuduPartialRow::GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT']]],
+  ['getint16_113',['GetInt16',['../classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037',1,'kudu::client::KuduScanBatch::GetInt16(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab5f35c107dc26165546065189dd53dfa',1,'kudu::client::KuduScanBatch::GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93',1,'KuduPartialRow::GetInt16(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a918cb01437d863fa0a35a9a72b7bac1a',1,'KuduPartialRow::GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT']]],
+  ['getint32_114',['GetInt32',['../classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc',1,'KuduPartialRow::GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9956360f9208549aab03d9284ff80b46',1,'KuduPartialRow::GetInt32(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2',1,'kudu::client::KuduScanBatch::GetInt32(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab321b8c245cc1748c3b3ecdf507b08fb',1,'kudu::client::KuduScanBatch::GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT']]],
+  ['getint64_115',['GetInt64',['../classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0',1,'kudu::client::KuduScanBatch::GetInt64(const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab59039c6f073df0b57ddc16fb8d8c432',1,'kudu::client::KuduScanBatch::GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc',1,'KuduPartialRow::GetInt64(const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9ded00965652dde7d94769f01df01dc9',1,'KuduPartialRow::GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT']]],
+  ['getint8_116',['GetInt8',['../classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b',1,'kudu::client::KuduScanBatch::GetInt8(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a81a30b5b89f6fa106b5d8575c3fb62b9',1,'kudu::client::KuduScanBatch::GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4',1,'KuduPartialRow::GetInt8(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ada872affe8163dfa6420c0f191f9c650',1,'KuduPartialRow::GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT']]],
+  ['getkudutable_117',['GetKuduTable',['../classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a',1,'kudu::client::KuduScanner']]],
+  ['getlatestobservedtimestamp_118',['GetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9',1,'kudu::client::KuduClient']]],
+  ['getmetric_119',['GetMetric',['../classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc',1,'kudu::client::ResourceMetrics']]],
+  ['getnonnullbitmapforcolumn_120',['GetNonNullBitmapForColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312',1,'kudu::client::KuduColumnarScanBatch']]],
+  ['getpendingerrors_121',['GetPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7',1,'kudu::client::KuduSession']]],
+  ['getprojectionschema_122',['GetProjectionSchema',['../classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82',1,'kudu::client::KuduScanner']]],
+  ['getresourcemetrics_123',['GetResourceMetrics',['../classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337',1,'kudu::client::KuduScanner']]],
+  ['getstring_124',['GetString',['../classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7',1,'kudu::client::KuduScanBatch::GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56',1,'kudu::client::KuduScanBatch::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee',1,'KuduPartialRow::GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd',1,'KuduPartialRow::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
+  ['gettableschema_125',['GetTableSchema',['../classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65',1,'kudu::client::KuduClient']]],
+  ['getunixtimemicros_126',['GetUnixTimeMicros',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8',1,'KuduPartialRow::GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246',1,'KuduPartialRow::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT']]],
+  ['getvarchar_127',['GetVarchar',['../classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb',1,'kudu::client::KuduScanBatch::GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b',1,'kudu::client::KuduScanBatch::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d',1,'KuduPartialRow::GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b',1,'KuduPartialRow::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
+  ['getvariablelengthcolumn_128',['GetVariableLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1',1,'kudu::client::KuduColumnarScanBatch']]],
+  ['group_5fvarint_129',['GROUP_VARINT',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82',1,'kudu::client::KuduColumnStorageAttributes']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_7.html b/releases/1.15.0/cpp-client-api/search/all_7.html
new file mode 100644
index 0000000..8ddbf6c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_7.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_7.js b/releases/1.15.0/cpp-client-api/search/all_7.js
new file mode 100644
index 0000000..12ffefd
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_7.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+  ['hash_5falgorithm_130',['hash_algorithm',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['hash_5fseed_131',['hash_seed',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['hasmorerows_132',['HasMoreRows',['../classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94',1,'kudu::client::KuduScanner']]],
+  ['haspendingoperations_133',['HasPendingOperations',['../classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578',1,'kudu::client::KuduSession']]],
+  ['hostname_134',['hostname',['../classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1',1,'kudu::client::KuduTabletServer']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_8.html b/releases/1.15.0/cpp-client-api/search/all_8.html
new file mode 100644
index 0000000..83c55ae
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_8.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_8.js b/releases/1.15.0/cpp-client-api/search/all_8.js
new file mode 100644
index 0000000..9f54b36
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_8.js
@@ -0,0 +1,45 @@
+var searchData=
+[
+  ['id_135',['id',['../classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20',1,'kudu::client::KuduTable::id()'],['../classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837',1,'kudu::client::KuduTablet::id()']]],
+  ['illegalstate_136',['IllegalState',['../classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b',1,'kudu::Status']]],
+  ['import_5fauthentication_5fcredentials_137',['import_authentication_credentials',['../classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e',1,'kudu::client::KuduClientBuilder']]],
+  ['includetablemetadata_138',['IncludeTableMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['includetabletmetadata_139',['IncludeTabletMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['inclusive_5fbound_140',['INCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950',1,'kudu::client::KuduTableCreator']]],
+  ['incomplete_141',['Incomplete',['../classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b',1,'kudu::Status']]],
+  ['increment_142',['Increment',['../classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a',1,'kudu::client::ResourceMetrics']]],
+  ['indirect_5fdata_143',['indirect_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989',1,'kudu::client::KuduScanBatch']]],
+  ['initialized_144',['Initialized',['../classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a',1,'kudu::MonoDelta']]],
+  ['insert_145',['Insert',['../classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678',1,'kudu::client::KuduBloomFilter']]],
+  ['intokuduscanner_146',['IntoKuduScanner',['../classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292',1,'kudu::client::KuduScanToken']]],
+  ['invalidargument_147',['InvalidArgument',['../classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4',1,'kudu::Status']]],
+  ['ioerror_148',['IOError',['../classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862',1,'kudu::Status']]],
+  ['is_5fleader_149',['is_leader',['../classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5',1,'kudu::client::KuduReplica']]],
+  ['isaborted_150',['IsAborted',['../classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874',1,'kudu::Status']]],
+  ['isalreadypresent_151',['IsAlreadyPresent',['../classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282',1,'kudu::Status']]],
+  ['isaltertableinprogress_152',['IsAlterTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809',1,'kudu::client::KuduClient']]],
+  ['iscolumnset_153',['IsColumnSet',['../classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8',1,'KuduPartialRow::IsColumnSet(const Slice &amp;col_name) const'],['../classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf',1,'KuduPartialRow::IsColumnSet(int col_idx) const']]],
+  ['iscommitcomplete_154',['IsCommitComplete',['../classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee',1,'kudu::client::KuduTransaction']]],
+  ['isconfigurationerror_155',['IsConfigurationError',['../classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef',1,'kudu::Status']]],
+  ['iscorruption_156',['IsCorruption',['../classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4',1,'kudu::Status']]],
+  ['iscreatetableinprogress_157',['IsCreateTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63',1,'kudu::client::KuduClient']]],
+  ['isdeleted_158',['IsDeleted',['../classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3',1,'kudu::client::KuduScanBatch']]],
+  ['isdiskfailure_159',['IsDiskFailure',['../classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c',1,'kudu::Status']]],
+  ['isendoffile_160',['IsEndOfFile',['../classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6',1,'kudu::Status']]],
+  ['isillegalstate_161',['IsIllegalState',['../classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24',1,'kudu::Status']]],
+  ['isincomplete_162',['IsIncomplete',['../classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7',1,'kudu::Status']]],
+  ['isinvalidargument_163',['IsInvalidArgument',['../classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b',1,'kudu::Status']]],
+  ['isioerror_164',['IsIOError',['../classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250',1,'kudu::Status']]],
+  ['iskeyset_165',['IsKeySet',['../classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1',1,'KuduPartialRow']]],
+  ['ismultimaster_166',['IsMultiMaster',['../classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433',1,'kudu::client::KuduClient']]],
+  ['isnetworkerror_167',['IsNetworkError',['../classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431',1,'kudu::Status']]],
+  ['isnotauthorized_168',['IsNotAuthorized',['../classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171',1,'kudu::Status']]],
+  ['isnotfound_169',['IsNotFound',['../classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd',1,'kudu::Status']]],
+  ['isnotsupported_170',['IsNotSupported',['../classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea',1,'kudu::Status']]],
+  ['isnull_171',['IsNull',['../classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047',1,'kudu::client::KuduScanBatch::IsNull(const Slice &amp;col_name) const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520',1,'kudu::client::KuduScanBatch::IsNull(int col_idx) const'],['../classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186',1,'KuduPartialRow::IsNull(const Slice &amp;col_name) const'],['../classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648',1,'KuduPartialRow::IsNull(int col_idx) const']]],
+  ['isremoteerror_172',['IsRemoteError',['../classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6',1,'kudu::Status']]],
+  ['isruntimeerror_173',['IsRuntimeError',['../classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8',1,'kudu::Status']]],
+  ['isserviceunavailable_174',['IsServiceUnavailable',['../classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668',1,'kudu::Status']]],
+  ['istimedout_175',['IsTimedOut',['../classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03',1,'kudu::Status']]],
+  ['isuninitialized_176',['IsUninitialized',['../classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b',1,'kudu::Status']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_9.html b/releases/1.15.0/cpp-client-api/search/all_9.html
new file mode 100644
index 0000000..1e263c1
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_9.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_9.js b/releases/1.15.0/cpp-client-api/search/all_9.js
new file mode 100644
index 0000000..281a1cc
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_9.js
@@ -0,0 +1,67 @@
+var searchData=
+[
+  ['keepalive_177',['keepalive',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f',1,'kudu::client::KuduTransaction::SerializationOptions']]],
+  ['keepalive_178',['KeepAlive',['../classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21',1,'kudu::client::KuduScanner']]],
+  ['kmicrosecondspersecond_179',['kMicrosecondsPerSecond',['../classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f',1,'kudu::MonoTime']]],
+  ['knanosecondspermicrosecond_180',['kNanosecondsPerMicrosecond',['../classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583',1,'kudu::MonoTime']]],
+  ['knanosecondspermillisecond_181',['kNanosecondsPerMillisecond',['../classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7',1,'kudu::MonoTime']]],
+  ['knanosecondspersecond_182',['kNanosecondsPerSecond',['../classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18',1,'kudu::MonoTime']]],
+  ['knotimestamp_183',['kNoTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa',1,'kudu::client::KuduClient']]],
+  ['kudu_20c_2b_2b_20client_20api_20documentation_184',['Kudu C++ client API documentation',['../index.html',1,'']]],
+  ['kudu_5fcheck_5fok_185',['KUDU_CHECK_OK',['../status_8h.html#ac503ba85e942147294cdc82087da60f6',1,'status.h']]],
+  ['kudu_5fcheck_5fok_5fprepend_186',['KUDU_CHECK_OK_PREPEND',['../status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f',1,'status.h']]],
+  ['kudu_5fdcheck_5fok_187',['KUDU_DCHECK_OK',['../status_8h.html#a99332afa18f00de3c7fcf3e76949df9d',1,'status.h']]],
+  ['kudu_5fdcheck_5fok_5fprepend_188',['KUDU_DCHECK_OK_PREPEND',['../status_8h.html#a2b360b53025724bb97d1dc21e25e26cc',1,'status.h']]],
+  ['kudu_5flog_5fand_5freturn_189',['KUDU_LOG_AND_RETURN',['../status_8h.html#abbd85cc2c5535627091bb06a21918150',1,'status.h']]],
+  ['kudu_5freturn_5fmain_5fnot_5fok_190',['KUDU_RETURN_MAIN_NOT_OK',['../status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_191',['KUDU_RETURN_NOT_OK',['../status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5feval_192',['KUDU_RETURN_NOT_OK_EVAL',['../status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5flog_193',['KUDU_RETURN_NOT_OK_LOG',['../status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5fprepend_194',['KUDU_RETURN_NOT_OK_PREPEND',['../status_8h.html#af66b8458f1d3f1264c1da86744e29e46',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5fret_195',['KUDU_RETURN_NOT_OK_RET',['../status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223',1,'status.h']]],
+  ['kudu_5fwarn_5fnot_5fok_196',['KUDU_WARN_NOT_OK',['../status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e',1,'status.h']]],
+  ['kudubloomfilter_197',['KuduBloomFilter',['../classkudu_1_1client_1_1KuduBloomFilter.html',1,'kudu::client']]],
+  ['kudubloomfilterbuilder_198',['KuduBloomFilterBuilder',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html',1,'kudu::client::KuduBloomFilterBuilder'],['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4',1,'kudu::client::KuduBloomFilterBuilder::KuduBloomFilterBuilder()']]],
+  ['kuduclient_199',['KuduClient',['../classkudu_1_1client_1_1KuduClient.html',1,'kudu::client']]],
+  ['kuduclientbuilder_200',['KuduClientBuilder',['../classkudu_1_1client_1_1KuduClientBuilder.html',1,'kudu::client']]],
+  ['kuducolumnarscanbatch_201',['KuduColumnarScanBatch',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html',1,'kudu::client']]],
+  ['kuducolumnschema_202',['KuduColumnSchema',['../classkudu_1_1client_1_1KuduColumnSchema.html',1,'kudu::client::KuduColumnSchema'],['../classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872',1,'kudu::client::KuduColumnSchema::KuduColumnSchema()']]],
+  ['kuducolumnspec_203',['KuduColumnSpec',['../classkudu_1_1client_1_1KuduColumnSpec.html',1,'kudu::client']]],
+  ['kuducolumnstorageattributes_204',['KuduColumnStorageAttributes',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html',1,'kudu::client::KuduColumnStorageAttributes'],['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab',1,'kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes()']]],
+  ['kuducolumntypeattributes_205',['KuduColumnTypeAttributes',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html',1,'kudu::client::KuduColumnTypeAttributes'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(const KuduColumnTypeAttributes &amp;other)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(int8_t precision, int8_t scale)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(uint16_t length)']]],
+  ['kududelete_206',['KuduDelete',['../classkudu_1_1client_1_1KuduDelete.html',1,'kudu::client']]],
+  ['kududeleteignore_207',['KuduDeleteIgnore',['../classkudu_1_1client_1_1KuduDeleteIgnore.html',1,'kudu::client']]],
+  ['kuduerror_208',['KuduError',['../classkudu_1_1client_1_1KuduError.html',1,'kudu::client']]],
+  ['kuduinsert_209',['KuduInsert',['../classkudu_1_1client_1_1KuduInsert.html',1,'kudu::client']]],
+  ['kuduinsertignore_210',['KuduInsertIgnore',['../classkudu_1_1client_1_1KuduInsertIgnore.html',1,'kudu::client']]],
+  ['kuduloggingcallback_211',['KuduLoggingCallback',['../classkudu_1_1client_1_1KuduLoggingCallback.html',1,'kudu::client']]],
+  ['kuduloggingfunctioncallback_212',['KuduLoggingFunctionCallback',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html',1,'kudu::client::KuduLoggingFunctionCallback&lt; T &gt;'],['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c',1,'kudu::client::KuduLoggingFunctionCallback::KuduLoggingFunctionCallback()']]],
+  ['kuduloggingmembercallback_213',['KuduLoggingMemberCallback',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html',1,'kudu::client::KuduLoggingMemberCallback&lt; T &gt;'],['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8',1,'kudu::client::KuduLoggingMemberCallback::KuduLoggingMemberCallback()']]],
+  ['kudupartialrow_214',['KuduPartialRow',['../classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1',1,'KuduPartialRow::KuduPartialRow(const KuduPartialRow &amp;other)'],['../classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4',1,'KuduPartialRow::KuduPartialRow(const Schema *schema)'],['../classKuduPartialRow.html',1,'KuduPartialRow']]],
+  ['kudupartitioner_215',['KuduPartitioner',['../classkudu_1_1client_1_1KuduPartitioner.html',1,'kudu::client']]],
+  ['kudupartitionerbuilder_216',['KuduPartitionerBuilder',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html',1,'kudu::client::KuduPartitionerBuilder'],['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba',1,'kudu::client::KuduPartitionerBuilder::KuduPartitionerBuilder()']]],
+  ['kudupredicate_217',['KuduPredicate',['../classkudu_1_1client_1_1KuduPredicate.html',1,'kudu::client']]],
+  ['kudureplica_218',['KuduReplica',['../classkudu_1_1client_1_1KuduReplica.html',1,'kudu::client']]],
+  ['kuduscanbatch_219',['KuduScanBatch',['../classkudu_1_1client_1_1KuduScanBatch.html',1,'kudu::client']]],
+  ['kuduscanner_220',['KuduScanner',['../classkudu_1_1client_1_1KuduScanner.html',1,'kudu::client::KuduScanner'],['../classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180',1,'kudu::client::KuduScanner::KuduScanner()']]],
+  ['kuduscantoken_221',['KuduScanToken',['../classkudu_1_1client_1_1KuduScanToken.html',1,'kudu::client']]],
+  ['kuduscantokenbuilder_222',['KuduScanTokenBuilder',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html',1,'kudu::client::KuduScanTokenBuilder'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484',1,'kudu::client::KuduScanTokenBuilder::KuduScanTokenBuilder()']]],
+  ['kuduschema_223',['KuduSchema',['../classkudu_1_1client_1_1KuduSchema.html',1,'kudu::client::KuduSchema'],['../classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02',1,'kudu::client::KuduSchema::KuduSchema()']]],
+  ['kuduschemabuilder_224',['KuduSchemaBuilder',['../classkudu_1_1client_1_1KuduSchemaBuilder.html',1,'kudu::client']]],
+  ['kudusession_225',['KuduSession',['../classkudu_1_1client_1_1KuduSession.html',1,'kudu::client']]],
+  ['kudustatuscallback_226',['KuduStatusCallback',['../classkudu_1_1client_1_1KuduStatusCallback.html',1,'kudu::client']]],
+  ['kudustatusfunctioncallback_227',['KuduStatusFunctionCallback',['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html',1,'kudu::client::KuduStatusFunctionCallback&lt; T &gt;'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b',1,'kudu::client::KuduStatusFunctionCallback::KuduStatusFunctionCallback()']]],
+  ['kudustatusmembercallback_228',['KuduStatusMemberCallback',['../classkudu_1_1client_1_1KuduStatusMemberCallback.html',1,'kudu::client::KuduStatusMemberCallback&lt; T &gt;'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa',1,'kudu::client::KuduStatusMemberCallback::KuduStatusMemberCallback()']]],
+  ['kudutable_229',['KuduTable',['../classkudu_1_1client_1_1KuduTable.html',1,'kudu::client']]],
+  ['kudutablealterer_230',['KuduTableAlterer',['../classkudu_1_1client_1_1KuduTableAlterer.html',1,'kudu::client']]],
+  ['kudutablecreator_231',['KuduTableCreator',['../classkudu_1_1client_1_1KuduTableCreator.html',1,'kudu::client']]],
+  ['kudutablestatistics_232',['KuduTableStatistics',['../classkudu_1_1client_1_1KuduTableStatistics.html',1,'kudu::client']]],
+  ['kudutablet_233',['KuduTablet',['../classkudu_1_1client_1_1KuduTablet.html',1,'kudu::client']]],
+  ['kudutabletserver_234',['KuduTabletServer',['../classkudu_1_1client_1_1KuduTabletServer.html',1,'kudu::client']]],
+  ['kudutransaction_235',['KuduTransaction',['../classkudu_1_1client_1_1KuduTransaction.html',1,'kudu::client']]],
+  ['kuduupdate_236',['KuduUpdate',['../classkudu_1_1client_1_1KuduUpdate.html',1,'kudu::client']]],
+  ['kuduupdateignore_237',['KuduUpdateIgnore',['../classkudu_1_1client_1_1KuduUpdateIgnore.html',1,'kudu::client']]],
+  ['kuduupsert_238',['KuduUpsert',['../classkudu_1_1client_1_1KuduUpsert.html',1,'kudu::client']]],
+  ['kuduvalue_239',['KuduValue',['../classkudu_1_1client_1_1KuduValue.html',1,'kudu::client']]],
+  ['kuduwriteoperation_240',['KuduWriteOperation',['../classkudu_1_1client_1_1KuduWriteOperation.html',1,'kudu::client']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_a.html b/releases/1.15.0/cpp-client-api/search/all_a.html
new file mode 100644
index 0000000..3a6cac1
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_a.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_a.js b/releases/1.15.0/cpp-client-api/search/all_a.js
new file mode 100644
index 0000000..24a14f7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_a.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+  ['leader_5fonly_241',['LEADER_ONLY',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239',1,'kudu::client::KuduClient']]],
+  ['length_242',['Length',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd',1,'kudu::client::KuduColumnSpec']]],
+  ['length_243',['length',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04',1,'kudu::client::KuduColumnTypeAttributes']]],
+  ['lessthan_244',['LessThan',['../classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79',1,'kudu::MonoDelta']]],
+  ['listtables_245',['ListTables',['../classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d',1,'kudu::client::KuduClient']]],
+  ['listtabletservers_246',['ListTabletServers',['../classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9',1,'kudu::client::KuduClient']]],
+  ['live_5frow_5fcount_247',['live_row_count',['../classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1',1,'kudu::client::KuduTableStatistics']]],
+  ['live_5frow_5fcount_5flimit_248',['live_row_count_limit',['../classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd',1,'kudu::client::KuduTableStatistics']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_b.html b/releases/1.15.0/cpp-client-api/search/all_b.html
new file mode 100644
index 0000000..130deb4
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_b.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_b.js b/releases/1.15.0/cpp-client-api/search/all_b.js
new file mode 100644
index 0000000..b5d69da
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_b.js
@@ -0,0 +1,16 @@
+var searchData=
+[
+  ['manual_5fflush_249',['MANUAL_FLUSH',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a',1,'kudu::client::KuduSession']]],
+  ['master_5fserver_5faddrs_250',['master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114',1,'kudu::client::KuduClientBuilder']]],
+  ['max_251',['Max',['../classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9',1,'kudu::MonoTime']]],
+  ['membertype_252',['MemberType',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d',1,'kudu::client::KuduLoggingMemberCallback::MemberType()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a',1,'kudu::client::KuduStatusMemberCallback::MemberType()']]],
+  ['memory_5ffootprint_5fexcluding_5fthis_253',['memory_footprint_excluding_this',['../classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9',1,'kudu::Status']]],
+  ['memory_5ffootprint_5fincluding_5fthis_254',['memory_footprint_including_this',['../classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c',1,'kudu::Status']]],
+  ['message_255',['message',['../classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796',1,'kudu::Status']]],
+  ['min_256',['Min',['../classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99',1,'kudu::MonoTime']]],
+  ['monodelta_257',['MonoDelta',['../classkudu_1_1MonoDelta.html',1,'kudu::MonoDelta'],['../classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f',1,'kudu::MonoDelta::MonoDelta()']]],
+  ['monotime_258',['MonoTime',['../classkudu_1_1MonoTime.html',1,'kudu']]],
+  ['morethan_259',['MoreThan',['../classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02',1,'kudu::MonoDelta']]],
+  ['mutable_5fdata_260',['mutable_data',['../classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164',1,'kudu::Slice']]],
+  ['mutable_5frow_261',['mutable_row',['../classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc',1,'kudu::client::KuduWriteOperation']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_c.html b/releases/1.15.0/cpp-client-api/search/all_c.html
new file mode 100644
index 0000000..3dd5af0
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_c.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_c.js b/releases/1.15.0/cpp-client-api/search/all_c.js
new file mode 100644
index 0000000..30d5e46
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_c.js
@@ -0,0 +1,35 @@
+var searchData=
+[
+  ['name_262',['name',['../classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244',1,'kudu::client::KuduTable']]],
+  ['nanostotimespec_263',['NanosToTimeSpec',['../classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22',1,'kudu::MonoDelta']]],
+  ['networkerror_264',['NetworkError',['../classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af',1,'kudu::Status']]],
+  ['newcomparisonpredicate_265',['NewComparisonPredicate',['../classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea',1,'kudu::client::KuduTable']]],
+  ['newdelete_266',['NewDelete',['../classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a',1,'kudu::client::KuduTable']]],
+  ['newdeleteignore_267',['NewDeleteIgnore',['../classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094',1,'kudu::client::KuduTable']]],
+  ['newinbloomfilterpredicate_268',['NewInBloomFilterPredicate',['../classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &amp;col_name, std::vector&lt; KuduBloomFilter * &gt; *bloom_filters)'],['../classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &amp;col_name, const std::vector&lt; Slice &gt; &amp;bloom_filters)']]],
+  ['newinlistpredicate_269',['NewInListPredicate',['../classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9',1,'kudu::client::KuduTable']]],
+  ['newinsert_270',['NewInsert',['../classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6',1,'kudu::client::KuduTable']]],
+  ['newinsertignore_271',['NewInsertIgnore',['../classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103',1,'kudu::client::KuduTable']]],
+  ['newisnotnullpredicate_272',['NewIsNotNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523',1,'kudu::client::KuduTable']]],
+  ['newisnullpredicate_273',['NewIsNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466',1,'kudu::client::KuduTable']]],
+  ['newsession_274',['NewSession',['../classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925',1,'kudu::client::KuduClient']]],
+  ['newtablealterer_275',['NewTableAlterer',['../classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea',1,'kudu::client::KuduClient']]],
+  ['newtablecreator_276',['NewTableCreator',['../classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153',1,'kudu::client::KuduClient']]],
+  ['newtransaction_277',['NewTransaction',['../classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345',1,'kudu::client::KuduClient']]],
+  ['newupdate_278',['NewUpdate',['../classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8',1,'kudu::client::KuduTable']]],
+  ['newupdateignore_279',['NewUpdateIgnore',['../classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3',1,'kudu::client::KuduTable']]],
+  ['newupsert_280',['NewUpsert',['../classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc',1,'kudu::client::KuduTable']]],
+  ['nextbatch_281',['NextBatch',['../classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067',1,'kudu::client::KuduScanner::NextBatch(std::vector&lt; KuduRowResult &gt; *rows) ATTRIBUTE_DEPRECATED(&quot;use NextBatch(KuduScanBatch*) instead&quot;)'],['../classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487',1,'kudu::client::KuduScanner::NextBatch(KuduScanBatch *batch)'],['../classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81',1,'kudu::client::KuduScanner::NextBatch(KuduColumnarScanBatch *batch)']]],
+  ['no_5fflags_282',['NO_FLAGS',['../classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85',1,'kudu::client::KuduScanner']]],
+  ['notauthorized_283',['NotAuthorized',['../classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba',1,'kudu::Status']]],
+  ['notfound_284',['NotFound',['../classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3',1,'kudu::Status']]],
+  ['notnull_285',['NotNull',['../classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca',1,'kudu::client::KuduColumnSpec']]],
+  ['notsupported_286',['NotSupported',['../classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c',1,'kudu::Status']]],
+  ['now_287',['Now',['../classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783',1,'kudu::MonoTime']]],
+  ['nullable_288',['Nullable',['../classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841',1,'kudu::client::KuduColumnSpec']]],
+  ['nulllog_289',['NullLog',['../classkudu_1_1internal__logging_1_1NullLog.html',1,'kudu::internal_logging']]],
+  ['num_5freactors_290',['num_reactors',['../classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb',1,'kudu::client::KuduClientBuilder']]],
+  ['num_5freplicas_291',['num_replicas',['../classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139',1,'kudu::client::KuduTableCreator::num_replicas()'],['../classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed',1,'kudu::client::KuduTable::num_replicas()']]],
+  ['numpartitions_292',['NumPartitions',['../classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a',1,'kudu::client::KuduPartitioner']]],
+  ['numrows_293',['NumRows',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7',1,'kudu::client::KuduColumnarScanBatch::NumRows()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c',1,'kudu::client::KuduScanBatch::NumRows()']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_d.html b/releases/1.15.0/cpp-client-api/search/all_d.html
new file mode 100644
index 0000000..af7f2f0
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_d.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_d.js b/releases/1.15.0/cpp-client-api/search/all_d.js
new file mode 100644
index 0000000..f828cfe
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_d.js
@@ -0,0 +1,25 @@
+var searchData=
+[
+  ['ok_294',['OK',['../classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac',1,'kudu::Status']]],
+  ['ok_295',['ok',['../classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af',1,'kudu::Status']]],
+  ['on_5fdisk_5fsize_296',['on_disk_size',['../classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484',1,'kudu::client::KuduTableStatistics']]],
+  ['on_5fdisk_5fsize_5flimit_297',['on_disk_size_limit',['../classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a',1,'kudu::client::KuduTableStatistics']]],
+  ['open_298',['Open',['../classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1',1,'kudu::client::KuduScanner']]],
+  ['opentable_299',['OpenTable',['../classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7',1,'kudu::client::KuduClient']]],
+  ['operator_21_3d_300',['operator!=',['../classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0',1,'kudu::client::KuduScanBatch']]],
+  ['operator_28_29_301',['operator()',['../structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5',1,'kudu::Slice::Comparator']]],
+  ['operator_2a_302',['operator*',['../classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9',1,'kudu::client::KuduScanBatch']]],
+  ['operator_2b_303',['operator+',['../classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08',1,'kudu::MonoDelta']]],
+  ['operator_2b_2b_304',['operator++',['../classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c',1,'kudu::client::KuduScanBatch::operator++()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48',1,'kudu::client::KuduScanBatch::operator++(int)']]],
+  ['operator_2b_3d_305',['operator+=',['../classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299',1,'kudu::MonoDelta']]],
+  ['operator_2d_306',['operator-',['../classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b',1,'kudu::MonoDelta']]],
+  ['operator_2d_3d_307',['operator-=',['../classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb',1,'kudu::MonoDelta']]],
+  ['operator_2d_3e_308',['operator-&gt;',['../classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf',1,'kudu::client::KuduScanBatch::operator-&gt;() const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b',1,'kudu::client::KuduScanBatch::operator-&gt;() const']]],
+  ['operator_3c_3c_309',['operator&lt;&lt;',['../classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a',1,'kudu::internal_logging::NullLog::operator&lt;&lt;()'],['../classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724',1,'kudu::internal_logging::CerrLog::operator&lt;&lt;()']]],
+  ['operator_3d_310',['operator=',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7',1,'kudu::client::KuduColumnTypeAttributes::operator=()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e',1,'kudu::client::KuduColumnSchema::operator=()'],['../classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758',1,'kudu::client::KuduSchema::operator=()'],['../classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f',1,'KuduPartialRow::operator=()'],['../classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88',1,'kudu::Status::operator=()']]],
+  ['operator_3d_3d_311',['operator==',['../classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63',1,'kudu::client::KuduScanBatch::operator==()'],['../classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c',1,'kudu::Slice::operator==()']]],
+  ['operator_5b_5d_312',['operator[]',['../classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff',1,'kudu::Slice']]],
+  ['ordered_313',['ORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a',1,'kudu::client::KuduScanner']]],
+  ['ordermode_314',['OrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9',1,'kudu::client::KuduScanner']]],
+  ['owner_315',['owner',['../classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d',1,'kudu::client::KuduTable']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_e.html b/releases/1.15.0/cpp-client-api/search/all_e.html
new file mode 100644
index 0000000..e25df42
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_e.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_e.js b/releases/1.15.0/cpp-client-api/search/all_e.js
new file mode 100644
index 0000000..68de4c4
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_e.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+  ['pad_5funixtime_5fmicros_5fto_5f16_5fbytes_316',['PAD_UNIXTIME_MICROS_TO_16_BYTES',['../classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44',1,'kudu::client::KuduScanner']]],
+  ['partition_5fschema_317',['partition_schema',['../classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2',1,'kudu::client::KuduTable']]],
+  ['partitionrow_318',['PartitionRow',['../classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369',1,'kudu::client::KuduPartitioner']]],
+  ['port_319',['port',['../classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f',1,'kudu::client::KuduTabletServer']]],
+  ['posix_5fcode_320',['posix_code',['../classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d',1,'kudu::Status']]],
+  ['precision_321',['precision',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1',1,'kudu::client::KuduColumnTypeAttributes']]],
+  ['precision_322',['Precision',['../classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb',1,'kudu::client::KuduColumnSpec']]],
+  ['primarykey_323',['PrimaryKey',['../classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2',1,'kudu::client::KuduColumnSpec']]],
+  ['projection_5fschema_324',['projection_schema',['../classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324',1,'kudu::client::KuduScanBatch']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/all_f.html b/releases/1.15.0/cpp-client-api/search/all_f.html
new file mode 100644
index 0000000..b23da6c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_f.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/all_f.js b/releases/1.15.0/cpp-client-api/search/all_f.js
new file mode 100644
index 0000000..cba7e21
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/all_f.js
@@ -0,0 +1,24 @@
+var searchData=
+[
+  ['rangepartitionbound_325',['RangePartitionBound',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b',1,'kudu::client::KuduTableCreator']]],
+  ['read_5fat_5fsnapshot_326',['READ_AT_SNAPSHOT',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2',1,'kudu::client::KuduScanner']]],
+  ['read_5flatest_327',['READ_LATEST',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8',1,'kudu::client::KuduScanner']]],
+  ['read_5fyour_5fwrites_328',['READ_YOUR_WRITES',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567',1,'kudu::client::KuduScanner']]],
+  ['readmode_329',['ReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348',1,'kudu::client::KuduScanner']]],
+  ['release_5ffailed_5fop_330',['release_failed_op',['../classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a',1,'kudu::client::KuduError']]],
+  ['relocate_331',['relocate',['../classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806',1,'kudu::Slice']]],
+  ['remoteerror_332',['RemoteError',['../classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f',1,'kudu::Status']]],
+  ['remove_5fprefix_333',['remove_prefix',['../classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842',1,'kudu::Slice']]],
+  ['removedefault_334',['RemoveDefault',['../classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82',1,'kudu::client::KuduColumnSpec']]],
+  ['renameto_335',['RenameTo',['../classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324',1,'kudu::client::KuduTableAlterer::RenameTo()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4',1,'kudu::client::KuduColumnSpec::RenameTo()']]],
+  ['replicas_336',['replicas',['../classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19',1,'kudu::client::KuduTablet']]],
+  ['replicaselection_337',['ReplicaSelection',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a',1,'kudu::client::KuduClient']]],
+  ['reset_338',['Reset',['../classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab',1,'kudu::client::KuduSchema']]],
+  ['resourcemetrics_339',['ResourceMetrics',['../classkudu_1_1client_1_1ResourceMetrics.html',1,'kudu::client']]],
+  ['rollback_340',['Rollback',['../classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8',1,'kudu::client::KuduTransaction']]],
+  ['row_341',['row',['../classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd',1,'kudu::client::KuduWriteOperation']]],
+  ['row_342',['Row',['../classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320',1,'kudu::client::KuduScanBatch']]],
+  ['rowptr_343',['RowPtr',['../classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e',1,'kudu::client::KuduScanBatch']]],
+  ['run_344',['Run',['../classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c',1,'kudu::client::KuduLoggingCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9',1,'kudu::client::KuduLoggingMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d',1,'kudu::client::KuduLoggingFunctionCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07',1,'kudu::client::KuduStatusCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232',1,'kudu::client::KuduStatusMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a',1,'kudu::client::KuduStatusFunctionCallback::Run()']]],
+  ['runtimeerror_345',['RuntimeError',['../classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692',1,'kudu::Status']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/classes_0.html b/releases/1.15.0/cpp-client-api/search/classes_0.html
new file mode 100644
index 0000000..af8159e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/classes_0.js b/releases/1.15.0/cpp-client-api/search/classes_0.js
new file mode 100644
index 0000000..676c068
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_0.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['asyncleadermasterrpc_442',['AsyncLeaderMasterRpc',['../classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html',1,'kudu::client::internal']]],
+  ['asyncrandomtxnmanagerrpc_443',['AsyncRandomTxnManagerRpc',['../classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html',1,'kudu::client::internal']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/classes_1.html b/releases/1.15.0/cpp-client-api/search/classes_1.html
new file mode 100644
index 0000000..576e916
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/classes_1.js b/releases/1.15.0/cpp-client-api/search/classes_1.js
new file mode 100644
index 0000000..4134250
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_1.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['cerrlog_444',['CerrLog',['../classkudu_1_1internal__logging_1_1CerrLog.html',1,'kudu::internal_logging']]],
+  ['comparator_445',['Comparator',['../structkudu_1_1Slice_1_1Comparator.html',1,'kudu::Slice']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/classes_2.html b/releases/1.15.0/cpp-client-api/search/classes_2.html
new file mode 100644
index 0000000..956405e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/classes_2.js b/releases/1.15.0/cpp-client-api/search/classes_2.js
new file mode 100644
index 0000000..2e79205
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_2.js
@@ -0,0 +1,47 @@
+var searchData=
+[
+  ['kudubloomfilter_446',['KuduBloomFilter',['../classkudu_1_1client_1_1KuduBloomFilter.html',1,'kudu::client']]],
+  ['kudubloomfilterbuilder_447',['KuduBloomFilterBuilder',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html',1,'kudu::client']]],
+  ['kuduclient_448',['KuduClient',['../classkudu_1_1client_1_1KuduClient.html',1,'kudu::client']]],
+  ['kuduclientbuilder_449',['KuduClientBuilder',['../classkudu_1_1client_1_1KuduClientBuilder.html',1,'kudu::client']]],
+  ['kuducolumnarscanbatch_450',['KuduColumnarScanBatch',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html',1,'kudu::client']]],
+  ['kuducolumnschema_451',['KuduColumnSchema',['../classkudu_1_1client_1_1KuduColumnSchema.html',1,'kudu::client']]],
+  ['kuducolumnspec_452',['KuduColumnSpec',['../classkudu_1_1client_1_1KuduColumnSpec.html',1,'kudu::client']]],
+  ['kuducolumnstorageattributes_453',['KuduColumnStorageAttributes',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html',1,'kudu::client']]],
+  ['kuducolumntypeattributes_454',['KuduColumnTypeAttributes',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html',1,'kudu::client']]],
+  ['kududelete_455',['KuduDelete',['../classkudu_1_1client_1_1KuduDelete.html',1,'kudu::client']]],
+  ['kududeleteignore_456',['KuduDeleteIgnore',['../classkudu_1_1client_1_1KuduDeleteIgnore.html',1,'kudu::client']]],
+  ['kuduerror_457',['KuduError',['../classkudu_1_1client_1_1KuduError.html',1,'kudu::client']]],
+  ['kuduinsert_458',['KuduInsert',['../classkudu_1_1client_1_1KuduInsert.html',1,'kudu::client']]],
+  ['kuduinsertignore_459',['KuduInsertIgnore',['../classkudu_1_1client_1_1KuduInsertIgnore.html',1,'kudu::client']]],
+  ['kuduloggingcallback_460',['KuduLoggingCallback',['../classkudu_1_1client_1_1KuduLoggingCallback.html',1,'kudu::client']]],
+  ['kuduloggingfunctioncallback_461',['KuduLoggingFunctionCallback',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html',1,'kudu::client']]],
+  ['kuduloggingmembercallback_462',['KuduLoggingMemberCallback',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html',1,'kudu::client']]],
+  ['kudupartialrow_463',['KuduPartialRow',['../classKuduPartialRow.html',1,'']]],
+  ['kudupartitioner_464',['KuduPartitioner',['../classkudu_1_1client_1_1KuduPartitioner.html',1,'kudu::client']]],
+  ['kudupartitionerbuilder_465',['KuduPartitionerBuilder',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html',1,'kudu::client']]],
+  ['kudupredicate_466',['KuduPredicate',['../classkudu_1_1client_1_1KuduPredicate.html',1,'kudu::client']]],
+  ['kudureplica_467',['KuduReplica',['../classkudu_1_1client_1_1KuduReplica.html',1,'kudu::client']]],
+  ['kuduscanbatch_468',['KuduScanBatch',['../classkudu_1_1client_1_1KuduScanBatch.html',1,'kudu::client']]],
+  ['kuduscanner_469',['KuduScanner',['../classkudu_1_1client_1_1KuduScanner.html',1,'kudu::client']]],
+  ['kuduscantoken_470',['KuduScanToken',['../classkudu_1_1client_1_1KuduScanToken.html',1,'kudu::client']]],
+  ['kuduscantokenbuilder_471',['KuduScanTokenBuilder',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html',1,'kudu::client']]],
+  ['kuduschema_472',['KuduSchema',['../classkudu_1_1client_1_1KuduSchema.html',1,'kudu::client']]],
+  ['kuduschemabuilder_473',['KuduSchemaBuilder',['../classkudu_1_1client_1_1KuduSchemaBuilder.html',1,'kudu::client']]],
+  ['kudusession_474',['KuduSession',['../classkudu_1_1client_1_1KuduSession.html',1,'kudu::client']]],
+  ['kudustatuscallback_475',['KuduStatusCallback',['../classkudu_1_1client_1_1KuduStatusCallback.html',1,'kudu::client']]],
+  ['kudustatusfunctioncallback_476',['KuduStatusFunctionCallback',['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html',1,'kudu::client']]],
+  ['kudustatusmembercallback_477',['KuduStatusMemberCallback',['../classkudu_1_1client_1_1KuduStatusMemberCallback.html',1,'kudu::client']]],
+  ['kudutable_478',['KuduTable',['../classkudu_1_1client_1_1KuduTable.html',1,'kudu::client']]],
+  ['kudutablealterer_479',['KuduTableAlterer',['../classkudu_1_1client_1_1KuduTableAlterer.html',1,'kudu::client']]],
+  ['kudutablecreator_480',['KuduTableCreator',['../classkudu_1_1client_1_1KuduTableCreator.html',1,'kudu::client']]],
+  ['kudutablestatistics_481',['KuduTableStatistics',['../classkudu_1_1client_1_1KuduTableStatistics.html',1,'kudu::client']]],
+  ['kudutablet_482',['KuduTablet',['../classkudu_1_1client_1_1KuduTablet.html',1,'kudu::client']]],
+  ['kudutabletserver_483',['KuduTabletServer',['../classkudu_1_1client_1_1KuduTabletServer.html',1,'kudu::client']]],
+  ['kudutransaction_484',['KuduTransaction',['../classkudu_1_1client_1_1KuduTransaction.html',1,'kudu::client']]],
+  ['kuduupdate_485',['KuduUpdate',['../classkudu_1_1client_1_1KuduUpdate.html',1,'kudu::client']]],
+  ['kuduupdateignore_486',['KuduUpdateIgnore',['../classkudu_1_1client_1_1KuduUpdateIgnore.html',1,'kudu::client']]],
+  ['kuduupsert_487',['KuduUpsert',['../classkudu_1_1client_1_1KuduUpsert.html',1,'kudu::client']]],
+  ['kuduvalue_488',['KuduValue',['../classkudu_1_1client_1_1KuduValue.html',1,'kudu::client']]],
+  ['kuduwriteoperation_489',['KuduWriteOperation',['../classkudu_1_1client_1_1KuduWriteOperation.html',1,'kudu::client']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/classes_3.html b/releases/1.15.0/cpp-client-api/search/classes_3.html
new file mode 100644
index 0000000..d33343b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/classes_3.js b/releases/1.15.0/cpp-client-api/search/classes_3.js
new file mode 100644
index 0000000..1afd316
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_3.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['monodelta_490',['MonoDelta',['../classkudu_1_1MonoDelta.html',1,'kudu']]],
+  ['monotime_491',['MonoTime',['../classkudu_1_1MonoTime.html',1,'kudu']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/classes_4.html b/releases/1.15.0/cpp-client-api/search/classes_4.html
new file mode 100644
index 0000000..8430b07
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/classes_4.js b/releases/1.15.0/cpp-client-api/search/classes_4.js
new file mode 100644
index 0000000..b2b06aa
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['nulllog_492',['NullLog',['../classkudu_1_1internal__logging_1_1NullLog.html',1,'kudu::internal_logging']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/classes_5.html b/releases/1.15.0/cpp-client-api/search/classes_5.html
new file mode 100644
index 0000000..c2f1b76
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/classes_5.js b/releases/1.15.0/cpp-client-api/search/classes_5.js
new file mode 100644
index 0000000..04d8055
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['resourcemetrics_493',['ResourceMetrics',['../classkudu_1_1client_1_1ResourceMetrics.html',1,'kudu::client']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/classes_6.html b/releases/1.15.0/cpp-client-api/search/classes_6.html
new file mode 100644
index 0000000..e39847c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/classes_6.js b/releases/1.15.0/cpp-client-api/search/classes_6.js
new file mode 100644
index 0000000..1d9bce3
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/classes_6.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['serializationoptions_494',['SerializationOptions',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html',1,'kudu::client::KuduTransaction']]],
+  ['slice_495',['Slice',['../classkudu_1_1Slice.html',1,'kudu']]],
+  ['slicemap_496',['SliceMap',['../structkudu_1_1SliceMap.html',1,'kudu']]],
+  ['status_497',['Status',['../classkudu_1_1Status.html',1,'kudu']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/close.svg b/releases/1.15.0/cpp-client-api/search/close.svg
new file mode 100644
index 0000000..a933eea
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/close.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   viewBox="0 0 11 11"
+   height="11"
+   width="11"
+   id="svg2"
+   version="1.1">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <path
+     id="path12"
+     d="M 5.5 0.5 A 5 5 0 0 0 0.5 5.5 A 5 5 0 0 0 5.5 10.5 A 5 5 0 0 0 10.5 5.5 A 5 5 0 0 0 5.5 0.5 z M 3.5820312 3 A 0.58291923 0.58291923 0 0 1 4 3.1757812 L 5.5 4.6757812 L 7 3.1757812 A 0.58291923 0.58291923 0 0 1 7.4003906 3 A 0.58291923 0.58291923 0 0 1 7.8242188 4 L 6.3242188 5.5 L 7.8242188 7 A 0.58291923 0.58291923 0 1 1 7 7.8242188 L 5.5 6.3242188 L 4 7.8242188 A 0.58291923 0.58291923 0 1 1 3.1757812 7 L 4.6757812 5.5 L 3.1757812 4 A 0.58291923 0.58291923 0 0 1 3.5820312 3 z "
+     style="stroke-width:1.09870648;fill:#bababa;fill-opacity:1" />
+</svg>
diff --git a/releases/1.15.0/cpp-client-api/search/defines_0.html b/releases/1.15.0/cpp-client-api/search/defines_0.html
new file mode 100644
index 0000000..15cc3de
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/defines_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="defines_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/defines_0.js b/releases/1.15.0/cpp-client-api/search/defines_0.js
new file mode 100644
index 0000000..b02ee62
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/defines_0.js
@@ -0,0 +1,15 @@
+var searchData=
+[
+  ['kudu_5fcheck_5fok_888',['KUDU_CHECK_OK',['../status_8h.html#ac503ba85e942147294cdc82087da60f6',1,'status.h']]],
+  ['kudu_5fcheck_5fok_5fprepend_889',['KUDU_CHECK_OK_PREPEND',['../status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f',1,'status.h']]],
+  ['kudu_5fdcheck_5fok_890',['KUDU_DCHECK_OK',['../status_8h.html#a99332afa18f00de3c7fcf3e76949df9d',1,'status.h']]],
+  ['kudu_5fdcheck_5fok_5fprepend_891',['KUDU_DCHECK_OK_PREPEND',['../status_8h.html#a2b360b53025724bb97d1dc21e25e26cc',1,'status.h']]],
+  ['kudu_5flog_5fand_5freturn_892',['KUDU_LOG_AND_RETURN',['../status_8h.html#abbd85cc2c5535627091bb06a21918150',1,'status.h']]],
+  ['kudu_5freturn_5fmain_5fnot_5fok_893',['KUDU_RETURN_MAIN_NOT_OK',['../status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_894',['KUDU_RETURN_NOT_OK',['../status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5feval_895',['KUDU_RETURN_NOT_OK_EVAL',['../status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5flog_896',['KUDU_RETURN_NOT_OK_LOG',['../status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5fprepend_897',['KUDU_RETURN_NOT_OK_PREPEND',['../status_8h.html#af66b8458f1d3f1264c1da86744e29e46',1,'status.h']]],
+  ['kudu_5freturn_5fnot_5fok_5fret_898',['KUDU_RETURN_NOT_OK_RET',['../status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223',1,'status.h']]],
+  ['kudu_5fwarn_5fnot_5fok_899',['KUDU_WARN_NOT_OK',['../status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e',1,'status.h']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enums_0.html b/releases/1.15.0/cpp-client-api/search/enums_0.html
new file mode 100644
index 0000000..141fff5
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enums_0.js b/releases/1.15.0/cpp-client-api/search/enums_0.js
new file mode 100644
index 0000000..2f150aa
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_0.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['comparisonop_857',['ComparisonOp',['../classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4',1,'kudu::client::KuduPredicate']]],
+  ['compressiontype_858',['CompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78',1,'kudu::client::KuduColumnStorageAttributes']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enums_1.html b/releases/1.15.0/cpp-client-api/search/enums_1.html
new file mode 100644
index 0000000..d29f3b1
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enums_1.js b/releases/1.15.0/cpp-client-api/search/enums_1.js
new file mode 100644
index 0000000..b95b05e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['datatype_859',['DataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5',1,'kudu::client::KuduColumnSchema']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enums_2.html b/releases/1.15.0/cpp-client-api/search/enums_2.html
new file mode 100644
index 0000000..59aadf2
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enums_2.js b/releases/1.15.0/cpp-client-api/search/enums_2.js
new file mode 100644
index 0000000..e09cfbc
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_2.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['encodingtype_860',['EncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['externalconsistencymode_861',['ExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22',1,'kudu::client::KuduSession']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enums_3.html b/releases/1.15.0/cpp-client-api/search/enums_3.html
new file mode 100644
index 0000000..87c1744
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enums_3.js b/releases/1.15.0/cpp-client-api/search/enums_3.js
new file mode 100644
index 0000000..52ce541
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['flushmode_862',['FlushMode',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19',1,'kudu::client::KuduSession']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enums_4.html b/releases/1.15.0/cpp-client-api/search/enums_4.html
new file mode 100644
index 0000000..90dda13
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enums_4.js b/releases/1.15.0/cpp-client-api/search/enums_4.js
new file mode 100644
index 0000000..d122864
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['ordermode_863',['OrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9',1,'kudu::client::KuduScanner']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enums_5.html b/releases/1.15.0/cpp-client-api/search/enums_5.html
new file mode 100644
index 0000000..c57b885
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enums_5.js b/releases/1.15.0/cpp-client-api/search/enums_5.js
new file mode 100644
index 0000000..6183d52
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_5.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['rangepartitionbound_864',['RangePartitionBound',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b',1,'kudu::client::KuduTableCreator']]],
+  ['readmode_865',['ReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348',1,'kudu::client::KuduScanner']]],
+  ['replicaselection_866',['ReplicaSelection',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a',1,'kudu::client::KuduClient']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enums_6.html b/releases/1.15.0/cpp-client-api/search/enums_6.html
new file mode 100644
index 0000000..ea5e0a6
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enums_6.js b/releases/1.15.0/cpp-client-api/search/enums_6.js
new file mode 100644
index 0000000..3831f63
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enums_6.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['type_867',['Type',['../classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357',1,'kudu::client::KuduWriteOperation']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_0.html b/releases/1.15.0/cpp-client-api/search/enumvalues_0.html
new file mode 100644
index 0000000..0d131d9
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_0.js b/releases/1.15.0/cpp-client-api/search/enumvalues_0.js
new file mode 100644
index 0000000..359b695
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_0.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['auto_5fflush_5fbackground_868',['AUTO_FLUSH_BACKGROUND',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1',1,'kudu::client::KuduSession']]],
+  ['auto_5fflush_5fsync_869',['AUTO_FLUSH_SYNC',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b',1,'kudu::client::KuduSession']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_1.html b/releases/1.15.0/cpp-client-api/search/enumvalues_1.html
new file mode 100644
index 0000000..cd9187a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_1.js b/releases/1.15.0/cpp-client-api/search/enumvalues_1.js
new file mode 100644
index 0000000..a60f2e1
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_1.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['client_5fpropagated_870',['CLIENT_PROPAGATED',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c',1,'kudu::client::KuduSession']]],
+  ['closest_5freplica_871',['CLOSEST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8',1,'kudu::client::KuduClient']]],
+  ['commit_5fwait_872',['COMMIT_WAIT',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9',1,'kudu::client::KuduSession']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_2.html b/releases/1.15.0/cpp-client-api/search/enumvalues_2.html
new file mode 100644
index 0000000..2b95d92
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_2.js b/releases/1.15.0/cpp-client-api/search/enumvalues_2.js
new file mode 100644
index 0000000..38126dd
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['exclusive_5fbound_873',['EXCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601',1,'kudu::client::KuduTableCreator']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_3.html b/releases/1.15.0/cpp-client-api/search/enumvalues_3.html
new file mode 100644
index 0000000..bc0ac8a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_3.js b/releases/1.15.0/cpp-client-api/search/enumvalues_3.js
new file mode 100644
index 0000000..f7af519
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['first_5freplica_874',['FIRST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f',1,'kudu::client::KuduClient']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_4.html b/releases/1.15.0/cpp-client-api/search/enumvalues_4.html
new file mode 100644
index 0000000..ef94dd8
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_4.js b/releases/1.15.0/cpp-client-api/search/enumvalues_4.js
new file mode 100644
index 0000000..b849358
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['group_5fvarint_875',['GROUP_VARINT',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82',1,'kudu::client::KuduColumnStorageAttributes']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_5.html b/releases/1.15.0/cpp-client-api/search/enumvalues_5.html
new file mode 100644
index 0000000..1c2e2f3
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_5.js b/releases/1.15.0/cpp-client-api/search/enumvalues_5.js
new file mode 100644
index 0000000..c21d796
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['inclusive_5fbound_876',['INCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950',1,'kudu::client::KuduTableCreator']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_6.html b/releases/1.15.0/cpp-client-api/search/enumvalues_6.html
new file mode 100644
index 0000000..f985df9
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_6.js b/releases/1.15.0/cpp-client-api/search/enumvalues_6.js
new file mode 100644
index 0000000..960d75c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_6.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['leader_5fonly_877',['LEADER_ONLY',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239',1,'kudu::client::KuduClient']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_7.html b/releases/1.15.0/cpp-client-api/search/enumvalues_7.html
new file mode 100644
index 0000000..7fdf663
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_7.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_7.js b/releases/1.15.0/cpp-client-api/search/enumvalues_7.js
new file mode 100644
index 0000000..71bc49a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_7.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['manual_5fflush_878',['MANUAL_FLUSH',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a',1,'kudu::client::KuduSession']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_8.html b/releases/1.15.0/cpp-client-api/search/enumvalues_8.html
new file mode 100644
index 0000000..674ccda
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_8.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_8.js b/releases/1.15.0/cpp-client-api/search/enumvalues_8.js
new file mode 100644
index 0000000..59d81e7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_8.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['ordered_879',['ORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a',1,'kudu::client::KuduScanner']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_9.html b/releases/1.15.0/cpp-client-api/search/enumvalues_9.html
new file mode 100644
index 0000000..60f15ee
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_9.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_9.js b/releases/1.15.0/cpp-client-api/search/enumvalues_9.js
new file mode 100644
index 0000000..6a49e9f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_9.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['read_5fat_5fsnapshot_880',['READ_AT_SNAPSHOT',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2',1,'kudu::client::KuduScanner']]],
+  ['read_5flatest_881',['READ_LATEST',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8',1,'kudu::client::KuduScanner']]],
+  ['read_5fyour_5fwrites_882',['READ_YOUR_WRITES',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567',1,'kudu::client::KuduScanner']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_a.html b/releases/1.15.0/cpp-client-api/search/enumvalues_a.html
new file mode 100644
index 0000000..ce1064c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_a.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_a.js b/releases/1.15.0/cpp-client-api/search/enumvalues_a.js
new file mode 100644
index 0000000..8111191
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_a.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['timestamp_883',['TIMESTAMP',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505',1,'kudu::client::KuduColumnSchema']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_b.html b/releases/1.15.0/cpp-client-api/search/enumvalues_b.html
new file mode 100644
index 0000000..ec768e7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_b.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/enumvalues_b.js b/releases/1.15.0/cpp-client-api/search/enumvalues_b.js
new file mode 100644
index 0000000..f2e0999
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/enumvalues_b.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['unordered_884',['UNORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3',1,'kudu::client::KuduScanner']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/files_0.html b/releases/1.15.0/cpp-client-api/search/files_0.html
new file mode 100644
index 0000000..9498842
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/files_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/files_0.js b/releases/1.15.0/cpp-client-api/search/files_0.js
new file mode 100644
index 0000000..ecee8e1
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/files_0.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['shared_5fptr_2eh_498',['shared_ptr.h',['../shared__ptr_8h.html',1,'']]],
+  ['status_2eh_499',['status.h',['../status_8h.html',1,'']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_0.html b/releases/1.15.0/cpp-client-api/search/functions_0.html
new file mode 100644
index 0000000..eb4c501
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_0.js b/releases/1.15.0/cpp-client-api/search/functions_0.js
new file mode 100644
index 0000000..5a4d385
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_0.js
@@ -0,0 +1,25 @@
+var searchData=
+[
+  ['aborted_500',['Aborted',['../classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144',1,'kudu::Status']]],
+  ['add_5fhash_5fpartitions_501',['add_hash_partitions',['../classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e',1,'kudu::client::KuduTableCreator::add_hash_partitions(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets)'],['../classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24',1,'kudu::client::KuduTableCreator::add_hash_partitions(const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets, int32_t seed)']]],
+  ['add_5fmaster_5fserver_5faddr_502',['add_master_server_addr',['../classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c',1,'kudu::client::KuduClientBuilder']]],
+  ['add_5frange_5fpartition_503',['add_range_partition',['../classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a',1,'kudu::client::KuduTableCreator']]],
+  ['add_5frange_5fpartition_5fsplit_504',['add_range_partition_split',['../classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f',1,'kudu::client::KuduTableCreator']]],
+  ['addcolumn_505',['AddColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0',1,'kudu::client::KuduTableAlterer::AddColumn()'],['../classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600',1,'kudu::client::KuduSchemaBuilder::AddColumn()']]],
+  ['addconjunctpredicate_506',['AddConjunctPredicate',['../classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74',1,'kudu::client::KuduScanner::AddConjunctPredicate()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e',1,'kudu::client::KuduScanTokenBuilder::AddConjunctPredicate()']]],
+  ['addexclusiveupperbound_507',['AddExclusiveUpperBound',['../classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d',1,'kudu::client::KuduScanner']]],
+  ['addexclusiveupperboundpartitionkeyraw_508',['AddExclusiveUpperBoundPartitionKeyRaw',['../classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9',1,'kudu::client::KuduScanner']]],
+  ['addexclusiveupperboundraw_509',['AddExclusiveUpperBoundRaw',['../classkudu_1_1client_1_1KuduScanner.html#aefb6badecb950d5089b2f9d29d1f2ffe',1,'kudu::client::KuduScanner']]],
+  ['addlowerbound_510',['AddLowerBound',['../classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86',1,'kudu::client::KuduScanner::AddLowerBound()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf',1,'kudu::client::KuduScanTokenBuilder::AddLowerBound()']]],
+  ['addlowerboundpartitionkeyraw_511',['AddLowerBoundPartitionKeyRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e',1,'kudu::client::KuduScanner']]],
+  ['addlowerboundraw_512',['AddLowerBoundRaw',['../classkudu_1_1client_1_1KuduScanner.html#a3e51a978f3e54237fa60f7447ef3436e',1,'kudu::client::KuduScanner']]],
+  ['addrangepartition_513',['AddRangePartition',['../classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793',1,'kudu::client::KuduTableAlterer']]],
+  ['addrangepartitionwithdimension_514',['AddRangePartitionWithDimension',['../classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006',1,'kudu::client::KuduTableAlterer']]],
+  ['addupperbound_515',['AddUpperBound',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['allcolumnsset_516',['AllColumnsSet',['../classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d',1,'KuduPartialRow']]],
+  ['alreadypresent_517',['AlreadyPresent',['../classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45',1,'kudu::Status']]],
+  ['alter_518',['Alter',['../classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c',1,'kudu::client::KuduTableAlterer']]],
+  ['altercolumn_519',['AlterColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742',1,'kudu::client::KuduTableAlterer']]],
+  ['alterextraconfig_520',['AlterExtraConfig',['../classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541',1,'kudu::client::KuduTableAlterer']]],
+  ['apply_521',['Apply',['../classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943',1,'kudu::client::KuduSession']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_1.html b/releases/1.15.0/cpp-client-api/search/functions_1.html
new file mode 100644
index 0000000..ef4088b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_1.js b/releases/1.15.0/cpp-client-api/search/functions_1.js
new file mode 100644
index 0000000..30495aa
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_1.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['begin_522',['begin',['../classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21',1,'kudu::client::KuduScanBatch']]],
+  ['blocksize_523',['BlockSize',['../classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6',1,'kudu::client::KuduColumnSpec']]],
+  ['build_524',['Build',['../classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77',1,'kudu::client::KuduClientBuilder::Build()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb',1,'kudu::client::KuduScanTokenBuilder::Build()'],['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba',1,'kudu::client::KuduPartitionerBuilder::Build()'],['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a',1,'kudu::client::KuduBloomFilterBuilder::Build()'],['../classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15',1,'kudu::client::KuduSchemaBuilder::Build()']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_10.html b/releases/1.15.0/cpp-client-api/search/functions_10.html
new file mode 100644
index 0000000..1bdc125
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_10.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_10.js b/releases/1.15.0/cpp-client-api/search/functions_10.js
new file mode 100644
index 0000000..907149a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_10.js
@@ -0,0 +1,68 @@
+var searchData=
+[
+  ['sasl_5fprotocol_5fname_757',['sasl_protocol_name',['../classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de',1,'kudu::client::KuduClientBuilder']]],
+  ['scale_758',['scale',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567',1,'kudu::client::KuduColumnTypeAttributes']]],
+  ['scale_759',['Scale',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777',1,'kudu::client::KuduColumnSpec']]],
+  ['schema_760',['schema',['../classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7',1,'kudu::client::KuduTableCreator::schema()'],['../classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8',1,'KuduPartialRow::schema()'],['../classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c',1,'kudu::client::KuduTable::schema()']]],
+  ['serialize_761',['Serialize',['../classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5',1,'kudu::client::KuduTransaction::Serialize()'],['../classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008',1,'kudu::client::KuduScanToken::Serialize()']]],
+  ['serviceunavailable_762',['ServiceUnavailable',['../classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568',1,'kudu::Status']]],
+  ['set_5fcomment_763',['set_comment',['../classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f',1,'kudu::client::KuduTableCreator']]],
+  ['set_5fowner_764',['set_owner',['../classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007',1,'kudu::client::KuduTableCreator']]],
+  ['set_5frange_5fpartition_5fcolumns_765',['set_range_partition_columns',['../classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3',1,'kudu::client::KuduTableCreator']]],
+  ['setbatchsizebytes_766',['SetBatchSizeBytes',['../classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c',1,'kudu::client::KuduScanner::SetBatchSizeBytes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c',1,'kudu::client::KuduScanTokenBuilder::SetBatchSizeBytes()']]],
+  ['setbinary_767',['SetBinary',['../classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3',1,'KuduPartialRow::SetBinary(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c',1,'KuduPartialRow::SetBinary(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setbinarycopy_768',['SetBinaryCopy',['../classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78',1,'KuduPartialRow::SetBinaryCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35',1,'KuduPartialRow::SetBinaryCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setbinarynocopy_769',['SetBinaryNoCopy',['../classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f',1,'KuduPartialRow::SetBinaryNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793',1,'KuduPartialRow::SetBinaryNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setbool_770',['SetBool',['../classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d',1,'KuduPartialRow::SetBool(const Slice &amp;col_name, bool val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8500986269930b88336c36bc50328768',1,'KuduPartialRow::SetBool(int col_idx, bool val) WARN_UNUSED_RESULT']]],
+  ['setbuildtimeout_771',['SetBuildTimeout',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14',1,'kudu::client::KuduPartitionerBuilder']]],
+  ['setcacheblocks_772',['SetCacheBlocks',['../classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310',1,'kudu::client::KuduScanner::SetCacheBlocks()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475',1,'kudu::client::KuduScanTokenBuilder::SetCacheBlocks()']]],
+  ['setcomment_773',['SetComment',['../classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6',1,'kudu::client::KuduTableAlterer']]],
+  ['setdate_774',['SetDate',['../classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a',1,'KuduPartialRow::SetDate(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4',1,'KuduPartialRow::SetDate(const Slice &amp;col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT']]],
+  ['setdouble_775',['SetDouble',['../classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20',1,'KuduPartialRow::SetDouble(const Slice &amp;col_name, double val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a7ee7f7a17437d338e58dd6a82431729d',1,'KuduPartialRow::SetDouble(int col_idx, double val) WARN_UNUSED_RESULT']]],
+  ['seterrorbufferspace_776',['SetErrorBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5',1,'kudu::client::KuduSession']]],
+  ['setexternalconsistencymode_777',['SetExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca',1,'kudu::client::KuduSession']]],
+  ['setfaulttolerant_778',['SetFaultTolerant',['../classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f',1,'kudu::client::KuduScanner::SetFaultTolerant()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe',1,'kudu::client::KuduScanTokenBuilder::SetFaultTolerant()']]],
+  ['setfloat_779',['SetFloat',['../classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b',1,'KuduPartialRow::SetFloat(const Slice &amp;col_name, float val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad0b76030c919b941997ffd047b12f40e',1,'KuduPartialRow::SetFloat(int col_idx, float val) WARN_UNUSED_RESULT']]],
+  ['setflushmode_780',['SetFlushMode',['../classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f',1,'kudu::client::KuduSession']]],
+  ['setint16_781',['SetInt16',['../classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810',1,'KuduPartialRow::SetInt16(const Slice &amp;col_name, int16_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#adb92cc301cbcc89ef46e9bebbe86c508',1,'KuduPartialRow::SetInt16(int col_idx, int16_t val) WARN_UNUSED_RESULT']]],
+  ['setint32_782',['SetInt32',['../classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887',1,'KuduPartialRow::SetInt32(const Slice &amp;col_name, int32_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad',1,'KuduPartialRow::SetInt32(int col_idx, int32_t val) WARN_UNUSED_RESULT']]],
+  ['setint64_783',['SetInt64',['../classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4',1,'KuduPartialRow::SetInt64(const Slice &amp;col_name, int64_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a62224148c353a9eba4e19574a61fe369',1,'KuduPartialRow::SetInt64(int col_idx, int64_t val) WARN_UNUSED_RESULT']]],
+  ['setint8_784',['SetInt8',['../classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f',1,'KuduPartialRow::SetInt8(const Slice &amp;col_name, int8_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af6d10997e70e776eb353ad67abc78d79',1,'KuduPartialRow::SetInt8(int col_idx, int8_t val) WARN_UNUSED_RESULT']]],
+  ['setlatestobservedtimestamp_785',['SetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd',1,'kudu::client::KuduClient']]],
+  ['setlimit_786',['SetLimit',['../classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac',1,'kudu::client::KuduScanner']]],
+  ['setmutationbufferflushinterval_787',['SetMutationBufferFlushInterval',['../classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941',1,'kudu::client::KuduSession']]],
+  ['setmutationbufferflushwatermark_788',['SetMutationBufferFlushWatermark',['../classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf',1,'kudu::client::KuduSession']]],
+  ['setmutationbuffermaxnum_789',['SetMutationBufferMaxNum',['../classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4',1,'kudu::client::KuduSession']]],
+  ['setmutationbufferspace_790',['SetMutationBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf',1,'kudu::client::KuduSession']]],
+  ['setnull_791',['SetNull',['../classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5',1,'KuduPartialRow::SetNull(const Slice &amp;col_name) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#abeaa8d438650b7796e30e9865bb83d2f',1,'KuduPartialRow::SetNull(int col_idx) WARN_UNUSED_RESULT']]],
+  ['setordermode_792',['SetOrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a93a87740ea75c9b6524dc229576b69fc',1,'kudu::client::KuduScanner']]],
+  ['setowner_793',['SetOwner',['../classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8',1,'kudu::client::KuduTableAlterer']]],
+  ['setprimarykey_794',['SetPrimaryKey',['../classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9',1,'kudu::client::KuduSchemaBuilder']]],
+  ['setprojectedcolumnindexes_795',['SetProjectedColumnIndexes',['../classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d',1,'kudu::client::KuduScanner::SetProjectedColumnIndexes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8',1,'kudu::client::KuduScanTokenBuilder::SetProjectedColumnIndexes()']]],
+  ['setprojectedcolumnnames_796',['SetProjectedColumnNames',['../classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01',1,'kudu::client::KuduScanner::SetProjectedColumnNames()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad',1,'kudu::client::KuduScanTokenBuilder::SetProjectedColumnNames()']]],
+  ['setprojectedcolumns_797',['SetProjectedColumns',['../classkudu_1_1client_1_1KuduScanner.html#a68e2115cde71e113674e7a8b4df399ad',1,'kudu::client::KuduScanner']]],
+  ['setreadmode_798',['SetReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e',1,'kudu::client::KuduScanner::SetReadMode()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892',1,'kudu::client::KuduScanTokenBuilder::SetReadMode()']]],
+  ['setrowformatflags_799',['SetRowFormatFlags',['../classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11',1,'kudu::client::KuduScanner']]],
+  ['setselection_800',['SetSelection',['../classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8',1,'kudu::client::KuduScanner::SetSelection()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88',1,'kudu::client::KuduScanTokenBuilder::SetSelection()']]],
+  ['setsnapshotmicros_801',['SetSnapshotMicros',['../classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f',1,'kudu::client::KuduScanner::SetSnapshotMicros()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotMicros()']]],
+  ['setsnapshotraw_802',['SetSnapshotRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae',1,'kudu::client::KuduScanner::SetSnapshotRaw()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotRaw()']]],
+  ['setstring_803',['SetString',['../classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab',1,'KuduPartialRow::SetString(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0e606cb958eab0db1b12289aca255819',1,'KuduPartialRow::SetString(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setstringcopy_804',['SetStringCopy',['../classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199',1,'KuduPartialRow::SetStringCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9da30ad760f428b2d5f70a1fe4eba827',1,'KuduPartialRow::SetStringCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setstringnocopy_805',['SetStringNoCopy',['../classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73',1,'KuduPartialRow::SetStringNoCopy(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd',1,'KuduPartialRow::SetStringNoCopy(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['settabledisksizelimit_806',['SetTableDiskSizeLimit',['../classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27',1,'kudu::client::KuduTableAlterer']]],
+  ['settablerowcountlimit_807',['SetTableRowCountLimit',['../classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe',1,'kudu::client::KuduTableAlterer']]],
+  ['settimeoutmillis_808',['SetTimeoutMillis',['../classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6',1,'kudu::client::KuduScanner::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445',1,'kudu::client::KuduScanTokenBuilder::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79',1,'kudu::client::KuduSession::SetTimeoutMillis()']]],
+  ['setunixtimemicros_809',['SetUnixTimeMicros',['../classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a',1,'KuduPartialRow::SetUnixTimeMicros(const Slice &amp;col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536',1,'KuduPartialRow::SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT']]],
+  ['setvarchar_810',['SetVarchar',['../classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c',1,'KuduPartialRow::SetVarchar(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1',1,'KuduPartialRow::SetVarchar(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['setvarcharnocopyunsafe_811',['SetVarcharNoCopyUnsafe',['../classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(const Slice &amp;col_name, const Slice &amp;val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(int col_idx, const Slice &amp;val) WARN_UNUSED_RESULT']]],
+  ['size_812',['size',['../classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433',1,'kudu::Slice']]],
+  ['slice_813',['Slice',['../classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5',1,'kudu::Slice::Slice(const char *d, size_t n)'],['../classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345',1,'kudu::Slice::Slice(const char *s)'],['../classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd',1,'kudu::Slice::Slice(const std::string &amp;s)'],['../classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c',1,'kudu::Slice::Slice(const uint8_t *d, size_t n)'],['../classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66',1,'kudu::Slice::Slice()']]],
+  ['split_5frows_814',['split_rows',['../classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9',1,'kudu::client::KuduTableCreator']]],
+  ['startcommit_815',['StartCommit',['../classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce',1,'kudu::client::KuduTransaction']]],
+  ['starts_5fwith_816',['starts_with',['../classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d',1,'kudu::Slice']]],
+  ['status_817',['Status',['../classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0',1,'kudu::Status::Status()'],['../classkudu_1_1Status.html#affca5639a3341212bb23ae7f5c701803',1,'kudu::Status::Status(const Status &amp;s)']]],
+  ['status_818',['status',['../classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7',1,'kudu::client::KuduError']]],
+  ['stringtocompressiontype_819',['StringToCompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['stringtodatatype_820',['StringToDataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8',1,'kudu::client::KuduColumnSchema']]],
+  ['stringtoencodingtype_821',['StringToEncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db',1,'kudu::client::KuduColumnStorageAttributes']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_11.html b/releases/1.15.0/cpp-client-api/search/functions_11.html
new file mode 100644
index 0000000..188076e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_11.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_11.js b/releases/1.15.0/cpp-client-api/search/functions_11.js
new file mode 100644
index 0000000..bcfa623
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_11.js
@@ -0,0 +1,20 @@
+var searchData=
+[
+  ['table_5fname_822',['table_name',['../classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93',1,'kudu::client::KuduTableCreator']]],
+  ['tableexists_823',['TableExists',['../classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818',1,'kudu::client::KuduClient']]],
+  ['tablet_824',['tablet',['../classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96',1,'kudu::client::KuduScanToken']]],
+  ['timedout_825',['TimedOut',['../classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe',1,'kudu::Status']]],
+  ['timeout_826',['timeout',['../classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235',1,'kudu::client::KuduTableCreator::timeout()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1',1,'kudu::client::KuduTableAlterer::timeout()']]],
+  ['todebugstring_827',['ToDebugString',['../classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7',1,'kudu::Slice']]],
+  ['toencodedrowkeyordie_828',['ToEncodedRowKeyOrDie',['../classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469',1,'KuduPartialRow']]],
+  ['tomicroseconds_829',['ToMicroseconds',['../classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491',1,'kudu::MonoDelta']]],
+  ['tomilliseconds_830',['ToMilliseconds',['../classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591',1,'kudu::MonoDelta']]],
+  ['tonanoseconds_831',['ToNanoseconds',['../classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c',1,'kudu::MonoDelta']]],
+  ['toseconds_832',['ToSeconds',['../classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c',1,'kudu::MonoDelta']]],
+  ['tostring_833',['ToString',['../classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99',1,'kudu::Status::ToString()'],['../classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03',1,'kudu::Slice::ToString()'],['../classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c',1,'kudu::MonoDelta::ToString()'],['../classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70',1,'KuduPartialRow::ToString()'],['../classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19',1,'kudu::client::KuduWriteOperation::ToString()'],['../classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763',1,'kudu::client::KuduDeleteIgnore::ToString()'],['../classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0',1,'kudu::client::KuduDelete::ToString()'],['../classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261',1,'kudu::client::KuduUpdateIgnore::ToString()'],['../classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718',1,'kudu::client::KuduUpdate::ToString()'],['../classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8',1,'kudu::client::KuduUpsert::ToString()'],['../classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83',1,'kudu::client::KuduInsertIgnore::ToString()'],['../classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240',1,'kudu::client::KuduInsert::ToString()'],['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11',1,'kudu::client::KuduColumnStorageAttributes::ToString()'],['../classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3',1,'kudu::client::KuduScanBatch::ToString()'],['../classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae',1,'kudu::client::KuduScanner::ToString()'],['../classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff',1,'kudu::client::KuduTableStatistics::ToString()']]],
+  ['totimespec_834',['ToTimeSpec',['../classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862',1,'kudu::MonoDelta']]],
+  ['totimeval_835',['ToTimeVal',['../classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e',1,'kudu::MonoDelta']]],
+  ['truncate_836',['truncate',['../classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44',1,'kudu::Slice']]],
+  ['ts_837',['ts',['../classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627',1,'kudu::client::KuduReplica']]],
+  ['type_838',['Type',['../classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2',1,'kudu::client::KuduColumnSpec']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_12.html b/releases/1.15.0/cpp-client-api/search/functions_12.html
new file mode 100644
index 0000000..eb29d8f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_12.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_12.js b/releases/1.15.0/cpp-client-api/search/functions_12.js
new file mode 100644
index 0000000..9443e86
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_12.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['uninitialized_839',['Uninitialized',['../classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15',1,'kudu::Status']]],
+  ['unset_840',['Unset',['../classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23',1,'KuduPartialRow::Unset(const Slice &amp;col_name) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394',1,'KuduPartialRow::Unset(int col_idx) WARN_UNUSED_RESULT']]],
+  ['uuid_841',['uuid',['../classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc',1,'kudu::client::KuduTabletServer']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_13.html b/releases/1.15.0/cpp-client-api/search/functions_13.html
new file mode 100644
index 0000000..3da2ea6
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_13.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_13.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_13.js b/releases/1.15.0/cpp-client-api/search/functions_13.js
new file mode 100644
index 0000000..15003a9
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_13.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['wait_842',['wait',['../classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9',1,'kudu::client::KuduTableCreator::wait()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646',1,'kudu::client::KuduTableAlterer::wait()']]],
+  ['was_5fpossibly_5fsuccessful_843',['was_possibly_successful',['../classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4',1,'kudu::client::KuduError']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_2.html b/releases/1.15.0/cpp-client-api/search/functions_2.html
new file mode 100644
index 0000000..ca5aa10
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_2.js b/releases/1.15.0/cpp-client-api/search/functions_2.js
new file mode 100644
index 0000000..2978ab3
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_2.js
@@ -0,0 +1,29 @@
+var searchData=
+[
+  ['cell_525',['cell',['../classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af',1,'kudu::client::KuduScanBatch']]],
+  ['cerrlog_526',['CerrLog',['../classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713',1,'kudu::internal_logging::CerrLog']]],
+  ['check_5fsize_527',['check_size',['../classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e',1,'kudu::Slice']]],
+  ['clear_528',['clear',['../classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5',1,'kudu::Slice']]],
+  ['clear_5fmaster_5fserver_5faddrs_529',['clear_master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1',1,'kudu::client::KuduClientBuilder']]],
+  ['client_530',['client',['../classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf',1,'kudu::client::KuduTable::client()'],['../classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1',1,'kudu::client::KuduSession::client()']]],
+  ['clone_531',['Clone',['../classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670',1,'kudu::client::KuduPredicate::Clone()'],['../classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569',1,'kudu::client::KuduValue::Clone()']]],
+  ['cloneandappend_532',['CloneAndAppend',['../classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7',1,'kudu::Status']]],
+  ['cloneandprepend_533',['CloneAndPrepend',['../classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de',1,'kudu::Status']]],
+  ['close_534',['Close',['../classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436',1,'kudu::client::KuduSession::Close()'],['../classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874',1,'kudu::client::KuduScanner::Close()']]],
+  ['codeasstring_535',['CodeAsString',['../classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5',1,'kudu::Status']]],
+  ['comment_536',['comment',['../classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b',1,'kudu::client::KuduTable']]],
+  ['comment_537',['Comment',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6',1,'kudu::client::KuduColumnSpec']]],
+  ['commit_538',['Commit',['../classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495',1,'kudu::client::KuduTransaction']]],
+  ['compare_539',['compare',['../classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2',1,'kudu::Slice']]],
+  ['compression_540',['Compression',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b',1,'kudu::client::KuduColumnSpec']]],
+  ['compression_541',['compression',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['configurationerror_542',['ConfigurationError',['../classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801',1,'kudu::Status']]],
+  ['connection_5fnegotiation_5ftimeout_543',['connection_negotiation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f',1,'kudu::client::KuduClientBuilder::connection_negotiation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac',1,'kudu::client::KuduClient::connection_negotiation_timeout()']]],
+  ['copyfrom_544',['CopyFrom',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c',1,'kudu::client::KuduColumnTypeAttributes::CopyFrom()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0',1,'kudu::client::KuduColumnSchema::CopyFrom()'],['../classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555',1,'kudu::client::KuduSchema::CopyFrom()']]],
+  ['copystring_545',['CopyString',['../classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe',1,'kudu::client::KuduValue']]],
+  ['corruption_546',['Corruption',['../classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee',1,'kudu::Status']]],
+  ['countbufferedoperations_547',['CountBufferedOperations',['../classkudu_1_1client_1_1KuduSession.html#a24e68920465b5bb06f0426dea5970112',1,'kudu::client::KuduSession']]],
+  ['countpendingerrors_548',['CountPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913',1,'kudu::client::KuduSession']]],
+  ['create_549',['Create',['../classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc',1,'kudu::client::KuduTableCreator']]],
+  ['createsession_550',['CreateSession',['../classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a',1,'kudu::client::KuduTransaction']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_3.html b/releases/1.15.0/cpp-client-api/search/functions_3.html
new file mode 100644
index 0000000..d79f55b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_3.js b/releases/1.15.0/cpp-client-api/search/functions_3.js
new file mode 100644
index 0000000..2dd7e8d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_3.js
@@ -0,0 +1,15 @@
+var searchData=
+[
+  ['data_551',['data',['../classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d',1,'kudu::Slice']]],
+  ['datatypetostring_552',['DataTypeToString',['../classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c',1,'kudu::client::KuduColumnSchema']]],
+  ['default_553',['Default',['../classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7',1,'kudu::client::KuduColumnSpec']]],
+  ['default_5fadmin_5foperation_5ftimeout_554',['default_admin_operation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752',1,'kudu::client::KuduClientBuilder::default_admin_operation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838',1,'kudu::client::KuduClient::default_admin_operation_timeout()']]],
+  ['default_5frpc_5ftimeout_555',['default_rpc_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df',1,'kudu::client::KuduClientBuilder::default_rpc_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49',1,'kudu::client::KuduClient::default_rpc_timeout() const']]],
+  ['deletetable_556',['DeleteTable',['../classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d',1,'kudu::client::KuduClient']]],
+  ['deserialize_557',['Deserialize',['../classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52',1,'kudu::client::KuduTransaction']]],
+  ['deserializeintoscanner_558',['DeserializeIntoScanner',['../classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867',1,'kudu::client::KuduScanToken']]],
+  ['dimension_5flabel_559',['dimension_label',['../classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658',1,'kudu::client::KuduTableCreator']]],
+  ['direct_5fdata_560',['direct_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992',1,'kudu::client::KuduScanBatch']]],
+  ['dropcolumn_561',['DropColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7',1,'kudu::client::KuduTableAlterer']]],
+  ['droprangepartition_562',['DropRangePartition',['../classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7',1,'kudu::client::KuduTableAlterer']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_4.html b/releases/1.15.0/cpp-client-api/search/functions_4.html
new file mode 100644
index 0000000..1657cad
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_4.js b/releases/1.15.0/cpp-client-api/search/functions_4.js
new file mode 100644
index 0000000..2452b6d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_4.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+  ['empty_563',['empty',['../classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523',1,'kudu::Slice']]],
+  ['enable_5fkeepalive_564',['enable_keepalive',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df',1,'kudu::client::KuduTransaction::SerializationOptions']]],
+  ['encoderowkey_565',['EncodeRowKey',['../classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2',1,'KuduPartialRow']]],
+  ['encoding_566',['encoding',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['encoding_567',['Encoding',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97',1,'kudu::client::KuduColumnSpec']]],
+  ['end_568',['end',['../classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c',1,'kudu::client::KuduScanBatch']]],
+  ['endoffile_569',['EndOfFile',['../classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b',1,'kudu::Status']]],
+  ['equals_570',['Equals',['../classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc',1,'kudu::MonoDelta']]],
+  ['exportauthenticationcredentials_571',['ExportAuthenticationCredentials',['../classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0',1,'kudu::client::KuduClient']]],
+  ['extra_5fconfigs_572',['extra_configs',['../classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd',1,'kudu::client::KuduTableCreator::extra_configs()'],['../classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec',1,'kudu::client::KuduTable::extra_configs()']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_5.html b/releases/1.15.0/cpp-client-api/search/functions_5.html
new file mode 100644
index 0000000..9301d6b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_5.js b/releases/1.15.0/cpp-client-api/search/functions_5.js
new file mode 100644
index 0000000..aae8ddc
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_5.js
@@ -0,0 +1,15 @@
+var searchData=
+[
+  ['failed_5fop_573',['failed_op',['../classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea',1,'kudu::client::KuduError']]],
+  ['false_5fpositive_5fprobability_574',['false_positive_probability',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['flush_575',['Flush',['../classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84',1,'kudu::client::KuduSession']]],
+  ['flushasync_576',['FlushAsync',['../classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731',1,'kudu::client::KuduSession']]],
+  ['frombool_577',['FromBool',['../classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10',1,'kudu::client::KuduValue']]],
+  ['fromdouble_578',['FromDouble',['../classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5',1,'kudu::client::KuduValue']]],
+  ['fromfloat_579',['FromFloat',['../classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a',1,'kudu::client::KuduValue']]],
+  ['fromint_580',['FromInt',['../classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302',1,'kudu::client::KuduValue']]],
+  ['frommicroseconds_581',['FromMicroseconds',['../classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d',1,'kudu::MonoDelta']]],
+  ['frommilliseconds_582',['FromMilliseconds',['../classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a',1,'kudu::MonoDelta']]],
+  ['fromnanoseconds_583',['FromNanoseconds',['../classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819',1,'kudu::MonoDelta']]],
+  ['fromseconds_584',['FromSeconds',['../classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1',1,'kudu::MonoDelta']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_6.html b/releases/1.15.0/cpp-client-api/search/functions_6.html
new file mode 100644
index 0000000..9c4f5fc
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_6.js b/releases/1.15.0/cpp-client-api/search/functions_6.js
new file mode 100644
index 0000000..700ecf5
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_6.js
@@ -0,0 +1,27 @@
+var searchData=
+[
+  ['get_585',['Get',['../classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936',1,'kudu::client::ResourceMetrics']]],
+  ['getbinary_586',['GetBinary',['../classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b',1,'kudu::client::KuduScanBatch::GetBinary(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a921dfdeba21588f7a3c2d5e360d3268e',1,'kudu::client::KuduScanBatch::GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e',1,'KuduPartialRow::GetBinary(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1c6b9c1cdf9f80ddeea53117ddc5545d',1,'KuduPartialRow::GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
+  ['getbool_587',['GetBool',['../classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8',1,'kudu::client::KuduScanBatch::GetBool(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1044c3b78e5a6407c2a797005b0e21',1,'kudu::client::KuduScanBatch::GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2',1,'KuduPartialRow::GetBool(const Slice &amp;col_name, bool *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#afd863a5f5a4803a89f6a2db06ba54931',1,'KuduPartialRow::GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT']]],
+  ['getcurrentserver_588',['GetCurrentServer',['../classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10',1,'kudu::client::KuduScanner']]],
+  ['getdate_589',['GetDate',['../classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb',1,'kudu::client::KuduScanBatch::GetDate(const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#afed25c9aadd0c6314aa3dd0acee9da54',1,'kudu::client::KuduScanBatch::GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97',1,'KuduPartialRow::GetDate(const Slice &amp;col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af0a4c7c7b575a9349195f4f2a8882428',1,'KuduPartialRow::GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT']]],
+  ['getdouble_590',['GetDouble',['../classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0',1,'kudu::client::KuduScanBatch::GetDouble()'],['../classKuduPartialRow.html#a4b4fae6f8be68e97b0e7145ea55fae9f',1,'KuduPartialRow::GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd',1,'KuduPartialRow::GetDouble(const Slice &amp;col_name, double *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab2b7fb17cac4571139b2eaca761a99c0',1,'kudu::client::KuduScanBatch::GetDouble()']]],
+  ['getfixedlengthcolumn_591',['GetFixedLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300',1,'kudu::client::KuduColumnarScanBatch']]],
+  ['getfloat_592',['GetFloat',['../classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3',1,'kudu::client::KuduScanBatch::GetFloat(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ae41dd0f1e2b4bf074ded210382b825bd',1,'kudu::client::KuduScanBatch::GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc',1,'KuduPartialRow::GetFloat(const Slice &amp;col_name, float *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1a53cf17ad2cd746b7512ae3ecd6131f',1,'KuduPartialRow::GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT']]],
+  ['getint16_593',['GetInt16',['../classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037',1,'kudu::client::KuduScanBatch::GetInt16(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab5f35c107dc26165546065189dd53dfa',1,'kudu::client::KuduScanBatch::GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93',1,'KuduPartialRow::GetInt16(const Slice &amp;col_name, int16_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a918cb01437d863fa0a35a9a72b7bac1a',1,'KuduPartialRow::GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT']]],
+  ['getint32_594',['GetInt32',['../classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc',1,'KuduPartialRow::GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9956360f9208549aab03d9284ff80b46',1,'KuduPartialRow::GetInt32(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2',1,'kudu::client::KuduScanBatch::GetInt32(const Slice &amp;col_name, int32_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab321b8c245cc1748c3b3ecdf507b08fb',1,'kudu::client::KuduScanBatch::GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT']]],
+  ['getint64_595',['GetInt64',['../classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0',1,'kudu::client::KuduScanBatch::GetInt64(const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab59039c6f073df0b57ddc16fb8d8c432',1,'kudu::client::KuduScanBatch::GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc',1,'KuduPartialRow::GetInt64(const Slice &amp;col_name, int64_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9ded00965652dde7d94769f01df01dc9',1,'KuduPartialRow::GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT']]],
+  ['getint8_596',['GetInt8',['../classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b',1,'kudu::client::KuduScanBatch::GetInt8(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a81a30b5b89f6fa106b5d8575c3fb62b9',1,'kudu::client::KuduScanBatch::GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4',1,'KuduPartialRow::GetInt8(const Slice &amp;col_name, int8_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ada872affe8163dfa6420c0f191f9c650',1,'KuduPartialRow::GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT']]],
+  ['getkudutable_597',['GetKuduTable',['../classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a',1,'kudu::client::KuduScanner']]],
+  ['getlatestobservedtimestamp_598',['GetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9',1,'kudu::client::KuduClient']]],
+  ['getmetric_599',['GetMetric',['../classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc',1,'kudu::client::ResourceMetrics']]],
+  ['getnonnullbitmapforcolumn_600',['GetNonNullBitmapForColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312',1,'kudu::client::KuduColumnarScanBatch']]],
+  ['getpendingerrors_601',['GetPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7',1,'kudu::client::KuduSession']]],
+  ['getprojectionschema_602',['GetProjectionSchema',['../classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82',1,'kudu::client::KuduScanner']]],
+  ['getresourcemetrics_603',['GetResourceMetrics',['../classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337',1,'kudu::client::KuduScanner']]],
+  ['getstring_604',['GetString',['../classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7',1,'kudu::client::KuduScanBatch::GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56',1,'kudu::client::KuduScanBatch::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee',1,'KuduPartialRow::GetString(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd',1,'KuduPartialRow::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
+  ['gettableschema_605',['GetTableSchema',['../classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65',1,'kudu::client::KuduClient']]],
+  ['getunixtimemicros_606',['GetUnixTimeMicros',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8',1,'KuduPartialRow::GetUnixTimeMicros(const Slice &amp;col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246',1,'KuduPartialRow::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT']]],
+  ['getvarchar_607',['GetVarchar',['../classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb',1,'kudu::client::KuduScanBatch::GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b',1,'kudu::client::KuduScanBatch::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d',1,'KuduPartialRow::GetVarchar(const Slice &amp;col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b',1,'KuduPartialRow::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]],
+  ['getvariablelengthcolumn_608',['GetVariableLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1',1,'kudu::client::KuduColumnarScanBatch']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_7.html b/releases/1.15.0/cpp-client-api/search/functions_7.html
new file mode 100644
index 0000000..46b5c0f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_7.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_7.js b/releases/1.15.0/cpp-client-api/search/functions_7.js
new file mode 100644
index 0000000..a12ace1
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_7.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+  ['hash_5falgorithm_609',['hash_algorithm',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['hash_5fseed_610',['hash_seed',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['hasmorerows_611',['HasMoreRows',['../classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94',1,'kudu::client::KuduScanner']]],
+  ['haspendingoperations_612',['HasPendingOperations',['../classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578',1,'kudu::client::KuduSession']]],
+  ['hostname_613',['hostname',['../classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1',1,'kudu::client::KuduTabletServer']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_8.html b/releases/1.15.0/cpp-client-api/search/functions_8.html
new file mode 100644
index 0000000..31a1d95
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_8.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_8.js b/releases/1.15.0/cpp-client-api/search/functions_8.js
new file mode 100644
index 0000000..6a5560c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_8.js
@@ -0,0 +1,44 @@
+var searchData=
+[
+  ['id_614',['id',['../classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20',1,'kudu::client::KuduTable::id()'],['../classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837',1,'kudu::client::KuduTablet::id()']]],
+  ['illegalstate_615',['IllegalState',['../classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b',1,'kudu::Status']]],
+  ['import_5fauthentication_5fcredentials_616',['import_authentication_credentials',['../classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e',1,'kudu::client::KuduClientBuilder']]],
+  ['includetablemetadata_617',['IncludeTableMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['includetabletmetadata_618',['IncludeTabletMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['incomplete_619',['Incomplete',['../classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b',1,'kudu::Status']]],
+  ['increment_620',['Increment',['../classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a',1,'kudu::client::ResourceMetrics']]],
+  ['indirect_5fdata_621',['indirect_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989',1,'kudu::client::KuduScanBatch']]],
+  ['initialized_622',['Initialized',['../classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a',1,'kudu::MonoDelta']]],
+  ['insert_623',['Insert',['../classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678',1,'kudu::client::KuduBloomFilter']]],
+  ['intokuduscanner_624',['IntoKuduScanner',['../classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292',1,'kudu::client::KuduScanToken']]],
+  ['invalidargument_625',['InvalidArgument',['../classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4',1,'kudu::Status']]],
+  ['ioerror_626',['IOError',['../classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862',1,'kudu::Status']]],
+  ['is_5fleader_627',['is_leader',['../classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5',1,'kudu::client::KuduReplica']]],
+  ['isaborted_628',['IsAborted',['../classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874',1,'kudu::Status']]],
+  ['isalreadypresent_629',['IsAlreadyPresent',['../classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282',1,'kudu::Status']]],
+  ['isaltertableinprogress_630',['IsAlterTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809',1,'kudu::client::KuduClient']]],
+  ['iscolumnset_631',['IsColumnSet',['../classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8',1,'KuduPartialRow::IsColumnSet(const Slice &amp;col_name) const'],['../classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf',1,'KuduPartialRow::IsColumnSet(int col_idx) const']]],
+  ['iscommitcomplete_632',['IsCommitComplete',['../classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee',1,'kudu::client::KuduTransaction']]],
+  ['isconfigurationerror_633',['IsConfigurationError',['../classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef',1,'kudu::Status']]],
+  ['iscorruption_634',['IsCorruption',['../classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4',1,'kudu::Status']]],
+  ['iscreatetableinprogress_635',['IsCreateTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63',1,'kudu::client::KuduClient']]],
+  ['isdeleted_636',['IsDeleted',['../classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3',1,'kudu::client::KuduScanBatch']]],
+  ['isdiskfailure_637',['IsDiskFailure',['../classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c',1,'kudu::Status']]],
+  ['isendoffile_638',['IsEndOfFile',['../classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6',1,'kudu::Status']]],
+  ['isillegalstate_639',['IsIllegalState',['../classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24',1,'kudu::Status']]],
+  ['isincomplete_640',['IsIncomplete',['../classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7',1,'kudu::Status']]],
+  ['isinvalidargument_641',['IsInvalidArgument',['../classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b',1,'kudu::Status']]],
+  ['isioerror_642',['IsIOError',['../classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250',1,'kudu::Status']]],
+  ['iskeyset_643',['IsKeySet',['../classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1',1,'KuduPartialRow']]],
+  ['ismultimaster_644',['IsMultiMaster',['../classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433',1,'kudu::client::KuduClient']]],
+  ['isnetworkerror_645',['IsNetworkError',['../classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431',1,'kudu::Status']]],
+  ['isnotauthorized_646',['IsNotAuthorized',['../classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171',1,'kudu::Status']]],
+  ['isnotfound_647',['IsNotFound',['../classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd',1,'kudu::Status']]],
+  ['isnotsupported_648',['IsNotSupported',['../classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea',1,'kudu::Status']]],
+  ['isnull_649',['IsNull',['../classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047',1,'kudu::client::KuduScanBatch::IsNull(const Slice &amp;col_name) const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520',1,'kudu::client::KuduScanBatch::IsNull(int col_idx) const'],['../classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186',1,'KuduPartialRow::IsNull(const Slice &amp;col_name) const'],['../classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648',1,'KuduPartialRow::IsNull(int col_idx) const']]],
+  ['isremoteerror_650',['IsRemoteError',['../classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6',1,'kudu::Status']]],
+  ['isruntimeerror_651',['IsRuntimeError',['../classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8',1,'kudu::Status']]],
+  ['isserviceunavailable_652',['IsServiceUnavailable',['../classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668',1,'kudu::Status']]],
+  ['istimedout_653',['IsTimedOut',['../classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03',1,'kudu::Status']]],
+  ['isuninitialized_654',['IsUninitialized',['../classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b',1,'kudu::Status']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_9.html b/releases/1.15.0/cpp-client-api/search/functions_9.html
new file mode 100644
index 0000000..9a8e429
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_9.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_9.js b/releases/1.15.0/cpp-client-api/search/functions_9.js
new file mode 100644
index 0000000..347e068
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_9.js
@@ -0,0 +1,18 @@
+var searchData=
+[
+  ['keepalive_655',['KeepAlive',['../classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21',1,'kudu::client::KuduScanner']]],
+  ['keepalive_656',['keepalive',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f',1,'kudu::client::KuduTransaction::SerializationOptions']]],
+  ['kudubloomfilterbuilder_657',['KuduBloomFilterBuilder',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4',1,'kudu::client::KuduBloomFilterBuilder']]],
+  ['kuducolumnschema_658',['KuduColumnSchema',['../classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872',1,'kudu::client::KuduColumnSchema']]],
+  ['kuducolumnstorageattributes_659',['KuduColumnStorageAttributes',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab',1,'kudu::client::KuduColumnStorageAttributes']]],
+  ['kuducolumntypeattributes_660',['KuduColumnTypeAttributes',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(const KuduColumnTypeAttributes &amp;other)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(int8_t precision, int8_t scale)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(uint16_t length)']]],
+  ['kuduloggingfunctioncallback_661',['KuduLoggingFunctionCallback',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c',1,'kudu::client::KuduLoggingFunctionCallback']]],
+  ['kuduloggingmembercallback_662',['KuduLoggingMemberCallback',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8',1,'kudu::client::KuduLoggingMemberCallback']]],
+  ['kudupartialrow_663',['KuduPartialRow',['../classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4',1,'KuduPartialRow::KuduPartialRow(const Schema *schema)'],['../classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1',1,'KuduPartialRow::KuduPartialRow(const KuduPartialRow &amp;other)']]],
+  ['kudupartitionerbuilder_664',['KuduPartitionerBuilder',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba',1,'kudu::client::KuduPartitionerBuilder']]],
+  ['kuduscanner_665',['KuduScanner',['../classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180',1,'kudu::client::KuduScanner']]],
+  ['kuduscantokenbuilder_666',['KuduScanTokenBuilder',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484',1,'kudu::client::KuduScanTokenBuilder']]],
+  ['kuduschema_667',['KuduSchema',['../classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02',1,'kudu::client::KuduSchema']]],
+  ['kudustatusfunctioncallback_668',['KuduStatusFunctionCallback',['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b',1,'kudu::client::KuduStatusFunctionCallback']]],
+  ['kudustatusmembercallback_669',['KuduStatusMemberCallback',['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa',1,'kudu::client::KuduStatusMemberCallback']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_a.html b/releases/1.15.0/cpp-client-api/search/functions_a.html
new file mode 100644
index 0000000..5ecc152
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_a.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_a.js b/releases/1.15.0/cpp-client-api/search/functions_a.js
new file mode 100644
index 0000000..933e792
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_a.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+  ['length_670',['Length',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd',1,'kudu::client::KuduColumnSpec']]],
+  ['length_671',['length',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04',1,'kudu::client::KuduColumnTypeAttributes']]],
+  ['lessthan_672',['LessThan',['../classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79',1,'kudu::MonoDelta']]],
+  ['listtables_673',['ListTables',['../classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d',1,'kudu::client::KuduClient']]],
+  ['listtabletservers_674',['ListTabletServers',['../classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9',1,'kudu::client::KuduClient']]],
+  ['live_5frow_5fcount_675',['live_row_count',['../classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1',1,'kudu::client::KuduTableStatistics']]],
+  ['live_5frow_5fcount_5flimit_676',['live_row_count_limit',['../classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd',1,'kudu::client::KuduTableStatistics']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_b.html b/releases/1.15.0/cpp-client-api/search/functions_b.html
new file mode 100644
index 0000000..e301fed
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_b.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_b.js b/releases/1.15.0/cpp-client-api/search/functions_b.js
new file mode 100644
index 0000000..368034c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_b.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+  ['master_5fserver_5faddrs_677',['master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114',1,'kudu::client::KuduClientBuilder']]],
+  ['max_678',['Max',['../classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9',1,'kudu::MonoTime']]],
+  ['memory_5ffootprint_5fexcluding_5fthis_679',['memory_footprint_excluding_this',['../classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9',1,'kudu::Status']]],
+  ['memory_5ffootprint_5fincluding_5fthis_680',['memory_footprint_including_this',['../classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c',1,'kudu::Status']]],
+  ['message_681',['message',['../classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796',1,'kudu::Status']]],
+  ['min_682',['Min',['../classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99',1,'kudu::MonoTime']]],
+  ['monodelta_683',['MonoDelta',['../classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f',1,'kudu::MonoDelta']]],
+  ['morethan_684',['MoreThan',['../classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02',1,'kudu::MonoDelta']]],
+  ['mutable_5fdata_685',['mutable_data',['../classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164',1,'kudu::Slice']]],
+  ['mutable_5frow_686',['mutable_row',['../classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc',1,'kudu::client::KuduWriteOperation']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_c.html b/releases/1.15.0/cpp-client-api/search/functions_c.html
new file mode 100644
index 0000000..c4f3268
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_c.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_c.js b/releases/1.15.0/cpp-client-api/search/functions_c.js
new file mode 100644
index 0000000..df87ada
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_c.js
@@ -0,0 +1,33 @@
+var searchData=
+[
+  ['name_687',['name',['../classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244',1,'kudu::client::KuduTable']]],
+  ['nanostotimespec_688',['NanosToTimeSpec',['../classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22',1,'kudu::MonoDelta']]],
+  ['networkerror_689',['NetworkError',['../classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af',1,'kudu::Status']]],
+  ['newcomparisonpredicate_690',['NewComparisonPredicate',['../classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea',1,'kudu::client::KuduTable']]],
+  ['newdelete_691',['NewDelete',['../classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a',1,'kudu::client::KuduTable']]],
+  ['newdeleteignore_692',['NewDeleteIgnore',['../classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094',1,'kudu::client::KuduTable']]],
+  ['newinbloomfilterpredicate_693',['NewInBloomFilterPredicate',['../classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &amp;col_name, std::vector&lt; KuduBloomFilter * &gt; *bloom_filters)'],['../classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &amp;col_name, const std::vector&lt; Slice &gt; &amp;bloom_filters)']]],
+  ['newinlistpredicate_694',['NewInListPredicate',['../classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9',1,'kudu::client::KuduTable']]],
+  ['newinsert_695',['NewInsert',['../classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6',1,'kudu::client::KuduTable']]],
+  ['newinsertignore_696',['NewInsertIgnore',['../classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103',1,'kudu::client::KuduTable']]],
+  ['newisnotnullpredicate_697',['NewIsNotNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523',1,'kudu::client::KuduTable']]],
+  ['newisnullpredicate_698',['NewIsNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466',1,'kudu::client::KuduTable']]],
+  ['newsession_699',['NewSession',['../classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925',1,'kudu::client::KuduClient']]],
+  ['newtablealterer_700',['NewTableAlterer',['../classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea',1,'kudu::client::KuduClient']]],
+  ['newtablecreator_701',['NewTableCreator',['../classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153',1,'kudu::client::KuduClient']]],
+  ['newtransaction_702',['NewTransaction',['../classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345',1,'kudu::client::KuduClient']]],
+  ['newupdate_703',['NewUpdate',['../classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8',1,'kudu::client::KuduTable']]],
+  ['newupdateignore_704',['NewUpdateIgnore',['../classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3',1,'kudu::client::KuduTable']]],
+  ['newupsert_705',['NewUpsert',['../classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc',1,'kudu::client::KuduTable']]],
+  ['nextbatch_706',['NextBatch',['../classkudu_1_1client_1_1KuduScanner.html#af365f1d3b3b34aeb7d016727a9019067',1,'kudu::client::KuduScanner::NextBatch(std::vector&lt; KuduRowResult &gt; *rows) ATTRIBUTE_DEPRECATED(&quot;use NextBatch(KuduScanBatch*) instead&quot;)'],['../classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487',1,'kudu::client::KuduScanner::NextBatch(KuduScanBatch *batch)'],['../classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81',1,'kudu::client::KuduScanner::NextBatch(KuduColumnarScanBatch *batch)']]],
+  ['notauthorized_707',['NotAuthorized',['../classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba',1,'kudu::Status']]],
+  ['notfound_708',['NotFound',['../classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3',1,'kudu::Status']]],
+  ['notnull_709',['NotNull',['../classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca',1,'kudu::client::KuduColumnSpec']]],
+  ['notsupported_710',['NotSupported',['../classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c',1,'kudu::Status']]],
+  ['now_711',['Now',['../classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783',1,'kudu::MonoTime']]],
+  ['nullable_712',['Nullable',['../classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841',1,'kudu::client::KuduColumnSpec']]],
+  ['num_5freactors_713',['num_reactors',['../classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb',1,'kudu::client::KuduClientBuilder']]],
+  ['num_5freplicas_714',['num_replicas',['../classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139',1,'kudu::client::KuduTableCreator::num_replicas()'],['../classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed',1,'kudu::client::KuduTable::num_replicas()']]],
+  ['numpartitions_715',['NumPartitions',['../classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a',1,'kudu::client::KuduPartitioner']]],
+  ['numrows_716',['NumRows',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7',1,'kudu::client::KuduColumnarScanBatch::NumRows()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c',1,'kudu::client::KuduScanBatch::NumRows()']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_d.html b/releases/1.15.0/cpp-client-api/search/functions_d.html
new file mode 100644
index 0000000..7a1ed06
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_d.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_d.js b/releases/1.15.0/cpp-client-api/search/functions_d.js
new file mode 100644
index 0000000..8b96f02
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_d.js
@@ -0,0 +1,21 @@
+var searchData=
+[
+  ['ok_717',['OK',['../classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac',1,'kudu::Status']]],
+  ['ok_718',['ok',['../classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af',1,'kudu::Status']]],
+  ['on_5fdisk_5fsize_719',['on_disk_size',['../classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484',1,'kudu::client::KuduTableStatistics']]],
+  ['on_5fdisk_5fsize_5flimit_720',['on_disk_size_limit',['../classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a',1,'kudu::client::KuduTableStatistics']]],
+  ['open_721',['Open',['../classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1',1,'kudu::client::KuduScanner']]],
+  ['opentable_722',['OpenTable',['../classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7',1,'kudu::client::KuduClient']]],
+  ['operator_21_3d_723',['operator!=',['../classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0',1,'kudu::client::KuduScanBatch']]],
+  ['operator_28_29_724',['operator()',['../structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5',1,'kudu::Slice::Comparator']]],
+  ['operator_2a_725',['operator*',['../classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9',1,'kudu::client::KuduScanBatch']]],
+  ['operator_2b_2b_726',['operator++',['../classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c',1,'kudu::client::KuduScanBatch::operator++()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48',1,'kudu::client::KuduScanBatch::operator++(int)']]],
+  ['operator_2b_3d_727',['operator+=',['../classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299',1,'kudu::MonoDelta']]],
+  ['operator_2d_3d_728',['operator-=',['../classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb',1,'kudu::MonoDelta']]],
+  ['operator_2d_3e_729',['operator-&gt;',['../classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf',1,'kudu::client::KuduScanBatch::operator-&gt;() const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b',1,'kudu::client::KuduScanBatch::operator-&gt;() const']]],
+  ['operator_3c_3c_730',['operator&lt;&lt;',['../classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a',1,'kudu::internal_logging::NullLog::operator&lt;&lt;()'],['../classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724',1,'kudu::internal_logging::CerrLog::operator&lt;&lt;()']]],
+  ['operator_3d_731',['operator=',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7',1,'kudu::client::KuduColumnTypeAttributes::operator=()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e',1,'kudu::client::KuduColumnSchema::operator=()'],['../classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758',1,'kudu::client::KuduSchema::operator=()'],['../classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f',1,'KuduPartialRow::operator=()'],['../classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88',1,'kudu::Status::operator=()']]],
+  ['operator_3d_3d_732',['operator==',['../classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63',1,'kudu::client::KuduScanBatch']]],
+  ['operator_5b_5d_733',['operator[]',['../classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff',1,'kudu::Slice']]],
+  ['owner_734',['owner',['../classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d',1,'kudu::client::KuduTable']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_e.html b/releases/1.15.0/cpp-client-api/search/functions_e.html
new file mode 100644
index 0000000..22d2a6b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_e.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_e.js b/releases/1.15.0/cpp-client-api/search/functions_e.js
new file mode 100644
index 0000000..e57d5c3
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_e.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+  ['partition_5fschema_735',['partition_schema',['../classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2',1,'kudu::client::KuduTable']]],
+  ['partitionrow_736',['PartitionRow',['../classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369',1,'kudu::client::KuduPartitioner']]],
+  ['port_737',['port',['../classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f',1,'kudu::client::KuduTabletServer']]],
+  ['posix_5fcode_738',['posix_code',['../classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d',1,'kudu::Status']]],
+  ['precision_739',['precision',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1',1,'kudu::client::KuduColumnTypeAttributes']]],
+  ['precision_740',['Precision',['../classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb',1,'kudu::client::KuduColumnSpec']]],
+  ['primarykey_741',['PrimaryKey',['../classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2',1,'kudu::client::KuduColumnSpec']]],
+  ['projection_5fschema_742',['projection_schema',['../classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324',1,'kudu::client::KuduScanBatch']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/functions_f.html b/releases/1.15.0/cpp-client-api/search/functions_f.html
new file mode 100644
index 0000000..54b7dee
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_f.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/functions_f.js b/releases/1.15.0/cpp-client-api/search/functions_f.js
new file mode 100644
index 0000000..a2a22b1
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/functions_f.js
@@ -0,0 +1,17 @@
+var searchData=
+[
+  ['release_5ffailed_5fop_743',['release_failed_op',['../classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a',1,'kudu::client::KuduError']]],
+  ['relocate_744',['relocate',['../classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806',1,'kudu::Slice']]],
+  ['remoteerror_745',['RemoteError',['../classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f',1,'kudu::Status']]],
+  ['remove_5fprefix_746',['remove_prefix',['../classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842',1,'kudu::Slice']]],
+  ['removedefault_747',['RemoveDefault',['../classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82',1,'kudu::client::KuduColumnSpec']]],
+  ['renameto_748',['RenameTo',['../classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324',1,'kudu::client::KuduTableAlterer::RenameTo()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4',1,'kudu::client::KuduColumnSpec::RenameTo()']]],
+  ['replicas_749',['replicas',['../classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19',1,'kudu::client::KuduTablet']]],
+  ['reset_750',['Reset',['../classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab',1,'kudu::client::KuduSchema']]],
+  ['rollback_751',['Rollback',['../classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8',1,'kudu::client::KuduTransaction']]],
+  ['row_752',['row',['../classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd',1,'kudu::client::KuduWriteOperation']]],
+  ['row_753',['Row',['../classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320',1,'kudu::client::KuduScanBatch']]],
+  ['rowptr_754',['RowPtr',['../classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e',1,'kudu::client::KuduScanBatch']]],
+  ['run_755',['Run',['../classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c',1,'kudu::client::KuduLoggingCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9',1,'kudu::client::KuduLoggingMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d',1,'kudu::client::KuduLoggingFunctionCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07',1,'kudu::client::KuduStatusCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232',1,'kudu::client::KuduStatusMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a',1,'kudu::client::KuduStatusFunctionCallback::Run()']]],
+  ['runtimeerror_756',['RuntimeError',['../classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692',1,'kudu::Status']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/mag_sel.svg b/releases/1.15.0/cpp-client-api/search/mag_sel.svg
new file mode 100644
index 0000000..03626f6
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/mag_sel.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="svg2"
+   width="20"
+   height="19"
+   viewBox="0 0 20 19"
+   sodipodi:docname="mag_sel.svg"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="2096"
+     id="namedview4"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="32"
+     inkscape:cx="5.9792688"
+     inkscape:cy="1.1436277"
+     inkscape:window-x="1920"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <circle
+     style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+     id="path4611"
+     cx="5.5"
+     cy="8.5"
+     r="3.5" />
+  <path
+     style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     d="M 11,7 13.5,10 16,7 Z"
+     id="path4609"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="m 8.1085854,11.109059 2.7823556,2.782356"
+     id="path4630"
+     inkscape:connector-curvature="0" />
+</svg>
diff --git a/releases/1.15.0/cpp-client-api/search/nomatches.html b/releases/1.15.0/cpp-client-api/search/nomatches.html
new file mode 100644
index 0000000..2b9360b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/nomatches.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/pages_0.html b/releases/1.15.0/cpp-client-api/search/pages_0.html
new file mode 100644
index 0000000..8517b48
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/pages_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/pages_0.js b/releases/1.15.0/cpp-client-api/search/pages_0.js
new file mode 100644
index 0000000..ad220fe
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/pages_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['deprecated_20list_900',['Deprecated List',['../deprecated.html',1,'']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/pages_1.html b/releases/1.15.0/cpp-client-api/search/pages_1.html
new file mode 100644
index 0000000..a0fb679
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/pages_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/pages_1.js b/releases/1.15.0/cpp-client-api/search/pages_1.js
new file mode 100644
index 0000000..20d739d
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/pages_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['kudu_20c_2b_2b_20client_20api_20documentation_901',['Kudu C++ client API documentation',['../index.html',1,'']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/pages_2.html b/releases/1.15.0/cpp-client-api/search/pages_2.html
new file mode 100644
index 0000000..084edfd
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/pages_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/pages_2.js b/releases/1.15.0/cpp-client-api/search/pages_2.js
new file mode 100644
index 0000000..5878319
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/pages_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['todo_20list_902',['Todo List',['../todo.html',1,'']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/related_0.html b/releases/1.15.0/cpp-client-api/search/related_0.html
new file mode 100644
index 0000000..506aaec
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/related_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="related_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/related_0.js b/releases/1.15.0/cpp-client-api/search/related_0.js
new file mode 100644
index 0000000..48b04a9
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/related_0.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['operator_2b_885',['operator+',['../classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08',1,'kudu::MonoDelta']]],
+  ['operator_2d_886',['operator-',['../classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b',1,'kudu::MonoDelta']]],
+  ['operator_3d_3d_887',['operator==',['../classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c',1,'kudu::Slice']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/search.css b/releases/1.15.0/cpp-client-api/search/search.css
new file mode 100644
index 0000000..9074198
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/search.css
@@ -0,0 +1,257 @@
+/*---------------- Search Box */
+
+#MSearchBox {
+    white-space : nowrap;
+    background: white;
+    border-radius: 0.65em;
+    box-shadow: inset 0.5px 0.5px 3px 0px #555;
+    z-index: 102;
+}
+
+#MSearchBox .left {
+    display: inline-block;
+    vertical-align: middle;
+    height: 1.4em;
+}
+
+#MSearchSelect {
+    display: inline-block;
+    vertical-align: middle;
+    height: 1.4em;
+    padding: 0 0 0 0.3em;
+    margin: 0;
+}
+
+#MSearchField {
+    display: inline-block;
+    vertical-align: middle;
+    width: 7.5em;
+    height: 1.1em;
+    margin: 0 0.15em;
+    padding: 0;
+    line-height: 1em;
+    border:none;
+    color: #909090;
+    outline: none;
+    font-family: Arial, Verdana, sans-serif;
+    -webkit-border-radius: 0px;
+    border-radius: 0px;
+    background: none;
+}
+
+
+#MSearchBox .right {
+    display: inline-block;
+    vertical-align: middle;
+    width: 1.4em;
+    height: 1.4em;
+}
+
+#MSearchClose {
+    display: none;
+    font-size: inherit;
+    background : none;
+    border: none;
+    margin: 0;
+    padding: 0;
+    outline: none;
+
+}
+
+#MSearchCloseImg {
+    height: 1.4em;
+    padding: 0.3em;
+    margin: 0;
+}
+
+.MSearchBoxActive #MSearchField {
+    color: #000000;
+}
+
+#main-menu > li:last-child {
+    /* This <li> object is the parent of the search bar */
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    height: 36px;
+    margin-right: 1em;
+}
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+    display: none;
+    position: absolute;
+    left: 0; top: 0;
+    border: 1px solid #90A5CE;
+    background-color: #F9FAFC;
+    z-index: 10001;
+    padding-top: 4px;
+    padding-bottom: 4px;
+    -moz-border-radius: 4px;
+    -webkit-border-top-left-radius: 4px;
+    -webkit-border-top-right-radius: 4px;
+    -webkit-border-bottom-left-radius: 4px;
+    -webkit-border-bottom-right-radius: 4px;
+    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+    font: 8pt Arial, Verdana, sans-serif;
+    padding-left:  2px;
+    padding-right: 12px;
+    border: 0px;
+}
+
+span.SelectionMark {
+    margin-right: 4px;
+    font-family: monospace;
+    outline-style: none;
+    text-decoration: none;
+}
+
+a.SelectItem {
+    display: block;
+    outline-style: none;
+    color: #000000; 
+    text-decoration: none;
+    padding-left:   6px;
+    padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+    color: #000000; 
+    outline-style: none;
+    text-decoration: none;
+}
+
+a.SelectItem:hover {
+    color: #FFFFFF;
+    background-color: #3D578C;
+    outline-style: none;
+    text-decoration: none;
+    cursor: pointer;
+    display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+    width: 60ex;
+    height: 15em;
+}
+
+#MSearchResultsWindow {
+    display: none;
+    position: absolute;
+    left: 0; top: 0;
+    border: 1px solid #000;
+    background-color: #EEF1F7;
+    z-index:10000;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+    clear:both; 
+    padding-bottom: 15px;
+}
+
+.SREntry {
+    font-size: 10pt;
+    padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+    font-size: 8pt;
+    padding: 1px 5px;
+}
+
+body.SRPage {
+    margin: 5px 2px;
+}
+
+.SRChildren {
+    padding-left: 3ex; padding-bottom: .5em 
+}
+
+.SRPage .SRChildren {
+    display: none;
+}
+
+.SRSymbol {
+    font-weight: bold; 
+    color: #425E97;
+    font-family: Arial, Verdana, sans-serif;
+    text-decoration: none;
+    outline: none;
+}
+
+a.SRScope {
+    display: block;
+    color: #425E97; 
+    font-family: Arial, Verdana, sans-serif;
+    text-decoration: none;
+    outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+    text-decoration: underline;
+}
+
+span.SRScope {
+    padding-left: 4px;
+    font-family: Arial, Verdana, sans-serif;
+}
+
+.SRPage .SRStatus {
+    padding: 2px 5px;
+    font-size: 8pt;
+    font-style: italic;
+    font-family: Arial, Verdana, sans-serif;
+}
+
+.SRResult {
+    display: none;
+}
+
+div.searchresults {
+    margin-left: 10px;
+    margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.searchresult {
+    background-color: #F0F3F8;
+}
+
+.pages b {
+   color: white;
+   padding: 5px 5px 3px 5px;
+   background-image: url("../tab_a.png");
+   background-repeat: repeat-x;
+   text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+    line-height: 17px;
+    margin-left: 4px;
+    text-decoration: none;
+}
+
+.hl {
+    font-weight: bold;
+}
+
+#searchresults {
+    margin-bottom: 20px;
+}
+
+.searchpages {
+    margin-top: 10px;
+}
+
diff --git a/releases/1.15.0/cpp-client-api/search/search.js b/releases/1.15.0/cpp-client-api/search/search.js
new file mode 100644
index 0000000..fb226f7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/search.js
@@ -0,0 +1,816 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+ */
+function convertToId(search)
+{
+  var result = '';
+  for (i=0;i<search.length;i++)
+  {
+    var c = search.charAt(i);
+    var cn = c.charCodeAt(0);
+    if (c.match(/[a-z0-9\u0080-\uFFFF]/))
+    {
+      result+=c;
+    }
+    else if (cn<16)
+    {
+      result+="_0"+cn.toString(16);
+    }
+    else
+    {
+      result+="_"+cn.toString(16);
+    }
+  }
+  return result;
+}
+
+function getXPos(item)
+{
+  var x = 0;
+  if (item.offsetWidth)
+  {
+    while (item && item!=document.body)
+    {
+      x   += item.offsetLeft;
+      item = item.offsetParent;
+    }
+  }
+  return x;
+}
+
+function getYPos(item)
+{
+  var y = 0;
+  if (item.offsetWidth)
+  {
+     while (item && item!=document.body)
+     {
+       y   += item.offsetTop;
+       item = item.offsetParent;
+     }
+  }
+  return y;
+}
+
+/* A class handling everything associated with the search panel.
+
+   Parameters:
+   name - The name of the global variable that will be
+          storing this instance.  Is needed to be able to set timeouts.
+   resultPath - path to use for external files
+*/
+function SearchBox(name, resultsPath, inFrame, label, extension)
+{
+  if (!name || !resultsPath) {  alert("Missing parameters to SearchBox."); }
+  if (!extension || extension == "") { extension = ".html"; }
+
+  // ---------- Instance variables
+  this.name                  = name;
+  this.resultsPath           = resultsPath;
+  this.keyTimeout            = 0;
+  this.keyTimeoutLength      = 500;
+  this.closeSelectionTimeout = 300;
+  this.lastSearchValue       = "";
+  this.lastResultsPage       = "";
+  this.hideTimeout           = 0;
+  this.searchIndex           = 0;
+  this.searchActive          = false;
+  this.insideFrame           = inFrame;
+  this.searchLabel           = label;
+  this.extension             = extension;
+
+  // ----------- DOM Elements
+
+  this.DOMSearchField = function()
+  {  return document.getElementById("MSearchField");  }
+
+  this.DOMSearchSelect = function()
+  {  return document.getElementById("MSearchSelect");  }
+
+  this.DOMSearchSelectWindow = function()
+  {  return document.getElementById("MSearchSelectWindow");  }
+
+  this.DOMPopupSearchResults = function()
+  {  return document.getElementById("MSearchResults");  }
+
+  this.DOMPopupSearchResultsWindow = function()
+  {  return document.getElementById("MSearchResultsWindow");  }
+
+  this.DOMSearchClose = function()
+  {  return document.getElementById("MSearchClose"); }
+
+  this.DOMSearchBox = function()
+  {  return document.getElementById("MSearchBox");  }
+
+  // ------------ Event Handlers
+
+  // Called when focus is added or removed from the search field.
+  this.OnSearchFieldFocus = function(isActive)
+  {
+    this.Activate(isActive);
+  }
+
+  this.OnSearchSelectShow = function()
+  {
+    var searchSelectWindow = this.DOMSearchSelectWindow();
+    var searchField        = this.DOMSearchSelect();
+
+    if (this.insideFrame)
+    {
+      var left = getXPos(searchField);
+      var top  = getYPos(searchField);
+      left += searchField.offsetWidth + 6;
+      top += searchField.offsetHeight;
+
+      // show search selection popup
+      searchSelectWindow.style.display='block';
+      left -= searchSelectWindow.offsetWidth;
+      searchSelectWindow.style.left =  left + 'px';
+      searchSelectWindow.style.top  =  top  + 'px';
+    }
+    else
+    {
+      var left = getXPos(searchField);
+      var top  = getYPos(searchField);
+      top += searchField.offsetHeight;
+
+      // show search selection popup
+      searchSelectWindow.style.display='block';
+      searchSelectWindow.style.left =  left + 'px';
+      searchSelectWindow.style.top  =  top  + 'px';
+    }
+
+    // stop selection hide timer
+    if (this.hideTimeout)
+    {
+      clearTimeout(this.hideTimeout);
+      this.hideTimeout=0;
+    }
+    return false; // to avoid "image drag" default event
+  }
+
+  this.OnSearchSelectHide = function()
+  {
+    this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
+                                  this.closeSelectionTimeout);
+  }
+
+  // Called when the content of the search field is changed.
+  this.OnSearchFieldChange = function(evt)
+  {
+    if (this.keyTimeout) // kill running timer
+    {
+      clearTimeout(this.keyTimeout);
+      this.keyTimeout = 0;
+    }
+
+    var e  = (evt) ? evt : window.event; // for IE
+    if (e.keyCode==40 || e.keyCode==13)
+    {
+      if (e.shiftKey==1)
+      {
+        this.OnSearchSelectShow();
+        var win=this.DOMSearchSelectWindow();
+        for (i=0;i<win.childNodes.length;i++)
+        {
+          var child = win.childNodes[i]; // get span within a
+          if (child.className=='SelectItem')
+          {
+            child.focus();
+            return;
+          }
+        }
+        return;
+      }
+      else
+      {
+        window.frames.MSearchResults.postMessage("take_focus", "*");
+      }
+    }
+    else if (e.keyCode==27) // Escape out of the search field
+    {
+      this.DOMSearchField().blur();
+      this.DOMPopupSearchResultsWindow().style.display = 'none';
+      this.DOMSearchClose().style.display = 'none';
+      this.lastSearchValue = '';
+      this.Activate(false);
+      return;
+    }
+
+    // strip whitespaces
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+    if (searchValue != this.lastSearchValue) // search value has changed
+    {
+      if (searchValue != "") // non-empty search
+      {
+        // set timer for search update
+        this.keyTimeout = setTimeout(this.name + '.Search()',
+                                     this.keyTimeoutLength);
+      }
+      else // empty search field
+      {
+        this.DOMPopupSearchResultsWindow().style.display = 'none';
+        this.DOMSearchClose().style.display = 'none';
+        this.lastSearchValue = '';
+      }
+    }
+  }
+
+  this.SelectItemCount = function(id)
+  {
+    var count=0;
+    var win=this.DOMSearchSelectWindow();
+    for (i=0;i<win.childNodes.length;i++)
+    {
+      var child = win.childNodes[i]; // get span within a
+      if (child.className=='SelectItem')
+      {
+        count++;
+      }
+    }
+    return count;
+  }
+
+  this.SelectItemSet = function(id)
+  {
+    var i,j=0;
+    var win=this.DOMSearchSelectWindow();
+    for (i=0;i<win.childNodes.length;i++)
+    {
+      var child = win.childNodes[i]; // get span within a
+      if (child.className=='SelectItem')
+      {
+        var node = child.firstChild;
+        if (j==id)
+        {
+          node.innerHTML='&#8226;';
+        }
+        else
+        {
+          node.innerHTML='&#160;';
+        }
+        j++;
+      }
+    }
+  }
+
+  // Called when an search filter selection is made.
+  // set item with index id as the active item
+  this.OnSelectItem = function(id)
+  {
+    this.searchIndex = id;
+    this.SelectItemSet(id);
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+    if (searchValue!="" && this.searchActive) // something was found -> do a search
+    {
+      this.Search();
+    }
+  }
+
+  this.OnSearchSelectKey = function(evt)
+  {
+    var e = (evt) ? evt : window.event; // for IE
+    if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
+    {
+      this.searchIndex++;
+      this.OnSelectItem(this.searchIndex);
+    }
+    else if (e.keyCode==38 && this.searchIndex>0) // Up
+    {
+      this.searchIndex--;
+      this.OnSelectItem(this.searchIndex);
+    }
+    else if (e.keyCode==13 || e.keyCode==27)
+    {
+      this.OnSelectItem(this.searchIndex);
+      this.CloseSelectionWindow();
+      this.DOMSearchField().focus();
+    }
+    return false;
+  }
+
+  // --------- Actions
+
+  // Closes the results window.
+  this.CloseResultsWindow = function()
+  {
+    this.DOMPopupSearchResultsWindow().style.display = 'none';
+    this.DOMSearchClose().style.display = 'none';
+    this.Activate(false);
+  }
+
+  this.CloseSelectionWindow = function()
+  {
+    this.DOMSearchSelectWindow().style.display = 'none';
+  }
+
+  // Performs a search.
+  this.Search = function()
+  {
+    this.keyTimeout = 0;
+
+    // strip leading whitespace
+    var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+    var code = searchValue.toLowerCase().charCodeAt(0);
+    var idxChar = searchValue.substr(0, 1).toLowerCase();
+    if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
+    {
+      idxChar = searchValue.substr(0, 2);
+    }
+
+    var resultsPage;
+    var resultsPageWithSearch;
+    var hasResultsPage;
+
+    var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
+    if (idx!=-1)
+    {
+       var hexCode=idx.toString(16);
+       resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension;
+       resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+       hasResultsPage = true;
+    }
+    else // nothing available for this search term
+    {
+       resultsPage = this.resultsPath + '/nomatches' + this.extension;
+       resultsPageWithSearch = resultsPage;
+       hasResultsPage = false;
+    }
+
+    window.frames.MSearchResults.location = resultsPageWithSearch;
+    var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+    if (domPopupSearchResultsWindow.style.display!='block')
+    {
+       var domSearchBox = this.DOMSearchBox();
+       this.DOMSearchClose().style.display = 'inline-block';
+       if (this.insideFrame)
+       {
+         var domPopupSearchResults = this.DOMPopupSearchResults();
+         domPopupSearchResultsWindow.style.position = 'relative';
+         domPopupSearchResultsWindow.style.display  = 'block';
+         var width = document.body.clientWidth - 8; // the -8 is for IE :-(
+         domPopupSearchResultsWindow.style.width    = width + 'px';
+         domPopupSearchResults.style.width          = width + 'px';
+       }
+       else
+       {
+         var domPopupSearchResults = this.DOMPopupSearchResults();
+         var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
+         var top  = getYPos(domSearchBox) + 20;  // domSearchBox.offsetHeight + 1;
+         domPopupSearchResultsWindow.style.display = 'block';
+         left -= domPopupSearchResults.offsetWidth;
+         domPopupSearchResultsWindow.style.top     = top  + 'px';
+         domPopupSearchResultsWindow.style.left    = left + 'px';
+       }
+    }
+
+    this.lastSearchValue = searchValue;
+    this.lastResultsPage = resultsPage;
+  }
+
+  // -------- Activation Functions
+
+  // Activates or deactivates the search panel, resetting things to
+  // their default values if necessary.
+  this.Activate = function(isActive)
+  {
+    if (isActive || // open it
+        this.DOMPopupSearchResultsWindow().style.display == 'block'
+       )
+    {
+      this.DOMSearchBox().className = 'MSearchBoxActive';
+
+      var searchField = this.DOMSearchField();
+
+      if (searchField.value == this.searchLabel) // clear "Search" term upon entry
+      {
+        searchField.value = '';
+        this.searchActive = true;
+      }
+    }
+    else if (!isActive) // directly remove the panel
+    {
+      this.DOMSearchBox().className = 'MSearchBoxInactive';
+      this.DOMSearchField().value   = this.searchLabel;
+      this.searchActive             = false;
+      this.lastSearchValue          = ''
+      this.lastResultsPage          = '';
+    }
+  }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults(name)
+{
+    // The number of matches from the last run of <Search()>.
+    this.lastMatchCount = 0;
+    this.lastKey = 0;
+    this.repeatOn = false;
+
+    // Toggles the visibility of the passed element ID.
+    this.FindChildElement = function(id)
+    {
+      var parentElement = document.getElementById(id);
+      var element = parentElement.firstChild;
+
+      while (element && element!=parentElement)
+      {
+        if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
+        {
+          return element;
+        }
+
+        if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes())
+        {
+           element = element.firstChild;
+        }
+        else if (element.nextSibling)
+        {
+           element = element.nextSibling;
+        }
+        else
+        {
+          do
+          {
+            element = element.parentNode;
+          }
+          while (element && element!=parentElement && !element.nextSibling);
+
+          if (element && element!=parentElement)
+          {
+            element = element.nextSibling;
+          }
+        }
+      }
+    }
+
+    this.Toggle = function(id)
+    {
+      var element = this.FindChildElement(id);
+      if (element)
+      {
+        if (element.style.display == 'block')
+        {
+          element.style.display = 'none';
+        }
+        else
+        {
+          element.style.display = 'block';
+        }
+      }
+    }
+
+    // Searches for the passed string.  If there is no parameter,
+    // it takes it from the URL query.
+    //
+    // Always returns true, since other documents may try to call it
+    // and that may or may not be possible.
+    this.Search = function(search)
+    {
+      if (!search) // get search word from URL
+      {
+        search = window.location.search;
+        search = search.substring(1);  // Remove the leading '?'
+        search = unescape(search);
+      }
+
+      search = search.replace(/^ +/, ""); // strip leading spaces
+      search = search.replace(/ +$/, ""); // strip trailing spaces
+      search = search.toLowerCase();
+      search = convertToId(search);
+
+      var resultRows = document.getElementsByTagName("div");
+      var matches = 0;
+
+      var i = 0;
+      while (i < resultRows.length)
+      {
+        var row = resultRows.item(i);
+        if (row.className == "SRResult")
+        {
+          var rowMatchName = row.id.toLowerCase();
+          rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+          if (search.length<=rowMatchName.length &&
+             rowMatchName.substr(0, search.length)==search)
+          {
+            row.style.display = 'block';
+            matches++;
+          }
+          else
+          {
+            row.style.display = 'none';
+          }
+        }
+        i++;
+      }
+      document.getElementById("Searching").style.display='none';
+      if (matches == 0) // no results
+      {
+        document.getElementById("NoMatches").style.display='block';
+      }
+      else // at least one result
+      {
+        document.getElementById("NoMatches").style.display='none';
+      }
+      this.lastMatchCount = matches;
+      return true;
+    }
+
+    // return the first item with index index or higher that is visible
+    this.NavNext = function(index)
+    {
+      var focusItem;
+      while (1)
+      {
+        var focusName = 'Item'+index;
+        focusItem = document.getElementById(focusName);
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+        {
+          break;
+        }
+        else if (!focusItem) // last element
+        {
+          break;
+        }
+        focusItem=null;
+        index++;
+      }
+      return focusItem;
+    }
+
+    this.NavPrev = function(index)
+    {
+      var focusItem;
+      while (1)
+      {
+        var focusName = 'Item'+index;
+        focusItem = document.getElementById(focusName);
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+        {
+          break;
+        }
+        else if (!focusItem) // last element
+        {
+          break;
+        }
+        focusItem=null;
+        index--;
+      }
+      return focusItem;
+    }
+
+    this.ProcessKeys = function(e)
+    {
+      if (e.type == "keydown")
+      {
+        this.repeatOn = false;
+        this.lastKey = e.keyCode;
+      }
+      else if (e.type == "keypress")
+      {
+        if (!this.repeatOn)
+        {
+          if (this.lastKey) this.repeatOn = true;
+          return false; // ignore first keypress after keydown
+        }
+      }
+      else if (e.type == "keyup")
+      {
+        this.lastKey = 0;
+        this.repeatOn = false;
+      }
+      return this.lastKey!=0;
+    }
+
+    this.Nav = function(evt,itemIndex)
+    {
+      var e  = (evt) ? evt : window.event; // for IE
+      if (e.keyCode==13) return true;
+      if (!this.ProcessKeys(e)) return false;
+
+      if (this.lastKey==38) // Up
+      {
+        var newIndex = itemIndex-1;
+        var focusItem = this.NavPrev(newIndex);
+        if (focusItem)
+        {
+          var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+          if (child && child.style.display == 'block') // children visible
+          {
+            var n=0;
+            var tmpElem;
+            while (1) // search for last child
+            {
+              tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+              if (tmpElem)
+              {
+                focusItem = tmpElem;
+              }
+              else // found it!
+              {
+                break;
+              }
+              n++;
+            }
+          }
+        }
+        if (focusItem)
+        {
+          focusItem.focus();
+        }
+        else // return focus to search field
+        {
+           parent.document.getElementById("MSearchField").focus();
+        }
+      }
+      else if (this.lastKey==40) // Down
+      {
+        var newIndex = itemIndex+1;
+        var focusItem;
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem && elem.style.display == 'block') // children visible
+        {
+          focusItem = document.getElementById('Item'+itemIndex+'_c0');
+        }
+        if (!focusItem) focusItem = this.NavNext(newIndex);
+        if (focusItem)  focusItem.focus();
+      }
+      else if (this.lastKey==39) // Right
+      {
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem) elem.style.display = 'block';
+      }
+      else if (this.lastKey==37) // Left
+      {
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem) elem.style.display = 'none';
+      }
+      else if (this.lastKey==27) // Escape
+      {
+        parent.searchBox.CloseResultsWindow();
+        parent.document.getElementById("MSearchField").focus();
+      }
+      else if (this.lastKey==13) // Enter
+      {
+        return true;
+      }
+      return false;
+    }
+
+    this.NavChild = function(evt,itemIndex,childIndex)
+    {
+      var e  = (evt) ? evt : window.event; // for IE
+      if (e.keyCode==13) return true;
+      if (!this.ProcessKeys(e)) return false;
+
+      if (this.lastKey==38) // Up
+      {
+        if (childIndex>0)
+        {
+          var newIndex = childIndex-1;
+          document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+        }
+        else // already at first child, jump to parent
+        {
+          document.getElementById('Item'+itemIndex).focus();
+        }
+      }
+      else if (this.lastKey==40) // Down
+      {
+        var newIndex = childIndex+1;
+        var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+        if (!elem) // last child, jump to parent next parent
+        {
+          elem = this.NavNext(itemIndex+1);
+        }
+        if (elem)
+        {
+          elem.focus();
+        }
+      }
+      else if (this.lastKey==27) // Escape
+      {
+        parent.searchBox.CloseResultsWindow();
+        parent.document.getElementById("MSearchField").focus();
+      }
+      else if (this.lastKey==13) // Enter
+      {
+        return true;
+      }
+      return false;
+    }
+}
+
+function setKeyActions(elem,action)
+{
+  elem.setAttribute('onkeydown',action);
+  elem.setAttribute('onkeypress',action);
+  elem.setAttribute('onkeyup',action);
+}
+
+function setClassAttr(elem,attr)
+{
+  elem.setAttribute('class',attr);
+  elem.setAttribute('className',attr);
+}
+
+function createResults()
+{
+  var results = document.getElementById("SRResults");
+  for (var e=0; e<searchData.length; e++)
+  {
+    var id = searchData[e][0];
+    var srResult = document.createElement('div');
+    srResult.setAttribute('id','SR_'+id);
+    setClassAttr(srResult,'SRResult');
+    var srEntry = document.createElement('div');
+    setClassAttr(srEntry,'SREntry');
+    var srLink = document.createElement('a');
+    srLink.setAttribute('id','Item'+e);
+    setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
+    setClassAttr(srLink,'SRSymbol');
+    srLink.innerHTML = searchData[e][1][0];
+    srEntry.appendChild(srLink);
+    if (searchData[e][1].length==2) // single result
+    {
+      srLink.setAttribute('href',searchData[e][1][1][0]);
+      if (searchData[e][1][1][1])
+      {
+       srLink.setAttribute('target','_parent');
+      }
+      var srScope = document.createElement('span');
+      setClassAttr(srScope,'SRScope');
+      srScope.innerHTML = searchData[e][1][1][2];
+      srEntry.appendChild(srScope);
+    }
+    else // multiple results
+    {
+      srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
+      var srChildren = document.createElement('div');
+      setClassAttr(srChildren,'SRChildren');
+      for (var c=0; c<searchData[e][1].length-1; c++)
+      {
+        var srChild = document.createElement('a');
+        srChild.setAttribute('id','Item'+e+'_c'+c);
+        setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
+        setClassAttr(srChild,'SRScope');
+        srChild.setAttribute('href',searchData[e][1][c+1][0]);
+        if (searchData[e][1][c+1][1])
+        {
+         srChild.setAttribute('target','_parent');
+        }
+        srChild.innerHTML = searchData[e][1][c+1][2];
+        srChildren.appendChild(srChild);
+      }
+      srEntry.appendChild(srChildren);
+    }
+    srResult.appendChild(srEntry);
+    results.appendChild(srResult);
+  }
+}
+
+function init_search()
+{
+  var results = document.getElementById("MSearchSelectWindow");
+  for (var key in indexSectionLabels)
+  {
+    var link = document.createElement('a');
+    link.setAttribute('class','SelectItem');
+    link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
+    link.href='javascript:void(0)';
+    link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
+    results.appendChild(link);
+  }
+  searchBox.OnSelectItem(0);
+}
+/* @license-end */
diff --git a/releases/1.15.0/cpp-client-api/search/search_l.png b/releases/1.15.0/cpp-client-api/search/search_l.png
new file mode 100644
index 0000000..fd5f7da
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/search_l.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/search/search_m.png b/releases/1.15.0/cpp-client-api/search/search_m.png
new file mode 100644
index 0000000..b429a16
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/search_m.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/search/search_r.png b/releases/1.15.0/cpp-client-api/search/search_r.png
new file mode 100644
index 0000000..1af5d21
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/search_r.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/search/searchdata.js b/releases/1.15.0/cpp-client-api/search/searchdata.js
new file mode 100644
index 0000000..c74028e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/searchdata.js
@@ -0,0 +1,45 @@
+var indexSectionsWithContent =
+{
+  0: "abcdefghiklmnoprstuvw",
+  1: "ackmnrs",
+  2: "s",
+  3: "abcdefghiklmnoprstuw",
+  4: "cdknp",
+  5: "fmtv",
+  6: "cdefort",
+  7: "acefgilmortu",
+  8: "o",
+  9: "k",
+  10: "dkt"
+};
+
+var indexSectionNames =
+{
+  0: "all",
+  1: "classes",
+  2: "files",
+  3: "functions",
+  4: "variables",
+  5: "typedefs",
+  6: "enums",
+  7: "enumvalues",
+  8: "related",
+  9: "defines",
+  10: "pages"
+};
+
+var indexSectionLabels =
+{
+  0: "All",
+  1: "Classes",
+  2: "Files",
+  3: "Functions",
+  4: "Variables",
+  5: "Typedefs",
+  6: "Enumerations",
+  7: "Enumerator",
+  8: "Friends",
+  9: "Macros",
+  10: "Pages"
+};
+
diff --git a/releases/1.15.0/cpp-client-api/search/typedefs_0.html b/releases/1.15.0/cpp-client-api/search/typedefs_0.html
new file mode 100644
index 0000000..a4684c4
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/typedefs_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="typedefs_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/typedefs_0.js b/releases/1.15.0/cpp-client-api/search/typedefs_0.js
new file mode 100644
index 0000000..9deb210
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/typedefs_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['functiontype_853',['FunctionType',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d',1,'kudu::client::KuduLoggingFunctionCallback::FunctionType()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910',1,'kudu::client::KuduStatusFunctionCallback::FunctionType()']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/typedefs_1.html b/releases/1.15.0/cpp-client-api/search/typedefs_1.html
new file mode 100644
index 0000000..46cf01e
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/typedefs_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="typedefs_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/typedefs_1.js b/releases/1.15.0/cpp-client-api/search/typedefs_1.js
new file mode 100644
index 0000000..4074b02
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/typedefs_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['membertype_854',['MemberType',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d',1,'kudu::client::KuduLoggingMemberCallback::MemberType()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a',1,'kudu::client::KuduStatusMemberCallback::MemberType()']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/typedefs_2.html b/releases/1.15.0/cpp-client-api/search/typedefs_2.html
new file mode 100644
index 0000000..6835ee6
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/typedefs_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="typedefs_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/typedefs_2.js b/releases/1.15.0/cpp-client-api/search/typedefs_2.js
new file mode 100644
index 0000000..06e6128
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/typedefs_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['type_855',['type',['../structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6',1,'kudu::SliceMap']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/typedefs_3.html b/releases/1.15.0/cpp-client-api/search/typedefs_3.html
new file mode 100644
index 0000000..0170047
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/typedefs_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="typedefs_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/typedefs_3.js b/releases/1.15.0/cpp-client-api/search/typedefs_3.js
new file mode 100644
index 0000000..1e2f593
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/typedefs_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['value_5ftype_856',['value_type',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467',1,'kudu::client::KuduScanBatch']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/variables_0.html b/releases/1.15.0/cpp-client-api/search/variables_0.html
new file mode 100644
index 0000000..1e477c0
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/variables_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/variables_0.js b/releases/1.15.0/cpp-client-api/search/variables_0.js
new file mode 100644
index 0000000..521c22b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/variables_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['columnar_5flayout_844',['COLUMNAR_LAYOUT',['../classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10',1,'kudu::client::KuduScanner']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/variables_1.html b/releases/1.15.0/cpp-client-api/search/variables_1.html
new file mode 100644
index 0000000..ea73d9a
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/variables_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/variables_1.js b/releases/1.15.0/cpp-client-api/search/variables_1.js
new file mode 100644
index 0000000..ce8d933
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/variables_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['data_845',['Data',['../classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0',1,'kudu::client::KuduPredicate']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/variables_2.html b/releases/1.15.0/cpp-client-api/search/variables_2.html
new file mode 100644
index 0000000..0580462
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/variables_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/variables_2.js b/releases/1.15.0/cpp-client-api/search/variables_2.js
new file mode 100644
index 0000000..7cdaf6b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/variables_2.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+  ['kmicrosecondspersecond_846',['kMicrosecondsPerSecond',['../classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f',1,'kudu::MonoTime']]],
+  ['knanosecondspermicrosecond_847',['kNanosecondsPerMicrosecond',['../classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583',1,'kudu::MonoTime']]],
+  ['knanosecondspermillisecond_848',['kNanosecondsPerMillisecond',['../classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7',1,'kudu::MonoTime']]],
+  ['knanosecondspersecond_849',['kNanosecondsPerSecond',['../classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18',1,'kudu::MonoTime']]],
+  ['knotimestamp_850',['kNoTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa',1,'kudu::client::KuduClient']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/variables_3.html b/releases/1.15.0/cpp-client-api/search/variables_3.html
new file mode 100644
index 0000000..0d69e76
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/variables_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/variables_3.js b/releases/1.15.0/cpp-client-api/search/variables_3.js
new file mode 100644
index 0000000..7c99018
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/variables_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['no_5fflags_851',['NO_FLAGS',['../classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85',1,'kudu::client::KuduScanner']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/search/variables_4.html b/releases/1.15.0/cpp-client-api/search/variables_4.html
new file mode 100644
index 0000000..a4b6506
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/variables_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/search/variables_4.js b/releases/1.15.0/cpp-client-api/search/variables_4.js
new file mode 100644
index 0000000..edae3a1
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/search/variables_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['pad_5funixtime_5fmicros_5fto_5f16_5fbytes_852',['PAD_UNIXTIME_MICROS_TO_16_BYTES',['../classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44',1,'kudu::client::KuduScanner']]]
+];
diff --git a/releases/1.15.0/cpp-client-api/shared__ptr_8h.html b/releases/1.15.0/cpp-client-api/shared__ptr_8h.html
new file mode 100644
index 0000000..23d41d7
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/shared__ptr_8h.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/shared_ptr.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">shared_ptr.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Smart pointer typedefs for externally-faced code.  
+<a href="#details">More...</a></p>
+<div class="textblock"><code>#include &lt;string&gt;</code><br />
+<code>#include &lt;tr1/memory&gt;</code><br />
+</div>
+<p><a href="shared__ptr_8h_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Smart pointer typedefs for externally-faced code. </p>
+<p>Kudu uses c++11 features internally, but provides a client interface which does not require c++11. We use std::tr1::shared_ptr in our public interface to hold shared instances of KuduClient, KuduSession, and KuduTable.</p>
+<p>However, if building with libc++ (e.g. if building on macOS), the TR1 APIs are not implemented. As a workaround, we use std::shared_ptr with libc++.</p>
+<p>In order to allow applications to compile against Kudu with libstdc++ as well as with libc++, the kudu::client::sp namespace "alias" is provided, whose classes will resolve to the correct namespace in either case. Clients are encouraged to use this alias in order to ensure that applications compile universally. </p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/shared__ptr_8h_source.html b/releases/1.15.0/cpp-client-api/shared__ptr_8h_source.html
new file mode 100644
index 0000000..2579ef5
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/shared__ptr_8h_source.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/shared_ptr.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">shared_ptr.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="shared__ptr_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_SHARED_PTR_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_SHARED_PTR_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">// This include is not used directly, but we need to include some C++ header in</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">// order to ensure the _LIBCPP_VERSION macro is defined appropriately.</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#if defined(_LIBCPP_VERSION)</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// TODO(adar): our IWYU runs with libc++ and misbehaves with this header:</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// 1. All inclusions must append &quot;// IWYU pragma: keep&quot; otherwise IWYU removes them.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// 2. IWYU adds &lt;memory&gt; to every file that includes this header.</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// In theory, the second problem can be addressed by adding</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">// &quot;// IWYU pragma: export&quot; to the inclusion of &lt;memory&gt; just below. However,</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">// that actually inverts the effect: IWYU removes &lt;memory&gt; from every file that</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">// includes this header. This is unsafe because if we&#39;re doing a regular Kudu</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">// build, this header includes &lt;tr1/memory&gt;, leaving the source file without any</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">// inclusion of &lt;memory&gt; and unable to satisfy references to e.g. std::unique_ptr.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">// There must be a way to convince IWYU that the classes in kudu::client::sp are</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">// &quot;real&quot; and not just aliases of std classes. One way to do that would be to</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">// insert complete copies of those classes just for IWYU, but that seems like overkill.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">namespace </span>sp {</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="keyword">using</span> std::shared_ptr;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="keyword">using</span> std::weak_ptr;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <span class="keyword">using</span> std::enable_shared_from_this;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;}</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;}</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#include &lt;tr1/memory&gt;</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">namespace </span>sp {</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">using</span> std::tr1::shared_ptr;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <span class="keyword">using</span> std::tr1::weak_ptr;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keyword">using</span> std::tr1::enable_shared_from_this;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;}</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;}</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;}</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// define KUDU_CLIENT_SHARED_PTR_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/slice_8h_source.html b/releases/1.15.0/cpp-client-api/slice_8h_source.html
new file mode 100644
index 0000000..b78133f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/slice_8h_source.html
@@ -0,0 +1,291 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/util/slice.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html">util</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">slice.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// Copyright (c) 2011 The LevelDB Authors. All rights reserved.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style license that can be</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// found in the LICENSE file. See the AUTHORS file for names of contributors.</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#ifndef KUDU_UTIL_SLICE_H_</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#define KUDU_UTIL_SLICE_H_</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// NOTE: using stdint.h instead of cstdint because this file is supposed</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">//       to be processed by a compiler lacking C++11 support.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &lt;cassert&gt;</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;cstring&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;iosfwd&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;ostream&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_USE_RICH_SLICE</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/strings/fastmem.h&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/strings/stringpiece.h&quot;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;kudu/util/faststring.h&quot;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/port.h&quot;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">class </span>Status;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html">   51</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1Slice.html">Slice</a> {</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66">   54</a></span>&#160;  <a class="code" href="classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66">Slice</a>() : data_(reinterpret_cast&lt;const uint8_t *&gt;(<span class="stringliteral">&quot;&quot;</span>)),</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;            size_(0) { }</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c">   63</a></span>&#160;  <a class="code" href="classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c">Slice</a>(<span class="keyword">const</span> uint8_t* d, <span class="keywordtype">size_t</span> n) : data_(d), size_(n) { }</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5">   71</a></span>&#160;  <a class="code" href="classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5">Slice</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* d, <span class="keywordtype">size_t</span> n) :</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    data_(reinterpret_cast&lt;const uint8_t *&gt;(d)),</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    size_(n) { }</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
+<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd">   79</a></span>&#160;  <a class="code" href="classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd">Slice</a>(<span class="keyword">const</span> std::string&amp; s) : <span class="comment">// NOLINT(runtime/explicit)</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    data_(reinterpret_cast&lt;const uint8_t *&gt;(s.data())),</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    size_(s.size()) { }</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345">   87</a></span>&#160;  <a class="code" href="classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345">Slice</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s) : <span class="comment">// NOLINT(runtime/explicit)</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    data_(reinterpret_cast&lt;const uint8_t *&gt;(s)),</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    size_(strlen(s)) { }</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_USE_RICH_SLICE</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="classkudu_1_1Slice.html">Slice</a>(<span class="keyword">const</span> faststring &amp;s) <span class="comment">// NOLINT(runtime/explicit)</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    : data_(s.data()),</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      size_(s.size()) {</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  }</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  Slice(<span class="keyword">const</span> StringPiece&amp; s) <span class="comment">// NOLINT(runtime/explicit)</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    : data_(reinterpret_cast&lt;const uint8_t*&gt;(s.data())),</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      size_(s.size()) {</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  }</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
+<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d">  114</a></span>&#160;  <span class="keyword">const</span> uint8_t* <a class="code" href="classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d">data</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data_; }</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164">  117</a></span>&#160;  uint8_t *<a class="code" href="classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164">mutable_data</a>() { <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span>uint8_t *<span class="keyword">&gt;</span>(data_); }</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
+<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">  120</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> size_; }</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
+<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523">  123</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523">empty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> size_ == 0; }</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160; </div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff">  130</a></span>&#160;  <span class="keyword">const</span> uint8_t &amp;<a class="code" href="classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff">operator[]</a>(<span class="keywordtype">size_t</span> n)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    assert(n &lt; size());</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordflow">return</span> data_[n];</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  }</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160; </div>
+<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5">  136</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5">clear</a>() {</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    data_ = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t *<span class="keyword">&gt;</span>(<span class="stringliteral">&quot;&quot;</span>);</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    size_ = 0;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  }</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842">  150</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842">remove_prefix</a>(<span class="keywordtype">size_t</span> n) {</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    assert(n &lt;= size());</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    data_ += n;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    size_ -= n;</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  }</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44">  165</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44">truncate</a>(<span class="keywordtype">size_t</span> n) {</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    assert(n &lt;= size());</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    size_ = n;</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  }</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160; </div>
+<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e">  174</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e">check_size</a>(<span class="keywordtype">size_t</span> expected_size) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; </div>
+<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03">  177</a></span>&#160;  std::string <a class="code" href="classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03">ToString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
+<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7">  185</a></span>&#160;  std::string <a class="code" href="classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7">ToDebugString</a>(<span class="keywordtype">size_t</span> max_len = 0) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  <span class="keywordtype">int</span> compare(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; b) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160; </div>
+<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d">  201</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d">starts_with</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; x)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="keywordflow">return</span> ((size_ &gt;= x.size_) &amp;&amp;</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;            (MemEqual(data_, x.data_, x.size_)));</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  }</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160; </div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="structkudu_1_1Slice_1_1Comparator.html">  207</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structkudu_1_1Slice_1_1Comparator.html">Comparator</a> {</div>
+<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5">  215</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5">operator()</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; a, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; b)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;      <span class="keywordflow">return</span> a.<a class="code" href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">compare</a>(b) &lt; 0;</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    }</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  };</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160; </div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806">  226</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806">relocate</a>(uint8_t* d) {</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keywordflow">if</span> (data_ != d) {</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;      memcpy(d, data_, size_);</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;      data_ = d;</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    }</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  }</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160; </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  <span class="keyword">friend</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; x, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; y);</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160; </div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> MemEqual(<span class="keyword">const</span> <span class="keywordtype">void</span>* a, <span class="keyword">const</span> <span class="keywordtype">void</span>* b, <span class="keywordtype">size_t</span> n) {</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_USE_RICH_SLICE</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="keywordflow">return</span> strings::memeq(a, b, n);</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    <span class="keywordflow">return</span> memcmp(a, b, n) == 0;</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  }</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160; </div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">int</span> MemCompare(<span class="keyword">const</span> <span class="keywordtype">void</span>* a, <span class="keyword">const</span> <span class="keywordtype">void</span>* b, <span class="keywordtype">size_t</span> n) {</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_USE_RICH_SLICE</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordflow">return</span> strings::fastmemcmp_inlined(a, b, n);</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <span class="keywordflow">return</span> memcmp(a, b, n);</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  }</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160; </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="keyword">const</span> uint8_t* data_;</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <span class="keywordtype">size_t</span> size_;</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160; </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  <span class="comment">// Intentionally copyable</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;};</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160; </div>
+<div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c">  265</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; x, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; y) {</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;  <span class="keywordflow">return</span> ((x.<a class="code" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">size</a>() == y.<a class="code" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">size</a>()) &amp;&amp;</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;          (Slice::MemEqual(x.<a class="code" href="classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d">data</a>(), y.<a class="code" href="classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d">data</a>(), x.<a class="code" href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">size</a>())));</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;}</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160; </div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; x, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; y) {</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  <span class="keywordflow">return</span> !(x == y);</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;}</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160; </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="keyword">inline</span> std::ostream&amp; operator&lt;&lt;(std::ostream&amp; o, <span class="keyword">const</span> Slice&amp; s) {</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <span class="keywordflow">return</span> o &lt;&lt; s.ToDebugString(16); <span class="comment">// should be enough for anyone...</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;}</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160; </div>
+<div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">  292</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">Slice::compare</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; b)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> min_len = (size_ &lt; b.size_) ? size_ : b.size_;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;  <span class="keywordtype">int</span> r = MemCompare(data_, b.data_, min_len);</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;  <span class="keywordflow">if</span> (r == 0) {</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="keywordflow">if</span> (size_ &lt; b.size_) r = -1;</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size_ &gt; b.size_) r = +1;</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  }</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;  <span class="keywordflow">return</span> r;</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;}</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160; </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="comment">// We don&#39;t run TSAN on this function because it makes it really slow and causes some</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="comment">// test timeouts. This is only used on local buffers anyway, so we don&#39;t lose much</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="comment">// by not checking it.</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;ATTRIBUTE_NO_SANITIZE_THREAD</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="keywordtype">bool</span> IsAllZeros(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; s);</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160; </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="structkudu_1_1SliceMap.html">  326</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structkudu_1_1SliceMap.html">SliceMap</a> {</div>
+<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6">  328</a></span>&#160;  <span class="keyword">typedef</span> std::map&lt;Slice, T, Slice::Comparator&gt; <a class="code" href="structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6">type</a>;</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;};</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160; </div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;}  <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160; </div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor">#endif  </span><span class="comment">// KUDU_UTIL_SLICE_H_</span></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html"><div class="ttname"><a href="classkudu_1_1Slice.html">kudu::Slice</a></div><div class="ttdoc">A wrapper around externally allocated data.</div><div class="ttdef"><b>Definition:</b> slice.h:51</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_a00f5d310f9ebf17c198cf3feb69c3842"><div class="ttname"><a href="classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842">kudu::Slice::remove_prefix</a></div><div class="ttdeci">void remove_prefix(size_t n)</div><div class="ttdef"><b>Definition:</b> slice.h:150</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_a01ad84246c80f91b5b7634b0346c4a03"><div class="ttname"><a href="classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03">kudu::Slice::ToString</a></div><div class="ttdeci">std::string ToString() const</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_a072af6f4ad1aef904c5f683107d0e523"><div class="ttname"><a href="classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523">kudu::Slice::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> slice.h:123</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_a13838e07b6dcea1895a774ab1ba62bdd"><div class="ttname"><a href="classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd">kudu::Slice::Slice</a></div><div class="ttdeci">Slice(const std::string &amp;s)</div><div class="ttdef"><b>Definition:</b> slice.h:79</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_a20f1c8e91ff0209e5c8f86766ef63d44"><div class="ttname"><a href="classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44">kudu::Slice::truncate</a></div><div class="ttdeci">void truncate(size_t n)</div><div class="ttdef"><b>Definition:</b> slice.h:165</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_a2771156d34daa166067b8d319ad7d164"><div class="ttname"><a href="classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164">kudu::Slice::mutable_data</a></div><div class="ttdeci">uint8_t * mutable_data()</div><div class="ttdef"><b>Definition:</b> slice.h:117</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_a48bc614a10aba1268eae9a7054bf5f9e"><div class="ttname"><a href="classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e">kudu::Slice::check_size</a></div><div class="ttdeci">Status check_size(size_t expected_size) const</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_a4bb1c9fe13873623b5a5a118830b1806"><div class="ttname"><a href="classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806">kudu::Slice::relocate</a></div><div class="ttdeci">void relocate(uint8_t *d)</div><div class="ttdef"><b>Definition:</b> slice.h:226</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_a4c8090f1904ecbdc8e2ca6a4bf79fbff"><div class="ttname"><a href="classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff">kudu::Slice::operator[]</a></div><div class="ttdeci">const uint8_t &amp; operator[](size_t n) const</div><div class="ttdef"><b>Definition:</b> slice.h:130</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_a6e5fabfcb85d2076297aa3c24ba448c2"><div class="ttname"><a href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">kudu::Slice::compare</a></div><div class="ttdeci">int compare(const Slice &amp;b) const</div><div class="ttdef"><b>Definition:</b> slice.h:292</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_a904b8732b247676c52cbd9147b34c54c"><div class="ttname"><a href="classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c">kudu::Slice::Slice</a></div><div class="ttdeci">Slice(const uint8_t *d, size_t n)</div><div class="ttdef"><b>Definition:</b> slice.h:63</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_a9cb396203dd2c589e7d4f10bd80461d5"><div class="ttname"><a href="classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5">kudu::Slice::Slice</a></div><div class="ttdeci">Slice(const char *d, size_t n)</div><div class="ttdef"><b>Definition:</b> slice.h:71</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_aa81f3cd3f43d72892397734399bed06d"><div class="ttname"><a href="classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d">kudu::Slice::data</a></div><div class="ttdeci">const uint8_t * data() const</div><div class="ttdef"><b>Definition:</b> slice.h:114</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_aaee66c59ee434349680679bdf0462b66"><div class="ttname"><a href="classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66">kudu::Slice::Slice</a></div><div class="ttdeci">Slice()</div><div class="ttdoc">Create an empty slice.</div><div class="ttdef"><b>Definition:</b> slice.h:54</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_ab1919baa9e854b50b938c35bd1686c9d"><div class="ttname"><a href="classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d">kudu::Slice::starts_with</a></div><div class="ttdeci">bool starts_with(const Slice &amp;x) const</div><div class="ttdef"><b>Definition:</b> slice.h:201</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_ad2f077da829e931314a753bc6b76fbf7"><div class="ttname"><a href="classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7">kudu::Slice::ToDebugString</a></div><div class="ttdeci">std::string ToDebugString(size_t max_len=0) const</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_ae8c6057eea15f8136e62255fd766e345"><div class="ttname"><a href="classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345">kudu::Slice::Slice</a></div><div class="ttdeci">Slice(const char *s)</div><div class="ttdef"><b>Definition:</b> slice.h:87</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_aec1c45dc306dce4a0977fff8eabdb433"><div class="ttname"><a href="classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433">kudu::Slice::size</a></div><div class="ttdeci">size_t size() const</div><div class="ttdef"><b>Definition:</b> slice.h:120</div></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html_afb914c0769f019a7c2f28b755cba5eb5"><div class="ttname"><a href="classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5">kudu::Slice::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdoc">Change this slice to refer to an empty array.</div><div class="ttdef"><b>Definition:</b> slice.h:136</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html"><div class="ttname"><a href="classkudu_1_1Status.html">kudu::Status</a></div><div class="ttdoc">A representation of an operation's outcome.</div><div class="ttdef"><b>Definition:</b> status.h:165</div></div>
+<div class="ttc" id="astructkudu_1_1SliceMap_html"><div class="ttname"><a href="structkudu_1_1SliceMap.html">kudu::SliceMap</a></div><div class="ttdoc">STL map whose keys are Slices.</div><div class="ttdef"><b>Definition:</b> slice.h:326</div></div>
+<div class="ttc" id="astructkudu_1_1SliceMap_html_ac97e49d0aa50ae49f34ab3bbd95ea5e6"><div class="ttname"><a href="structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6">kudu::SliceMap::type</a></div><div class="ttdeci">std::map&lt; Slice, T, Slice::Comparator &gt; type</div><div class="ttdoc">A handy typedef for the slice map with appropriate comparison operator.</div><div class="ttdef"><b>Definition:</b> slice.h:328</div></div>
+<div class="ttc" id="astructkudu_1_1Slice_1_1Comparator_html"><div class="ttname"><a href="structkudu_1_1Slice_1_1Comparator.html">kudu::Slice::Comparator</a></div><div class="ttdoc">Comparator struct, useful for ordered collections (like STL maps).</div><div class="ttdef"><b>Definition:</b> slice.h:207</div></div>
+<div class="ttc" id="astructkudu_1_1Slice_1_1Comparator_html_addca89640bb164bc8801414fd7d9e9f5"><div class="ttname"><a href="structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5">kudu::Slice::Comparator::operator()</a></div><div class="ttdeci">bool operator()(const Slice &amp;a, const Slice &amp;b) const</div><div class="ttdef"><b>Definition:</b> slice.h:215</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/splitbar.png b/releases/1.15.0/cpp-client-api/splitbar.png
new file mode 100644
index 0000000..fe895f2
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/splitbar.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/status_8h.html b/releases/1.15.0/cpp-client-api/status_8h.html
new file mode 100644
index 0000000..255648b
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/status_8h.html
@@ -0,0 +1,504 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/util/status.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html">util</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#define-members">Macros</a>  </div>
+  <div class="headertitle">
+<div class="title">status.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;errno.h&gt;</code><br />
+<code>#include &lt;stdint.h&gt;</code><br />
+<code>#include &lt;cstddef&gt;</code><br />
+<code>#include &lt;string&gt;</code><br />
+<code>#include &quot;kudu/client/stubs.h&quot;</code><br />
+<code>#include &quot;kudu/util/kudu_export.h&quot;</code><br />
+<code>#include &quot;kudu/util/slice.h&quot;</code><br />
+</div>
+<p><a href="status_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1Status.html">kudu::Status</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A representation of an operation's outcome.  <a href="classkudu_1_1Status.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a0de56a3f0e9d83b8ffdd63eac83c54ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab">KUDU_RETURN_NOT_OK</a>(s)</td></tr>
+<tr class="memdesc:a0de56a3f0e9d83b8ffdd63eac83c54ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the given status if it is not <code>OK</code>.  <a href="status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab">More...</a><br /></td></tr>
+<tr class="separator:a0de56a3f0e9d83b8ffdd63eac83c54ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af66b8458f1d3f1264c1da86744e29e46"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html#af66b8458f1d3f1264c1da86744e29e46">KUDU_RETURN_NOT_OK_PREPEND</a>(s,  msg)</td></tr>
+<tr class="memdesc:af66b8458f1d3f1264c1da86744e29e46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the given status if it is not OK, but first clone it and prepend the given message.  <a href="status_8h.html#af66b8458f1d3f1264c1da86744e29e46">More...</a><br /></td></tr>
+<tr class="separator:af66b8458f1d3f1264c1da86744e29e46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58d31c81bf1101a3ead737e9a4a4f223"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223">KUDU_RETURN_NOT_OK_RET</a>(to_call,  to_return)</td></tr>
+<tr class="memdesc:a58d31c81bf1101a3ead737e9a4a4f223"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <code>to_return</code> if <code>to_call</code> returns a bad status. The substitution for 'to_return' may reference the variable <code>s</code> for the bad status.  <a href="status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223">More...</a><br /></td></tr>
+<tr class="separator:a58d31c81bf1101a3ead737e9a4a4f223"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8fd1f0d6a9b2457c18e218d3540c4b3e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e">KUDU_RETURN_NOT_OK_EVAL</a>(s,  on_error)</td></tr>
+<tr class="memdesc:a8fd1f0d6a9b2457c18e218d3540c4b3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the given status if it is not OK, evaluating <code>on_error</code> if so.  <a href="status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e">More...</a><br /></td></tr>
+<tr class="separator:a8fd1f0d6a9b2457c18e218d3540c4b3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e64fec5ef85c0c738f6ac3f398f607e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e">KUDU_WARN_NOT_OK</a>(to_call,  warning_prefix)</td></tr>
+<tr class="memdesc:a1e64fec5ef85c0c738f6ac3f398f607e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Emit a warning if <code>to_call</code> returns a bad status.  <a href="status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e">More...</a><br /></td></tr>
+<tr class="separator:a1e64fec5ef85c0c738f6ac3f398f607e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abbd85cc2c5535627091bb06a21918150"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html#abbd85cc2c5535627091bb06a21918150">KUDU_LOG_AND_RETURN</a>(level,  status)</td></tr>
+<tr class="memdesc:abbd85cc2c5535627091bb06a21918150"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log the given status and return immediately.  <a href="status_8h.html#abbd85cc2c5535627091bb06a21918150">More...</a><br /></td></tr>
+<tr class="separator:abbd85cc2c5535627091bb06a21918150"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af09a6a2eca53c9424d74c7fd9f39c5ce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce">KUDU_RETURN_NOT_OK_LOG</a>(s,  level,  msg)</td></tr>
+<tr class="memdesc:af09a6a2eca53c9424d74c7fd9f39c5ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the given status is not OK, log it and 'msg' at 'level' and return the status.  <a href="status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce">More...</a><br /></td></tr>
+<tr class="separator:af09a6a2eca53c9424d74c7fd9f39c5ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a706c9f6ef1715b8f7a9185fb3c247d3f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f">KUDU_CHECK_OK_PREPEND</a>(to_call,  msg)</td></tr>
+<tr class="memdesc:a706c9f6ef1715b8f7a9185fb3c247d3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">If <code>to_call</code> returns a bad status, CHECK immediately with a logged message of <code>msg</code> followed by the status.  <a href="status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f">More...</a><br /></td></tr>
+<tr class="separator:a706c9f6ef1715b8f7a9185fb3c247d3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac503ba85e942147294cdc82087da60f6"><td class="memItemLeft" align="right" valign="top"><a id="ac503ba85e942147294cdc82087da60f6"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html#ac503ba85e942147294cdc82087da60f6">KUDU_CHECK_OK</a>(s)&#160;&#160;&#160;<a class="el" href="status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f">KUDU_CHECK_OK_PREPEND</a>(s, &quot;Bad status&quot;)</td></tr>
+<tr class="memdesc:ac503ba85e942147294cdc82087da60f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the status is bad, CHECK immediately, appending the status to the logged message. <br /></td></tr>
+<tr class="separator:ac503ba85e942147294cdc82087da60f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b360b53025724bb97d1dc21e25e26cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html#a2b360b53025724bb97d1dc21e25e26cc">KUDU_DCHECK_OK_PREPEND</a>(to_call,  msg)</td></tr>
+<tr class="memdesc:a2b360b53025724bb97d1dc21e25e26cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">If <code>to_call</code> returns a bad status, DCHECK immediately with a logged message of <code>msg</code> followed by the status.  <a href="status_8h.html#a2b360b53025724bb97d1dc21e25e26cc">More...</a><br /></td></tr>
+<tr class="separator:a2b360b53025724bb97d1dc21e25e26cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99332afa18f00de3c7fcf3e76949df9d"><td class="memItemLeft" align="right" valign="top"><a id="a99332afa18f00de3c7fcf3e76949df9d"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html#a99332afa18f00de3c7fcf3e76949df9d">KUDU_DCHECK_OK</a>(s)&#160;&#160;&#160;<a class="el" href="status_8h.html#a2b360b53025724bb97d1dc21e25e26cc">KUDU_DCHECK_OK_PREPEND</a>(s, &quot;Bad status&quot;)</td></tr>
+<tr class="memdesc:a99332afa18f00de3c7fcf3e76949df9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the status is bad, DCHECK immediately, appending the status to the logged 'Bad status' message. <br /></td></tr>
+<tr class="separator:a99332afa18f00de3c7fcf3e76949df9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd6e72ed025e6e0afddf4e19ca10cdba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba">KUDU_RETURN_MAIN_NOT_OK</a>(to_call,  msg,  ret_code)</td></tr>
+<tr class="memdesc:abd6e72ed025e6e0afddf4e19ca10cdba"><td class="mdescLeft">&#160;</td><td class="mdescRight">A macro to use at the main() function level if it's necessary to return a non-zero status from the main() based on the non-OK status 's' and extra message 'msg' prepended. The desired return code is passed as 'ret_code' parameter.  <a href="status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba">More...</a><br /></td></tr>
+<tr class="separator:abd6e72ed025e6e0afddf4e19ca10cdba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This header is used in both the Kudu build as well as in builds of applications that use the Kudu C++ client. In the latter we need to be careful to "namespace" our macros, to avoid colliding or overriding with similarly named macros belonging to the application.</p>
+<p>KUDU_HEADERS_USE_SHORT_STATUS_MACROS handles this behavioral change. When defined, we're building Kudu and: </p><ul>
+<li>Non-namespaced macros are allowed and mapped to the namespaced versions defined above. </li>
+<li>Namespaced versions of glog macros are mapped to the real glog macros (otherwise the macros are defined in the C++ client stubs). </li>
+</ul>
+</div><h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="a706c9f6ef1715b8f7a9185fb3c247d3f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a706c9f6ef1715b8f7a9185fb3c247d3f">&#9670;&nbsp;</a></span>KUDU_CHECK_OK_PREPEND</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define KUDU_CHECK_OK_PREPEND</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">to_call, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">msg&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line">    <span class="keywordflow">do</span> { \</div>
+<div class="line">    const ::kudu::Status&amp; _s = (to_call);                   \</div>
+<div class="line">    KUDU_CHECK(_s.ok()) &lt;&lt; (msg) &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; _s.ToString();  \</div>
+<div class="line">  } <span class="keywordflow">while</span> (0)</div>
+</div><!-- fragment -->
+<p>If <code>to_call</code> returns a bad status, CHECK immediately with a logged message of <code>msg</code> followed by the status. </p>
+
+</div>
+</div>
+<a id="a2b360b53025724bb97d1dc21e25e26cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2b360b53025724bb97d1dc21e25e26cc">&#9670;&nbsp;</a></span>KUDU_DCHECK_OK_PREPEND</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define KUDU_DCHECK_OK_PREPEND</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">to_call, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">msg&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line">    <span class="keywordflow">do</span> { \</div>
+<div class="line">    const ::kudu::Status&amp; _s = (to_call);                   \</div>
+<div class="line">    KUDU_DCHECK(_s.ok()) &lt;&lt; (msg) &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; _s.ToString();  \</div>
+<div class="line">  } <span class="keywordflow">while</span> (0)</div>
+</div><!-- fragment -->
+<p>If <code>to_call</code> returns a bad status, DCHECK immediately with a logged message of <code>msg</code> followed by the status. </p>
+
+</div>
+</div>
+<a id="abbd85cc2c5535627091bb06a21918150"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abbd85cc2c5535627091bb06a21918150">&#9670;&nbsp;</a></span>KUDU_LOG_AND_RETURN</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define KUDU_LOG_AND_RETURN</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">level, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">status&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line">    <span class="keywordflow">do</span> { \</div>
+<div class="line">    const ::kudu::Status&amp; _s = (status);        \</div>
+<div class="line">    KUDU_LOG(level) &lt;&lt; _s.ToString(); \</div>
+<div class="line">    return _s; \</div>
+<div class="line">  } <span class="keywordflow">while</span> (0)</div>
+</div><!-- fragment -->
+<p>Log the given status and return immediately. </p>
+
+</div>
+</div>
+<a id="abd6e72ed025e6e0afddf4e19ca10cdba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd6e72ed025e6e0afddf4e19ca10cdba">&#9670;&nbsp;</a></span>KUDU_RETURN_MAIN_NOT_OK</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define KUDU_RETURN_MAIN_NOT_OK</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">to_call, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">msg, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">ret_code&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line">    <span class="keywordflow">do</span> { \</div>
+<div class="line">    DCHECK_NE(0, (ret_code)) &lt;&lt; <span class="stringliteral">&quot;non-OK return code should not be 0&quot;</span>; \</div>
+<div class="line">    const ::kudu::Status&amp; _s = (to_call); \</div>
+<div class="line">    if (!_s.ok()) { \</div>
+<div class="line">      const ::kudu::Status&amp; _ss = _s.CloneAndPrepend((msg)); \</div>
+<div class="line">      LOG(ERROR) &lt;&lt; _ss.ToString(); \</div>
+<div class="line">      return (ret_code); \</div>
+<div class="line">    } \</div>
+<div class="line">  } <span class="keywordflow">while</span> (0)</div>
+</div><!-- fragment -->
+<p>A macro to use at the main() function level if it's necessary to return a non-zero status from the main() based on the non-OK status 's' and extra message 'msg' prepended. The desired return code is passed as 'ret_code' parameter. </p>
+
+</div>
+</div>
+<a id="a0de56a3f0e9d83b8ffdd63eac83c54ab"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0de56a3f0e9d83b8ffdd63eac83c54ab">&#9670;&nbsp;</a></span>KUDU_RETURN_NOT_OK</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define KUDU_RETURN_NOT_OK</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">s</td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line">    <span class="keywordflow">do</span> { \</div>
+<div class="line">    const ::kudu::Status&amp; _s = (s);             \</div>
+<div class="line">    if (PREDICT_FALSE(!_s.ok())) return _s;     \</div>
+<div class="line">  } while (0)</div>
+</div><!-- fragment -->
+<p>Return the given status if it is not <code>OK</code>. </p>
+
+</div>
+</div>
+<a id="a8fd1f0d6a9b2457c18e218d3540c4b3e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8fd1f0d6a9b2457c18e218d3540c4b3e">&#9670;&nbsp;</a></span>KUDU_RETURN_NOT_OK_EVAL</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define KUDU_RETURN_NOT_OK_EVAL</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">s, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">on_error&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line">    <span class="keywordflow">do</span> { \</div>
+<div class="line">    const ::kudu::Status&amp; _s = (s); \</div>
+<div class="line">    if (PREDICT_FALSE(!_s.ok())) { \</div>
+<div class="line">      (on_error); \</div>
+<div class="line">      return _s; \</div>
+<div class="line">    } \</div>
+<div class="line">  } <span class="keywordflow">while</span> (0)</div>
+</div><!-- fragment -->
+<p>Return the given status if it is not OK, evaluating <code>on_error</code> if so. </p>
+
+</div>
+</div>
+<a id="af09a6a2eca53c9424d74c7fd9f39c5ce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af09a6a2eca53c9424d74c7fd9f39c5ce">&#9670;&nbsp;</a></span>KUDU_RETURN_NOT_OK_LOG</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define KUDU_RETURN_NOT_OK_LOG</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">s, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">level, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">msg&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line">    <span class="keywordflow">do</span> { \</div>
+<div class="line">    const ::kudu::Status&amp; _s = (s);             \</div>
+<div class="line">    if (PREDICT_FALSE(!_s.ok())) { \</div>
+<div class="line">      KUDU_LOG(level) &lt;&lt; <span class="stringliteral">&quot;Status: &quot;</span> &lt;&lt; _s.ToString() &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (msg); \</div>
+<div class="line">      return _s;     \</div>
+<div class="line">    } \</div>
+<div class="line">  } <span class="keywordflow">while</span> (0)</div>
+</div><!-- fragment -->
+<p>If the given status is not OK, log it and 'msg' at 'level' and return the status. </p>
+
+</div>
+</div>
+<a id="af66b8458f1d3f1264c1da86744e29e46"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af66b8458f1d3f1264c1da86744e29e46">&#9670;&nbsp;</a></span>KUDU_RETURN_NOT_OK_PREPEND</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define KUDU_RETURN_NOT_OK_PREPEND</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">s, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">msg&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line">    <span class="keywordflow">do</span> { \</div>
+<div class="line">    const ::kudu::Status&amp; _s = (s);                              \</div>
+<div class="line">    if (PREDICT_FALSE(!_s.ok())) return _s.CloneAndPrepend(msg); \</div>
+<div class="line">  } while (0)</div>
+</div><!-- fragment -->
+<p>Return the given status if it is not OK, but first clone it and prepend the given message. </p>
+
+</div>
+</div>
+<a id="a58d31c81bf1101a3ead737e9a4a4f223"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a58d31c81bf1101a3ead737e9a4a4f223">&#9670;&nbsp;</a></span>KUDU_RETURN_NOT_OK_RET</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define KUDU_RETURN_NOT_OK_RET</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">to_call, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">to_return&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line">    <span class="keywordflow">do</span> { \</div>
+<div class="line">    const ::kudu::Status&amp; s = (to_call);                \</div>
+<div class="line">    if (PREDICT_FALSE(!s.ok())) return (to_return);  \</div>
+<div class="line">  } while (0)</div>
+</div><!-- fragment -->
+<p>Return <code>to_return</code> if <code>to_call</code> returns a bad status. The substitution for 'to_return' may reference the variable <code>s</code> for the bad status. </p>
+
+</div>
+</div>
+<a id="a1e64fec5ef85c0c738f6ac3f398f607e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1e64fec5ef85c0c738f6ac3f398f607e">&#9670;&nbsp;</a></span>KUDU_WARN_NOT_OK</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define KUDU_WARN_NOT_OK</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">to_call, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">warning_prefix&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line">    <span class="keywordflow">do</span> { \</div>
+<div class="line">    const ::kudu::Status&amp; _s = (to_call);              \</div>
+<div class="line">    if (PREDICT_FALSE(!_s.ok())) { \</div>
+<div class="line">      KUDU_LOG(WARNING) &lt;&lt; (warning_prefix) &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; _s.ToString();  \</div>
+<div class="line">    } \</div>
+<div class="line">  } <span class="keywordflow">while</span> (0)</div>
+</div><!-- fragment -->
+<p>Emit a warning if <code>to_call</code> returns a bad status. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/status_8h_source.html b/releases/1.15.0/cpp-client-api/status_8h_source.html
new file mode 100644
index 0000000..92631af
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/status_8h_source.html
@@ -0,0 +1,502 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/util/status.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html">util</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">status.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="status_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Copyright (c) 2011 The LevelDB Authors. All rights reserved.</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style license that can be</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// found in the LICENSE file. See the AUTHORS file for names of contributors.</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// A Status encapsulates the result of an operation.  It may indicate success,</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// or it may indicate an error with an associated error message.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// Multiple threads can invoke const methods on a Status without</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// external synchronization, but if any of the threads may call a</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// non-const method, all threads accessing the same Status must use</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// external synchronization.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160; </div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef KUDU_UTIL_STATUS_H_</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define KUDU_UTIL_STATUS_H_</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// NOTE: using stdint.h instead of cstdint and errno.h instead of cerrno because</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// this file is supposed to be processed by a compiler lacking C++11 support.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;errno.h&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">// This macro is not defined when status.h is consumed by third party applications.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_USE_SHORT_STATUS_MACROS</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;glog/logging.h&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/macros.h&quot;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/port.h&quot;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;kudu/util/slice.h&quot;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab">   40</a></span>&#160;<span class="preprocessor">#define KUDU_RETURN_NOT_OK(s) do { \</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">    const ::kudu::Status&amp; _s = (s);             \</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">    if (PREDICT_FALSE(!_s.ok())) return _s;     \</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">  } while (0)</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="status_8h.html#af66b8458f1d3f1264c1da86744e29e46">   47</a></span>&#160;<span class="preprocessor">#define KUDU_RETURN_NOT_OK_PREPEND(s, msg) do { \</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">    const ::kudu::Status&amp; _s = (s);                              \</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">    if (PREDICT_FALSE(!_s.ok())) return _s.CloneAndPrepend(msg); \</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">  } while (0)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223">   55</a></span>&#160;<span class="preprocessor">#define KUDU_RETURN_NOT_OK_RET(to_call, to_return) do { \</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">    const ::kudu::Status&amp; s = (to_call);                \</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">    if (PREDICT_FALSE(!s.ok())) return (to_return);  \</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">  } while (0)</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e">   61</a></span>&#160;<span class="preprocessor">#define KUDU_RETURN_NOT_OK_EVAL(s, on_error) do { \</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">    const ::kudu::Status&amp; _s = (s); \</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">    if (PREDICT_FALSE(!_s.ok())) { \</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">      (on_error); \</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">      return _s; \</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">    } \</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">  } while (0)</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e">   70</a></span>&#160;<span class="preprocessor">#define KUDU_WARN_NOT_OK(to_call, warning_prefix) do { \</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">    const ::kudu::Status&amp; _s = (to_call);              \</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">    if (PREDICT_FALSE(!_s.ok())) { \</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">      KUDU_LOG(WARNING) &lt;&lt; (warning_prefix) &lt;&lt; &quot;: &quot;</span> &lt;&lt; _s.ToString();  \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    } \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  } while (0)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="status_8h.html#abbd85cc2c5535627091bb06a21918150">   78</a></span>&#160;<span class="preprocessor">#define KUDU_LOG_AND_RETURN(level, status) do { \</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">    const ::kudu::Status&amp; _s = (status);        \</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">    KUDU_LOG(level) &lt;&lt; _s.ToString(); \</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">    return _s; \</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">  } while (0)</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce">   85</a></span>&#160;<span class="preprocessor">#define KUDU_RETURN_NOT_OK_LOG(s, level, msg) do { \</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">    const ::kudu::Status&amp; _s = (s);             \</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">    if (PREDICT_FALSE(!_s.ok())) { \</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">      KUDU_LOG(level) &lt;&lt; &quot;Status: &quot;</span> &lt;&lt; _s.ToString() &lt;&lt; &quot; &quot; &lt;&lt; (msg); \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      return _s;     \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    } \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  } while (0)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
+<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f">   95</a></span>&#160;<span class="preprocessor">#define KUDU_CHECK_OK_PREPEND(to_call, msg) do { \</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">    const ::kudu::Status&amp; _s = (to_call);                   \</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">    KUDU_CHECK(_s.ok()) &lt;&lt; (msg) &lt;&lt; &quot;: &quot;</span> &lt;&lt; _s.ToString();  \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  } while (0)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="status_8h.html#ac503ba85e942147294cdc82087da60f6">  102</a></span>&#160;<span class="preprocessor">#define KUDU_CHECK_OK(s) KUDU_CHECK_OK_PREPEND(s, &quot;Bad status&quot;</span>)</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="status_8h.html#a2b360b53025724bb97d1dc21e25e26cc">  106</a></span>&#160;<span class="preprocessor">#define KUDU_DCHECK_OK_PREPEND(to_call, msg) do { \</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">    const ::kudu::Status&amp; _s = (to_call);                   \</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">    KUDU_DCHECK(_s.ok()) &lt;&lt; (msg) &lt;&lt; &quot;: &quot;</span> &lt;&lt; _s.ToString();  \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  } while (0)</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
+<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="status_8h.html#a99332afa18f00de3c7fcf3e76949df9d">  113</a></span>&#160;<span class="preprocessor">#define KUDU_DCHECK_OK(s) KUDU_DCHECK_OK_PREPEND(s, &quot;Bad status&quot;</span>)</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba">  119</a></span>&#160;<span class="preprocessor">#define KUDU_RETURN_MAIN_NOT_OK(to_call, msg, ret_code) do { \</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">    DCHECK_NE(0, (ret_code)) &lt;&lt; &quot;non-OK return code should not be 0&quot;</span>; \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    const ::kudu::Status&amp; _s = (to_call); \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    if (!_s.ok()) { \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      const ::kudu::Status&amp; _ss = _s.CloneAndPrepend((msg)); \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      LOG(ERROR) &lt;&lt; _ss.ToString(); \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      return (ret_code); \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    } \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  } while (0)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_USE_SHORT_STATUS_MACROS</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#define RETURN_NOT_OK         KUDU_RETURN_NOT_OK</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">#define RETURN_NOT_OK_PREPEND KUDU_RETURN_NOT_OK_PREPEND</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#define RETURN_NOT_OK_RET     KUDU_RETURN_NOT_OK_RET</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">#define RETURN_NOT_OK_EVAL    KUDU_RETURN_NOT_OK_EVAL</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">#define WARN_NOT_OK           KUDU_WARN_NOT_OK</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">#define LOG_AND_RETURN        KUDU_LOG_AND_RETURN</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor">#define RETURN_NOT_OK_LOG     KUDU_RETURN_NOT_OK_LOG</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor">#define CHECK_OK_PREPEND      KUDU_CHECK_OK_PREPEND</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">#define CHECK_OK              KUDU_CHECK_OK</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">#define DCHECK_OK_PREPEND     KUDU_DCHECK_OK_PREPEND</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor">#define DCHECK_OK             KUDU_DCHECK_OK</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor">#define RETURN_MAIN_NOT_OK    KUDU_RETURN_MAIN_NOT_OK</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="comment">// These are standard glog macros.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">#define KUDU_LOG              LOG</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">#define KUDU_CHECK            CHECK</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">#define KUDU_DCHECK           DCHECK</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html">  165</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1Status.html">Status</a> {</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0">  168</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0">Status</a>() : state_(NULL) { }</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160; </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  ~<a class="code" href="classkudu_1_1Status.html">Status</a>() { <span class="keyword">delete</span>[] state_; }</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160; </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  Status(<span class="keyword">const</span> Status&amp; s);</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160; </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;  Status&amp; operator=(<span class="keyword">const</span> Status&amp; s);</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160; </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor">#if __cplusplus &gt;= 201103L</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  Status(Status&amp;&amp; s) noexcept;</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160; </div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  Status&amp; operator=(Status&amp;&amp; s) noexcept;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160; </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> F&gt;</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  Status AndThen(F op) {</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="keywordflow">if</span> (ok()) {</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;      <span class="keywordflow">return</span> op();</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    }</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  }</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160; </div>
+<div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">  230</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">OK</a>() { <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(); }</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160; </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160; </div>
+<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3">  242</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3">NotFound</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kNotFound, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  }</div>
+<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee">  246</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee">Corruption</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kCorruption, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;  }</div>
+<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c">  250</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c">NotSupported</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kNotSupported, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  }</div>
+<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4">  254</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4">InvalidArgument</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kInvalidArgument, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  }</div>
+<div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862">  258</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862">IOError</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kIOError, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  }</div>
+<div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45">  262</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45">AlreadyPresent</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kAlreadyPresent, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  }</div>
+<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692">  266</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692">RuntimeError</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kRuntimeError, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  }</div>
+<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af">  270</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af">NetworkError</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kNetworkError, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  }</div>
+<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b">  274</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b">IllegalState</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kIllegalState, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  }</div>
+<div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba">  278</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba">NotAuthorized</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kNotAuthorized, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  }</div>
+<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144">  282</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144">Aborted</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kAborted, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;  }</div>
+<div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f">  286</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f">RemoteError</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kRemoteError, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  }</div>
+<div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568">  290</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568">ServiceUnavailable</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kServiceUnavailable, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  }</div>
+<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe">  294</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe">TimedOut</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;                         int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kTimedOut, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;  }</div>
+<div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15">  298</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15">Uninitialized</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;                              int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kUninitialized, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  }</div>
+<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801">  302</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801">ConfigurationError</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;                                   int16_t posix_code = -1) {</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kConfigurationError, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  }</div>
+<div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b">  306</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b">Incomplete</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;                           int64_t posix_code = -1) {</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kIncomplete, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  }</div>
+<div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b">  310</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b">EndOfFile</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg, <span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg2 = <a class="code" href="classkudu_1_1Slice.html">Slice</a>(),</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;                          int64_t posix_code = -1) {</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classkudu_1_1Status.html">Status</a>(kEndOfFile, msg, msg2, posix_code);</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;  }</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160; </div>
+<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af">  317</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af">ok</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (state_ == NULL); }</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160; </div>
+<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd">  320</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd">IsNotFound</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kNotFound; }</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160; </div>
+<div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4">  323</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4">IsCorruption</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kCorruption; }</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160; </div>
+<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea">  326</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea">IsNotSupported</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kNotSupported; }</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160; </div>
+<div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250">  329</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250">IsIOError</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kIOError; }</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160; </div>
+<div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b">  332</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b">IsInvalidArgument</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kInvalidArgument; }</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160; </div>
+<div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282">  335</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282">IsAlreadyPresent</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kAlreadyPresent; }</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160; </div>
+<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8">  338</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8">IsRuntimeError</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kRuntimeError; }</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160; </div>
+<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431">  341</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431">IsNetworkError</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kNetworkError; }</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160; </div>
+<div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24">  344</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24">IsIllegalState</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kIllegalState; }</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160; </div>
+<div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171">  347</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171">IsNotAuthorized</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kNotAuthorized; }</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160; </div>
+<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874">  350</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874">IsAborted</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kAborted; }</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160; </div>
+<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6">  353</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6">IsRemoteError</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kRemoteError; }</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160; </div>
+<div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668">  356</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668">IsServiceUnavailable</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kServiceUnavailable; }</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160; </div>
+<div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03">  359</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03">IsTimedOut</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kTimedOut; }</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160; </div>
+<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b">  362</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b">IsUninitialized</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kUninitialized; }</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160; </div>
+<div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef">  365</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef">IsConfigurationError</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kConfigurationError; }</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160; </div>
+<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7">  368</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7">IsIncomplete</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kIncomplete; }</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160; </div>
+<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6">  371</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6">IsEndOfFile</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> code() == kEndOfFile; }</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160; </div>
+<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c">  374</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c">IsDiskFailure</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    <span class="keywordflow">switch</span> (posix_code()) {</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;      <span class="keywordflow">case</span> EIO:</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;      <span class="keywordflow">case</span> ENODEV:</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;      <span class="keywordflow">case</span> ENXIO:</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;      <span class="keywordflow">case</span> EROFS:</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    }</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;  }</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160; </div>
+<div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99">  387</a></span>&#160;  std::string <a class="code" href="classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99">ToString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160; </div>
+<div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5">  391</a></span>&#160;  std::string <a class="code" href="classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5">CodeAsString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160; </div>
+<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796">  401</a></span>&#160;  <a class="code" href="classkudu_1_1Slice.html">Slice</a> <a class="code" href="classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796">message</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160; </div>
+<div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">  405</a></span>&#160;  int16_t <a class="code" href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">posix_code</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160; </div>
+<div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de">  415</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de">CloneAndPrepend</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160; </div>
+<div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7">  425</a></span>&#160;  <a class="code" href="classkudu_1_1Status.html">Status</a> <a class="code" href="classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7">CloneAndAppend</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Slice.html">Slice</a>&amp; msg) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160; </div>
+<div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9">  429</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9">memory_footprint_excluding_this</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160; </div>
+<div class="line"><a name="l00433"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c">  433</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c">memory_footprint_including_this</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160; </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;  <span class="comment">// OK status has a NULL state_.  Otherwise, state_ is a new[] array</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;  <span class="comment">// of the following form:</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;  <span class="comment">//    state_[0..3] == length of message</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;  <span class="comment">//    state_[4]    == code</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;  <span class="comment">//    state_[5..6] == posix_code</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;  <span class="comment">//    state_[7..]  == message</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span>* state_;</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160; </div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;  <span class="keyword">enum</span> Code {</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    kOk = 0,</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    kNotFound = 1,</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    kCorruption = 2,</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    kNotSupported = 3,</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    kInvalidArgument = 4,</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    kIOError = 5,</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;    kAlreadyPresent = 6,</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;    kRuntimeError = 7,</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    kNetworkError = 8,</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    kIllegalState = 9,</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;    kNotAuthorized = 10,</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    kAborted = 11,</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    kRemoteError = 12,</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    kServiceUnavailable = 13,</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    kTimedOut = 14,</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    kUninitialized = 15,</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    kConfigurationError = 16,</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    kIncomplete = 17,</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    kEndOfFile = 18,</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="comment">// NOTE: Remember to duplicate these constants into wire_protocol.proto and</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <span class="comment">// and to add StatusTo/FromPB ser/deser cases in wire_protocol.cc !</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    <span class="comment">// Also remember to make the same changes to the java client in Status.java.</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    <span class="comment">//</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    <span class="comment">// TODO: Move error codes into an error_code.proto or something similar.</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;  };</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;  COMPILE_ASSERT(<span class="keyword">sizeof</span>(Code) == 4, code_enum_size_is_part_of_abi);</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160; </div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;  Code code()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    <span class="keywordflow">return</span> (state_ == NULL) ? kOk : <span class="keyword">static_cast&lt;</span>Code<span class="keyword">&gt;</span>(state_[4]);</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;  }</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160; </div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;  Status(Code code, <span class="keyword">const</span> Slice&amp; msg, <span class="keyword">const</span> Slice&amp; msg2, int16_t posix_code);</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* CopyState(<span class="keyword">const</span> <span class="keywordtype">char</span>* s);</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;};</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160; </div>
+<div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#affca5639a3341212bb23ae7f5c701803">  480</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0">Status::Status</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; s) {</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;  state_ = (s.state_ == NULL) ? NULL : CopyState(s.state_);</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;}</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160; </div>
+<div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88">  484</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; <a class="code" href="classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88">Status::operator=</a>(<span class="keyword">const</span> <a class="code" href="classkudu_1_1Status.html">Status</a>&amp; s) {</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;  <span class="comment">// The following condition catches both aliasing (when this == &amp;s),</span></div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;  <span class="comment">// and the common case where both s and *this are OK.</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;  <span class="keywordflow">if</span> (state_ != s.state_) {</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <span class="keyword">delete</span>[] state_;</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    state_ = (s.state_ == NULL) ? NULL : CopyState(s.state_);</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;  }</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;}</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160; </div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="preprocessor">#if __cplusplus &gt;= 201103L</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;<span class="keyword">inline</span> <a class="code" href="classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0">Status::Status</a>(<a class="code" href="classkudu_1_1Status.html">Status</a>&amp;&amp; s) noexcept : state_(s.state_) {</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;  s.state_ = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;}</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160; </div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="keyword">inline</span> Status&amp; <a class="code" href="classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88">Status::operator=</a>(Status&amp;&amp; s) noexcept {</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;  <span class="keywordflow">if</span> (state_ != s.state_) {</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    <span class="keyword">delete</span>[] state_;</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;    state_ = s.state_;</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;    s.state_ = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;  }</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;}</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160; </div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;}  <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160; </div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;<span class="preprocessor">#endif  </span><span class="comment">// KUDU_UTIL_STATUS_H_</span></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html"><div class="ttname"><a href="classkudu_1_1Slice.html">kudu::Slice</a></div><div class="ttdoc">A wrapper around externally allocated data.</div><div class="ttdef"><b>Definition:</b> slice.h:51</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html"><div class="ttname"><a href="classkudu_1_1Status.html">kudu::Status</a></div><div class="ttdoc">A representation of an operation's outcome.</div><div class="ttdef"><b>Definition:</b> status.h:165</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a067cd380b0babb8133636a423524426b"><div class="ttname"><a href="classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b">kudu::Status::IsInvalidArgument</a></div><div class="ttdeci">bool IsInvalidArgument() const</div><div class="ttdef"><b>Definition:</b> status.h:332</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a06a1e762a63b7b72171d781f657adffe"><div class="ttname"><a href="classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe">kudu::Status::TimedOut</a></div><div class="ttdeci">static Status TimedOut(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:294</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a100f6f01e8bcdefb67f6e7fb17146ee6"><div class="ttname"><a href="classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6">kudu::Status::IsRemoteError</a></div><div class="ttdeci">bool IsRemoteError() const</div><div class="ttdef"><b>Definition:</b> status.h:353</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a1286f2c8962cd3d0a2a6e7002092711c"><div class="ttname"><a href="classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c">kudu::Status::memory_footprint_including_this</a></div><div class="ttdeci">size_t memory_footprint_including_this() const</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a16814843bac757a1c9559fd3e9ec7ae6"><div class="ttname"><a href="classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6">kudu::Status::IsEndOfFile</a></div><div class="ttdeci">bool IsEndOfFile() const</div><div class="ttdef"><b>Definition:</b> status.h:371</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a1f9cf3d3393efb81be08f18ccedb3e03"><div class="ttname"><a href="classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03">kudu::Status::IsTimedOut</a></div><div class="ttdeci">bool IsTimedOut() const</div><div class="ttdef"><b>Definition:</b> status.h:359</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a20ddf7be88cb0f304e4fe9ac2402f00b"><div class="ttname"><a href="classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b">kudu::Status::IsUninitialized</a></div><div class="ttdeci">bool IsUninitialized() const</div><div class="ttdef"><b>Definition:</b> status.h:362</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a2da56794897fa2cb3c96181f29796692"><div class="ttname"><a href="classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692">kudu::Status::RuntimeError</a></div><div class="ttdeci">static Status RuntimeError(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:266</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a41a842907942a84ac34f0912de723862"><div class="ttname"><a href="classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862">kudu::Status::IOError</a></div><div class="ttdeci">static Status IOError(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:258</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a4d6bfd279cadd657fd07842aa258bd5d"><div class="ttname"><a href="classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d">kudu::Status::posix_code</a></div><div class="ttdeci">int16_t posix_code() const</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a4e0c73bb6bb9c78d590c1d1f6d4c7282"><div class="ttname"><a href="classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282">kudu::Status::IsAlreadyPresent</a></div><div class="ttdeci">bool IsAlreadyPresent() const</div><div class="ttdef"><b>Definition:</b> status.h:335</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a4f22e819a88715855c0700a42116efc4"><div class="ttname"><a href="classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4">kudu::Status::IsCorruption</a></div><div class="ttdeci">bool IsCorruption() const</div><div class="ttdef"><b>Definition:</b> status.h:323</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a50bb6e301bdad1d168e4366be4c41da9"><div class="ttname"><a href="classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9">kudu::Status::memory_footprint_excluding_this</a></div><div class="ttdeci">size_t memory_footprint_excluding_this() const</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a56570d57662d3d3e2225269386213568"><div class="ttname"><a href="classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568">kudu::Status::ServiceUnavailable</a></div><div class="ttdeci">static Status ServiceUnavailable(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:290</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a5c0ed04aa8234b9c1aedeafc4dd3d2ee"><div class="ttname"><a href="classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee">kudu::Status::Corruption</a></div><div class="ttdeci">static Status Corruption(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:246</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a63c36a062e1f3ac68ec8ee2f032da250"><div class="ttname"><a href="classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250">kudu::Status::IsIOError</a></div><div class="ttdeci">bool IsIOError() const</div><div class="ttdef"><b>Definition:</b> status.h:329</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a65232f9f7de16f12db13e6c55137c48b"><div class="ttname"><a href="classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b">kudu::Status::IllegalState</a></div><div class="ttdeci">static Status IllegalState(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:274</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a6640d27d5c48d9257b9ba19416530874"><div class="ttname"><a href="classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874">kudu::Status::IsAborted</a></div><div class="ttdeci">bool IsAborted() const</div><div class="ttdef"><b>Definition:</b> status.h:350</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a66d4341c1c1bb677284608fd51686144"><div class="ttname"><a href="classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144">kudu::Status::Aborted</a></div><div class="ttdeci">static Status Aborted(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:282</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a6fafe0e7de52282c53ac29760fc409c5"><div class="ttname"><a href="classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5">kudu::Status::CodeAsString</a></div><div class="ttdeci">std::string CodeAsString() const</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a7c0794b535ba74db59d6d614b385b29c"><div class="ttname"><a href="classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c">kudu::Status::NotSupported</a></div><div class="ttdeci">static Status NotSupported(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:250</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a835f657424af6bc1cb092139833e41a7"><div class="ttname"><a href="classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7">kudu::Status::CloneAndAppend</a></div><div class="ttdeci">Status CloneAndAppend(const Slice &amp;msg) const</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a98720ec81c8af525c363999d526b4efd"><div class="ttname"><a href="classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd">kudu::Status::IsNotFound</a></div><div class="ttdeci">bool IsNotFound() const</div><div class="ttdef"><b>Definition:</b> status.h:320</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_a9f9f0d6696809fa52af0e34e18477668"><div class="ttname"><a href="classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668">kudu::Status::IsServiceUnavailable</a></div><div class="ttdeci">bool IsServiceUnavailable() const</div><div class="ttdef"><b>Definition:</b> status.h:356</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_aa15dd07c7e6cf0d7ddf152ad2e8dbfef"><div class="ttname"><a href="classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef">kudu::Status::IsConfigurationError</a></div><div class="ttdeci">bool IsConfigurationError() const</div><div class="ttdef"><b>Definition:</b> status.h:365</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_aa352708c157096893132e7bfa17f2c45"><div class="ttname"><a href="classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45">kudu::Status::AlreadyPresent</a></div><div class="ttdeci">static Status AlreadyPresent(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:262</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_aa387797d8a80892563d56244a2351a88"><div class="ttname"><a href="classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88">kudu::Status::operator=</a></div><div class="ttdeci">Status &amp; operator=(const Status &amp;s)</div><div class="ttdef"><b>Definition:</b> status.h:484</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_aa3b4e9aa437a3b42371505a496b14f9c"><div class="ttname"><a href="classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c">kudu::Status::IsDiskFailure</a></div><div class="ttdeci">bool IsDiskFailure() const</div><div class="ttdef"><b>Definition:</b> status.h:374</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_aa8230a85d171ad384e028e5782d097b3"><div class="ttname"><a href="classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3">kudu::Status::NotFound</a></div><div class="ttdeci">static Status NotFound(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:242</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ab07ec85036fcbebe4987e588997076ea"><div class="ttname"><a href="classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea">kudu::Status::IsNotSupported</a></div><div class="ttdeci">bool IsNotSupported() const</div><div class="ttdef"><b>Definition:</b> status.h:326</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ab2b8ecb3407d7cdfc3c7650708d3fef4"><div class="ttname"><a href="classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4">kudu::Status::InvalidArgument</a></div><div class="ttdeci">static Status InvalidArgument(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:254</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ab70860cab096ae35d905a5d15241d69b"><div class="ttname"><a href="classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b">kudu::Status::Incomplete</a></div><div class="ttdeci">static Status Incomplete(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int64_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:306</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_abcee50c360b182faa966e8a96d0ba9de"><div class="ttname"><a href="classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de">kudu::Status::CloneAndPrepend</a></div><div class="ttdeci">Status CloneAndPrepend(const Slice &amp;msg) const</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_abd07058e176fba0e87c48e955a97f0af"><div class="ttname"><a href="classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af">kudu::Status::NetworkError</a></div><div class="ttdeci">static Status NetworkError(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:270</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ac586c6af12c09103c53cfc941139cc15"><div class="ttname"><a href="classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15">kudu::Status::Uninitialized</a></div><div class="ttdeci">static Status Uninitialized(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:298</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ac78fdef5d20751a791a1944d9ece0ee7"><div class="ttname"><a href="classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7">kudu::Status::IsIncomplete</a></div><div class="ttdeci">bool IsIncomplete() const</div><div class="ttdef"><b>Definition:</b> status.h:368</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ac850292b4c11cc4736d80d5e03805171"><div class="ttname"><a href="classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171">kudu::Status::IsNotAuthorized</a></div><div class="ttdeci">bool IsNotAuthorized() const</div><div class="ttdef"><b>Definition:</b> status.h:347</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ac9f5fdc99726585961544969dcb3b2ba"><div class="ttname"><a href="classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba">kudu::Status::NotAuthorized</a></div><div class="ttdeci">static Status NotAuthorized(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:278</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ad14eb530b3449967ee976aaa1c0bcde0"><div class="ttname"><a href="classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0">kudu::Status::Status</a></div><div class="ttdeci">Status()</div><div class="ttdoc">Create an object representing success status.</div><div class="ttdef"><b>Definition:</b> status.h:168</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ad3f3cd05b402351f260f8ee528d13f24"><div class="ttname"><a href="classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24">kudu::Status::IsIllegalState</a></div><div class="ttdeci">bool IsIllegalState() const</div><div class="ttdef"><b>Definition:</b> status.h:344</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ad4acc174b0c45945ba180f4c6cf8b431"><div class="ttname"><a href="classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431">kudu::Status::IsNetworkError</a></div><div class="ttdeci">bool IsNetworkError() const</div><div class="ttdef"><b>Definition:</b> status.h:341</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_adaff3248b2f66041d0a7dd59f118b7ac"><div class="ttname"><a href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">kudu::Status::OK</a></div><div class="ttdeci">static Status OK()</div><div class="ttdef"><b>Definition:</b> status.h:230</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ae0c248c3ebd9f77546917ccebde029af"><div class="ttname"><a href="classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af">kudu::Status::ok</a></div><div class="ttdeci">bool ok() const</div><div class="ttdef"><b>Definition:</b> status.h:317</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ae0cb472b2431a7898769fc0263908ae8"><div class="ttname"><a href="classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8">kudu::Status::IsRuntimeError</a></div><div class="ttdeci">bool IsRuntimeError() const</div><div class="ttdef"><b>Definition:</b> status.h:338</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_ae3e2964343c3b1d35cdd75988ad8fa99"><div class="ttname"><a href="classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99">kudu::Status::ToString</a></div><div class="ttdeci">std::string ToString() const</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_aeab02d311b0e5d44310b0dcc1e37359b"><div class="ttname"><a href="classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b">kudu::Status::EndOfFile</a></div><div class="ttdeci">static Status EndOfFile(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int64_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:310</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_aeb67c65dc9c5d3f6665e80a4dbbf9801"><div class="ttname"><a href="classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801">kudu::Status::ConfigurationError</a></div><div class="ttdeci">static Status ConfigurationError(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:302</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_aefdc372dd5a3c4e122bb9f49738c667f"><div class="ttname"><a href="classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f">kudu::Status::RemoteError</a></div><div class="ttdeci">static Status RemoteError(const Slice &amp;msg, const Slice &amp;msg2=Slice(), int16_t posix_code=-1)</div><div class="ttdef"><b>Definition:</b> status.h:286</div></div>
+<div class="ttc" id="aclasskudu_1_1Status_html_aefdf27f7ae0c91ee737896ac91d86796"><div class="ttname"><a href="classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796">kudu::Status::message</a></div><div class="ttdeci">Slice message() const</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/structkudu_1_1SliceMap-members.html b/releases/1.15.0/cpp-client-api/structkudu_1_1SliceMap-members.html
new file mode 100644
index 0000000..0db8f9c
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/structkudu_1_1SliceMap-members.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="structkudu_1_1SliceMap.html">SliceMap</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::SliceMap&lt; T &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structkudu_1_1SliceMap.html">kudu::SliceMap&lt; T &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6">type</a> typedef</td><td class="entry"><a class="el" href="structkudu_1_1SliceMap.html">kudu::SliceMap&lt; T &gt;</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/structkudu_1_1SliceMap.html b/releases/1.15.0/cpp-client-api/structkudu_1_1SliceMap.html
new file mode 100644
index 0000000..1864423
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/structkudu_1_1SliceMap.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::SliceMap&lt; T &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="structkudu_1_1SliceMap.html">SliceMap</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="structkudu_1_1SliceMap-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::SliceMap&lt; T &gt; Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>STL map whose keys are Slices.  
+ <a href="structkudu_1_1SliceMap.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="slice_8h_source.html">slice.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ac97e49d0aa50ae49f34ab3bbd95ea5e6"><td class="memItemLeft" align="right" valign="top"><a id="ac97e49d0aa50ae49f34ab3bbd95ea5e6"></a>
+typedef std::map&lt; <a class="el" href="classkudu_1_1Slice.html">Slice</a>, T, <a class="el" href="structkudu_1_1Slice_1_1Comparator.html">Slice::Comparator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6">type</a></td></tr>
+<tr class="memdesc:ac97e49d0aa50ae49f34ab3bbd95ea5e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handy typedef for the slice map with appropriate comparison operator. <br /></td></tr>
+<tr class="separator:ac97e49d0aa50ae49f34ab3bbd95ea5e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename T&gt;<br />
+struct kudu::SliceMap&lt; T &gt;</h3>
+
+<p>STL map whose keys are Slices. </p>
+<p>An example of usage: </p><div class="fragment"><div class="line"><span class="keyword">typedef</span> <a class="code" href="structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6">SliceMap&lt;int&gt;::type</a> MySliceMap;</div>
+<div class="line"> </div>
+<div class="line">MySliceMap my_map;</div>
+<div class="line">my_map.insert(MySliceMap::value_type(a, 1));</div>
+<div class="line">my_map.insert(MySliceMap::value_type(b, 2));</div>
+<div class="line">my_map.insert(MySliceMap::value_type(c, 3));</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordflow">for</span> (<span class="keyword">const</span> MySliceMap::value_type&amp; pair : my_map) {</div>
+<div class="line">  ...</div>
+<div class="line">}</div>
+<div class="ttc" id="astructkudu_1_1SliceMap_html_ac97e49d0aa50ae49f34ab3bbd95ea5e6"><div class="ttname"><a href="structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6">kudu::SliceMap::type</a></div><div class="ttdeci">std::map&lt; Slice, T, Slice::Comparator &gt; type</div><div class="ttdoc">A handy typedef for the slice map with appropriate comparison operator.</div><div class="ttdef"><b>Definition:</b> slice.h:328</div></div>
+</div><!-- fragment --> </div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/kudu/util/<a class="el" href="slice_8h_source.html">slice.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/structkudu_1_1Slice_1_1Comparator-members.html b/releases/1.15.0/cpp-client-api/structkudu_1_1Slice_1_1Comparator-members.html
new file mode 100644
index 0000000..ce864ed
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/structkudu_1_1Slice_1_1Comparator-members.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="classkudu_1_1Slice.html">Slice</a></li><li class="navelem"><a class="el" href="structkudu_1_1Slice_1_1Comparator.html">Comparator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">kudu::Slice::Comparator Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structkudu_1_1Slice_1_1Comparator.html">kudu::Slice::Comparator</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5">operator()</a>(const Slice &amp;a, const Slice &amp;b) const</td><td class="entry"><a class="el" href="structkudu_1_1Slice_1_1Comparator.html">kudu::Slice::Comparator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/structkudu_1_1Slice_1_1Comparator.html b/releases/1.15.0/cpp-client-api/structkudu_1_1Slice_1_1Comparator.html
new file mode 100644
index 0000000..6594f97
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/structkudu_1_1Slice_1_1Comparator.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: kudu::Slice::Comparator Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="classkudu_1_1Slice.html">Slice</a></li><li class="navelem"><a class="el" href="structkudu_1_1Slice_1_1Comparator.html">Comparator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="structkudu_1_1Slice_1_1Comparator-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">kudu::Slice::Comparator Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a class="el" href="structkudu_1_1Slice_1_1Comparator.html" title="Comparator struct, useful for ordered collections (like STL maps).">Comparator</a> struct, useful for ordered collections (like STL maps).  
+ <a href="structkudu_1_1Slice_1_1Comparator.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="slice_8h_source.html">slice.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:addca89640bb164bc8801414fd7d9e9f5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5">operator()</a> (const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;a, const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;b) const</td></tr>
+<tr class="separator:addca89640bb164bc8801414fd7d9e9f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="structkudu_1_1Slice_1_1Comparator.html" title="Comparator struct, useful for ordered collections (like STL maps).">Comparator</a> struct, useful for ordered collections (like STL maps). </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="addca89640bb164bc8801414fd7d9e9f5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#addca89640bb164bc8801414fd7d9e9f5">&#9670;&nbsp;</a></span>operator()()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool kudu::Slice::Comparator::operator() </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classkudu_1_1Slice.html">Slice</a> &amp;&#160;</td>
+          <td class="paramname"><em>b</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Compare two slices using <a class="el" href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">Slice::compare()</a></p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>The slice to call <a class="el" href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">Slice::compare()</a> at. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The slice to use as a parameter for <a class="el" href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">Slice::compare()</a>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff <code>a</code> is less than <code>b</code> by <a class="el" href="classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2">Slice::compare()</a>. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/kudu/util/<a class="el" href="slice_8h_source.html">slice.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/stubs_8h_source.html b/releases/1.15.0/cpp-client-api/stubs_8h_source.html
new file mode 100644
index 0000000..66517c0
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/stubs_8h_source.html
@@ -0,0 +1,301 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/stubs.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">stubs.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_STUBS_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_STUBS_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">// for exit()</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">// GCC can be told that a certain branch is not likely to be taken (for</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// instance, a CHECK failure), and use that information in static analysis.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">// Giving it this information can help it optimize for the common case in</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">// the absence of better information (ie. -fprofile-arcs).</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#ifndef PREDICT_FALSE</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#if defined(__GNUC__)</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#define PREDICT_FALSE(x) (__builtin_expect(x, 0))</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#define PREDICT_FALSE(x) x</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#ifndef PREDICT_TRUE</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#if defined(__GNUC__)</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define PREDICT_TRUE(x) (__builtin_expect(!!(x), 1))</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define PREDICT_TRUE(x) x</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// Annotate a function indicating the caller must examine the return value.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// Use like:</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">//   int foo() WARN_UNUSED_RESULT;</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// To explicitly ignore a result, see |ignore_result()| in &lt;base/basictypes.h&gt;.</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#ifndef WARN_UNUSED_RESULT</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#if defined(__GNUC__)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#define WARN_UNUSED_RESULT __attribute__((warn_unused_result))</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#define WARN_UNUSED_RESULT</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#if (defined(__GNUC__) || defined(__APPLE__)) &amp;&amp; !defined(SWIG)</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#undef ATTRIBUTE_UNUSED</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define ATTRIBUTE_UNUSED __attribute__ ((unused))</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#ifndef ATTRIBUTE_UNUSED</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#define ATTRIBUTE_UNUSED</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">// For deprecated functions or variables, generate a warning at usage sites.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">// Verified to work as early as GCC 3.1.1 and clang 3.2 (so we&#39;ll assume any</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">// clang is new enough).</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#ifndef ATTRIBUTE_DEPRECATED</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#if defined(__clang__) || \</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">  (defined(COMPILER_GCC) &amp;&amp; \</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">   (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) &gt;= 30200)</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#define ATTRIBUTE_DEPRECATED(msg) __attribute__ ((deprecated (msg) ))</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#define ATTRIBUTE_DEPRECATED(msg)</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// #ifndef ATTRIBUTE_DEPRECATED</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#ifndef COMPILE_ASSERT</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">// The COMPILE_ASSERT macro can be used to verify that a compile time</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">// expression is true. For example, you could use it to verify the</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">// size of a static array:</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">//   COMPILE_ASSERT(ARRAYSIZE(content_type_names) == CONTENT_NUM_TYPES,</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">//                  content_type_names_incorrect_size);</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">// or to make sure a struct is smaller than a certain size:</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">//   COMPILE_ASSERT(sizeof(foo) &lt; 128, foo_too_large);</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">// The second argument to the macro is the name of the variable. If</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">// the expression is false, most compilers will issue a warning/error</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">// containing the name of the variable.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">bool</span>&gt;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">struct </span>StubsCompileAssert {</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;};</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#define COMPILE_ASSERT(expr, msg) \</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">  typedef StubsCompileAssert&lt;(bool(expr))&gt; msg[bool(expr) ? 1 : -1] ATTRIBUTE_UNUSED </span><span class="comment">// NOLINT(*)</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">// Annotate a virtual method indicating it must be overriding a virtual</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">// method in the parent class.</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">// Use like:</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">//   virtual void foo() OVERRIDE;</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">#ifndef OVERRIDE</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor"># if defined(COMPILER_MSVC)</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#   define OVERRIDE override</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor"># elif defined(__clang__) &amp;&amp; __cplusplus &gt;= 201103</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="comment">// LLVM/Clang supports explicit virtual overrides, but warns about C++11</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="comment">// extensions if compiling in pre-C++11 mode since the &#39;-Wc++11-extensions&#39;</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="comment">// option is enabled by default.</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">#   define OVERRIDE override</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor"># elif defined(COMPILER_GCC) &amp;&amp; __cplusplus &gt;= 201103 &amp;&amp; \</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">      (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) &gt;= 40700</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="comment">// GCC 4.7 supports explicit virtual overrides when C++11 support is enabled.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">#   define OVERRIDE override</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor"># else</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#   define OVERRIDE</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor"># endif</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// #ifndef OVERRIDE</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">#ifndef DISALLOW_COPY_AND_ASSIGN</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#define DISALLOW_COPY_AND_ASSIGN(TypeName) \</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">  TypeName(const TypeName&amp;);               \</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">  void operator=(const TypeName&amp;)</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">#ifndef FRIEND_TEST</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">#define FRIEND_TEST(test_case_name, test_name) \</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">  friend class test_case_name##_##test_name##_Test</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">// Stubbed versions of macros defined in glog/logging.h, intended for</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment">// environments where glog headers aren&#39;t available.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">// Add more as needed.</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">#define KUDU_DCHECK(condition) while (false) kudu::internal_logging::NullLog()</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#define KUDU_DCHECK_EQ(val1, val2) while (false) kudu::internal_logging::NullLog()</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">#define KUDU_DCHECK_NE(val1, val2) while (false) kudu::internal_logging::NullLog()</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#define KUDU_DCHECK_LE(val1, val2) while (false) kudu::internal_logging::NullLog()</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">#define KUDU_DCHECK_LT(val1, val2) while (false) kudu::internal_logging::NullLog()</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">#define KUDU_DCHECK_GE(val1, val2) while (false) kudu::internal_logging::NullLog()</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">#define KUDU_DCHECK_GT(val1, val2) while (false) kudu::internal_logging::NullLog()</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor">#define KUDU_DCHECK_NOTNULL(val) (val)</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor">#define KUDU_DCHECK_STREQ(str1, str2) while (false) kudu::internal_logging::NullLog()</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">#define KUDU_DCHECK_STRCASEEQ(str1, str2) while (false) kudu::internal_logging::NullLog()</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">#define KUDU_DCHECK_STRNE(str1, str2) while (false) kudu::internal_logging::NullLog()</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor">#define KUDU_DCHECK_STRCASENE(str1, str2) while (false) kudu::internal_logging::NullLog()</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="comment">// Log levels. LOG ignores them, so their values are abitrary.</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">#define KUDU_INFO 0</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">#define KUDU_WARNING 1</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">#define KUDU_ERROR 2</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">#define KUDU_FATAL 3</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor">#ifdef NDEBUG</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#define KUDU_DFATAL KUDU_WARNING</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor">#define KUDU_DFATAL KUDU_FATAL</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// NDEBUG</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160; </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor">#define KUDU_LOG_INTERNAL(level) kudu::internal_logging::CerrLog(level)</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">#define KUDU_LOG(level) KUDU_LOG_INTERNAL(KUDU_##level)</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160; </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">#define KUDU_CHECK(condition) \</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor">  (condition) ? 0 : KUDU_LOG(FATAL) &lt;&lt; &quot;Check failed: &quot;</span> #condition &quot; &quot;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160; </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">namespace </span>internal_logging {</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160; </div>
+<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classkudu_1_1internal__logging_1_1NullLog.html">  182</a></span>&#160;<span class="keyword">class </span><a class="code" href="classkudu_1_1internal__logging_1_1NullLog.html">NullLog</a> {</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt;</div>
+<div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a">  190</a></span>&#160;  <a class="code" href="classkudu_1_1internal__logging_1_1NullLog.html">NullLog</a>&amp; <a class="code" href="classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a">operator&lt;&lt;</a>(<span class="keyword">const</span> T&amp; t) {</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  }</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;};</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160; </div>
+<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="classkudu_1_1internal__logging_1_1CerrLog.html">  196</a></span>&#160;<span class="keyword">class </span><a class="code" href="classkudu_1_1internal__logging_1_1CerrLog.html">CerrLog</a> {</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713">  202</a></span>&#160;  <a class="code" href="classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713">CerrLog</a>(<span class="keywordtype">int</span> severity) <span class="comment">// NOLINT(runtime/explicit)</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    : severity_(severity),</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;      has_logged_(false) {</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  }</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160; </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  ~<a class="code" href="classkudu_1_1internal__logging_1_1CerrLog.html">CerrLog</a>() {</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="keywordflow">if</span> (has_logged_) {</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;      std::cerr &lt;&lt; std::endl;</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    }</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="keywordflow">if</span> (severity_ == KUDU_FATAL) {</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;      exit(1);</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    }</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  }</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160; </div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt;</div>
+<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724">  222</a></span>&#160;  <a class="code" href="classkudu_1_1internal__logging_1_1CerrLog.html">CerrLog</a>&amp; <a class="code" href="classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724">operator&lt;&lt;</a>(<span class="keyword">const</span> T&amp; t) {</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    has_logged_ = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    std::cerr &lt;&lt; t;</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  }</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160; </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> severity_;</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  <span class="keywordtype">bool</span> has_logged_;</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;};</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160; </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;} <span class="comment">// namespace internal_logging</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160; </div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclasskudu_1_1internal__logging_1_1CerrLog_html"><div class="ttname"><a href="classkudu_1_1internal__logging_1_1CerrLog.html">kudu::internal_logging::CerrLog</a></div><div class="ttdoc">A helper for stderr log sink.</div><div class="ttdef"><b>Definition:</b> stubs.h:196</div></div>
+<div class="ttc" id="aclasskudu_1_1internal__logging_1_1CerrLog_html_a9febb74005a76f9b203e9718275ab724"><div class="ttname"><a href="classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724">kudu::internal_logging::CerrLog::operator&lt;&lt;</a></div><div class="ttdeci">CerrLog &amp; operator&lt;&lt;(const T &amp;t)</div><div class="ttdef"><b>Definition:</b> stubs.h:222</div></div>
+<div class="ttc" id="aclasskudu_1_1internal__logging_1_1CerrLog_html_ac3773ad2825d82f91ea65109f2def713"><div class="ttname"><a href="classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713">kudu::internal_logging::CerrLog::CerrLog</a></div><div class="ttdeci">CerrLog(int severity)</div><div class="ttdef"><b>Definition:</b> stubs.h:202</div></div>
+<div class="ttc" id="aclasskudu_1_1internal__logging_1_1NullLog_html"><div class="ttname"><a href="classkudu_1_1internal__logging_1_1NullLog.html">kudu::internal_logging::NullLog</a></div><div class="ttdoc">A helper for the nil log sink.</div><div class="ttdef"><b>Definition:</b> stubs.h:182</div></div>
+<div class="ttc" id="aclasskudu_1_1internal__logging_1_1NullLog_html_abe50abde8e4af12413c99f437094dc8a"><div class="ttname"><a href="classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a">kudu::internal_logging::NullLog::operator&lt;&lt;</a></div><div class="ttdeci">NullLog &amp; operator&lt;&lt;(const T &amp;t)</div><div class="ttdef"><b>Definition:</b> stubs.h:190</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/sync_off.png b/releases/1.15.0/cpp-client-api/sync_off.png
new file mode 100644
index 0000000..3b443fc
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/sync_off.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/sync_on.png b/releases/1.15.0/cpp-client-api/sync_on.png
new file mode 100644
index 0000000..e08320f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/sync_on.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/tab_a.png b/releases/1.15.0/cpp-client-api/tab_a.png
new file mode 100644
index 0000000..3b725c4
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/tab_a.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/tab_b.png b/releases/1.15.0/cpp-client-api/tab_b.png
new file mode 100644
index 0000000..e2b4a86
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/tab_b.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/tab_h.png b/releases/1.15.0/cpp-client-api/tab_h.png
new file mode 100644
index 0000000..fd5cb70
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/tab_h.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/tab_s.png b/releases/1.15.0/cpp-client-api/tab_s.png
new file mode 100644
index 0000000..ab478c9
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/tab_s.png
Binary files differ
diff --git a/releases/1.15.0/cpp-client-api/tabs.css b/releases/1.15.0/cpp-client-api/tabs.css
new file mode 100644
index 0000000..85a0cd5
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/tabs.css
@@ -0,0 +1 @@
+.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
\ No newline at end of file
diff --git a/releases/1.15.0/cpp-client-api/todo.html b/releases/1.15.0/cpp-client-api/todo.html
new file mode 100644
index 0000000..bb612b6
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/todo.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: Todo List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="PageDoc"><div class="header">
+  <div class="headertitle">
+<div class="title">Todo List </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><dl class="reflist">
+<dt>Class <a class="el" href="classkudu_1_1client_1_1KuduClient.html">kudu::client::KuduClient</a>  </dt>
+<dd><a class="anchor" id="_todo000001"></a>Cluster administration functions are likely to be in this class as well.  </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">kudu::client::KuduClient::OpenTable</a>  (const std::string &amp;table_name, sp::shared_ptr&lt; KuduTable &gt; *table)</dt>
+<dd><p class="startdd"><a class="anchor" id="_todo000002"></a>Should we offer an async version of this as well? </p>
+<p class="enddd">Probably should have a configurable timeout in <a class="el" href="classkudu_1_1client_1_1KuduClientBuilder.html" title="A &quot;factory&quot; for KuduClient objects.">KuduClientBuilder</a>?  </p>
+</dd>
+<dt>Class <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a>  </dt>
+<dd><a class="anchor" id="_todo000009"></a>KUDU-861: this API will also be used for an improved AlterTable API.  </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6">kudu::client::KuduColumnSpec::BlockSize</a>  (int32_t block_size)</dt>
+<dd><a class="anchor" id="_todo000011"></a>KUDU-1107: move above info to docs </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a2d6e5bec50a7305b3b4d75d21d000fab">kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes</a>  (EncodingType encoding=AUTO_ENCODING, CompressionType compression=DEFAULT_COMPRESSION, int32_t block_size=0) ATTRIBUTE_DEPRECATED("this const ructor will be private in a future release")</dt>
+<dd><a class="anchor" id="_todo000010"></a>Make this constructor private. </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8">kudu::client::KuduScanner::SetSelection</a>  (<a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a" title="Policy with which to choose amongst multiple replicas.">KuduClient::ReplicaSelection</a> selection) WARN_UNUSED_RESULT</dt>
+<dd><a class="anchor" id="_todo000007"></a>Kill this method in favor of a consistency-level-based API.  </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88">kudu::client::KuduScanTokenBuilder::SetSelection</a>  (<a class="el" href="classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a" title="Policy with which to choose amongst multiple replicas.">KuduClient::ReplicaSelection</a> selection) WARN_UNUSED_RESULT</dt>
+<dd><a class="anchor" id="_todo000008"></a>Kill this in favor of a consistency-level-based API.  </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">kudu::client::KuduSchema::Reset</a>  (const std::vector&lt; KuduColumnSchema &gt; &amp;columns, int key_columns) WARN_UNUSED_RESULT</dt>
+<dd><a class="anchor" id="_todo000012"></a>Remove <a class="el" href="classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab">KuduSchema::Reset()</a>. </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943">kudu::client::KuduSession::Apply</a>  (<a class="el" href="classkudu_1_1client_1_1KuduWriteOperation.html" title="A single-row write operation to be sent to a Kudu table.">KuduWriteOperation</a> *write_op) WARN_UNUSED_RESULT</dt>
+<dd><a class="anchor" id="_todo000004"></a> Add "doAs" ability here for proxy servers to be able to act on behalf of other users, assuming access rights.  </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1">kudu::client::KuduSession::AUTO_FLUSH_BACKGROUND</a>  </dt>
+<dd><a class="anchor" id="_todo000006"></a>Provide an API for the user to specify a callback to do their own error reporting.  </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578">kudu::client::KuduSession::HasPendingOperations</a>  () const</dt>
+<dd><a class="anchor" id="_todo000005"></a>Maybe "incomplete" or "undelivered" is clearer?  </dd>
+<dt>Member <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">kudu::client::KuduTableCreator::table_name</a>  (const std::string &amp;name)</dt>
+<dd><a class="anchor" id="_todo000003"></a>Should name of the table be a constructor's parameter instead? </dd>
+</dl>
+</div></div><!-- contents -->
+</div><!-- PageDoc -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/value_8h_source.html b/releases/1.15.0/cpp-client-api/value_8h_source.html
new file mode 100644
index 0000000..e424c90
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/value_8h_source.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/value.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">value.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_VALUE_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_VALUE_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/macros.h&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;kudu/util/int128.h&quot;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;kudu/util/slice.h&quot;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduValue.html">   35</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a> {</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569">   38</a></span>&#160;  <a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* <a class="code" href="classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569">Clone</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302">   48</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* <a class="code" href="classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302">FromInt</a>(int64_t val);</div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a">   49</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* <a class="code" href="classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a">FromFloat</a>(<span class="keywordtype">float</span> val);</div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5">   50</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* <a class="code" href="classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5">FromDouble</a>(<span class="keywordtype">double</span> val);</div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10">   51</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* <a class="code" href="classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10">FromBool</a>(<span class="keywordtype">bool</span> val);</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#if KUDU_INT128_SUPPORTED</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* FromDecimal(int128_t dv, int8_t scale);</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe">   75</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>* <a class="code" href="classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe">CopyString</a>(<a class="code" href="classkudu_1_1Slice.html">Slice</a> s);</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  ~<a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>();</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>ComparisonPredicateData;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>InBloomFilterPredicateData;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>InListPredicateData;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduColumnSpec.html">KuduColumnSpec</a>;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">class </span>KUDU_NO_EXPORT Data;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>(Data* d);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="comment">// Owned.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  Data* data_;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduValue.html">KuduValue</a>);</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;};</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* KUDU_CLIENT_VALUE_H */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasskudu_1_1Slice_html"><div class="ttname"><a href="classkudu_1_1Slice.html">kudu::Slice</a></div><div class="ttdoc">A wrapper around externally allocated data.</div><div class="ttdef"><b>Definition:</b> slice.h:51</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduColumnSpec_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduColumnSpec.html">kudu::client::KuduColumnSpec</a></div><div class="ttdoc">Builder API for specifying or altering a column within a table schema.</div><div class="ttdef"><b>Definition:</b> schema.h:360</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html">kudu::client::KuduValue</a></div><div class="ttdoc">A constant cell value with a specific type.</div><div class="ttdef"><b>Definition:</b> value.h:35</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html_a5d5ac2e02a6871de7902ba6379106dd5"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5">kudu::client::KuduValue::FromDouble</a></div><div class="ttdeci">static KuduValue * FromDouble(double val)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html_a6f4006a3ce0cab3dbf0b90b1915d535a"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a">kudu::client::KuduValue::FromFloat</a></div><div class="ttdeci">static KuduValue * FromFloat(float val)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html_a886211bbe237e0009fb9b89c146f4bfe"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe">kudu::client::KuduValue::CopyString</a></div><div class="ttdeci">static KuduValue * CopyString(Slice s)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html_ab4fe2a0c7c0cd0115c52b72ef7f03569"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569">kudu::client::KuduValue::Clone</a></div><div class="ttdeci">KuduValue * Clone() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html_ada685c0346016968a6677e3694568302"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302">kudu::client::KuduValue::FromInt</a></div><div class="ttdeci">static KuduValue * FromInt(int64_t val)</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduValue_html_aea2083411ed929c909f3c6aaab4a3e10"><div class="ttname"><a href="classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10">kudu::client::KuduValue::FromBool</a></div><div class="ttdeci">static KuduValue * FromBool(bool val)</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/cpp-client-api/write__op_8h_source.html b/releases/1.15.0/cpp-client-api/write__op_8h_source.html
new file mode 100644
index 0000000..e7bb28f
--- /dev/null
+++ b/releases/1.15.0/cpp-client-api/write__op_8h_source.html
@@ -0,0 +1,333 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Kudu C++ client API: include/kudu/client/write_op.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Kudu C++ client API
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_58b01e52e53886b8d78ab5060a2cd2bd.html">kudu</a></li><li class="navelem"><a class="el" href="dir_4eb331d85bb84eae27db9d0af49f6f99.html">client</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">write_op.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// or more contributor license agreements.  See the NOTICE file</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// distributed with this work for additional information</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// regarding copyright ownership.  The ASF licenses this file</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); you may not use this file except in compliance</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// with the License.  You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// software distributed under the License is distributed on an</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// KIND, either express or implied.  See the License for the</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// specific language governing permissions and limitations</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// under the License.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef KUDU_CLIENT_WRITE_OP_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define KUDU_CLIENT_WRITE_OP_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">// IWYU pragma: no_include &lt;memory&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="shared__ptr_8h.html">kudu/client/shared_ptr.h</a>&quot;</span> <span class="comment">// IWYU pragma: keep</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;kudu/common/partial_row.h&quot;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;kudu/util/kudu_export.h&quot;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifdef KUDU_HEADERS_NO_STUBS</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/macros.h&quot;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;kudu/gutil/port.h&quot;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;kudu/client/stubs.h&quot;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span>kudu {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">namespace </span>client {</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">namespace </span>internal {</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">class </span>Batcher;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">class </span>ErrorCollector;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">class </span>WriteRpc;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;} <span class="comment">// namespace internal</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">class </span>KuduTable;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduWriteOperation.html">   64</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> {</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">   67</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> {</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    INSERT = 1,</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    UPDATE = 2,</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    DELETE = 3,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    UPSERT = 4,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    INSERT_IGNORE = 5,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    UPDATE_IGNORE = 6,</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    DELETE_IGNORE = 7</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  };</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>();</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160; </div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">   81</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>&amp; <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">row</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> row_; }</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">   86</a></span>&#160;  <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a>* <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">mutable_row</a>() { <span class="keywordflow">return</span> &amp;row_; }</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">   93</a></span>&#160;  <span class="keyword">virtual</span> std::string <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">ToString</a>() <span class="keyword">const</span> = 0;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>(<span class="keyword">const</span> sp::shared_ptr&lt;KuduTable&gt;&amp; table);</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">Type</a> type() <span class="keyword">const</span> = 0;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  sp::shared_ptr&lt;KuduTable&gt; <span class="keyword">const</span> table_;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="classKuduPartialRow.html">KuduPartialRow</a> row_;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::Batcher;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::WriteRpc;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::ErrorCollector;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="keyword">const</span> <a class="code" href="classkudu_1_1client_1_1KuduTable.html">KuduTable</a>* table()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> table_.get(); }</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="comment">// Return the number of bytes required to buffer this operation,</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="comment">// including direct and indirect data. Once called, the result is cached</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <span class="comment">// so subsequent calls will return the size previously computed.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  int64_t SizeInBuffer() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keyword">mutable</span> int64_t size_in_buffer_;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a>);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;};</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160; </div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduInsert.html">  139</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduInsert.html">KuduInsert</a> : <span class="keyword">public</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> {</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classkudu_1_1client_1_1KuduInsert.html">KuduInsert</a>();</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; </div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240">  144</a></span>&#160;  <span class="keyword">virtual</span> std::string <a class="code" href="classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240">ToString</a>() const OVERRIDE { <span class="keywordflow">return</span> <span class="stringliteral">&quot;INSERT &quot;</span> + row_.<a class="code" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">ToString</a>(); }</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <span class="keyword">virtual</span> Type type() const OVERRIDE {</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="keywordflow">return</span> INSERT;</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  }</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>KuduTable;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="keyword">explicit</span> KuduInsert(<span class="keyword">const</span> sp::shared_ptr&lt;KuduTable&gt;&amp; table);</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;};</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160; </div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; </div>
+<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduInsertIgnore.html">  166</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduInsertIgnore.html">KuduInsertIgnore</a> : <span class="keyword">public</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> {</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classkudu_1_1client_1_1KuduInsertIgnore.html">KuduInsertIgnore</a>();</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160; </div>
+<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83">  171</a></span>&#160;  <span class="keyword">virtual</span> std::string <a class="code" href="classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83">ToString</a>() const OVERRIDE { <span class="keywordflow">return</span> <span class="stringliteral">&quot;INSERT IGNORE &quot;</span> + row_.<a class="code" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">ToString</a>(); }</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160; </div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160; <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  <span class="keyword">virtual</span> Type type() const OVERRIDE {</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keywordflow">return</span> INSERT_IGNORE;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  }</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160; </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160; </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>KuduTable;</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="keyword">explicit</span> KuduInsertIgnore(<span class="keyword">const</span> sp::shared_ptr&lt;KuduTable&gt;&amp; table);</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;};</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduUpsert.html">  192</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduUpsert.html">KuduUpsert</a> : <span class="keyword">public</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> {</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classkudu_1_1client_1_1KuduUpsert.html">KuduUpsert</a>();</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160; </div>
+<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8">  197</a></span>&#160;  <span class="keyword">virtual</span> std::string <a class="code" href="classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8">ToString</a>() const OVERRIDE { <span class="keywordflow">return</span> <span class="stringliteral">&quot;UPSERT &quot;</span> + row_.<a class="code" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">ToString</a>(); }</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160; </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160; <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160; </div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <span class="keyword">virtual</span> Type type() const OVERRIDE {</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="keywordflow">return</span> UPSERT;</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  }</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160; </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160; </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>KuduTable;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <span class="keyword">explicit</span> KuduUpsert(<span class="keyword">const</span> sp::shared_ptr&lt;KuduTable&gt;&amp; table);</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;};</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160; </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160; </div>
+<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduUpdate.html">  219</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduUpdate.html">KuduUpdate</a> : <span class="keyword">public</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> {</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classkudu_1_1client_1_1KuduUpdate.html">KuduUpdate</a>();</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160; </div>
+<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718">  224</a></span>&#160;  <span class="keyword">virtual</span> std::string <a class="code" href="classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718">ToString</a>() const OVERRIDE { <span class="keywordflow">return</span> <span class="stringliteral">&quot;UPDATE &quot;</span> + row_.<a class="code" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">ToString</a>(); }</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160; </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160; <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160; </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  <span class="keyword">virtual</span> Type type() const OVERRIDE {</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keywordflow">return</span> UPDATE;</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  }</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160; </div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160; </div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>KuduTable;</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  <span class="keyword">explicit</span> KuduUpdate(<span class="keyword">const</span> sp::shared_ptr&lt;KuduTable&gt;&amp; table);</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;};</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160; </div>
+<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">  245</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">KuduUpdateIgnore</a> : <span class="keyword">public</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> {</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classkudu_1_1client_1_1KuduUpdateIgnore.html">KuduUpdateIgnore</a>();</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160; </div>
+<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261">  250</a></span>&#160;  <span class="keyword">virtual</span> std::string <a class="code" href="classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261">ToString</a>() const OVERRIDE { <span class="keywordflow">return</span> <span class="stringliteral">&quot;UPDATE IGNORE &quot;</span> + row_.<a class="code" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">ToString</a>(); }</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160; </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160; </div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  <span class="keyword">virtual</span> Type type() const OVERRIDE {</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    <span class="keywordflow">return</span> UPDATE_IGNORE;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  }</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160; </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160; </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>KuduTable;</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  <span class="keyword">explicit</span> KuduUpdateIgnore(<span class="keyword">const</span> sp::shared_ptr&lt;KuduTable&gt;&amp; table);</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;};</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160; </div>
+<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduDelete.html">  271</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduDelete.html">KuduDelete</a> : <span class="keyword">public</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> {</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classkudu_1_1client_1_1KuduDelete.html">KuduDelete</a>();</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160; </div>
+<div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0">  276</a></span>&#160;  <span class="keyword">virtual</span> std::string <a class="code" href="classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0">ToString</a>() const OVERRIDE { <span class="keywordflow">return</span> <span class="stringliteral">&quot;DELETE &quot;</span> + row_.<a class="code" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">ToString</a>(); }</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160; </div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160; <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160; </div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="keyword">virtual</span> Type type() const OVERRIDE {</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <span class="keywordflow">return</span> DELETE;</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  }</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160; </div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>KuduTable;</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;  <span class="keyword">explicit</span> KuduDelete(<span class="keyword">const</span> sp::shared_ptr&lt;KuduTable&gt;&amp; table);</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;};</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160; </div>
+<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">  297</a></span>&#160;<span class="keyword">class </span>KUDU_EXPORT <a class="code" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">KuduDeleteIgnore</a> : <span class="keyword">public</span> <a class="code" href="classkudu_1_1client_1_1KuduWriteOperation.html">KuduWriteOperation</a> {</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classkudu_1_1client_1_1KuduDeleteIgnore.html">KuduDeleteIgnore</a>();</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160; </div>
+<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763">  302</a></span>&#160;  <span class="keyword">virtual</span> std::string <a class="code" href="classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763">ToString</a>() const OVERRIDE { <span class="keywordflow">return</span> <span class="stringliteral">&quot;DELETE IGNORE &quot;</span> + row_.<a class="code" href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">ToString</a>(); }</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160; </div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160; </div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  <span class="keyword">virtual</span> Type type() const OVERRIDE {</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="keywordflow">return</span> DELETE_IGNORE;</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;  }</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160; </div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160; </div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>KuduTable;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  <span class="keyword">explicit</span> KuduDeleteIgnore(<span class="keyword">const</span> sp::shared_ptr&lt;KuduTable&gt;&amp; table);</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;};</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160; </div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;} <span class="comment">// namespace client</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;} <span class="comment">// namespace kudu</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160; </div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclassKuduPartialRow_html"><div class="ttname"><a href="classKuduPartialRow.html">KuduPartialRow</a></div><div class="ttdoc">A row which may only contain values for a subset of the columns.</div><div class="ttdef"><b>Definition:</b> partial_row.h:72</div></div>
+<div class="ttc" id="aclassKuduPartialRow_html_a185482f79abb8a276b2025129d13ab70"><div class="ttname"><a href="classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70">KuduPartialRow::ToString</a></div><div class="ttdeci">std::string ToString() const</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduDeleteIgnore_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduDeleteIgnore.html">kudu::client::KuduDeleteIgnore</a></div><div class="ttdoc">A single row delete ignore to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:297</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduDeleteIgnore_html_ab3099c4af9fa0469e6b5b8d972a68763"><div class="ttname"><a href="classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763">kudu::client::KuduDeleteIgnore::ToString</a></div><div class="ttdeci">virtual std::string ToString() const OVERRIDE</div><div class="ttdef"><b>Definition:</b> write_op.h:302</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduDelete_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduDelete.html">kudu::client::KuduDelete</a></div><div class="ttdoc">A single row delete to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:271</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduDelete_html_a586dc46e1d10118465e3b834ac578de0"><div class="ttname"><a href="classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0">kudu::client::KuduDelete::ToString</a></div><div class="ttdeci">virtual std::string ToString() const OVERRIDE</div><div class="ttdef"><b>Definition:</b> write_op.h:276</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduInsertIgnore_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduInsertIgnore.html">kudu::client::KuduInsertIgnore</a></div><div class="ttdoc">A single row insert ignore to be sent to the cluster, duplicate row errors are ignored.</div><div class="ttdef"><b>Definition:</b> write_op.h:166</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduInsertIgnore_html_a3808cd171850b78391b0636d1e5bef83"><div class="ttname"><a href="classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83">kudu::client::KuduInsertIgnore::ToString</a></div><div class="ttdeci">virtual std::string ToString() const OVERRIDE</div><div class="ttdef"><b>Definition:</b> write_op.h:171</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduInsert_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduInsert.html">kudu::client::KuduInsert</a></div><div class="ttdoc">A single row insert to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:139</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduInsert_html_a7c0fb45a5bfa96574b6328be392ba240"><div class="ttname"><a href="classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240">kudu::client::KuduInsert::ToString</a></div><div class="ttdeci">virtual std::string ToString() const OVERRIDE</div><div class="ttdef"><b>Definition:</b> write_op.h:144</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduSession_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduSession.html">kudu::client::KuduSession</a></div><div class="ttdoc">Representation of a Kudu client session.</div><div class="ttdef"><b>Definition:</b> client.h:2039</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduTable_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduTable.html">kudu::client::KuduTable</a></div><div class="ttdoc">A representation of a table on a particular cluster.</div><div class="ttdef"><b>Definition:</b> client.h:1389</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduUpdateIgnore_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpdateIgnore.html">kudu::client::KuduUpdateIgnore</a></div><div class="ttdoc">A single row update ignore to be sent to the cluster, missing row errors are ignored.</div><div class="ttdef"><b>Definition:</b> write_op.h:245</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduUpdateIgnore_html_ac8ae744ab8d2c8ebe887fb00c6deb261"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261">kudu::client::KuduUpdateIgnore::ToString</a></div><div class="ttdeci">virtual std::string ToString() const OVERRIDE</div><div class="ttdef"><b>Definition:</b> write_op.h:250</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduUpdate_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpdate.html">kudu::client::KuduUpdate</a></div><div class="ttdoc">A single row update to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:219</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduUpdate_html_af05d202ea529554b6d033d51ec942718"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718">kudu::client::KuduUpdate::ToString</a></div><div class="ttdeci">virtual std::string ToString() const OVERRIDE</div><div class="ttdef"><b>Definition:</b> write_op.h:224</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduUpsert_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpsert.html">kudu::client::KuduUpsert</a></div><div class="ttdoc">A single row upsert to be sent to the cluster.</div><div class="ttdef"><b>Definition:</b> write_op.h:192</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduUpsert_html_a0608280ef5b4eb2a53c0b303db7401c8"><div class="ttname"><a href="classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8">kudu::client::KuduUpsert::ToString</a></div><div class="ttdeci">virtual std::string ToString() const OVERRIDE</div><div class="ttdef"><b>Definition:</b> write_op.h:197</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduWriteOperation_html"><div class="ttname"><a href="classkudu_1_1client_1_1KuduWriteOperation.html">kudu::client::KuduWriteOperation</a></div><div class="ttdoc">A single-row write operation to be sent to a Kudu table.</div><div class="ttdef"><b>Definition:</b> write_op.h:64</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduWriteOperation_html_a50b5405c4dfc7af038daa4780aea6e19"><div class="ttname"><a href="classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19">kudu::client::KuduWriteOperation::ToString</a></div><div class="ttdeci">virtual std::string ToString() const =0</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduWriteOperation_html_a87d94ee5801a6b16fc6d1f44ee2e4357"><div class="ttname"><a href="classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357">kudu::client::KuduWriteOperation::Type</a></div><div class="ttdeci">Type</div><div class="ttdoc">Write operation types.</div><div class="ttdef"><b>Definition:</b> write_op.h:67</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduWriteOperation_html_a8889770ce62e2ca0ce5d55c9c90af6bc"><div class="ttname"><a href="classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc">kudu::client::KuduWriteOperation::mutable_row</a></div><div class="ttdeci">KuduPartialRow * mutable_row()</div><div class="ttdef"><b>Definition:</b> write_op.h:86</div></div>
+<div class="ttc" id="aclasskudu_1_1client_1_1KuduWriteOperation_html_ab73a467a979bc76bb4738ba038d7f0bd"><div class="ttname"><a href="classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd">kudu::client::KuduWriteOperation::row</a></div><div class="ttdeci">const KuduPartialRow &amp; row() const</div><div class="ttdef"><b>Definition:</b> write_op.h:81</div></div>
+<div class="ttc" id="ashared__ptr_8h_html"><div class="ttname"><a href="shared__ptr_8h.html">shared_ptr.h</a></div><div class="ttdoc">Smart pointer typedefs for externally-faced code.</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/>
+<address class="footer">
+  <small>Generated for Kudu version 1.15.0 on Mon Jun 21 2021 20:36:36 by Doxygen 1.9.1</small>
+  <br>
+  <small>Copyright © 2021 The Apache Software Foundation.</small>
+</address>
+</body>
+</html>
diff --git a/releases/1.15.0/docs/administration.html b/releases/1.15.0/docs/administration.html
new file mode 100644
index 0000000..5ddfb25
--- /dev/null
+++ b/releases/1.15.0/docs/administration.html
@@ -0,0 +1,3057 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Administration</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Administration</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_starting_and_stopping_kudu_processes"><a class="link" href="#_starting_and_stopping_kudu_processes">Starting and Stopping Kudu Processes</a></h2>
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+These instructions are relevant only when Kudu is installed using operating system packages
+(e.g. <code>rpm</code> or <code>deb</code>).
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_kudu_web_interfaces"><a class="link" href="#_kudu_web_interfaces">Kudu Web Interfaces</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu tablet servers and masters expose useful operational information on a built-in web interface,</p>
+</div>
+<div class="sect2">
+<h3 id="_kudu_master_web_interface"><a class="link" href="#_kudu_master_web_interface">Kudu Master Web Interface</a></h3>
+<div class="paragraph">
+<p>Kudu master processes serve their web interface on port 8051. The interface exposes several pages
+with information about the cluster state:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A list of tablet servers, their host names, and the time of their last heartbeat.</p>
+</li>
+<li>
+<p>A list of tables, including schema and tablet location information for each.</p>
+</li>
+<li>
+<p>SQL code which you can paste into Impala Shell to add an existing table to Impala&#8217;s list of known data sources.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_kudu_tablet_server_web_interface"><a class="link" href="#_kudu_tablet_server_web_interface">Kudu Tablet Server Web Interface</a></h3>
+<div class="paragraph">
+<p>Each tablet server serves a web interface on port 8050. The interface exposes information
+about each tablet hosted on the server, its current state, and debugging information
+about maintenance background operations.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_common_web_interface_pages"><a class="link" href="#_common_web_interface_pages">Common Web Interface Pages</a></h3>
+<div class="paragraph">
+<p>Both Kudu masters and tablet servers expose a common set of information via their web interfaces:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>HTTP access to server logs.</p>
+</li>
+<li>
+<p>an <code>/rpcz</code> endpoint which lists currently running RPCs via JSON.</p>
+</li>
+<li>
+<p>pages giving an overview and detailed information on the memory usage of different
+components of the process.</p>
+</li>
+<li>
+<p>information on the current set of configuration flags.</p>
+</li>
+<li>
+<p>information on the currently running threads and their resource consumption.</p>
+</li>
+<li>
+<p>a JSON endpoint exposing metrics about the server.</p>
+</li>
+<li>
+<p>information on the deployed version number of the daemon.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>These interfaces are linked from the landing page of each daemon&#8217;s web UI.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_kudu_metrics"><a class="link" href="#_kudu_metrics">Kudu Metrics</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu daemons expose a large number of metrics. Some metrics are associated with an entire
+server process, whereas others are associated with a particular tablet replica.</p>
+</div>
+<div class="sect2">
+<h3 id="_listing_available_metrics"><a class="link" href="#_listing_available_metrics">Listing available metrics</a></h3>
+<div class="paragraph">
+<p>The full set of available metrics for a Kudu server can be dumped via a special command
+line flag:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ kudu-tserver --dump_metrics_json
+$ kudu-master --dump_metrics_json</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will output a large JSON document. Each metric indicates its name, label, description,
+units, and type. Because the output is JSON-formatted, this information can easily be
+parsed and fed into other tooling which collects metrics from Kudu servers.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_collecting_metrics_via_http"><a class="link" href="#_collecting_metrics_via_http">Collecting metrics via HTTP</a></h3>
+<div class="paragraph">
+<p>Metrics can be collected from a server process via its HTTP interface by visiting
+<code>/metrics</code>. The output of this page is JSON for easy parsing by monitoring services.
+This endpoint accepts several <code>GET</code> parameters in its query string:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>/metrics?metrics=&lt;substring1&gt;,&lt;substring2&gt;,&#8230;&#8203;</code> - limits the returned metrics to those which contain
+at least one of the provided substrings. The substrings also match entity names, so this
+may be used to collect metrics for a specific tablet.</p>
+</li>
+<li>
+<p><code>/metrics?include_schema=1</code> - includes metrics schema information such as unit, description,
+and label in the JSON output. This information is typically elided to save space.</p>
+</li>
+<li>
+<p><code>/metrics?compact=1</code> - eliminates unnecessary whitespace from the resulting JSON, which can decrease
+bandwidth when fetching this page from a remote host.</p>
+</li>
+<li>
+<p><code>/metrics?include_raw_histograms=1</code> - include the raw buckets and values for histogram metrics,
+enabling accurate aggregation of percentile metrics over time and across hosts.</p>
+</li>
+<li>
+<p><code>/metrics?level=info</code> - limits the returned metrics based on their severity level.
+The levels are ordered and lower levels include the levels above them. If no level is specified,
+<code>debug</code> is used to include all metrics. The valid values are:</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>debug</code> - Metrics that are diagnostically helpful but generally not monitored
+during normal operation.</p>
+</li>
+<li>
+<p><code>info</code> - Generally useful metrics that operators always want to have available
+but may not be monitored under normal circumstances.</p>
+</li>
+<li>
+<p><code>warn</code> - Metrics which can often indicate operational oddities that may need
+more investigation.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>For example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ curl -s 'http://example-ts:8050/metrics?include_schema=1&amp;metrics=connections_accepted'</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">
+See the <code><a href="metrics_reference.html">metrics reference</a></code>
+page for more information on the available metrics.
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-json" data-lang="json">[
+    {
+        "type": "server",
+        "id": "kudu.tabletserver",
+        "attributes": {},
+        "metrics": [
+            {
+                "name": "rpc_connections_accepted",
+                "label": "RPC Connections Accepted",
+                "type": "counter",
+                "unit": "connections",
+                "description": "Number of incoming TCP connections made to the RPC server",
+                "value": 92
+            }
+        ]
+    }
+]</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ curl -s 'http://example-ts:8050/metrics?metrics=log_append_latency'</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-json" data-lang="json">[
+    {
+        "type": "tablet",
+        "id": "c0ebf9fef1b847e2a83c7bd35c2056b1",
+        "attributes": {
+            "table_name": "lineitem",
+            "partition": "hash buckets: (55), range: [(&lt;start&gt;), (&lt;end&gt;))",
+            "table_id": ""
+        },
+        "metrics": [
+            {
+                "name": "log_append_latency",
+                "total_count": 7498,
+                "min": 4,
+                "mean": 69.3649,
+                "percentile_75": 29,
+                "percentile_95": 38,
+                "percentile_99": 45,
+                "percentile_99_9": 95,
+                "percentile_99_99": 167,
+                "max": 367244,
+                "total_sum": 520098
+            }
+        ]
+    }
+]</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">
+All histograms and counters are measured since the server start time, and are not reset upon collection.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_diagnostics_logging"><a class="link" href="#_diagnostics_logging">Diagnostics Logging</a></h3>
+<div class="paragraph">
+<p>Kudu may be configured to dump various diagnostics information to a local log file.
+The diagnostics log will be written to the same directory as the other Kudu log files, with a
+similar naming format, substituting <code>diagnostics</code> instead of a log level like <code>INFO</code>.
+After any diagnostics log file reaches 64MB uncompressed, the log will be rolled and
+the previous file will be gzip-compressed.</p>
+</div>
+<div class="paragraph">
+<p>Each line in the diagnostics log consists of the following components:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A human-readable timestamp formatted in the same fashion as the other Kudu log files.</p>
+</li>
+<li>
+<p>The type of record. For example, a metrics record consists of the word <code>metrics</code>.</p>
+</li>
+<li>
+<p>A machine-readable timestamp, in microseconds since the Unix epoch.</p>
+</li>
+<li>
+<p>The record itself.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Currently, the only type of diagnostics record is a periodic dump of the server metrics.
+Each record is encoded in compact JSON format, and the server attempts to elide any metrics
+which have not changed since the previous record. In addition, counters which have never
+been incremented are elided. Otherwise, the format of the JSON record is identical to the
+format exposed by the HTTP endpoint above.</p>
+</div>
+<div class="paragraph">
+<p>The frequency with which metrics are dumped to the diagnostics log is configured using the
+<code>--metrics_log_interval_ms</code> flag. By default, Kudu logs metrics every 60 seconds.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rack_awareness"><a class="link" href="#rack_awareness">Rack Awareness</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>As of version 1.9, Kudu supports a rack awareness feature. Kudu&#8217;s ordinary
+re-replication methods ensure the availability of the cluster in the event of a
+single node failure. However, clusters can be vulnerable to correlated failures
+of multiple nodes. For example, all of the physical hosts on the same rack in
+a datacenter may become unavailable simultaneously if the top-of-rack switch
+fails. Kudu&#8217;s rack awareness feature provides protection from some kinds of
+correlated failures, like the failure of a whole rack in a datacenter. Rack
+awareness increases the availability of a Kudu cluster if there are at least
+three different <em>locations</em> defined in the cluster.</p>
+</div>
+<div class="paragraph">
+<p>The first element of Kudu&#8217;s rack awareness feature is <em>location assignment</em>.
+When a tablet server or client registers with a master, the master assigns it a
+<em>location</em>. A location is a <code>/</code>-separated string that begins with a <code>/</code> and
+where each <code>/</code>-separated component consists of characters from the set
+<code>[a-zA-Z0-9_-.]</code>. For example, <code>/dc-0/rack-09</code> is a valid location, while
+<code>rack-04</code> and <code>/rack=1</code> are not valid locations. Thus location strings resemble
+absolute UNIX file paths where characters in directory and file names are
+restricted to the set <code>[a-zA-Z0-9_-.]</code>. Presently, Kudu does not use the
+hierarchical structure of locations, but it may in the future. Location
+assignment is done by a user-provided command, whose path should be specified
+using the <code>--location_mapping_cmd</code> master flag. The command should take a single
+argument, the IP address or hostname of a tablet server or client, and return
+the location for the tablet server or client. Make sure that all Kudu masters
+are using the same location mapping command.</p>
+</div>
+<div class="paragraph">
+<p>The second element of Kudu&#8217;s rack awareness feature is the <em>placement policy</em>,
+which is</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Do not place a majority of replicas of a tablet on tablet servers in the same location.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The leader master, when placing newly created replicas on tablet servers and
+when re-replicating existing tablets, will attempt to place the replicas in a
+way that complies with the placement policy. For example, in a cluster with five
+tablet servers <code>A</code>, <code>B</code>, <code>C</code>, <code>D</code>, and <code>E</code>, with respective locations <code>/L0</code>,
+<code>/L0</code>, <code>/L1</code>, <code>/L1</code>, <code>/L2</code>, to comply with the placement policy a new 3x
+replicated tablet could have its replicas placed on <code>A</code>, <code>C</code>, and <code>E</code>, but not
+on <code>A</code>, <code>B</code>, and <code>C</code>, because then the tablet would have 2/3 replicas in
+location <code>/L0</code>. As another example, if a tablet has replicas on tablet servers
+<code>A</code>, <code>C</code>, and <code>E</code>, and then <code>C</code> fails, the replacement replica must be placed on
+<code>D</code> in order to comply with the placement policy.</p>
+</div>
+<div class="paragraph">
+<p>It&#8217;s necessary to have at least three locations defined in a Kudu cluster to
+improve its high availability with the location awareness feature. If there are
+only two or just one location defined in a Kudu cluster, any tablet will
+inevitably have a majority of its replicas placed in a single location.</p>
+</div>
+<div class="paragraph">
+<p>In the case where it is impossible to place replicas in a way that complies with
+the placement policy, Kudu will violate the policy and place a replica anyway.
+For example, using the setup described in the previous paragraph, if a tablet
+has replicas on tablet servers <code>A</code>, <code>C</code>, and <code>E</code>, and then <code>E</code> fails, Kudu will
+re-replicate the tablet onto one of <code>B</code> or <code>D</code>, violating the placement policy,
+rather than leaving the tablet under-replicated indefinitely. The
+<code>kudu cluster rebalance</code> tool can reestablish the placement policy if it is
+possible to do so. The <code>kudu cluster rebalance</code> tool can also be used to
+establish the placement policy on a cluster if the cluster has just been
+configured to use the rack awareness feature and existing replicas need to be
+moved to comply with the placement policy. See
+<a href="#rebalancer_tool_with_rack_awareness">running the tablet rebalancing tool on a rack-aware cluster</a>
+for more information.</p>
+</div>
+<div class="paragraph">
+<p>The third and final element of Kudu&#8217;s rack awareness feature is the <em>use of
+client locations to find "nearby" servers</em>. As mentioned, the masters also
+assign a location to clients when they connect to the cluster. The client
+(whether Java, C&#43;&#43;, or Python) uses its own location and the locations of
+tablet servers in the cluster to prefer "nearby" replicas when scanning in
+<code>CLOSEST_REPLICA</code> mode. Clients choose replicas to scan in the following order:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Scan a replica on a tablet server on the same host, if there is one.</p>
+</li>
+<li>
+<p>Scan a replica on a tablet server in the same location, if there is one.</p>
+</li>
+<li>
+<p>Scan some replica.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>For example, using the cluster setup described above, if a client on the same
+host as tablet server <code>A</code> scans a tablet with replicas on tablet servers
+<code>A</code>, <code>C</code>, and <code>E</code> in <code>CLOSEST_REPLICA</code> mode, it will choose to scan from the
+replica on <code>A</code>, since the client and the replica on <code>A</code> are on the same host.
+If the client scans a tablet with replicas on tablet servers <code>B</code>, <code>C</code>, and <code>E</code>,
+it will choose to scan from the replica on <code>B</code>, since it is in the same
+location as the client, <code>/L0</code>. If there are multiple replicas meeting a
+criterion, one is chosen arbitrarily.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="backup"><a class="link" href="#backup">Backup and Restore</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="logical_backup"><a class="link" href="#logical_backup">Logical backup and restore</a></h3>
+<div class="paragraph">
+<p>As of Kudu 1.10.0, Kudu supports both full and incremental table backups via a
+job implemented using Apache Spark. Additionally it supports restoring tables
+from full and incremental backups via a restore job implemented using Apache Spark.</p>
+</div>
+<div class="paragraph">
+<p>Given the Kudu backup and restore jobs use Apache Spark, ensure Apache Spark
+is installed in your environment following the
+<a href="https://spark.apache.org/docs/latest/#downloading">Spark documentation</a>.
+Additionally review the Apache Spark documentation for
+<a href="https://spark.apache.org/docs/latest/submitting-applications.html">Submitting Applications</a>.</p>
+</div>
+<div class="sect3">
+<h4 id="_backing_up_tables"><a class="link" href="#_backing_up_tables">Backing up tables</a></h4>
+<div class="paragraph">
+<p>To backup one or more Kudu tables the <code>KuduBackup</code> Spark job can be used.
+The first time the job is run for a table, a full backup will be run.
+Additional runs will perform incremental backups which will only contain the
+rows that have changed since the initial full backup. A new set of full
+backups can be forced at anytime by passing the <code>--forceFull</code> flag to the
+backup job.</p>
+</div>
+<div class="paragraph">
+<p>The common flags that will be used when taking a backup are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>--rootPath</code>: The root path to output backup data. Accepts any Spark-compatible path.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>See <a href="#backup_directory">Backup Directory Structure</a> for the directory structure used in the <code>rootPath</code>.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><code>--kuduMasterAddresses</code>: Comma-separated addresses of Kudu masters. Default: localhost</p>
+</li>
+<li>
+<p><code>&lt;table&gt;&#8230;&#8203;</code>:  A list of tables to be backed up.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Note: You can see the full list of Job options at anytime by passing the <code>--help</code> flag.</p>
+</div>
+<div class="paragraph">
+<p>Below is a full example of a <code>KuduBackup</code> job execution which will backup the tables
+<code>foo</code> and <code>bar</code> to the HDFS directory <code>kudu-backups</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">spark-submit --class org.apache.kudu.backup.KuduBackup kudu-backup2_2.11-1.14.0.jar \
+  --kuduMasterAddresses master1-host,master-2-host,master-3-host \
+  --rootPath hdfs:///kudu-backups \
+  foo bar</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_restoring_tables_from_backups"><a class="link" href="#_restoring_tables_from_backups">Restoring tables from Backups</a></h4>
+<div class="paragraph">
+<p>To restore one or more Kudu tables, the <code>KuduRestore</code> Spark job can be used.
+For each backed up table, the <code>KuduRestore</code> job will restore the full backup
+and each associated incremental backup until the full table state is restored.
+Restoring the full series of full and incremental backups is possible because
+the backups are linked via the <code>from_ms</code> and <code>to_ms</code> fields in the backup metadata.
+By default the restore job will create tables with the same name as the table
+that was backed up. If you want to side-load the tables without affecting the
+existing tables, you can pass <code>--tableSuffix</code> to append a suffix to each
+restored table.</p>
+</div>
+<div class="paragraph">
+<p>The common flags that will be used when restoring are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>--rootPath</code>: The root path to the backup data. Accepts any Spark-compatible path.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>See <a href="#backup_directory">Backup Directory Structure</a> for the directory structure used in the <code>rootPath</code>.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><code>--kuduMasterAddresses</code>: Comma-separated addresses of Kudu masters. Default: <code>localhost</code></p>
+</li>
+<li>
+<p><code>--createTables</code>: If set to <code>true</code>, the restore process creates the tables.
+Set to <code>false</code> if the target tables already exist.  Default: <code>true</code>.</p>
+</li>
+<li>
+<p><code>--tableSuffix</code>: If set, the suffix to add to the restored table names.
+Only used when <code>createTables</code> is <code>true</code>.</p>
+</li>
+<li>
+<p><code>--timestampMs</code>: A UNIX timestamp in milliseconds that defines the latest time
+to use when selecting restore candidates. Default: <code>System.currentTimeMillis()</code></p>
+</li>
+<li>
+<p><code>&lt;table&gt;&#8230;&#8203;</code>:  A list of tables to restore.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Note: You can see the full list of job options at anytime by passing the <code>--help</code> flag.</p>
+</div>
+<div class="paragraph">
+<p>Below is a full example of a <code>KuduRestore</code> job execution which will restore the tables
+<code>foo</code> and <code>bar</code> from the HDFS directory <code>kudu-backups</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">spark-submit --class org.apache.kudu.backup.KuduRestore kudu-backup2_2.11-1.14.0.jar \
+  --kuduMasterAddresses master1-host,master-2-host,master-3-host \
+  --rootPath hdfs:///kudu-backups \
+  foo bar</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_backup_tools"><a class="link" href="#_backup_tools">Backup tools</a></h4>
+<div class="paragraph">
+<p>An additional <code>backup-tools</code> jar is available to provide some backup exploration and
+garbage collection capabilities. This jar does not use Spark directly, but instead
+only requires the Hadoop classpath to run.</p>
+</div>
+<div class="paragraph">
+<p>Commands:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>list</code>: Lists the backups in the rootPath.</p>
+</li>
+<li>
+<p><code>clean</code>: Cleans up old backup data in the rootPath.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Note: You can see the full list of command options at anytime by passing the <code>--help</code> flag.</p>
+</div>
+<div class="paragraph">
+<p>Below is an example execution which will print the command options:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">java -cp $(hadoop classpath):kudu-backup-tools-1.14.0.jar org.apache.kudu.backup.KuduBackupCLI --help</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="backup_directory"><a class="link" href="#backup_directory">Backup Directory Structure</a></h4>
+<div class="paragraph">
+<p>The backup directory structure in the <code>rootPath</code> is considered an internal detail
+and could change in future versions of Kudu. Additionally the format and content
+of the data and metadata files is meant for the backup and restore process only
+and could change in future versions of Kudu. That said, understanding the structure
+of the backup <code>rootPath</code> and how it is used can be useful when working with Kudu backups.</p>
+</div>
+<div class="paragraph">
+<p>The backup directory structure in the <code>rootPath</code> is as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">/&lt;rootPath&gt;/&lt;tableId&gt;-&lt;tableName&gt;/&lt;backup-id&gt;/
+   .kudu-metadata.json
+   part-*.&lt;format&gt;</code></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>rootPath</code>: Can be used to distinguish separate backup groups, jobs, or concerns.</p>
+</li>
+<li>
+<p><code>tableId</code>: The unique internal ID of the table being backed up.</p>
+</li>
+<li>
+<p><code>tableName</code>: The name of the table being backed up.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Note: Table names are URL encoded to prevent pathing issues.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><code>backup-id</code>: A way to uniquely identify/group the data for a single backup run.</p>
+</li>
+<li>
+<p><code>.kudu-metadata.json</code>: Contains all of the metadata to support recreating the table,
+linking backups by time, and handling data format changes.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Written last so that failed backups will not have a metadata file and will not be
+considered at restore time or backup linking time.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><code>part-*.&lt;format&gt;</code>: The data files containing the tables data.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Currently 1 part file per Kudu partition.</p>
+</li>
+<li>
+<p>Incremental backups contain an additional “RowAction” byte column at the end.</p>
+</li>
+<li>
+<p>Currently the only supported format/suffix is <code>parquet</code></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_troubleshooting"><a class="link" href="#_troubleshooting">Troubleshooting</a></h4>
+<div class="sect4">
+<h5 id="_generating_a_table_list"><a class="link" href="#_generating_a_table_list">Generating a table list</a></h5>
+<div class="paragraph">
+<p>To generate a list of tables to backup using the <code>kudu table list</code> tool along
+with <code>grep</code> can be useful. Below is an example that will generate a list
+of all tables that start with <code>my_db.</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">kudu table list &lt;master_addresses&gt; | grep "^my_db\.*" | tr '\n' ' '</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><strong>Note</strong>: This list could be saved as a part of you backup process to be used
+at restore time as well.</p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_spark_tuning"><a class="link" href="#_spark_tuning">Spark Tuning</a></h5>
+<div class="paragraph">
+<p>In general the Spark jobs were designed to run with minimal tuning and configuration.
+You can adjust the number of executors and resources to increase parallelism and performance
+using Spark&#8217;s
+<a href="https://spark.apache.org/docs/latest/configuration.html">configuration options</a>.</p>
+</div>
+<div class="paragraph">
+<p>If your tables are super wide and your default memory allocation is fairly low, you
+may see jobs fail. To resolve this increase the Spark executor memory. A conservative
+rule of thumb is 1 GiB per 50 columns.</p>
+</div>
+<div class="paragraph">
+<p>If your Spark resources drastically outscale the Kudu cluster you may want to limit the
+number of concurrent tasks allowed to run on restore.</p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_backups_on_kudu_1_9_and_earlier"><a class="link" href="#_backups_on_kudu_1_9_and_earlier">Backups on Kudu 1.9 and earlier</a></h5>
+<div class="paragraph">
+<p>If your Kudu cluster is version 1.9 or earlier you can still use the backup tool
+introduced in Kudu 1.10 to backup your tables. However, because the incremental
+backup feature requires server side changes, you are limited to full backups only.
+The process to backup tables is the same as documented above, but you will need to
+download and use the kudu-backup jar from a Kudu 1.10+ release. Before running
+the backup job you should adjust the configuration of your servers by setting
+<code>--tablet_history_max_age_sec=604800</code>. This is the new default value in Kudu 1.10+
+to ensure long running backup jobs can complete successfully and consistently.
+Additionally, when running the backup you need to pass <code>--forceFull</code> to disable
+the incremental backup feature. Now each time the job is run a full backup will be taken.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Taking full backups on a regular basis is far more resource and time intensive
+than incremental backups. It is recommended to upgrade to Kudu 1.10+ soon as possible.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="physical_backup"><a class="link" href="#physical_backup">Physical backups of an entire node</a></h3>
+<div class="paragraph">
+<p>Kudu does not yet provide built-in physical backup and restore functionality.
+However, it is possible to create a physical backup of a Kudu node (either
+tablet server or master) and restore it later.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+The node to be backed up must be offline during the procedure, or else
+the backed up (or restored) data will be inconsistent.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Certain aspects of the Kudu node (such as its hostname) are embedded in
+the on-disk data. As such, it&#8217;s not yet possible to restore a physical backup of
+a node onto another machine.
+</td>
+</tr>
+</table>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Stop all Kudu processes in the cluster. This prevents the tablets on the
+backed up node from being rereplicated elsewhere unnecessarily.</p>
+</li>
+<li>
+<p>If creating a backup, make a copy of the WAL, metadata, and data directories
+on each node to be backed up. It is important that this copy preserve all file
+attributes as well as sparseness.</p>
+</li>
+<li>
+<p>If restoring from a backup, delete the existing WAL, metadata, and data
+directories, then restore the backup via move or copy. As with creating a
+backup, it is important that the restore preserve all file attributes and
+sparseness.</p>
+</li>
+<li>
+<p>Start all Kudu processes in the cluster.</p>
+</li>
+</ol>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_common_kudu_workflows"><a class="link" href="#_common_kudu_workflows">Common Kudu workflows</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="migrate_to_multi_master"><a class="link" href="#migrate_to_multi_master">Migrating to Multiple Kudu Masters</a></h3>
+<div class="paragraph">
+<p>For high availability and to avoid a single point of failure, Kudu clusters should be created with
+multiple masters. Many Kudu clusters were created with just a single master, either for simplicity
+or because Kudu multi-master support was still experimental at the time. This workflow demonstrates
+how to migrate to a multi-master configuration. It can also be used to migrate from two masters to
+three, with straightforward modifications. Note that the number of masters must be odd.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+The workflow is unsafe for adding new masters to an existing configuration that already has
+three or more masters. Do not use it for that purpose.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+An even number of masters doesn&#8217;t provide any benefit over having one fewer masters.  This
+guide should always be used for migrating to three masters.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+All of the command line steps below should be executed as the Kudu UNIX user. The example
+commands assume the Kudu Unix user is <code>kudu</code>, which is typical.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+The workflow presupposes at least basic familiarity with Kudu configuration management. If
+using vendor-specific tools the workflow also presupposes familiarity with
+it and the vendor&#8217;s instructions should be used instead as details may differ.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+From Kudu version 1.15.0, a new <code>kudu master add</code> command has been added that
+simplifies the orchestration to migrate an existing Kudu cluster to multiple masters.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect3">
+<h4 id="_prepare_for_the_migration"><a class="link" href="#_prepare_for_the_migration">Prepare for the migration</a></h4>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Establish a maintenance window (one hour should be sufficient). During this time the Kudu cluster
+will be unavailable.</p>
+</li>
+<li>
+<p>Decide how many masters to use. The number of masters should be odd. Three or five node master
+configurations are recommended; they can tolerate one or two failures respectively.</p>
+</li>
+<li>
+<p>Perform the following preparatory steps for the existing masters:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>If migrating from a single master to multiple masters, ensure <code>--master_addresses</code> is specified
+for a single master configuration as it&#8217;s required to migrate to multiple masters. This can be
+checked using the <code>kudu master get_flags</code> command.
+If not specified, supply <code>--master_addresses=&lt;hostname&gt;:&lt;port&gt;</code> to master&#8217;s configuration
+and restart the single master.</p>
+</li>
+<li>
+<p>Optional: configure a DNS alias for the master. The alias could be a DNS cname (if the machine
+already has an A record in DNS), an A record (if the machine is only known by its IP address),
+or an alias in /etc/hosts. The alias should be an abstract representation of the master (e.g.
+<code>master-1</code>).</p>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Without DNS aliases it is not possible to recover from permanent master failures without
+bringing the cluster down for maintenance, and as such, it is highly recommended.
+</td>
+</tr>
+</table>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>If you have Kudu tables that are accessed from Impala, you must update
+the master addresses in the Apache Hive Metastore (HMS) database.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>If you set up the DNS aliases, run the following statement in <code>impala-shell</code>,
+replacing <code>master-1</code> and <code>master-2</code> with your actual aliases.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">ALTER TABLE table_name
+SET TBLPROPERTIES
+('kudu.master_addresses' = 'master-1,master-2');</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>If you do not have DNS aliases set up, see Step #7 in the Performing
+the migration section for updating HMS.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Perform the following preparatory steps for each new master:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Choose an unused machine in the cluster. The master generates very little load
+so it can be collocated with other data services or load-generating processes,
+though not with another Kudu master from the same configuration.</p>
+</li>
+<li>
+<p>Ensure Kudu is installed on the machine, either via system packages (in which case the <code>kudu</code> and
+<code>kudu-master</code> packages should be installed), or via some other means.</p>
+</li>
+<li>
+<p>Choose and record the directory where the master&#8217;s data will live.</p>
+</li>
+<li>
+<p>Choose and record the port the master should use for RPCs.</p>
+</li>
+<li>
+<p>Optional: configure a DNS alias for the master (e.g. <code>master-2</code>, <code>master-3</code>, etc).</p>
+</li>
+</ul>
+</div>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect3">
+<h4 id="perform-the-migration"><a class="link" href="#perform-the-migration">Perform the migration</a></h4>
+<div class="paragraph">
+<p>From version 1.15.0, a new <code>kudu master add</code> CLI command has been added that orchestrates migration
+to multiple masters in an existing Kudu cluster.</p>
+</div>
+<div class="paragraph">
+<p>The procedure doesn&#8217;t require stopping all the Kudu processes in the entire cluster but once the
+migration procedure is complete, all the Kudu processes must be restarted to
+incorporate the newly added master which can be done without incurring downtime as mentioned in
+the steps below.</p>
+</div>
+<div class="paragraph">
+<p>The procedure supports adding only one master at a time. In order to add multiple masters follow
+the same procedure again for the next new master.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>On the new master host (not on any of the existing masters), run the <code>kudu master add</code> command
+to add the master. Look for any success or error messages on the console or the new master log file.
+The command is designed to be idempotent so in case of an error after the issue mentioned in the
+error messages is fixed, run the same command again to make forward progress. After the completion
+of the procedure irrespective of whether the procedure is successful, the new master is shutdown.
+The example below adds <code>master-2</code> to existing Kudu cluster with <code>master-1</code>.</p>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+If your Kudu cluster is secure, in addition to running as the Kudu UNIX user, you must
+authenticate as the Kudu service user prior to running this command.
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu master add master-1 master-2 --fs_wal_dir=/data/kudu/master/wal \
+--fs_data_dirs=/data/kudu/master/data</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Modify the value of the <code>master_addresses</code> configuration parameter for existing masters only
+as the new master is already configured with the updated <code>master_addresses</code>.
+The new value must be a comma-separated list of all of the masters.
+Each entry is a string of the form <code>&lt;hostname&gt;:&lt;port&gt;</code></p>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">hostname</dt>
+<dd>
+<p>master&#8217;s previously recorded hostname or alias</p>
+</dd>
+<dt class="hdlist1">port</dt>
+<dd>
+<p>master&#8217;s previously recorded RPC port number</p>
+</dd>
+</dl>
+</div>
+</li>
+<li>
+<p>Restart the existing masters one by one.</p>
+</li>
+<li>
+<p>Start the new master.</p>
+</li>
+<li>
+<p>Modify the value of the <code>tserver_master_addrs</code> configuration parameter for each
+tablet server. The new value must be a comma-separated list of masters where each entry is a string
+of the form <code>&lt;hostname&gt;:&lt;port&gt;</code></p>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">hostname</dt>
+<dd>
+<p>master&#8217;s previously recorded hostname or alias</p>
+</dd>
+<dt class="hdlist1">port</dt>
+<dd>
+<p>master&#8217;s previously recorded RPC port number</p>
+</dd>
+</dl>
+</div>
+</li>
+<li>
+<p>Restart all the tablet servers to pick up the new master configuration.</p>
+</li>
+<li>
+<p>If you have Kudu tables that are accessed from Impala and you didn&#8217;t set up
+DNS aliases, update the HMS database manually in the underlying database that
+provides the storage for HMS.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>The following is an example SQL statement you should run in the HMS database:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">UPDATE TABLE_PARAMS
+SET PARAM_VALUE =
+  'master-1.example.com,master-2.example.com'
+WHERE PARAM_KEY = 'kudu.master_addresses' AND PARAM_VALUE = 'master-1.example.com';</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>In <code>impala-shell</code>, run:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">INVALIDATE METADATA;</code></pre>
+</div>
+</div>
+</li>
+</ul>
+</div>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_verify_the_migration_was_successful"><a class="link" href="#_verify_the_migration_was_successful">Verify the migration was successful</a></h4>
+<div class="paragraph">
+<p>To verify that all masters are working properly, perform the following sanity checks:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Using a browser, visit each master&#8217;s web UI. Look at the <code>/masters</code> page. All the masters should
+be listed there with one master in the LEADER role and the others in the FOLLOWER role. The
+contents of <code>/masters</code> on each master should be the same.</p>
+</li>
+<li>
+<p>Run a Kudu system check (ksck) on the cluster using the <code>kudu</code> command line
+tool. See <a href="#ksck">Checking Cluster Health with <code>ksck</code></a> for more details.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_recovering_from_a_dead_kudu_master_in_a_multi_master_deployment"><a class="link" href="#_recovering_from_a_dead_kudu_master_in_a_multi_master_deployment">Recovering from a dead Kudu Master in a Multi-Master Deployment</a></h3>
+<div class="paragraph">
+<p>Kudu multi-master deployments function normally in the event of a master loss. However, it is
+important to replace the dead master; otherwise a second failure may lead to a loss of availability,
+depending on the number of available masters. This workflow describes how to replace the dead
+master.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Replacing a master created without DNS aliases requires an unavailability window
+when tablet servers are restarted to pick up the replacement master at different hostname.
+See the <a href="#migrate_to_multi_master">multi-master migration workflow</a> for more details on deploying
+with DNS aliases.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+The workflow presupposes at least basic familiarity with Kudu configuration management. If
+using vendor-specific tools the workflow also presupposes familiarity with
+it and the vendor&#8217;s instructions should be used instead as details may differ.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+All of the command line steps below should be executed as the Kudu UNIX user, typically
+<code>kudu</code>.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect3">
+<h4 id="_prepare_for_the_recovery"><a class="link" href="#_prepare_for_the_recovery">Prepare for the recovery</a></h4>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>If the deployment was configured without DNS aliases perform the following steps:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Establish a maintenance window (one hour should be sufficient). During this time the Kudu cluster
+will be unavailable.</p>
+</li>
+<li>
+<p>Shut down all Kudu tablet server processes in the cluster.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Ensure that the dead master is well and truly dead. Take whatever steps needed to prevent it from
+accidentally restarting; this can be quite dangerous for the cluster post-recovery.</p>
+</li>
+<li>
+<p>Choose an unused machine in the cluster where the new master will live. The master generates very
+little load, so it can be collocated with other data services or load-generating processes, though
+not with another Kudu master from the same configuration.
+The rest of this workflow will refer to this master as the "replacement" master.</p>
+</li>
+<li>
+<p>Perform the following preparatory steps for the replacement master:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>If using the same dead master as the replacement master then delete the master&#8217;s directories.</p>
+</li>
+<li>
+<p>Ensure Kudu is installed on the machine, either via system packages (in which case the <code>kudu</code> and
+<code>kudu-master</code> packages should be installed), or via some other means.</p>
+</li>
+<li>
+<p>Choose and record the directory where the master&#8217;s data will live.</p>
+</li>
+</ul>
+</div>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_perform_the_recovery"><a class="link" href="#_perform_the_recovery">Perform the recovery</a></h4>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Remove the dead master from the Raft configuration of the master using the <code>kudu master remove</code>
+command. In the example below, dead master <code>master-2</code> is being recovered.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu master remove master-1,master-2 master-2</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>On the replacement master host, add the replacement master to the cluster using
+<code>kudu master add</code> command. Look for any success or error messages on the console or the replacement
+master log file. The command is designed to be idempotent so in case of an error after the issue
+mentioned in the error messages is fixed, run the same command again to make forward progress.
+After the completion of the procedure irrespective of whether the procedure is successful,
+the replacement master is shutdown. In the example below, replacement master <code>master-2</code> is used.
+In case DNS alias is not being used, use the hostname of the replacement master.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu master add master-1 master-2 --fs_wal_dir=/data/kudu/master/wal \
+--fs_data_dirs=/data/kudu/master/data</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>If the cluster was set up with DNS aliases, reconfigure the DNS alias for the dead master to point
+at the replacement master.</p>
+</li>
+<li>
+<p>If the cluster was set up without DNS aliases, perform the following steps:</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Modify the value of the <code>master_addresses</code> configuration parameter for each live master
+removing the dead master and substituting it with the replacement master.
+The new value must be a comma-separated list of masters where each entry is a string of the form
+<code>&lt;hostname&gt;:&lt;port&gt;</code></p>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">hostname</dt>
+<dd>
+<p>master&#8217;s previously recorded hostname or alias</p>
+</dd>
+<dt class="hdlist1">port</dt>
+<dd>
+<p>master&#8217;s previously recorded RPC port number</p>
+</dd>
+</dl>
+</div>
+</li>
+<li>
+<p>Restart the remaining live masters.</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Start the replacement master.</p>
+</li>
+<li>
+<p>If the cluster was set up without DNS aliases, follow the steps below for tablet servers:</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Modify the value of the <code>tserver_master_addrs</code> configuration parameter for each tablet server
+removing the dead master and substituting it with the replacement master.
+The new value must be a comma-separated list of masters where each entry is a string of the form
+<code>&lt;hostname&gt;:&lt;port&gt;</code></p>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">hostname</dt>
+<dd>
+<p>master&#8217;s previously recorded hostname or alias</p>
+</dd>
+<dt class="hdlist1">port</dt>
+<dd>
+<p>master&#8217;s previously recorded RPC port number</p>
+</dd>
+</dl>
+</div>
+</li>
+<li>
+<p>Restart all the tablet servers.</p>
+</li>
+</ol>
+</div>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Congratulations, the dead master has been replaced! To verify that all masters are working properly,
+consider performing the following sanity checks:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Using a browser, visit each master&#8217;s web UI. Look at the /masters page. All of the masters should
+be listed there with one master in the LEADER role and the others in the FOLLOWER role. The
+contents of /masters on each master should be the same.</p>
+</li>
+<li>
+<p>Run a Kudu system check (ksck) on the cluster using the <code>kudu</code> command line
+tool. See <a href="#ksck">Checking Cluster Health with <code>ksck</code></a> for more details.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_removing_kudu_masters_from_a_multi_master_deployment"><a class="link" href="#_removing_kudu_masters_from_a_multi_master_deployment">Removing Kudu Masters from a Multi-Master Deployment</a></h3>
+<div class="paragraph">
+<p>In the event that a multi-master deployment has been overallocated nodes, the following steps should
+be taken to remove the unwanted masters.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+In planning the new multi-master configuration, keep in mind that the number of masters
+should be odd and that three or five node master configurations are recommended.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Dropping the number of masters below the number of masters currently needed for a Raft
+majority can incur data loss. To mitigate this, ensure that the leader master is not removed during
+this process.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect3">
+<h4 id="_prepare_for_the_removal"><a class="link" href="#_prepare_for_the_removal">Prepare for the removal</a></h4>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Establish a maintenance window (one hour should be sufficient). During this time the Kudu cluster
+will be unavailable.</p>
+</li>
+<li>
+<p>Identify the UUID and RPC address current leader of the multi-master deployment by visiting the
+<code>/masters</code> page of any master&#8217;s web UI. This master must not be removed during this process; its
+removal may result in severe data loss.</p>
+</li>
+<li>
+<p>Stop the unwanted Kudu master processes.</p>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_perform_the_removal"><a class="link" href="#_perform_the_removal">Perform the removal</a></h4>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Perform the Raft configuration change. Run the <code>kudu master remove</code> tool.
+Only a single master can be removed at a time. If multiple masters need to be removed, run the
+tool multiple times. In the example below, <code>master-2</code> is being removed from a Kudu cluster with two
+masters <code>master-1,master-2</code>.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu master remove master-1,master-2 master-2</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Remove the data directories and WAL directory on the unwanted masters. This is a precaution to
+ensure that they cannot start up again and interfere with the new multi-master deployment.</p>
+</li>
+<li>
+<p>Modify the value of the <code>master_addresses</code> configuration parameter for the masters of the new
+multi-master deployment.</p>
+</li>
+<li>
+<p>Restart all the masters that were not removed.</p>
+</li>
+<li>
+<p>Modify the value of the <code>tserver_master_addrs</code> configuration parameter for the tablet servers to
+remove any unwanted masters.</p>
+</li>
+<li>
+<p>Restart all the tablet servers.</p>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_verify_the_migration_was_successful_2"><a class="link" href="#_verify_the_migration_was_successful_2">Verify the migration was successful</a></h4>
+<div class="paragraph">
+<p>To verify that all masters are working properly, perform the following sanity checks:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Using a browser, visit each master&#8217;s web UI. Look at the /masters page. All of the masters should
+be listed there with one master in the LEADER role and the others in the FOLLOWER role. The
+contents of /masters on each master should be the same.</p>
+</li>
+<li>
+<p>Run a Kudu system check (ksck) on the cluster using the <code>kudu</code> command line
+tool. See <a href="#ksck">Checking Cluster Health with <code>ksck</code></a> for more details.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_changing_the_master_hostnames"><a class="link" href="#_changing_the_master_hostnames">Changing the master hostnames</a></h3>
+<div class="paragraph">
+<p>To prevent long maintenance windows when replacing dead masters, DNS aliases should be used. If the
+cluster was set up without aliases, changing the host names can be done by following the below
+steps.</p>
+</div>
+<div class="sect3">
+<h4 id="_prepare_for_the_hostname_change"><a class="link" href="#_prepare_for_the_hostname_change">Prepare for the hostname change</a></h4>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Establish a maintenance window (one hour should be sufficient). During this time the Kudu cluster
+will be unavailable.</p>
+</li>
+<li>
+<p>Note the UUID and RPC address of every master by visiting the <code>/masters</code> page of any master&#8217;s web
+UI.</p>
+</li>
+<li>
+<p>Stop all the Kudu processes in the entire cluster.</p>
+</li>
+<li>
+<p>Set up the new hostnames to point to the masters and verify all servers and clients properly
+resolve them.</p>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_perform_the_hostname_change"><a class="link" href="#_perform_the_hostname_change">Perform the hostname change</a></h4>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Rewrite each master’s Raft configuration with the following command, executed on all master hosts:</p>
+</li>
+</ol>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo -u kudu kudu local_replica cmeta rewrite_raft_config --fs_wal_dir=&lt;master_wal_dir&gt; [--fs_data_dirs=&lt;master_data_dir&gt;] 00000000000000000000000000000000 &lt;all_masters&gt;</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo -u kudu kudu local_replica cmeta rewrite_raft_config --fs_wal_dir=/data/kudu/master/wal --fs_data_dirs=/data/kudu/master/data 00000000000000000000000000000000 4aab798a69e94fab8d77069edff28ce0:new-master-name-1:7051 f5624e05f40649b79a757629a69d061e:new-master-name-2:7051 988d8ac6530f426cbe180be5ba52033d:new-master-name-3:7051</pre>
+</div>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Change the masters' gflagfile so the <code>master_addresses</code> parameter reflects the new hostnames.</p>
+</li>
+<li>
+<p>Change the <code>tserver_master_addrs</code> parameter in the tablet servers' gflagfiles to the new
+hostnames.</p>
+</li>
+<li>
+<p>Start up the masters.</p>
+</li>
+<li>
+<p>To verify that all masters are working properly, perform the following sanity checks:</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Using a browser, visit each master&#8217;s web UI. Look at the /masters page. All of the masters should
+be listed there with one master in the LEADER role and the others in the FOLLOWER role. The
+contents of /masters on each master should be the same.</p>
+</li>
+<li>
+<p>Run the below command to verify all masters are up and listening. The UUIDs
+should be the same and belong to the same master as before the hostname change:</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo -u kudu kudu master list new-master-name-1:7051,new-master-name-2:7051,new-master-name-3:7051</pre>
+</div>
+</div>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Start all of the tablet servers.</p>
+</li>
+<li>
+<p>Run a Kudu system check (ksck) on the cluster using the <code>kudu</code> command line
+tool. See <a href="#ksck">Checking Cluster Health with <code>ksck</code></a> for more details. After startup, some tablets may be
+unavailable as it takes some time to initialize all of them.</p>
+</li>
+<li>
+<p>If you have Kudu tables that are accessed from Impala, update the HMS
+database manually in the underlying database that provides the storage for HMS.</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>The following is an example SQL statement you should run in the HMS database:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">UPDATE TABLE_PARAMS
+SET PARAM_VALUE =
+  'new-master-name-1:7051,new-master-name-2:7051,new-master-name-3:7051'
+WHERE PARAM_KEY = 'kudu.master_addresses'
+AND PARAM_VALUE = 'master-1:7051,master-2:7051,master-3:7051';</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>In <code>impala-shell</code>, run:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">INVALIDATE METADATA;</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Verify updating the metadata worked by running a simple <code>SELECT</code> query on a
+Kudu-backed Impala table.</p>
+</li>
+</ol>
+</div>
+</li>
+</ol>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="adding_tablet_servers"><a class="link" href="#adding_tablet_servers">Best Practices When Adding New Tablet Servers</a></h3>
+<div class="paragraph">
+<p>A common workflow when administering a Kudu cluster is adding additional tablet
+server instances, in an effort to increase storage capacity, decrease load or
+utilization on individual hosts, increase compute power, etc.</p>
+</div>
+<div class="paragraph">
+<p>By default, any newly added tablet servers will not be utilized immediately
+after their addition to the cluster. Instead, newly added tablet servers will
+only be utilized when new tablets are created or when existing tablets need to
+be replicated, which can lead to imbalanced nodes. It&#8217;s recommended to run
+the rebalancer CLI tool just after adding a new tablet server into the cluster,
+as described in the enumerated steps below.</p>
+</div>
+<div class="paragraph">
+<p>Avoid placing multiple tablet servers on a single node. Doing so
+nullifies the point of increasing the overall storage capacity of a Kudu
+cluster and increases the likelihood of tablet unavailability when a single
+node fails (the latter drawback is not applicable if the cluster is properly
+configured to use the
+<a href="https://kudu.apache.org/docs/administration.html#rack_awareness">location
+awareness</a> feature).</p>
+</div>
+<div class="paragraph">
+<p>To add additional tablet servers to an existing cluster, the
+following steps can be taken to ensure tablet replicas are uniformly
+distributed across the cluster:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Ensure that Kudu is installed on the new machines being added to the
+cluster, and that the new instances have been
+<a href="https://kudu.apache.org/docs/configuration.html#_configuring_tablet_servers">
+correctly configured</a> to point to the pre-existing cluster. Then, start up
+the new tablet server instances.</p>
+</li>
+<li>
+<p>Verify that the new instances check in with the Kudu Master(s)
+successfully. A quick method for verifying they&#8217;ve successfully checked in
+with the existing Master instances is to view the Kudu Master WebUI,
+specifically the <code>/tablet-servers</code> section, and validate that the newly
+added instances are registered, and heartbeating.</p>
+</li>
+<li>
+<p>Once the tablet server(s) are successfully online and healthy, follow
+the steps to run the
+<a href="https://kudu.apache.org/docs/administration.html#rebalancer_tool">
+rebalancing tool</a> which will spread existing tablet replicas to the newly added
+tablet servers.</p>
+</li>
+<li>
+<p>After the rebalancer tool has completed, or even during its execution,
+you can check on the health of the cluster using the <code>ksck</code> command-line utility
+(see <a href="#ksck">Checking Cluster Health with <code>ksck</code></a> for more details).</p>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect2">
+<h3 id="ksck"><a class="link" href="#ksck">Checking Cluster Health with <code>ksck</code></a></h3>
+<div class="paragraph">
+<p>The <code>kudu</code> CLI includes a tool named <code>ksck</code> that can be used for gathering
+information about the state of a Kudu cluster, including checking its health.
+<code>ksck</code> will identify issues such as under-replicated tablets, unreachable
+tablet servers, or tablets without a leader.</p>
+</div>
+<div class="paragraph">
+<p><code>ksck</code> should be run from the command line as the Kudu admin user, and requires
+the full list of master addresses to be specified:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu cluster ksck master-01.example.com,master-02.example.com,master-03.example.com</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To see a full list of the options available with <code>ksck</code>, use the <code>--help</code> flag.
+If the cluster is healthy, <code>ksck</code> will print information about the cluster, a
+success message, and return a zero (success) exit status.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Master Summary
+               UUID               |       Address         | Status
+----------------------------------+-----------------------+---------
+ a811c07b99394df799e6650e7310f282 | master-01.example.com | HEALTHY
+ b579355eeeea446e998606bcb7e87844 | master-02.example.com | HEALTHY
+ cfdcc8592711485fad32ec4eea4fbfcd | master-02.example.com | HEALTHY
+
+Tablet Server Summary
+               UUID               |        Address         | Status
+----------------------------------+------------------------+---------
+ a598f75345834133a39c6e51163245db | tserver-01.example.com | HEALTHY
+ e05ca6b6573b4e1f9a518157c0c0c637 | tserver-02.example.com | HEALTHY
+ e7e53a91fe704296b3a59ad304e7444a | tserver-03.example.com | HEALTHY
+
+Version Summary
+ Version |      Servers
+---------+-------------------------
+  1.7.1  | all 6 server(s) checked
+
+Summary by table
+   Name   | RF | Status  | Total Tablets | Healthy | Recovering | Under-replicated | Unavailable
+----------+----+---------+---------------+---------+------------+------------------+-------------
+ my_table | 3  | HEALTHY | 8             | 8       | 0          | 0                | 0
+
+                | Total Count
+----------------+-------------
+ Masters        | 3
+ Tablet Servers | 3
+ Tables         | 1
+ Tablets        | 8
+ Replicas       | 24
+OK</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If the cluster is unhealthy, for instance if a tablet server process has
+stopped, <code>ksck</code> will report the issue(s) and return a non-zero exit status, as
+shown in the abbreviated snippet of <code>ksck</code> output below:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Tablet Server Summary
+               UUID               |        Address         |   Status
+----------------------------------+------------------------+-------------
+ a598f75345834133a39c6e51163245db | tserver-01.example.com | HEALTHY
+ e05ca6b6573b4e1f9a518157c0c0c637 | tserver-02.example.com | HEALTHY
+ e7e53a91fe704296b3a59ad304e7444a | tserver-03.example.com | UNAVAILABLE
+Error from 127.0.0.1:7150: Network error: could not get status from server: Client connection negotiation failed: client connection to 127.0.0.1:7150: connect: Connection refused (error 61) (UNAVAILABLE)
+
+... (full output elided)
+
+==================
+Errors:
+==================
+Network error: error fetching info from tablet servers: failed to gather info for all tablet servers: 1 of 3 had errors
+Corruption: table consistency check error: 1 out of 1 table(s) are not healthy
+
+FAILED
+Runtime error: ksck discovered errors</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To verify data integrity, the optional <code>--checksum_scan</code> flag can be set, which
+will ensure the cluster has consistent data by scanning each tablet replica and
+comparing results. The <code>--tables</code> or <code>--tablets</code> flags can be used to limit the
+scope of the checksum scan to specific tables or tablets, respectively. For
+example, checking data integrity on the <code>my_table</code> table can be done with the
+following command:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu cluster ksck --checksum_scan --tables my_table master-01.example.com,master-02.example.com,master-03.example.com</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>By default, <code>ksck</code> will attempt to use a snapshot scan of the table, so the
+checksum scan can be done while writes continue.</p>
+</div>
+<div class="paragraph">
+<p>Finally, <code>ksck</code> also supports output in JSON format using the <code>--ksck_format</code>
+flag. JSON output contains the same information as the plain text output, but
+in a format that can be used by other tools. See <code>kudu cluster ksck --help</code> for
+more information.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="change_dir_config"><a class="link" href="#change_dir_config">Changing Directory Configurations</a></h3>
+<div class="paragraph">
+<p>For higher read parallelism and larger volumes of storage per server, users may
+want to configure servers to store data in multiple directories on different
+devices. Users can add or remove data directories to an existing master or
+tablet server by updating the <code>--fs_data_dirs</code> gflag configuration and
+restarting the server. Data is striped across data directories, and when a new
+data directory is added, new data will be striped across the union of the old
+and new directories.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Removing a data directory from <code>--fs_data_dirs</code> may result in failed tablet
+replicas in cases where there were data blocks in the directory that was
+removed. Use <code>ksck</code> to ensure the cluster can fully recover from the directory
+removal before moving onto another server.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+In versions of Kudu below 1.12, Kudu requires that the <code>kudu fs
+update_dirs</code> tool be run before restarting with a different set of data
+directories. Such versions will fail to start if not run.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>If on a Kudu version below 1.12, once a server is started, users must go
+through the below steps to change the directory configuration:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Unless the <code>--force</code> flag is specified, Kudu will not allow for the
+removal of a directory across which tablets are configured to spread data. If
+<code>--force</code> is specified, all tablets configured to use that directory will fail
+upon starting up and be replicated elsewhere.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+If the <a href="configuration.html#directory_configuration">metadata
+directory</a> overlaps with a data directory, as was the default prior to Kudu
+1.7, or if a non-default metadata directory is configured, the
+<code>--fs_metadata_dir</code> configuration must be specified when running the <code>kudu fs
+update_dirs</code> tool.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Only new tablet replicas (i.e. brand new tablets' replicas and replicas
+that are copied to the server for high availability) will use the new
+directory. Existing tablet replicas on the server will not be rebalanced across
+the new directory.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+All of the command line steps below should be executed as the Kudu
+UNIX user, typically <code>kudu</code>.
+</td>
+</tr>
+</table>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Use <code>ksck</code> to ensure the cluster is healthy, and establish a
+<a href="#minimizing_cluster_disruption_during_temporary_single_ts_downtime">maintenance
+window</a> to bring the tablet server offline.</p>
+</li>
+<li>
+<p>Run the tool with the desired directory configuration flags. For example, if a
+cluster was set up with <code>--fs_wal_dir=/wals</code>, <code>--fs_metadata_dir=/meta</code>, and
+<code>--fs_data_dirs=/data/1,/data/2,/data/3</code>, and <code>/data/3</code> is to be removed (e.g.
+due to a disk error), run the command:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu fs update_dirs --force --fs_wal_dir=/wals --fs_metadata_dir=/meta --fs_data_dirs=/data/1,/data/2</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Modify the value of the <code>--fs_data_dirs</code> flag for the updated server. If using
+CM, make sure to only update the configurations of the updated server, rather
+than of the entire Kudu service.</p>
+</li>
+<li>
+<p>Once complete, the server process can be started. When Kudu is installed using
+system packages, <code>service</code> is typically used:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo service kudu-tserver start</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Use <code>ksck</code> to ensure Kudu returns to a healthy state before resuming normal
+operation.</p>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect2">
+<h3 id="disk_failure_recovery"><a class="link" href="#disk_failure_recovery">Recovering from Disk Failure</a></h3>
+<div class="paragraph">
+<p>Kudu nodes can only survive failures of disks on which certain Kudu directories
+are mounted. For more information about the different Kudu directory types, see
+the section on <a href="configuration.html#directory_configuration">Kudu Directory
+Configurations</a>. Below describes this behavior across different Apache Kudu
+releases.</p>
+</div>
+<table id="disk_failure_behavior" class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 1. Kudu Disk Failure Behavior</caption>
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Node Type</th>
+<th class="tableblock halign-left valign-top">Kudu Directory Type</th>
+<th class="tableblock halign-left valign-top">Kudu Releases that Crash on Disk Failure</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Master</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">All</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">All</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Server</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory containing WALs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">All</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Server</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory containing tablet metadata</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">All</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Server</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory containing data blocks only</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pre-1.6.0</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>When a disk failure occurs that does not lead to a crash, Kudu will stop using
+the affected directory, shut down tablets with blocks on the affected
+directories, and automatically re-replicate the affected tablets to other
+tablet servers. The affected server will remain alive and print messages to the
+log indicating the disk failure, for example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>E1205 19:06:24.163748 27115 data_dirs.cc:1011] Directory /data/8/kudu/data marked as failed
+E1205 19:06:30.324795 27064 log_block_manager.cc:1822] Not using report from /data/8/kudu/data: IO error: Could not open container 0a6283cab82d4e75848f49772d2638fe: /data/8/kudu/data/0a6283cab82d4e75848f49772d2638fe.metadata: Read-only file system (error 30)
+E1205 19:06:33.564638 27220 ts_tablet_manager.cc:946] T 4957808439314e0d97795c1394348d80 P 70f7ee61ead54b1885d819f354eb3405: aborting tablet bootstrap: tablet has data in a failed directory</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>While in this state, the affected node will avoid using the failed disk,
+leading to lower storage volume and reduced read parallelism. The administrator
+can remove the failed directory from the <code>--fs_data_dirs</code> gflag to avoid seeing
+these errors.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+In versions of Kudu below 1.12, in order to start Kudu with a
+different set of directories, the administrator should schedule a brief window
+to <a href="#change_dir_config">update the node&#8217;s directory configuration</a>. Kudu will
+fail to start otherwise.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>When the disk is repaired, remounted, and ready to be reused by Kudu, take the
+following steps:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Make sure that the Kudu portion of the disk is completely empty.</p>
+</li>
+<li>
+<p>Stop the tablet server.</p>
+</li>
+<li>
+<p>Update the <code>--fs_data_dirs</code> gflag to add <code>/data/3</code>, potentially using the
+<code>update_dirs</code> tool if on a version of Kudu that is below 1.12:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu fs update_dirs --force --fs_wal_dir=/wals --fs_data_dirs=/data/1,/data/2,/data/3</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Start the tablet server.</p>
+</li>
+<li>
+<p>Run <code>ksck</code> to verify cluster health.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">sudo -u kudu kudu cluster ksck master-01.example.com</code></pre>
+</div>
+</div>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Note that existing tablets will not stripe to the restored disk, but any new tablets
+will stripe to the restored disk.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="disk_full_recovery"><a class="link" href="#disk_full_recovery">Recovering from Full Disks</a></h3>
+<div class="paragraph">
+<p>By default, Kudu reserves a small amount of space (1% by capacity) in its
+directories; Kudu considers a disk full if there is less free space available
+than the reservation. Kudu nodes can only tolerate running out of space on disks
+on which certain Kudu directories are mounted. For more information about the
+different Kudu directory types, see
+<a href="configuration.html#directory_configuration">Kudu Directory Configurations</a>.
+The table below describes this behavior for each type of directory. The behavior
+is uniform across masters and tablet servers.</p>
+</div>
+<table id="disk_full_behavior" class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 2. Kudu Full Disk Behavior</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Kudu Directory Type</th>
+<th class="tableblock halign-left valign-top">Crash on a Full Disk?</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory containing WALs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory containing tablet metadata</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory containing data blocks only</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No (see below)</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Prior to Kudu 1.7.0, Kudu stripes tablet data across all directories, and will
+avoid writing data to full directories. Kudu will crash if all data directories
+are full.</p>
+</div>
+<div class="paragraph">
+<p>In 1.7.0 and later, new tablets are assigned a disk group consisting of
+<code>--fs_target_data_dirs_per_tablet</code> data dirs (default 3). If Kudu is not
+configured with enough data directories for a full disk group, all data
+directories are used. When a data directory is full, Kudu will stop writing new
+data to it and each tablet that uses that data directory will write new data to
+other data directories within its group. If all data directories for a tablet
+are full, Kudu will crash. Periodically, Kudu will check if full data
+directories are still full, and will resume writing to those data directories
+if space has become available.</p>
+</div>
+<div class="paragraph">
+<p>If Kudu does crash because its data directories are full, freeing space on the
+full directories will allow the affected daemon to restart and resume writing.
+Note that it may be possible for Kudu to free some space by running</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu fs check --repair</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>but this command may also fail if there is too little space left.</p>
+</div>
+<div class="paragraph">
+<p>It&#8217;s also possible to allocate additional data directories to Kudu in order to
+increase the overall amount of storage available. See the documentation on
+<a href="#change_dir_config">updating a node&#8217;s directory configuration</a> for more
+information. Note that existing tablets will not use new data directories, so
+adding a new data directory does not resolve issues with full disks.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tablet_majority_down_recovery"><a class="link" href="#tablet_majority_down_recovery">Bringing a tablet that has lost a majority of replicas back online</a></h3>
+<div class="paragraph">
+<p>If a tablet has permanently lost a majority of its replicas, it cannot recover
+automatically and operator intervention is required. If the tablet servers
+hosting a majority of the replicas are down (i.e. ones reported as "TS
+unavailable" by ksck), they should be recovered instead if possible.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+The steps below may cause recent edits to the tablet to be lost,
+potentially resulting in permanent data loss. Only attempt the procedure below
+if it is impossible to bring a majority back online.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Suppose a tablet has lost a majority of its replicas. The first step in
+diagnosing and fixing the problem is to examine the tablet&#8217;s state using ksck:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu cluster ksck --tablets=e822cab6c0584bc0858219d1539a17e6 master-00,master-01,master-02
+Connected to the Master
+Fetched info from all 5 Tablet Servers
+Tablet e822cab6c0584bc0858219d1539a17e6 of table 'my_table' is unavailable: 2 replica(s) not RUNNING
+  638a20403e3e4ae3b55d4d07d920e6de (tserver-00:7150): RUNNING
+  9a56fa85a38a4edc99c6229cba68aeaa (tserver-01:7150): bad state
+    State:       FAILED
+    Data state:  TABLET_DATA_READY
+    Last status: &lt;failure message&gt;
+  c311fef7708a4cf9bb11a3e4cbcaab8c (tserver-02:7150): bad state
+    State:       FAILED
+    Data state:  TABLET_DATA_READY
+    Last status: &lt;failure message&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This output shows that, for tablet <code>e822cab6c0584bc0858219d1539a17e6</code>, the two
+tablet replicas on <code>tserver-01</code> and <code>tserver-02</code> failed. The remaining replica
+is not the leader, so the leader replica failed as well. This means the chance
+of data loss is higher since the remaining replica on <code>tserver-00</code> may have
+been lagging. In general, to accept the potential data loss and restore the
+tablet from the remaining replicas, divide the tablet replicas into two groups:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Healthy replicas: Those in <code>RUNNING</code> state as reported by ksck</p>
+</li>
+<li>
+<p>Unhealthy replicas</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>For example, in the above ksck output, the replica on tablet server <code>tserver-00</code>
+is healthy, while the replicas on <code>tserver-01</code> and <code>tserver-02</code> are unhealthy.
+On each tablet server with a healthy replica, alter the consensus configuration
+to remove unhealthy replicas. In the typical case of 1 out of 3 surviving
+replicas, there will be only one healthy replica, so the consensus configuration
+will be rewritten to include only the healthy replica.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu remote_replica unsafe_change_config tserver-00:7150 &lt;tablet-id&gt; &lt;tserver-00-uuid&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>where <code>&lt;tablet-id&gt;</code> is <code>e822cab6c0584bc0858219d1539a17e6</code> and
+<code>&lt;tserver-00-uuid&gt;</code> is the uuid of <code>tserver-00</code>,
+<code>638a20403e3e4ae3b55d4d07d920e6de</code>.</p>
+</div>
+<div class="paragraph">
+<p>Once the healthy replicas' consensus configurations have been forced to exclude
+the unhealthy replicas, the healthy replicas will be able to elect a leader.
+The tablet will become available for writes, though it will still be
+under-replicated. Shortly after the tablet becomes available, the leader master
+will notice that it is under-replicated, and will cause the tablet to
+re-replicate until the proper replication factor is restored. The unhealthy
+replicas will be tombstoned by the master, causing their remaining data to be
+deleted.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rebuilding_kudu"><a class="link" href="#rebuilding_kudu">Rebuilding a Kudu Filesystem Layout</a></h3>
+<div class="paragraph">
+<p>In the event that critical files are lost, i.e. WALs or tablet-specific
+metadata, all Kudu directories on the server must be deleted and rebuilt to
+ensure correctness. Doing so will destroy the copy of the data for each tablet
+replica hosted on the local server. Kudu will automatically re-replicate tablet
+replicas removed in this way, provided the replication factor is at least three
+and all other servers are online and healthy.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+These steps use a tablet server as an example, but the steps are the same
+for Kudu master servers.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+If multiple nodes need their FS layouts rebuilt, wait until all
+replicas previously hosted on each node have finished automatically
+re-replicating elsewhere before continuing. Failure to do so can result in
+permanent data loss.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Before proceeding, ensure the contents of the directories are backed
+up, either as a copy or in the form of other tablet replicas.
+</td>
+</tr>
+</table>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>The first step to rebuilding a server with a new directory configuration is
+emptying all of the server&#8217;s existing directories. For example, if a tablet
+server is configured with <code>--fs_wal_dir=/data/0/kudu-tserver-wal</code>,
+<code>--fs_metadata_dir=/data/0/kudu-tserver-meta</code>, and
+<code>--fs_data_dirs=/data/1/kudu-tserver,/data/2/kudu-tserver</code>, the following
+commands will remove the WAL directory&#8217;s and data directories' contents:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash"># Note: this will delete all of the data from the local tablet server.
+$ rm -rf /data/0/kudu-tserver-wal/* /data/0/kudu-tserver-meta/* /data/1/kudu-tserver/* /data/2/kudu-tserver/*</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>If using CM, update the configurations for the rebuilt server to include only
+the desired directories. Make sure to only update the configurations of servers
+to which changes were applied, rather than of the entire Kudu service.</p>
+</li>
+<li>
+<p>After directories are deleted, the server process can be started with the new
+directory configuration. The appropriate sub-directories will be created by
+Kudu upon starting up.</p>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect2">
+<h3 id="minimizing_cluster_disruption_during_temporary_single_ts_downtime"><a class="link" href="#minimizing_cluster_disruption_during_temporary_single_ts_downtime">Minimizing cluster disruption during temporary planned downtime of a single tablet server</a></h3>
+<div class="paragraph">
+<p>If a single tablet server is brought down temporarily in a healthy cluster, all
+tablets will remain available and clients will function as normal, after
+potential short delays due to leader elections. However, if the downtime lasts
+for more than <code>--follower_unavailable_considered_failed_sec</code> (default 300)
+seconds, the tablet replicas on the down tablet server will be replaced by new
+replicas on available tablet servers. This will cause stress on the cluster
+as tablets re-replicate and, if the downtime lasts long enough, significant
+reduction in the number of replicas on the down tablet server, which would
+require the rebalancer to fix.</p>
+</div>
+<div class="paragraph">
+<p>To work around this, in Kudu versions from 1.11 onwards, the <code>kudu</code> CLI
+contains a tool to put tablet servers into maintenance mode. While in this
+state, the tablet server’s replicas are not re-replicated due to its downtime
+alone, though re-replication may still occur in the event that the server in
+maintenance suffers from a disk failure or if a follower replica on the tablet
+server falls too far behind its leader replica. Upon exiting maintenance,
+re-replication is triggered for any remaining under-replicated tablets.</p>
+</div>
+<div class="paragraph">
+<p>The <code>kudu tserver state enter_maintenance</code> and <code>kudu tserver state
+exit_maintenance</code> tools are added to orchestrate tablet server maintenance.
+The following can be run from a tablet server to put it into maintenance:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ TS_UUID=$(sudo -u kudu kudu fs dump uuid --fs_wal_dir=&lt;wal_dir&gt; --fs_data_dirs=&lt;data_dirs&gt;)
+$ sudo -u kudu kudu tserver state enter_maintenance &lt;master_addresses&gt; "$TS_UUID"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The tablet server maintenance mode is shown in the "Tablet Servers" page of the
+Kudu leader master&#8217;s web UI, and in the output of <code>kudu cluster ksck</code>.  To exit
+maintenance mode, run the following:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu tserver state exit_maintenance &lt;master_addresses&gt; "$TS_UUID"</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In versions prior to 1.11, a different approach must be used to prevent
+unwanted re-replication. Increase
+<code>--follower_unavailable_considered_failed_sec</code> on all tablet servers so the
+amount of time before re-replication starts is longer than the expected
+downtime of the tablet server, including the time it takes the tablet server to
+restart and bootstrap its tablet replicas. To do this, run the following
+command for each tablet server:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu tserver set_flag &lt;tserver_address&gt; follower_unavailable_considered_failed_sec &lt;num_seconds&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>where <code>&lt;num_seconds&gt;</code> is the number of seconds that will encompass the downtime.
+Once the downtime is finished, reset the flag to its original value.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo -u kudu kudu tserver set_flag &lt;tserver_address&gt; follower_unavailable_considered_failed_sec &lt;original_value&gt;</pre>
+</div>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Be sure to reset the value of <code>--follower_unavailable_considered_failed_sec</code>
+to its original value.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+On Kudu versions prior to 1.8, the <code>--force</code> flag must be provided in the above
+<code>set_flag</code> commands.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rolling_restart"><a class="link" href="#rolling_restart">Orchestrating a rolling restart with no downtime</a></h3>
+<div class="paragraph">
+<p>As of Kudu 1.12, tooling is available to restart a cluster with no downtime. To
+perform such a "rolling restart", perform the following sequence:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Restart the master(s) one-by-one. If there is only a single master, this may
+cause brief interference with on-going workloads.</p>
+</li>
+<li>
+<p>Starting with a single tablet server, put the tablet server into
+<a href="#minimizing_cluster_disruption_during_temporary_single_ts_downtime">maintenance
+mode</a> by using the <code>kudu tserver state enter_maintenance</code> tool.</p>
+</li>
+<li>
+<p>Start quiescing the tablet server using the <code>kudu tserver quiesce start</code>
+tool. This will signal to Kudu to stop hosting leaders on the specified
+tablet server and to redirect new scan requests to other tablet servers.</p>
+</li>
+<li>
+<p>Periodically run <code>kudu tserver quiesce start</code> with the
+<code>--error_if_not_fully_quiesced</code> option, until it returns success, indicating
+that all leaders have been moved away from the tablet server and all on-going
+scans have completed.</p>
+</li>
+<li>
+<p>Restart the tablet server.</p>
+</li>
+<li>
+<p>Periodically run <code>ksck</code> until the cluster is reported to be healthy.</p>
+</li>
+<li>
+<p>Exit maintenance mode on the tablet server by running <code>kudu tserver state
+exit_maintenance</code>. This will allow new tablet replicas to be placed on the
+tablet server.</p>
+</li>
+<li>
+<p>Repeat these steps for all tablet servers in the cluster.</p>
+</li>
+</ol>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+If any tables in the cluster have a replication factor of 1, some
+quiescing tablet servers will never become fully quiesced, as single-replica
+tablets will not naturally relinquish leadership. If such tables exist, use the
+<code>kudu cluster rebalance</code> tool to move replicas of these tables away from the
+quiescing tablet server by specifying the <code>--ignored_tservers</code>,
+<code>--move_replicas_from_ignored_tservers</code>, and <code>--tables</code> options.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+If running with <a href="#rack_awareness">rack awareness</a>, the above steps can be
+performed restarting multiple tablet servers within a single rack at the same
+time. Users should use <code>ksck</code> to ensure the location assignment policy is
+enforced while going through these steps, and that no more than a single
+location is restarted at the same time. At least three locations should be
+defined in the cluster to safely restart multiple tablet service within one
+location.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rebalancer_tool"><a class="link" href="#rebalancer_tool">Running the tablet rebalancing tool</a></h3>
+<div class="paragraph">
+<p>The <code>kudu</code> CLI contains a rebalancing tool that can be used to rebalance
+tablet replicas among tablet servers. For each table, the tool attempts to
+balance the number of replicas per tablet server. It will also, without
+unbalancing any table, attempt to even out the number of replicas per tablet
+server across the cluster as a whole. The rebalancing tool should be run as the
+Kudu admin user, specifying all master addresses:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">sudo -u kudu kudu cluster rebalance master-01.example.com,master-02.example.com,master-03.example.com</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>When run, the rebalancer will report on the initial tablet replica distribution
+in the cluster, log the replicas it moves, and print a final summary of the
+distribution when it terminates:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Per-server replica distribution summary:
+       Statistic       |   Value
+-----------------------+-----------
+ Minimum Replica Count | 0
+ Maximum Replica Count | 24
+ Average Replica Count | 14.400000
+
+Per-table replica distribution summary:
+ Replica Skew |  Value
+--------------+----------
+ Minimum      | 8
+ Maximum      | 8
+ Average      | 8.000000
+
+I0613 14:18:49.905897 3002065792 rebalancer.cc:779] tablet e7ee9ade95b342a7a94649b7862b345d: 206a51de1486402bbb214b5ce97a633c -&gt; 3b4d9266ac8c45ff9a5d4d7c3e1cb326 move scheduled
+I0613 14:18:49.917578 3002065792 rebalancer.cc:779] tablet 5f03944529f44626a0d6ec8b1edc566e: 6e64c4165b864cbab0e67ccd82091d60 -&gt; ba8c22ab030346b4baa289d6d11d0809 move scheduled
+I0613 14:18:49.928683 3002065792 rebalancer.cc:779] tablet 9373fee3bfe74cec9054737371a3b15d: fab382adf72c480984c6cc868fdd5f0e -&gt; 3b4d9266ac8c45ff9a5d4d7c3e1cb326 move scheduled
+
+... (full output elided)
+
+I0613 14:19:01.162802 3002065792 rebalancer.cc:842] tablet f4c046f18b174cc2974c65ac0bf52767: 206a51de1486402bbb214b5ce97a633c -&gt; 3b4d9266ac8c45ff9a5d4d7c3e1cb326 move completed: OK
+
+rebalancing is complete: cluster is balanced (moved 28 replicas)
+Per-server replica distribution summary:
+       Statistic       |   Value
+-----------------------+-----------
+ Minimum Replica Count | 14
+ Maximum Replica Count | 15
+ Average Replica Count | 14.400000
+
+Per-table replica distribution summary:
+ Replica Skew |  Value
+--------------+----------
+ Minimum      | 1
+ Maximum      | 1
+ Average      | 1.000000</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If more details are needed in addition to the replica distribution summary,
+use the <code>--output_replica_distribution_details</code> flag. If added, the flag makes
+the tool print per-table and per-tablet server replica distribution statistics
+as well.</p>
+</div>
+<div class="paragraph">
+<p>Use the <code>--report_only</code> flag to get a report on table- and cluster-wide
+replica distribution statistics without starting any rebalancing activity.</p>
+</div>
+<div class="paragraph">
+<p>The rebalancer can also be restricted to run on a subset of the tables by
+supplying the <code>--tables</code> flag. Note that, when running on a subset of tables,
+the tool will not attempt to balance the cluster as a whole.</p>
+</div>
+<div class="paragraph">
+<p>The length of time rebalancing is run for can be controlled with the flag
+<code>--max_run_time_sec</code>. By default, the rebalancer will run until the cluster is
+balanced. To control the amount of resources devoted to rebalancing, modify
+the flag <code>--max_moves_per_server</code>. See <code>kudu cluster rebalance --help</code> for more.</p>
+</div>
+<div class="paragraph">
+<p>It&#8217;s safe to stop the rebalancer tool at any time. When restarted, the
+rebalancer will continue rebalancing the cluster.</p>
+</div>
+<div class="paragraph">
+<p>The rebalancer requires all registered tablet servers to be up and running
+to proceed with the rebalancing process. That&#8217;s to avoid possible conflicts
+and races with the automatic re-replication and keep replica placement optimal
+for current configuration of the cluster. If a tablet server becomes
+unavailable during the rebalancing session, the rebalancer will exit. As noted
+above, it&#8217;s safe to restart the rebalancer after resolving the issue with
+unavailable tablet servers.</p>
+</div>
+<div class="paragraph">
+<p>The rebalancing tool can rebalance Kudu clusters running older versions as well,
+with some restrictions. Consult the following table for more information. In the
+table, "RF" stands for "replication factor".</p>
+</div>
+<table id="rebalancer_compatibility" class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 3. Kudu Rebalancing Tool Compatibility</caption>
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Version Range</th>
+<th class="tableblock halign-left valign-top">Rebalances RF = 1 Tables?</th>
+<th class="tableblock halign-left valign-top">Rebalances RF &gt; 1 Tables?</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">v &lt; 1.4.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1.4.0 &lt;= v &lt; 1.7.1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">v &gt;= 1.7.1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>If the rebalancer is running against a cluster where rebalancing replication
+factor one tables is not supported, it will rebalance all the other tables
+and the cluster as if those singly-replicated tables did not exist.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rebalancer_tool_with_rack_awareness"><a class="link" href="#rebalancer_tool_with_rack_awareness">Running the tablet rebalancing tool on a rack-aware cluster</a></h3>
+<div class="paragraph">
+<p>As detailed in the <a href="#rack_awareness">rack awareness</a> section, it&#8217;s possible
+to use the <code>kudu cluster rebalance</code> tool to establish the placement policy on a
+cluster. This might be necessary when the rack awareness feature is first
+configured or when re-replication violated the placement policy. The rebalancing
+tool breaks its work into three phases:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>The rack-aware rebalancer tries to establish the placement policy. Use the
+<code>--disable_policy_fixer</code> flag to skip this phase.</p>
+</li>
+<li>
+<p>The rebalancer tries to balance load by location, moving tablet replicas
+between locations in an attempt to spread tablet replicas among locations
+evenly. The load of a location is measured as the total number of replicas in
+the location divided by the number of tablet servers in the location. Use the
+<code>--disable_cross_location_rebalancing</code> flag to skip this phase.</p>
+</li>
+<li>
+<p>The rebalancer tries to balance the tablet replica distribution within each
+location, as if the location were a cluster on its own. Use the
+<code>--disable_intra_location_rebalancing</code> flag to skip this phase.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>By using the <code>--report_only</code> flag, it&#8217;s also possible to check if all tablets in
+the cluster conform to the placement policy without attempting any replica
+movement.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tablet_server_decommissioning"><a class="link" href="#tablet_server_decommissioning">Decommissioning or Permanently Removing a Tablet Server From a Cluster</a></h3>
+<div class="paragraph">
+<p>Starting with Kudu 1.12, the Kudu rebalancer tool can be used to decommission a
+tablet server by supplying the <code>--ignored_tservers</code> and
+<code>--move_replicas_from_ignored_tservers</code> arguments.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Do not decommission multiple tablet servers at once. To remove
+multiple tablet servers from the cluster, follow the below instructions for
+each tablet server, ensuring that the previous tablet server is removed from
+the cluster and <code>ksck</code> is healthy before shutting down the next.
+</td>
+</tr>
+</table>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Ensure the cluster is in good health by using <code>ksck</code>. See <a href="#ksck">Checking Cluster Health with <code>ksck</code></a>.</p>
+</li>
+<li>
+<p>Put the tablet server into
+<a href="#minimizing_cluster_disruption_during_temporary_single_ts_downtime">maintenance
+mode</a> by using the <code>kudu tserver state enter_maintenance</code> tool.</p>
+</li>
+<li>
+<p>Run <code>kudu cluster rebalance</code> tool, supplying the <code>--ignored_tservers</code>
+argument with the UUIDs of the tablet servers to be decommissioned, and the
+<code>--move_replicas_from_ignored_tservers</code> flag.</p>
+</li>
+<li>
+<p>Wait for the moves to complete and for <code>ksck</code> to show the cluster in a
+healthy state.</p>
+</li>
+<li>
+<p>The decommissioned tablet server can be brought offline.</p>
+</li>
+<li>
+<p>To completely remove it from the cluster so <code>ksck</code> shows the cluster as
+completely healthy, restart the masters. In the case of a single master,
+this will cause cluster downtime. With multi-master, restart the masters in
+sequence to avoid cluster downtime.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>In Kudu versions that do not support the above tooling, different steps must be
+followed to decommission a tablet server:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Ensure the cluster is in good health using <code>ksck</code>. See <a href="#ksck">Checking Cluster Health with <code>ksck</code></a>.</p>
+</li>
+<li>
+<p>If the tablet server contains any replicas of tables with replication factor
+1, these replicas must be manually moved off the tablet server prior to
+shutting it down. The <code>kudu tablet change_config move_replica</code> tool can be
+used for this.</p>
+</li>
+<li>
+<p>Shut down the tablet server. After
+<code>-follower_unavailable_considered_failed_sec</code>, which defaults to 5 minutes,
+Kudu will begin to re-replicate the tablet server&#8217;s replicas to other servers.
+Wait until the process is finished. Progress can be monitored using <code>ksck</code>.</p>
+</li>
+<li>
+<p>Once all the copies are complete, <code>ksck</code> will continue to report the tablet
+server as unavailable. The cluster will otherwise operate fine without the
+tablet server. To completely remove it from the cluster so <code>ksck</code> shows the
+cluster as completely healthy, restart the masters. In the case of a single
+master, this will cause cluster downtime. With multi-master, restart the
+masters in sequence to avoid cluster downtime.</p>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect2">
+<h3 id="using_cluster_names_in_kudu_tool"><a class="link" href="#using_cluster_names_in_kudu_tool">Using cluster names in the <code>kudu</code> command line tool</a></h3>
+<div class="paragraph">
+<p>When using the <code>kudu</code> command line tool, it can be difficult to remember the
+precise list of Kudu master RPC addresses needed to communicate with a cluster,
+especially when managing multiple clusters. As an alternative, the command line
+tool can identify clusters by name. To use this functionality:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Create a new directory to store the Kudu configuration file.</p>
+</li>
+<li>
+<p>Export the path to this directory in the <code>KUDU_CONFIG</code> environment variable.</p>
+</li>
+<li>
+<p>Create a file called <code>kudurc</code> in the new directory.</p>
+</li>
+<li>
+<p>Populate <code>kudurc</code> as follows, substituting your own cluster names and RPC
+addresses:</p>
+<div class="listingblock">
+<div class="content">
+<pre>clusters_info:
+  cluster_name1:
+    master_addresses: ip1:port1,ip2:port2,ip3:port3
+  cluster_name2:
+    master_addresses: ip4:port4</pre>
+</div>
+</div>
+</li>
+<li>
+<p>When using the <code>kudu</code> command line tool, replace the list of Kudu master RPC
+addresses with the cluster name, prepended with the character <code>@</code>.</p>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Example</dt>
+<dd>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo -u kudu kudu cluster ksck @cluster_name1</pre>
+</div>
+</div>
+</dd>
+</dl>
+</div>
+</li>
+</ol>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Cluster names may be used as input in any invocation of the <code>kudu</code> command
+line tool that expects a list of Kudu master RPC addresses.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+<span class="active-toc">Administering Kudu</span>
+            <ul class="sectlevel1">
+<li><a href="#_starting_and_stopping_kudu_processes">Starting and Stopping Kudu Processes</a></li>
+<li><a href="#_kudu_web_interfaces">Kudu Web Interfaces</a>
+<ul class="sectlevel2">
+<li><a href="#_kudu_master_web_interface">Kudu Master Web Interface</a></li>
+<li><a href="#_kudu_tablet_server_web_interface">Kudu Tablet Server Web Interface</a></li>
+<li><a href="#_common_web_interface_pages">Common Web Interface Pages</a></li>
+</ul>
+</li>
+<li><a href="#_kudu_metrics">Kudu Metrics</a>
+<ul class="sectlevel2">
+<li><a href="#_listing_available_metrics">Listing available metrics</a></li>
+<li><a href="#_collecting_metrics_via_http">Collecting metrics via HTTP</a></li>
+<li><a href="#_diagnostics_logging">Diagnostics Logging</a></li>
+</ul>
+</li>
+<li><a href="#rack_awareness">Rack Awareness</a></li>
+<li><a href="#backup">Backup and Restore</a>
+<ul class="sectlevel2">
+<li><a href="#logical_backup">Logical backup and restore</a>
+<ul class="sectlevel3">
+<li><a href="#_backing_up_tables">Backing up tables</a></li>
+<li><a href="#_restoring_tables_from_backups">Restoring tables from Backups</a></li>
+<li><a href="#_backup_tools">Backup tools</a></li>
+<li><a href="#backup_directory">Backup Directory Structure</a></li>
+<li><a href="#_troubleshooting">Troubleshooting</a></li>
+</ul>
+</li>
+<li><a href="#physical_backup">Physical backups of an entire node</a></li>
+</ul>
+</li>
+<li><a href="#_common_kudu_workflows">Common Kudu workflows</a>
+<ul class="sectlevel2">
+<li><a href="#migrate_to_multi_master">Migrating to Multiple Kudu Masters</a>
+<ul class="sectlevel3">
+<li><a href="#_prepare_for_the_migration">Prepare for the migration</a></li>
+<li><a href="#perform-the-migration">Perform the migration</a></li>
+<li><a href="#_verify_the_migration_was_successful">Verify the migration was successful</a></li>
+</ul>
+</li>
+<li><a href="#_recovering_from_a_dead_kudu_master_in_a_multi_master_deployment">Recovering from a dead Kudu Master in a Multi-Master Deployment</a>
+<ul class="sectlevel3">
+<li><a href="#_prepare_for_the_recovery">Prepare for the recovery</a></li>
+<li><a href="#_perform_the_recovery">Perform the recovery</a></li>
+</ul>
+</li>
+<li><a href="#_removing_kudu_masters_from_a_multi_master_deployment">Removing Kudu Masters from a Multi-Master Deployment</a>
+<ul class="sectlevel3">
+<li><a href="#_prepare_for_the_removal">Prepare for the removal</a></li>
+<li><a href="#_perform_the_removal">Perform the removal</a></li>
+<li><a href="#_verify_the_migration_was_successful_2">Verify the migration was successful</a></li>
+</ul>
+</li>
+<li><a href="#_changing_the_master_hostnames">Changing the master hostnames</a>
+<ul class="sectlevel3">
+<li><a href="#_prepare_for_the_hostname_change">Prepare for the hostname change</a></li>
+<li><a href="#_perform_the_hostname_change">Perform the hostname change</a></li>
+</ul>
+</li>
+<li><a href="#adding_tablet_servers">Best Practices When Adding New Tablet Servers</a></li>
+<li><a href="#ksck">Checking Cluster Health with <code>ksck</code></a></li>
+<li><a href="#change_dir_config">Changing Directory Configurations</a></li>
+<li><a href="#disk_failure_recovery">Recovering from Disk Failure</a></li>
+<li><a href="#disk_full_recovery">Recovering from Full Disks</a></li>
+<li><a href="#tablet_majority_down_recovery">Bringing a tablet that has lost a majority of replicas back online</a></li>
+<li><a href="#rebuilding_kudu">Rebuilding a Kudu Filesystem Layout</a></li>
+<li><a href="#minimizing_cluster_disruption_during_temporary_single_ts_downtime">Minimizing cluster disruption during temporary planned downtime of a single tablet server</a></li>
+<li><a href="#rolling_restart">Orchestrating a rolling restart with no downtime</a></li>
+<li><a href="#rebalancer_tool">Running the tablet rebalancing tool</a></li>
+<li><a href="#rebalancer_tool_with_rack_awareness">Running the tablet rebalancing tool on a rack-aware cluster</a></li>
+<li><a href="#tablet_server_decommissioning">Decommissioning or Permanently Removing a Tablet Server From a Cluster</a></li>
+<li><a href="#using_cluster_names_in_kudu_tool">Using cluster names in the <code>kudu</code> command line tool</a></li>
+</ul>
+</li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/background_tasks.html b/releases/1.15.0/docs/background_tasks.html
new file mode 100644
index 0000000..182ca86
--- /dev/null
+++ b/releases/1.15.0/docs/background_tasks.html
@@ -0,0 +1,401 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Background Maintenance Tasks</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Background Maintenance Tasks</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Kudu relies on running background tasks for many important automatic
+maintenance activities. These tasks include flushing data from memory to disk,
+compacting data to improve performance, freeing up disk space, and more.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_maintenance_manager"><a class="link" href="#_maintenance_manager">Maintenance manager</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maintenance manager schedules and runs background tasks. At any given point
+in time, the maintenance manager is prioritizing the next task based on the
+improvement needed at that moment, such as relieving memory pressure, improving
+read performance, or freeing up disk space. The number of worker threads
+dedicated to running background tasks can be controlled by setting
+<code>--maintenance_manager_num_threads</code>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_flushing_data_to_disk"><a class="link" href="#_flushing_data_to_disk">Flushing data to disk</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Flushing data from memory to disk relieves memory pressure and can improve read
+performance by switching from a write-optimized, row-oriented in-memory format
+in the <code>MemRowSet</code> to a read-optimized, column-oriented format on disk.
+Background tasks that flush data include <code>FlushMRSOp</code> and
+<code>FlushDeltaMemStoresOp</code>.</p>
+</div>
+<div class="paragraph">
+<p>The metrics associated with these ops have the prefix <code>flush_mrs</code> and
+<code>flush_dms</code>, respectively.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_compacting_on_disk_data"><a class="link" href="#_compacting_on_disk_data">Compacting on-disk data</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu constantly performs several types of compaction tasks in order to maintain
+consistent read and write performance over time. A merging compaction, which combines
+multiple <code>DiskRowSets</code> together into a single <code>DiskRowSet</code>, is run by
+<code>CompactRowSetsOp</code>. There are two types of delta store compaction operations
+that may be run as well: <code>MinorDeltaCompactionOp</code> and <code>MajorDeltaCompactionOp</code>.</p>
+</div>
+<div class="paragraph">
+<p>For more information on what these different types of compaction operations do,
+please see the
+<a href="https://github.com/apache/kudu/blob/master/docs/design-docs/tablet.md">Kudu Tablet
+design document</a>.</p>
+</div>
+<div class="paragraph">
+<p>The metrics associated with these tasks have the prefix <code>compact_rs</code>,
+<code>delta_minor_compact_rs</code>, and <code>delta_major_compact_rs</code>, respectively.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_write_ahead_log_gc"><a class="link" href="#_write_ahead_log_gc">Write-ahead log GC</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu maintains a write-ahead log (WAL) per tablet that is split into discrete
+fixed-size segments. A tablet periodically rolls the WAL to a new log segment
+when the active segment reaches a configured size (controlled by
+<code>--log_segment_size_mb</code>). In order to save disk space and decrease startup
+time, a background task called <code>LogGCOp</code> attempts to garbage-collect (GC) old
+WAL segments by deleting them from disk once it is determined that they are no
+longer needed by the local node for durability.</p>
+</div>
+<div class="paragraph">
+<p>The metrics associated with this background task have the prefix <code>log_gc</code>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tablet_history_gc_and_the_ancient_history_mark"><a class="link" href="#_tablet_history_gc_and_the_ancient_history_mark">Tablet history GC and the ancient history mark</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Because Kudu uses a multiversion concurrency control (MVCC) mechanism to
+ensure that snapshot scans can proceeed isolated from new changes to a table,
+periodically old historical data should be garbage-collected (removed) to free
+up disk space. While Kudu never removes rows or data that are visible in the
+latest version of the data, Kudu does remove records of old changes that are no
+longer visible.</p>
+</div>
+<div class="paragraph">
+<p>The point in time in the past beyond which historical MVCC data becomes
+inaccessible and is free to be deleted is called the <em>ancient history mark</em>
+(AHM). The AHM can be configured by setting <code>--tablet_history_max_age_sec</code>.</p>
+</div>
+<div class="paragraph">
+<p>There are two background tasks that GC historical MVCC data older than the AHM:
+the one that runs the merging compaction, called <code>CompactRowSetsOp</code> (see
+above), and a separate background task that deletes old undo delta blocks,
+called <code>UndoDeltaBlockGCOp</code>. Running <code>UndoDeltaBlockGCOp</code> reduces disk space
+usage in all workloads, but particularly in those with a higher volume of
+updates or upserts.</p>
+</div>
+<div class="paragraph">
+<p>The metrics associated with this background task have the prefix
+<code>undo_delta_block</code>.</p>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+<span class="active-toc">Background Maintenance Tasks</span>
+            <ul class="sectlevel1">
+<li><a href="#_maintenance_manager">Maintenance manager</a></li>
+<li><a href="#_flushing_data_to_disk">Flushing data to disk</a></li>
+<li><a href="#_compacting_on_disk_data">Compacting on-disk data</a></li>
+<li><a href="#_write_ahead_log_gc">Write-ahead log GC</a></li>
+<li><a href="#_tablet_history_gc_and_the_ancient_history_mark">Tablet history GC and the ancient history mark</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/command_line_tools.html b/releases/1.15.0/docs/command_line_tools.html
new file mode 100644
index 0000000..31bb46a
--- /dev/null
+++ b/releases/1.15.0/docs/command_line_tools.html
@@ -0,0 +1,7077 @@
+<!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 - Command Hierarchy</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Command Hierarchy</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#cluster-rebalance">rebalance</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#diagnose">diagnose</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#diagnose-parse_stacks">parse_stacks</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#fs">fs</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#fs-check">check</a></p>
+</li>
+<li>
+<p><a href="#fs-format">format</a></p>
+</li>
+<li>
+<p><a href="#fs-list">list</a></p>
+</li>
+<li>
+<p><a href="#fs-update_dirs">update_dirs</a></p>
+</li>
+<li>
+<p><a href="#fs-dump">dump</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#dump-block">block</a></p>
+</li>
+<li>
+<p><a href="#dump-cfile">cfile</a></p>
+</li>
+<li>
+<p><a href="#dump-tree">tree</a></p>
+</li>
+<li>
+<p><a href="#dump-uuid">uuid</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#hms">hms</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#hms-check">check</a></p>
+</li>
+<li>
+<p><a href="#hms-downgrade">downgrade</a></p>
+</li>
+<li>
+<p><a href="#hms-fix">fix</a></p>
+</li>
+<li>
+<p><a href="#hms-list">list</a></p>
+</li>
+<li>
+<p><a href="#hms-precheck">precheck</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#local_replica">local_replica</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#local_replica-copy_from_remote">copy_from_remote</a></p>
+</li>
+<li>
+<p><a href="#local_replica-data_size">data_size</a></p>
+</li>
+<li>
+<p><a href="#local_replica-delete">delete</a></p>
+</li>
+<li>
+<p><a href="#local_replica-list">list</a></p>
+</li>
+<li>
+<p><a href="#local_replica-cmeta">cmeta</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#cmeta-print_replica_uuids">print_replica_uuids</a></p>
+</li>
+<li>
+<p><a href="#cmeta-rewrite_raft_config">rewrite_raft_config</a></p>
+</li>
+<li>
+<p><a href="#cmeta-set_term">set_term</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#local_replica-dump">dump</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#dump-block_ids">block_ids</a></p>
+</li>
+<li>
+<p><a href="#dump-data_dirs">data_dirs</a></p>
+</li>
+<li>
+<p><a href="#dump-meta">meta</a></p>
+</li>
+<li>
+<p><a href="#dump-rowset">rowset</a></p>
+</li>
+<li>
+<p><a href="#dump-wals">wals</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#master">master</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#master-dump_memtrackers">dump_memtrackers</a></p>
+</li>
+<li>
+<p><a href="#master-get_flags">get_flags</a></p>
+</li>
+<li>
+<p><a href="#master-run">run</a></p>
+</li>
+<li>
+<p><a href="#master-set_flag">set_flag</a></p>
+</li>
+<li>
+<p><a href="#master-status">status</a></p>
+</li>
+<li>
+<p><a href="#master-timestamp">timestamp</a></p>
+</li>
+<li>
+<p><a href="#master-list">list</a></p>
+</li>
+<li>
+<p><a href="#master-add">add</a></p>
+</li>
+<li>
+<p><a href="#master-remove">remove</a></p>
+</li>
+<li>
+<p><a href="#master-authz_cache">authz_cache</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#authz_cache-refresh">refresh</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#pbc">pbc</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#pbc-dump">dump</a></p>
+</li>
+<li>
+<p><a href="#pbc-edit">edit</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#perf">perf</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#perf-loadgen">loadgen</a></p>
+</li>
+<li>
+<p><a href="#perf-table_scan">table_scan</a></p>
+</li>
+<li>
+<p><a href="#perf-tablet_scan">tablet_scan</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#remote_replica">remote_replica</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#remote_replica-check">check</a></p>
+</li>
+<li>
+<p><a href="#remote_replica-copy">copy</a></p>
+</li>
+<li>
+<p><a href="#remote_replica-delete">delete</a></p>
+</li>
+<li>
+<p><a href="#remote_replica-dump">dump</a></p>
+</li>
+<li>
+<p><a href="#remote_replica-list">list</a></p>
+</li>
+<li>
+<p><a href="#remote_replica-unsafe_change_config">unsafe_change_config</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#table">table</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#table-add_range_partition">add_range_partition</a></p>
+</li>
+<li>
+<p><a href="#table-column_remove_default">column_remove_default</a></p>
+</li>
+<li>
+<p><a href="#table-column_set_block_size">column_set_block_size</a></p>
+</li>
+<li>
+<p><a href="#table-column_set_compression">column_set_compression</a></p>
+</li>
+<li>
+<p><a href="#table-column_set_default">column_set_default</a></p>
+</li>
+<li>
+<p><a href="#table-column_set_encoding">column_set_encoding</a></p>
+</li>
+<li>
+<p><a href="#table-column_set_comment">column_set_comment</a></p>
+</li>
+<li>
+<p><a href="#table-copy">copy</a></p>
+</li>
+<li>
+<p><a href="#table-create">create</a></p>
+</li>
+<li>
+<p><a href="#table-delete_column">delete_column</a></p>
+</li>
+<li>
+<p><a href="#table-delete">delete</a></p>
+</li>
+<li>
+<p><a href="#table-describe">describe</a></p>
+</li>
+<li>
+<p><a href="#table-drop_range_partition">drop_range_partition</a></p>
+</li>
+<li>
+<p><a href="#table-get_extra_configs">get_extra_configs</a></p>
+</li>
+<li>
+<p><a href="#table-list">list</a></p>
+</li>
+<li>
+<p><a href="#table-locate_row">locate_row</a></p>
+</li>
+<li>
+<p><a href="#table-rename_column">rename_column</a></p>
+</li>
+<li>
+<p><a href="#table-rename_table">rename_table</a></p>
+</li>
+<li>
+<p><a href="#table-scan">scan</a></p>
+</li>
+<li>
+<p><a href="#table-set_extra_config">set_extra_config</a></p>
+</li>
+<li>
+<p><a href="#table-statistics">statistics</a></p>
+</li>
+<li>
+<p><a href="#table-set_limit">set_limit</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#set_limit-disk_size">disk_size</a></p>
+</li>
+<li>
+<p><a href="#set_limit-row_count">row_count</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#tablet">tablet</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#tablet-leader_step_down">leader_step_down</a></p>
+</li>
+<li>
+<p><a href="#tablet-unsafe_replace_tablet">unsafe_replace_tablet</a></p>
+</li>
+<li>
+<p><a href="#tablet-change_config">change_config</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#change_config-add_replica">add_replica</a></p>
+</li>
+<li>
+<p><a href="#change_config-change_replica_type">change_replica_type</a></p>
+</li>
+<li>
+<p><a href="#change_config-move_replica">move_replica</a></p>
+</li>
+<li>
+<p><a href="#change_config-remove_replica">remove_replica</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#test">test</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#test-mini_cluster">mini_cluster</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#txn">txn</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#txn-list">list</a></p>
+</li>
+<li>
+<p><a href="#txn-show">show</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#tserver">tserver</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#tserver-dump_memtrackers">dump_memtrackers</a></p>
+</li>
+<li>
+<p><a href="#tserver-get_flags">get_flags</a></p>
+</li>
+<li>
+<p><a href="#tserver-run">run</a></p>
+</li>
+<li>
+<p><a href="#tserver-set_flag">set_flag</a></p>
+</li>
+<li>
+<p><a href="#tserver-status">status</a></p>
+</li>
+<li>
+<p><a href="#tserver-timestamp">timestamp</a></p>
+</li>
+<li>
+<p><a href="#tserver-list">list</a></p>
+</li>
+<li>
+<p><a href="#tserver-quiesce">quiesce</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#quiesce-status">status</a></p>
+</li>
+<li>
+<p><a href="#quiesce-start">start</a></p>
+</li>
+<li>
+<p><a href="#quiesce-stop">stop</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#tserver-state">state</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#state-enter_maintenance">enter_maintenance</a></p>
+</li>
+<li>
+<p><a href="#state-exit_maintenance">exit_maintenance</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#wal">wal</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#wal-dump">dump</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<h1 id="_command_details" class="sect0"><a class="link" href="#_command_details">Command Details</a></h1>
+<div class="sect1">
+<h2 id="cluster"><a class="link" href="#cluster"><code>cluster</code>: Operate on a Kudu cluster</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="cluster-ksck"><a class="link" href="#cluster-ksck"><code>ksck</code>: Check the health of a Kudu cluster&#160;</a></h3>
+<div class="paragraph">
+<p>By default, ksck checks that master and tablet server processes are running, and that table metadata is consistent. Use the 'checksum' flag to check that tablet data is consistent (also see the 'tables' and 'tablets' flags). Use the 'checksum_snapshot' along with 'checksum' if the table or tablets are actively receiving inserts or updates. Use the 'ksck_format' flag to output detailed information on cluster status even if no inconsistency is found in metadata.<br>
+<strong>Usage:</strong><br>
+<code>kudu cluster ksck &lt;master_addresses&gt; [-checksum_cache_blocks] [-checksum_scan] [-checksum_scan_concurrency=&lt;concurrency&gt;] [-nochecksum_snapshot] [-checksum_timeout_sec=&lt;sec&gt;] [-color=&lt;color&gt;] [-noconsensus] [-fetch_info_concurrency=&lt;concurrency&gt;] [-flags_categories_to_check=&lt;check&gt;] [-ksck_format=&lt;format&gt;] [-noquiescing_info] [-sections=&lt;sections&gt;] [-tables=&lt;tables&gt;] [-tablets=&lt;tablets&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">checksum_cache_blocks (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Should the checksum scanners cache the read blocks.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">checksum_scan (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Perform a checksum scan on data in the cluster.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">checksum_scan_concurrency (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of concurrent checksum scans to execute per tablet server.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>4</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">checksum_snapshot (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Should the checksum scanner use a snapshot scan?</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">checksum_timeout_sec (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum total seconds to wait for a checksum scan to complete before timing out.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>86400</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">color (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether output should be colorized. The default value 'auto' colorizes output if the output is a terminal. The other valid values are 'always' or 'never'.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>auto</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">consensus (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to check the consensus state from each tablet against the master.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fetch_info_concurrency (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads to fetch info concurrently.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>20</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flags_categories_to_check (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of flag categories to check for divergence across the cluster; default is time_source; available categories are time_source, unusual.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>time_source</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ksck_format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Output format for ksck. Available options are 'plain_concise', 'plain_full', 'json_pretty', and 'json_compact'.
+'plain_concise' format is plain text, omitting most information about healthy tablets.
+'plain_full' is plain text with all results included.
+'json_pretty' produces pretty-printed json.
+'json_compact' produces json suitable for parsing by other programs.
+'json_pretty' and 'json_compact' differ in format, not content.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>plain_concise</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">quiescing_info (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to display the quiescing-related information of each tablet server, e.g. number of tablet leaders per server, the number of active scanners per server.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sections (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Sections to print (comma-separated list of sections, available sections are: MASTER_SUMMARIES, TSERVER_SUMMARIES, VERSION_SUMMARIES, TABLET_SUMMARIES, TABLE_SUMMARIES, SYSTEM_TABLE_SUMMARIES, CHECKSUM_RESULTS and TOTAL_COUNT.) If not specified, print all sections.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>*</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tables to include (comma-separated list of table names)If not specified, includes all tables.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="cluster-rebalance"><a class="link" href="#cluster-rebalance"><code>rebalance</code>: Move tablet replicas between tablet servers to balance replica counts for each table and for the cluster as a whole.&#160;</a></h3>
+<div class="paragraph">
+<p>The rebalancing tool moves tablet replicas between tablet servers, in the same manner as the 'kudu tablet change_config move_replica' command, attempting to balance the count of replicas per table on each tablet server, and after that attempting to balance the total number of replicas per tablet server.<br>
+<strong>Usage:</strong><br>
+<code>kudu cluster rebalance &lt;master_addresses&gt; [-disable_cross_location_rebalancing] [-disable_intra_location_rebalancing] [-disable_policy_fixer] [-fetch_info_concurrency=&lt;concurrency&gt;] [-ignored_tservers=&lt;tservers&gt;] [-load_imbalance_threshold=&lt;threshold&gt;] [-max_moves_per_server=&lt;server&gt;] [-max_run_time_sec=&lt;sec&gt;] [-max_staleness_interval_sec=&lt;sec&gt;] [-move_replicas_from_ignored_tservers] [-move_single_replicas=&lt;replicas&gt;] [-output_replica_distribution_details] [-report_only] [-tables=&lt;tables&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">disable_cross_location_rebalancing (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">In case of multi-location cluster, whether to move tablet replicas between locations in attempt to spread tablet replicas among location evenly (equalizing loads of locations throughout the cluster). This setting is applicable to multi-location clusters only.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">disable_intra_location_rebalancing (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">In case of multi-location cluster, whether to rebalance tablet replica distribution within each location. This setting is applicable to multi-location clusters only.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">disable_policy_fixer (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">In case of multi-location cluster, whether to detect and fix placement policy violations. Fixing placement policy violations involves moving tablet replicas across different locations of the cluster. This setting is applicable to multi-location clusters only.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fetch_info_concurrency (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads to fetch info concurrently.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>20</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ignored_tservers (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUIDs of tablet servers to ignore while rebalancing the cluster (comma-separated list). If specified, the tablet servers are effectively ignored by the rebalancer tool, they are not considered as a part of the cluster as well as the replicas on them. If not specified, the rebalancer tool will run on all the tablet servers in the cluster.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">load_imbalance_threshold (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table&#8217;s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, &#8230;&#8203;) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">double</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">max_moves_per_server (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move operations.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uint32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>5</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">max_run_time_sec (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum time to run the rebalancing, in seconds. Specifying 0 means not imposing any limit on the rebalancing run time.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">max_staleness_interval_sec (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum duration of the 'staleness' interval, when the rebalancer cannot make any progress in scheduling new moves and no prior scheduled moves are left, even if re-synchronizing against the cluster&#8217;s state again and again. Such a staleness usually happens in case of a persistent problem with the cluster or when some unexpected concurrent activity is present (such as automatic recovery of failed replicas, etc.)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uint32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>300</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">move_replicas_from_ignored_tservers (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to move replicas from the specified 'ignored_tservers' to other servers when the source tablet server is healthy. This setting is effective only if the '--ignored_tservers' flag is specified as well. If set true, then all ignored tablet servers must be placed into the 'maintenance mode'.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">move_single_replicas (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to move single replica tablets (i.e. replicas of tablets of replication factor 1). Acceptable values are: 'auto', 'enabled', 'disabled'. The value of 'auto' means turn it on/off depending on the replica management scheme and Kudu version.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>auto</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">output_replica_distribution_details (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to output details on per-table and per-server replica distribution</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">report_only (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to report on table- and cluster-wide replica distribution skew and exit without doing any actual rebalancing</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tables to include (comma-separated list of table names)If not specified, includes all tables.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="diagnose"><a class="link" href="#diagnose"><code>diagnose</code>: Diagnostic tools for Kudu servers and clusters</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="diagnose-parse_stacks"><a class="link" href="#diagnose-parse_stacks"><code>parse_stacks</code>: Parse sampled stack traces out of a diagnostics log&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu diagnose parse_stacks &lt;path&gt;&#8230;&#8203;</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path&#8230;&#8203;</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Path(s) to log file(s) to parse, separated by a whitespace, if many</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="fs"><a class="link" href="#fs"><code>fs</code>: Operate on a local Kudu filesystem</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="fs-check"><a class="link" href="#fs-check"><code>check</code>: Check a Kudu filesystem for inconsistencies&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu fs check [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-repair]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">repair (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Repair any inconsistencies in the filesystem.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="fs-format"><a class="link" href="#fs-format"><code>format</code>: Format a new Kudu filesystem&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu fs format [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-uuid=&lt;uuid&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uuid (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The uuid to use in the filesystem. If not provided, one is generated</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="fs-list"><a class="link" href="#fs-list"><code>list</code>: List metadata for on-disk tablets, rowsets, blocks, and cfiles&#160;</a></h3>
+<div class="paragraph">
+<p>This tool is useful for discovering and gathering information about on-disk data. Many field types can be added to the results with the --columns flag, and results can be filtered to a specific table, tablet, rowset, column, or block through flags.</p>
+</div>
+<div class="paragraph">
+<p>Note: adding any of the 'cfile' fields to --columns will cause the tool to read on-disk metadata for each CFile in the result set, which could require large amounts of I/O when many results are returned.<br>
+<strong>Usage:</strong><br>
+<code>kudu fs list [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-table_id=&lt;id&gt;] [-table_name=&lt;name&gt;] [-tablet_id=&lt;id&gt;] [-rowset_id=&lt;id&gt;] [-column_id=&lt;id&gt;] [-block_id=&lt;id&gt;] [-columns=&lt;columns&gt;] [-format=&lt;format&gt;] [-noh]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific table by id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific table by name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific tablet</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rowset_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific rowset</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific block</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uint64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of fields to include in output.
+Possible values: table, table-id, tablet-id, partition, rowset-id, block-id, block-kind, column, column-id, cfile-data-type, cfile-nullable, cfile-encoding, cfile-compression, cfile-num-values, cfile-size, cfile-incompatible-features, cfile-compatible-features, cfile-min-key, cfile-max-key, cfile-delta-stats</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>tablet-id, rowset-id, block-id, block-kind</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">h (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pretty-print values in human-readable units</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="fs-update_dirs"><a class="link" href="#fs-update_dirs"><code>update_dirs</code>: Updates the set of data directories in an existing Kudu filesystem&#160;</a></h3>
+<div class="paragraph">
+<p>If a data directory is in use by a tablet and is removed, the operation will fail unless --force is also used. Starting with Kudu 1.12.0, it is not required to run this tool to add or remove directories. This tool is preserved for backwards compatibility<br>
+<strong>Usage:</strong><br>
+<code>kudu fs update_dirs [-force] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">force (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, permits the removal of a data directory that is configured for use by existing tablets. Those tablets will fail the next time the server is started</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="fs-dump"><a class="link" href="#fs-dump"><code>dump</code>: Dump a Kudu filesystem</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="dump-block"><a class="link" href="#dump-block"><code>block</code>: Dump the binary contents of a data block&#160;</a></h4>
+<div class="paragraph">
+<p>This performs no parsing or interpretation of the data stored in the block but rather outputs its binary contents directly.<br>
+<strong>Usage:</strong><br>
+<code>kudu fs dump block &lt;block_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="dump-cfile"><a class="link" href="#dump-cfile"><code>cfile</code>: Dump the contents of a CFile (column file)&#160;</a></h4>
+<div class="paragraph">
+<p>This interprets the contents of a CFile-formatted block and outputs the decoded row data.<br>
+<strong>Usage:</strong><br>
+<code>kudu fs dump cfile &lt;block_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-noprint_meta] [-noprint_rows]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">print_meta (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Include metadata in output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">print_rows (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Print each row in the CFile</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="dump-tree"><a class="link" href="#dump-tree"><code>tree</code>: Dump the tree of a Kudu filesystem&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu fs dump tree [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="dump-uuid"><a class="link" href="#dump-uuid"><code>uuid</code>: Dump the UUID of a Kudu filesystem&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu fs dump uuid [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="hms"><a class="link" href="#hms"><code>hms</code>: Operate on remote Hive Metastores</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="hms-check"><a class="link" href="#hms-check"><code>check</code>: Check metadata consistency between Kudu and the Hive Metastore catalogs&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu hms check &lt;master_addresses&gt; [-hive_metastore_sasl_enabled] [-hive_metastore_uris=&lt;uris&gt;] [-noignore_other_clusters] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hive_metastore_sasl_enabled (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Only takes effect when --hive_metastore_uris is set, otherwise the configuration from the Kudu master is used. The configured value must match the the hive.metastore.sasl.enabled option in the Hive Metastore configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hive_metastore_uris (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of the Hive Metastore instance(s). If not set, the configuration from the Kudu master is used, so this flag should not be overriden in typical situations. The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. The configured value must match the Hive hive.metastore.uris configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ignore_other_clusters (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to ignore entirely separate Kudu clusters, as indicated by a different set of master addresses.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hms-downgrade"><a class="link" href="#hms-downgrade"><code>downgrade</code>: Downgrade the metadata to legacy format for Kudu and the Hive Metastores&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu hms downgrade &lt;master_addresses&gt; [-hive_metastore_sasl_enabled] [-hive_metastore_uris=&lt;uris&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hive_metastore_sasl_enabled (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Only takes effect when --hive_metastore_uris is set, otherwise the configuration from the Kudu master is used. The configured value must match the the hive.metastore.sasl.enabled option in the Hive Metastore configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hive_metastore_uris (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of the Hive Metastore instance(s). If not set, the configuration from the Kudu master is used, so this flag should not be overriden in typical situations. The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. The configured value must match the Hive hive.metastore.uris configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hms-fix"><a class="link" href="#hms-fix"><code>fix</code>: Fix automatically-repairable metadata inconsistencies in the Kudu and Hive Metastore catalogs&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu hms fix &lt;master_addresses&gt; [-dryrun] [-drop_orphan_hms_tables] [-nocreate_missing_hms_tables] [-nofix_inconsistent_tables] [-noupgrade_hms_tables] [-hive_metastore_sasl_enabled] [-hive_metastore_uris=&lt;uris&gt;] [-noignore_other_clusters] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dryrun (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Print a message for each fix, but do not make modifications to Kudu or the Hive Metastore.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">drop_orphan_hms_tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Drop orphan Hive Metastore tables which refer to non-existent Kudu tables.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">create_missing_hms_tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Create a Hive Metastore table for each Kudu table which is missing one.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fix_inconsistent_tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Fix tables whose Kudu and Hive Metastore metadata differ. If the table name is different, the table is renamed in Kudu to match the HMS. If the columns or other metadata is different the HMS is updated to match Kudu.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">upgrade_hms_tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Upgrade Hive Metastore tables from the legacy Impala metadata format to the new Kudu metadata format.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hive_metastore_sasl_enabled (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Only takes effect when --hive_metastore_uris is set, otherwise the configuration from the Kudu master is used. The configured value must match the the hive.metastore.sasl.enabled option in the Hive Metastore configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hive_metastore_uris (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of the Hive Metastore instance(s). If not set, the configuration from the Kudu master is used, so this flag should not be overriden in typical situations. The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. The configured value must match the Hive hive.metastore.uris configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ignore_other_clusters (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to ignore entirely separate Kudu clusters, as indicated by a different set of master addresses.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hms-list"><a class="link" href="#hms-list"><code>list</code>: List the Kudu table HMS entries&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu hms list &lt;master_addresses&gt; [-columns=&lt;columns&gt;] [-format=&lt;format&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of HMS entry fields to include in output.
+Possible values: database, table, type, owner, comment, kudu.table_name, kudu.table_id, kudu.cluster_id, kudu.master_addresses, storage_handler</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>database,table,type,kudu.table_name</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hms-precheck"><a class="link" href="#hms-precheck"><code>precheck</code>: Check that the Kudu cluster is prepared to enable the Hive Metastore integration&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu hms precheck &lt;master_addresses&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="local_replica"><a class="link" href="#local_replica"><code>local_replica</code>: Operate on local tablet replicas via the local filesystem</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="local_replica-copy_from_remote"><a class="link" href="#local_replica-copy_from_remote"><code>copy_from_remote</code>: Copy a tablet replica from a remote server&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica copy_from_remote &lt;tablet_id&gt; &lt;source&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-tablet_copy_download_threads_nums_per_session=&lt;session&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">source</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Source RPC address of form hostname:port</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_copy_download_threads_nums_per_session (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads per tablet copy session for downloading tablet data blocks.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>4</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="local_replica-data_size"><a class="link" href="#local_replica-data_size"><code>data_size</code>: Summarize the data size/space usage of the given local replica(s).&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica data_size &lt;tablet_id_pattern&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-format=&lt;format&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id_pattern</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet identifier pattern. This argument supports basic glob syntax: '*' matches 0 or more wildcard characters.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="local_replica-delete"><a class="link" href="#local_replica-delete"><code>delete</code>: Delete tablet replicas from the local filesystem. By default, leaves a tombstone record upon replica removal.&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica delete &lt;tablet_ids&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-clean_unsafe] [-ignore_nonexistent]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_ids</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of Tablet Identifiers</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">clean_unsafe (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Delete the local replica completely, not leaving a tombstone. This is not guaranteed to be safe because it also removes the consensus metadata (including Raft voting record) for the specified tablet, which violates the Raft vote durability requirements.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ignore_nonexistent (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to ignore non-existent tablet replicas when deleting: if set to 'true', the tool does not report an error if the requested tablet replica to remove is not found</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="local_replica-list"><a class="link" href="#local_replica-list"><code>list</code>: Show list of tablet replicas in the local filesystem&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica list [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-list_detail]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list_detail (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Print partition info for the local replicas</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="local_replica-cmeta"><a class="link" href="#local_replica-cmeta"><code>cmeta</code>: Operate on a local tablet replica&#8217;s consensus metadata file</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="cmeta-print_replica_uuids"><a class="link" href="#cmeta-print_replica_uuids"><code>print_replica_uuids</code>: Print all tablet replica peer UUIDs found in a tablet&#8217;s Raft configuration&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica cmeta print_replica_uuids &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="cmeta-rewrite_raft_config"><a class="link" href="#cmeta-rewrite_raft_config"><code>rewrite_raft_config</code>: Rewrite a tablet replica&#8217;s Raft configuration&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica cmeta rewrite_raft_config &lt;tablet_id&gt; &lt;peers&gt;&#8230;&#8203; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">peers&#8230;&#8203;</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">List of peers where each element is of form 'uuid:hostname:port', with elements of the list separated by a whitespace</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="cmeta-set_term"><a class="link" href="#cmeta-set_term"><code>set_term</code>: Bump the current term stored in consensus metadata&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica cmeta set_term &lt;tablet_id&gt; &lt;term&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">term</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">the new raft term (must be greater than the current term)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="local_replica-dump"><a class="link" href="#local_replica-dump"><code>dump</code>: Dump a Kudu filesystem</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="dump-block_ids"><a class="link" href="#dump-block_ids"><code>block_ids</code>: Dump the IDs of all blocks belonging to a local replica&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica dump block_ids &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="dump-data_dirs"><a class="link" href="#dump-data_dirs"><code>data_dirs</code>: Dump the data directories where the replica&#8217;s data is stored&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica dump data_dirs &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="dump-meta"><a class="link" href="#dump-meta"><code>meta</code>: Dump the metadata of a local replica&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica dump meta &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="dump-rowset"><a class="link" href="#dump-rowset"><code>rowset</code>: Dump the rowset contents of a local replica&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica dump rowset &lt;tablet_id&gt; [-nodump_all_columns] [-nodump_metadata] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-nrows=&lt;nrows&gt;] [-rowset_index=&lt;index&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dump_all_columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, dumped rows include all of the columns in the rowset. If false, dumped rows include just the key columns (in a comparable format).</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dump_metadata (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, dumps rowset metadata before dumping data. If false, only dumps the data.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">nrows (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of rows to dump. If negative, dumps all rows.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rowset_index (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Index of the rowset in local replica, default value(-1) will dump all the rowsets of the local replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="dump-wals"><a class="link" href="#dump-wals"><code>wals</code>: Dump all WAL (write-ahead log) segments of a local replica&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica dump wals &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-print_entries=&lt;entries&gt;] [-noprint_meta] [-truncate_data=&lt;data&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">print_entries (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">How to print entries:
+  false|0|no = don&#8217;t print
+  true|1|yes|decoded = print them decoded
+  pb = print the raw protobuf
+  id = print only their ids</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>decoded</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">print_meta (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Include metadata in output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">truncate_data (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Truncate the data fields to the given number of bytes before printing. Set to 0 to disable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>100</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="master"><a class="link" href="#master"><code>master</code>: Operate on a Kudu Master</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="master-dump_memtrackers"><a class="link" href="#master-dump_memtrackers"><code>dump_memtrackers</code>: Dump the memtrackers from a Kudu Master&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master dump_memtrackers &lt;master_address&gt; [-format=&lt;format&gt;] [-memtracker_output=&lt;output&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">memtracker_output (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">One of 'json', 'json_compact' or 'table'. Table output flattens the memtracker hierarchy.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>table</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="master-get_flags"><a class="link" href="#master-get_flags"><code>get_flags</code>: Get the gflags for a Kudu Master&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master get_flags &lt;master_address&gt; [-all_flags] [-flags=&lt;flags&gt;] [-flag_tags=&lt;tags&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">all_flags (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to return all flags, or only flags that were explicitly set.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flags (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of flags used to restrict which flags are returned. An empty value means no restriction. If non-empty, all_flags is ignored.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flag_tags (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of tags used to restrict which flags are returned. An empty value matches all tags</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="master-run"><a class="link" href="#master-run"><code>run</code>: Run a Kudu Master&#160;</a></h3>
+<div class="paragraph">
+<p>Note: The master server is started in this process and runs until interrupted.</p>
+</div>
+<div class="paragraph">
+<p>The most common configuration flags are described below. For all the configuration options pass --helpfull or see <a href="https://kudu.apache.org/docs/configuration_reference.html#kudu-master_supported" class="bare">https://kudu.apache.org/docs/configuration_reference.html#kudu-master_supported</a><br>
+<strong>Usage:</strong><br>
+<code>kudu master run [-master_addresses=&lt;addresses&gt;] [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-log_dir=&lt;dir&gt;] [-logtostderr]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of the RPC addresses belonging to all Masters in this cluster. NOTE: if not specified or a single address is specified, configures a non-replicated Master.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If specified, logfiles are written into this directory instead of the default logging directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">logtostderr (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log messages go to stderr instead of logfiles</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="master-set_flag"><a class="link" href="#master-set_flag"><code>set_flag</code>: Change a gflag value on a Kudu Master&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master set_flag &lt;master_address&gt; &lt;flag&gt; &lt;value&gt; [-force] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flag</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the gflag</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">New value for the gflag</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">force (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, allows the set_flag command to set a flag which is not explicitly marked as runtime-settable. Such flag changes may be simply ignored on the server, or may cause the server to crash.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="master-status"><a class="link" href="#master-status"><code>status</code>: Get the status of a Kudu Master&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master status &lt;master_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="master-timestamp"><a class="link" href="#master-timestamp"><code>timestamp</code>: Get the current timestamp of a Kudu Master&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master timestamp &lt;master_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="master-list"><a class="link" href="#master-list"><code>list</code>: List masters in a Kudu cluster&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master list &lt;master_addresses&gt; [-columns=&lt;columns&gt;] [-format=&lt;format&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of master info fields to include in output.
+Possible values: uuid, cluster_idrpc-addresses, http-addresses, version, seqno, start_time, role and member_type</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>uuid,rpc-addresses,role</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="master-add"><a class="link" href="#master-add"><code>add</code>: Add a master to the Kudu cluster&#160;</a></h3>
+<div class="paragraph">
+<p>This is an advanced command that orchestrates the workflow to bring up and add a new master to the Kudu cluster. It must be run locally on the new master being added and not on the leader master. This tool shuts down the new master after completion of the command regardless of whether the new master addition is successful. After the command completes successfully, user is expected to explicitly start the new master using the same flags as supplied to this tool.</p>
+</div>
+<div class="paragraph">
+<p>Supply all the necessary flags to bring up the new master. The most common configuration flags used to bring up a master are described below. See "Kudu Configuration Reference" for all the configuration options that apply to a Kudu master.</p>
+</div>
+<div class="paragraph">
+<p>Please refer to the Kudu administration documentation on "Migrating to Multiple Kudu Masters" for the complete steps.<br>
+<strong>Usage:</strong><br>
+<code>kudu master add &lt;master_addresses&gt; &lt;master_address&gt; [-wait_secs=&lt;secs&gt;] [-kudu_abs_path=&lt;path&gt;] [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-log_dir=&lt;dir&gt;] [-logtostderr]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">wait_secs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout in seconds to wait while retrying operations like bringing up new master, running ksck, waiting for the new master to be promoted as VOTER, etc. This flag is not passed to the new master.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>64</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">kudu_abs_path (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Absolute file path of the 'kudu' executable used to bring up new master and other workflow steps. This flag is not passed to the new master.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If specified, logfiles are written into this directory instead of the default logging directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">logtostderr (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log messages go to stderr instead of logfiles</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="master-remove"><a class="link" href="#master-remove"><code>remove</code>: Remove a master from the Kudu cluster&#160;</a></h3>
+<div class="paragraph">
+<p>Removes a master from the Raft configuration of the Kudu cluster.</p>
+</div>
+<div class="paragraph">
+<p>Please refer to the Kudu administration documentation on "Removing Kudu Masters from a Multi-Master Deployment" or "Recovering from a dead Kudu Master in a Multi-Master Deployment" as appropriate.<br>
+<strong>Usage:</strong><br>
+<code>kudu master remove &lt;master_addresses&gt; &lt;master_address&gt; [-master_uuid=&lt;uuid&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_uuid (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Permanent UUID of the master. Only needed to disambiguate in case of multiple masters with same RPC address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="master-authz_cache"><a class="link" href="#master-authz_cache"><code>authz_cache</code>: Operate on the authz caches of the Kudu Masters</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="authz_cache-refresh"><a class="link" href="#authz_cache-refresh"><code>refresh</code>: Refresh the authorization policies&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master authz_cache refresh &lt;master_addresses&gt; [-force] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">force (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ignore mismatches of the specified and the actual lists of master addresses in the cluster</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="pbc"><a class="link" href="#pbc"><code>pbc</code>: Operate on PBC (protobuf container) files</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="pbc-dump"><a class="link" href="#pbc-dump"><code>dump</code>: Dump a PBC (protobuf container) file&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu pbc dump &lt;path&gt; [-debug] [-oneline] [-json]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path to PBC file</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Print extra debugging information about each protobuf</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">oneline (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Print each protobuf on a single line</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">json (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Print protobufs in JSON format</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="pbc-edit"><a class="link" href="#pbc-edit"><code>edit</code>: Edit a PBC (protobuf container) file&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu pbc edit &lt;path&gt; [-nobackup]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path to PBC file</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">backup (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Write a backup file</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="perf"><a class="link" href="#perf"><code>perf</code>: Measure the performance of a Kudu cluster</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="perf-loadgen"><a class="link" href="#perf-loadgen"><code>loadgen</code>: Run load generation with optional scan afterwards&#160;</a></h3>
+<div class="paragraph">
+<p>Run load generation tool which inserts auto-generated data into an existing or auto-created table as fast as possible. If requested, also scan the inserted rows to check whether the actual count of inserted rows matches the expected one.<br>
+<strong>Usage:</strong><br>
+<code>kudu perf loadgen &lt;master_addresses&gt; [-auto_database=&lt;database&gt;] [-buffer_flush_watermark_pct=&lt;pct&gt;] [-buffer_size_bytes=&lt;bytes&gt;] [-buffers_num=&lt;num&gt;] [-error_buffer_size_bytes=&lt;bytes&gt;] [-flush_per_n_rows=&lt;rows&gt;] [-keep_auto_table] [-num_rows_per_thread=&lt;thread&gt;] [-num_threads=&lt;threads&gt;] [-run_cleanup] [-run_scan] [-seq_start=&lt;start&gt;] [-show_first_n_errors=&lt;errors&gt;] [-string_fixed=&lt;fixed&gt;] [-string_len=&lt;len&gt;] [-table_name=&lt;name&gt;] [-table_num_hash_partitions=&lt;partitions&gt;] [-table_num_range_partitions=&lt;partitions&gt;] [-table_num_replicas=&lt;replicas&gt;] [-txn_start] [-txn_commit] [-txn_rollback] [-nouse_client_per_thread] [-use_random] [-use_random_pk] [-use_random_non_pk] [-use_upsert] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">auto_database (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The database in which to create the automatically generated table. If --table_name is set, this flag has no effect, since a table is not created. This flag is useful primarily when the Hive Metastore integration is enabled in the cluster. If empty, no database is used.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>default</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">buffer_flush_watermark_pct (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Mutation buffer flush watermark, in percentage of total size.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">double</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0.5</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">buffer_size_bytes (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Size of the mutation buffer, per session (bytes).</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>4194304</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">buffers_num (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of mutation buffers per session.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">error_buffer_size_bytes (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Size of the error buffer, per session (bytes). 0 means 'unlimited'. This setting may impose an additional upper limit for the effective number of errors controlled by the '--show_first_n_errors' flag.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>16777216</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flush_per_n_rows (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Perform async flush per given number of rows added. Setting to non-zero implicitly turns on manual flush mode.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">keep_auto_table (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If using the auto-generated table, enabling this option retains the table populated with the data after the test finishes. By default, the auto-generated table is dropped after successfully finishing the test. NOTE: this parameter has no effect if using already existing table (see the '--table_name' flag): neither the existing table nor its data is ever dropped/deleted.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">num_rows_per_thread (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of rows each thread generates and inserts; -1 means unlimited. All rows generated by a thread are inserted in the context of the same session.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">num_threads (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads to run. Each thread runs its own KuduSession.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">run_cleanup (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to run post-insertion deletion to reset the existing table as before.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">run_scan (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to run post-insertion scan to verify that the count of the inserted rows matches the expected number. If enabled, the scan is run only if no errors were encountered while inserting the generated rows.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seq_start (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Initial value for the generator in sequential mode. This is useful when running multiple times against already existing table: for every next run, set this flag to (num_threads * num_rows_per_thread * column_num + seq_start).</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uint64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">show_first_n_errors (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Output detailed information on the specified number of first n errors (if any). The limit on the per-session error buffer space may impose an additional upper limit for the effective number of errors in the output. If so, consider increasing the size of the error buffer using the '--error_buffer_size_bytes' flag.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string_fixed (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pre-defined string to write into binary and string columns. Client generates more data per second using pre-defined string compared with auto-generated strings of the same length if run with the same CPU/memory configuration. If left empty, then auto-generated strings of length specified by the '--string_len' parameter are used instead.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string_len (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Length of strings to put into string and binary columns. This parameter is not in effect if '--string_fixed' is specified.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>32</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of an existing table to use for the test. The test will determine the structure of the table schema and populate it with data accordingly. If left empty, the test automatically creates a table of pre-defined columnar structure with unique name and uses it to insert auto-generated data. The auto-created table is dropped upon successful completion of the test if not overridden by the '--keep_auto_table' flag. If running the test against an already existing table, it&#8217;s recommended to use a dedicated table created just for testing purposes: the tool doesn&#8217;t delete the rows it inserted into the table. Neither the existing table nor its data is ever dropped/deleted.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_num_hash_partitions (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number of hash partitions to create when this tool creates a new table. Note: The total number of partitions must be greater than 1.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>8</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_num_range_partitions (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number of range partitions to create when this tool creates a new table. A range partitioning schema will be determined to evenly split a sequential workload across ranges, leaving the outermost ranges unbounded to ensure coverage of the entire keyspace. Note: The total number of partitions must be greater than 1.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_num_replicas (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number of replicas for the auto-created table; 0 means 'use server-side default'.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_start (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the generated rows are inserted in the context of a multi-row transaction. For now, only supported if configured to insert rows (i.e. UPDATE and DELETE are not yet supported). Unless --txn_commit or --txn_rollback is specified, the started transaction is left 'as is' (i.e. neither commit, nor rollback is performed) once the tool completes its operations.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_commit (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to commit the multi-row transaction which contains all the inserted rows. Setting --txn_commit=true implies setting --txn_start=true as well.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_rollback (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to rollback the multi-row transaction which contains all the inserted rows. Setting --txn_rollback=true implies setting --txn_start=true as well.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">use_client_per_thread (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Use a separate KuduClient instance for each load-generating thread. This increases throughput by reducing contention on various Client internals.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">use_random (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to use random numbers instead of sequential ones for both primary keys and non-primary key columns. In case of using random numbers collisions are possible over the data for columns with unique constraint (e.g. primary key). This option has been deprecated, use '--use_random_pk' and/or '--use_random_non_pk' instead. If either '--use_random_pk' or '--use_random_non_pk' is specified with '--use_random' then this option will be ignored.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">use_random_pk (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to use random numbers instead of sequential ones for primary key columns. Using random numbers may cause collisions over primary key columns.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">use_random_non_pk (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to use random numbers instead of sequential ones for non-primary key columns.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">use_upsert (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to use UPSERT instead of INSERT to store the generated data into the table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="perf-table_scan"><a class="link" href="#perf-table_scan"><code>table_scan</code>: Show row count and scanning time cost of tablets in a table&#160;</a></h3>
+<div class="paragraph">
+<p>Show row count and scanning time of tablets in a table. This can be useful to check for row count skew across different tablets, or whether there is a long latency tail when scanning different tables.<br>
+<strong>Usage:</strong><br>
+<code>kudu perf table_scan &lt;master_addresses&gt; &lt;table_name&gt; [-columns=&lt;columns&gt;] [-nofill_cache] [-num_threads=&lt;threads&gt;] [-predicates=&lt;predicates&gt;] [-tablets=&lt;tablets&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to scan</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of column fields to include in output tables</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>uuid,rpc-addresses,role</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fill_cache (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to fill block cache when scanning.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">num_threads (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads to run. Each thread runs its own KuduSession.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">predicates (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Query predicates on columns. Unlike traditional SQL syntax, the scan tool&#8217;s simple query predicates are represented in a simple JSON syntax. Three types of predicates are supported, including 'Comparison', 'InList' and 'IsNull'.
+ * The 'Comparison' type support &#8656;, &lt;, =, &gt; and &gt;=,
+   which can be represented as '[operator, column_name, value]',
+   e.g. '["&gt;=", "col1", "value"]'
+ * The 'InList' type can be represented as
+   '["IN", column_name, [value1, value2, &#8230;&#8203;]]'
+   e.g. '["IN", "col2", ["value1", "value2"]]'
+ * The 'IsNull' type determine whether the value is NULL or not,
+   which can be represented as '[operator, column_name]'
+   e.g. '["NULL", "col1"]', or '["NOTNULL", "col2"]'
+Predicates can be combined together with predicate operators using the syntax
+   [operator, predicate, predicate, &#8230;&#8203;, predicate].
+For example,
+   ["AND", ["&gt;=", "col1", "value"], ["NOTNULL", "col2"]]
+The only supported predicate operator is <code>AND</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="perf-tablet_scan"><a class="link" href="#perf-tablet_scan"><code>tablet_scan</code>: Show row count of a local tablet&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu perf tablet_scan &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-num_iters=&lt;iters&gt;] [-ordered_scan]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">num_iters (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of times to run the scan.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ordered_scan (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to run an ordered or unordered scan.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="remote_replica"><a class="link" href="#remote_replica"><code>remote_replica</code>: Operate on remote tablet replicas on a Kudu Tablet Server</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="remote_replica-check"><a class="link" href="#remote_replica-check"><code>check</code>: Check if all tablet replicas on a Kudu tablet server are running. Tombstoned replica do not count as not running, because they are just records of the previous existence of a replica.&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu remote_replica check &lt;tserver_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="remote_replica-copy"><a class="link" href="#remote_replica-copy"><code>copy</code>: Copy a tablet replica from one Kudu Tablet Server to another&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu remote_replica copy &lt;tablet_id&gt; &lt;src_address&gt; &lt;dst_address&gt; [-force_copy] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">src_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dst_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">force_copy (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Force the copy when the destination tablet server has this replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="remote_replica-delete"><a class="link" href="#remote_replica-delete"><code>delete</code>: Delete a tablet replica from a Kudu Tablet Server&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu remote_replica delete &lt;tserver_address&gt; &lt;tablet_id&gt; &lt;reason&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">reason</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Reason for deleting the replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="remote_replica-dump"><a class="link" href="#remote_replica-dump"><code>dump</code>: Dump the data of a tablet replica on a Kudu Tablet Server&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu remote_replica dump &lt;tserver_address&gt; &lt;tablet_id&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="remote_replica-list"><a class="link" href="#remote_replica-list"><code>list</code>: List all tablet replicas on a Kudu Tablet Server&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu remote_replica list &lt;tserver_address&gt; [-noinclude_schema] [-table_name=&lt;name&gt;] [-tablets=&lt;tablets&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">include_schema (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to include the schema of each replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific table by name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of tablet IDs used to filter the list of replicas</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="remote_replica-unsafe_change_config"><a class="link" href="#remote_replica-unsafe_change_config"><code>unsafe_change_config</code>: Force the specified replica to adopt a new Raft config&#160;</a></h3>
+<div class="paragraph">
+<p>This tool is useful when a config change is necessary because a tablet cannot make progress with its current Raft configuration (e.g. to evict followers when a majority is unavailable).</p>
+</div>
+<div class="paragraph">
+<p>Note: The members of the new Raft config must be a subset of (or the same as) the members of the existing committed Raft config.<br>
+<strong>Usage:</strong><br>
+<code>kudu remote_replica unsafe_change_config &lt;tserver_address&gt; &lt;tablet_id&gt; &lt;peer uuids&gt;&#8230;&#8203; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">peer uuids&#8230;&#8203;</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">List of peer uuids to be part of new config, separated by whitespace</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="table"><a class="link" href="#table"><code>table</code>: Operate on Kudu tables</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="table-add_range_partition"><a class="link" href="#table-add_range_partition"><code>add_range_partition</code>: Add a range partition for table&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table add_range_partition &lt;master_addresses&gt; &lt;table_name&gt; &lt;table_range_lower_bound&gt; &lt;table_range_upper_bound&gt; [-lower_bound_type=&lt;type&gt;] [-upper_bound_type=&lt;type&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_range_lower_bound</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String representation of lower bound of the table range partition as a JSON array.If the parameter is an empty array, the lower range partition will be unbounded</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_range_upper_bound</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String representation of upper bound of the table range partition as a JSON array.If the parameter is an empty array, the upper range partition will be unbounded</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">lower_bound_type (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. This flag is case-insensitive.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>INCLUSIVE_BOUND</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">upper_bound_type (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The type of the upper bound, either inclusive or exclusive. Defaults to exclusive. This flag is case-insensitive.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>EXCLUSIVE_BOUND</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-column_remove_default"><a class="link" href="#table-column_remove_default"><code>column_remove_default</code>: Remove write_default value for a column&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table column_remove_default &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-column_set_block_size"><a class="link" href="#table-column_set_block_size"><code>column_set_block_size</code>: Set block size for a column&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table column_set_block_size &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; &lt;block_size&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block_size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Block size of the column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-column_set_compression"><a class="link" href="#table-column_set_compression"><code>column_set_compression</code>: Set compression type for a column&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table column_set_compression &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; &lt;compression_type&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">compression_type</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Compression type of the column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-column_set_default"><a class="link" href="#table-column_set_default"><code>column_set_default</code>: Set write_default value for a column&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table column_set_default &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; &lt;default_value&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">default_value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Write default value of the column, should be provided as a JSON array, e.g. [1] or ["foo"]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-column_set_encoding"><a class="link" href="#table-column_set_encoding"><code>column_set_encoding</code>: Set encoding type for a column&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table column_set_encoding &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; &lt;encoding_type&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">encoding_type</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Encoding type of the column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-column_set_comment"><a class="link" href="#table-column_set_comment"><code>column_set_comment</code>: Set comment for a column&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table column_set_comment &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; &lt;column_comment&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_comment</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comment of the column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-copy"><a class="link" href="#table-copy"><code>copy</code>: Copy table data to another table&#160;</a></h3>
+<div class="paragraph">
+<p>Copy table data to another table; the two tables could be in the same cluster or not. The two tables must have the same table schema, but could have different partition schemas. Alternatively, the tool can create the new table using the same table and partition schema as the source table.<br>
+<strong>Usage:</strong><br>
+<code>kudu table copy &lt;master_addresses&gt; &lt;table_name&gt; &lt;dest_master_addresses&gt; [-nocreate_table] [-dst_table=&lt;table&gt;] [-num_threads=&lt;threads&gt;] [-predicates=&lt;predicates&gt;] [-tablets=&lt;tablets&gt;] [-write_type=&lt;type&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the source table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dest_master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of destination Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">create_table (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to create the destination table if it doesn&#8217;t exist.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dst_table (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The name of the destination table the data will be copied to. If the empty string, use the same name as the source table.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">num_threads (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads to run. Each thread runs its own KuduSession.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">predicates (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Query predicates on columns. Unlike traditional SQL syntax, the scan tool&#8217;s simple query predicates are represented in a simple JSON syntax. Three types of predicates are supported, including 'Comparison', 'InList' and 'IsNull'.
+ * The 'Comparison' type support &#8656;, &lt;, =, &gt; and &gt;=,
+   which can be represented as '[operator, column_name, value]',
+   e.g. '["&gt;=", "col1", "value"]'
+ * The 'InList' type can be represented as
+   '["IN", column_name, [value1, value2, &#8230;&#8203;]]'
+   e.g. '["IN", "col2", ["value1", "value2"]]'
+ * The 'IsNull' type determine whether the value is NULL or not,
+   which can be represented as '[operator, column_name]'
+   e.g. '["NULL", "col1"]', or '["NOTNULL", "col2"]'
+Predicates can be combined together with predicate operators using the syntax
+   [operator, predicate, predicate, &#8230;&#8203;, predicate].
+For example,
+   ["AND", ["&gt;=", "col1", "value"], ["NOTNULL", "col2"]]
+The only supported predicate operator is <code>AND</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">write_type (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">How data should be copied to the destination table. Valid values are 'insert', 'upsert' or the empty string. If the empty string, data will not be copied (useful when create_table is 'true').</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>insert</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-create"><a class="link" href="#table-create"><code>create</code>: Create a new table&#160;</a></h3>
+<div class="paragraph">
+<p>Provide the  table-build statements as a JSON object, e.g.'{"table_name":"test","schema":{"columns":[{"column_name":"id","column_type":"INT32","default_value":"1"},{"column_name":"key","column_type":"INT64","is_nullable":false,"comment":"range key"},{"column_name":"name","column_type":"STRING","is_nullable":false,"comment":"user name"}],"key_column_names":["id", "key"]},"partition":{"hash_partitions":[{"columns":["id"],"num_buckets":2,"seed":100}],"range_partition":{"columns":["key"],"range_bounds":[{"upper_bound":{"bound_type":"inclusive","bound_values":["2"]}},{"lower_bound": {"bound_type":"exclusive","bound_values": ["2"]},"upper_bound":{"bound_type":"inclusive","bound_values":["3"]}}]}},"extra_configs":{"configs":{"kudu.table.history_max_age_sec":"3600"}},"num_replicas":3}'.<br>
+<strong>Usage:</strong><br>
+<code>kudu table create &lt;master_addresses&gt; &lt;create_table_json&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">create_table_json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">JSON object for creating table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-delete_column"><a class="link" href="#table-delete_column"><code>delete_column</code>: Delete a column&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table delete_column &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to delete</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-delete"><a class="link" href="#table-delete"><code>delete</code>: Delete a table&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table delete &lt;master_addresses&gt; &lt;table_name&gt; [-nomodify_external_catalogs] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to delete</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">modify_external_catalogs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to modify external catalogs, such as the Hive Metastore, when renaming or dropping a table.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-describe"><a class="link" href="#table-describe"><code>describe</code>: Describe a table&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table describe &lt;master_addresses&gt; &lt;table_name&gt; [-show_attributes] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to describe</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">show_attributes (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to show column attributes, including column encoding type, compression type, and default read/write value.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-drop_range_partition"><a class="link" href="#table-drop_range_partition"><code>drop_range_partition</code>: Drop a range partition of table&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table drop_range_partition &lt;master_addresses&gt; &lt;table_name&gt; &lt;table_range_lower_bound&gt; &lt;table_range_upper_bound&gt; [-lower_bound_type=&lt;type&gt;] [-upper_bound_type=&lt;type&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_range_lower_bound</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String representation of lower bound of the table range partition as a JSON array</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_range_upper_bound</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String representation of upper bound of the table range partition as a JSON array</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">lower_bound_type (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. This flag is case-insensitive.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>INCLUSIVE_BOUND</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">upper_bound_type (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The type of the upper bound, either inclusive or exclusive. Defaults to exclusive. This flag is case-insensitive.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>EXCLUSIVE_BOUND</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-get_extra_configs"><a class="link" href="#table-get_extra_configs"><code>get_extra_configs</code>: Get the extra configuration properties for a table&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table get_extra_configs &lt;master_addresses&gt; &lt;table_name&gt; [-config_names=&lt;names&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table for which to get extra configurations</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">config_names (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of configurations to display. An empty value displays all configs.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-list"><a class="link" href="#table-list"><code>list</code>: List tables&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table list &lt;master_addresses&gt; [-tables=&lt;tables&gt;] [-list_tablets] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tables to include (comma-separated list of table names)If not specified, includes all tables.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list_tablets (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Include tablet and replica UUIDs in the output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-locate_row"><a class="link" href="#table-locate_row"><code>locate_row</code>: Locate which tablet a row belongs to&#160;</a></h3>
+<div class="paragraph">
+<p>Provide the primary key as a JSON array of primary key values, e.g. '[1, "foo", 2, "bar"]'. The output will be the tablet id associated with the row key. If there is no such tablet, an error message will be printed and the command will return a non-zero status<br>
+<strong>Usage:</strong><br>
+<code>kudu table locate_row &lt;master_addresses&gt; &lt;table_name&gt; &lt;primary_key&gt; [-check_row_existence] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to look up against</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">primary_key</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String representation of the row&#8217;s primary key as a JSON array</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">check_row_existence (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Also check for the existence of the row on the leader replica of the tablet. If found, the full row will be printed; if not found, an error message will be printed and the command will return a non-zero status.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-rename_column"><a class="link" href="#table-rename_column"><code>rename_column</code>: Rename a column&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table rename_column &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; &lt;new_column_name&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to rename</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">new_column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">New column name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-rename_table"><a class="link" href="#table-rename_table"><code>rename_table</code>: Rename a table&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table rename_table &lt;master_addresses&gt; &lt;table_name&gt; &lt;new_table_name&gt; [-nomodify_external_catalogs] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to rename</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">new_table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">New table name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">modify_external_catalogs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to modify external catalogs, such as the Hive Metastore, when renaming or dropping a table.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-scan"><a class="link" href="#table-scan"><code>scan</code>: Scan rows from a table&#160;</a></h3>
+<div class="paragraph">
+<p>Scan rows from an existing table. See the help for the --predicates flag on how predicates can be specified.<br>
+<strong>Usage:</strong><br>
+<code>kudu table scan &lt;master_addresses&gt; &lt;table_name&gt; [-columns=&lt;columns&gt;] [-nofill_cache] [-num_threads=&lt;threads&gt;] [-predicates=&lt;predicates&gt;] [-tablets=&lt;tablets&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to scan</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of column fields to include in output tables</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>uuid,rpc-addresses,role</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fill_cache (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to fill block cache when scanning.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">num_threads (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads to run. Each thread runs its own KuduSession.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">predicates (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Query predicates on columns. Unlike traditional SQL syntax, the scan tool&#8217;s simple query predicates are represented in a simple JSON syntax. Three types of predicates are supported, including 'Comparison', 'InList' and 'IsNull'.
+ * The 'Comparison' type support &#8656;, &lt;, =, &gt; and &gt;=,
+   which can be represented as '[operator, column_name, value]',
+   e.g. '["&gt;=", "col1", "value"]'
+ * The 'InList' type can be represented as
+   '["IN", column_name, [value1, value2, &#8230;&#8203;]]'
+   e.g. '["IN", "col2", ["value1", "value2"]]'
+ * The 'IsNull' type determine whether the value is NULL or not,
+   which can be represented as '[operator, column_name]'
+   e.g. '["NULL", "col1"]', or '["NOTNULL", "col2"]'
+Predicates can be combined together with predicate operators using the syntax
+   [operator, predicate, predicate, &#8230;&#8203;, predicate].
+For example,
+   ["AND", ["&gt;=", "col1", "value"], ["NOTNULL", "col2"]]
+The only supported predicate operator is <code>AND</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-set_extra_config"><a class="link" href="#table-set_extra_config"><code>set_extra_config</code>: Change a extra configuration value on a table&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table set_extra_config &lt;master_addresses&gt; &lt;table_name&gt; &lt;config_name&gt; &lt;config_value&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">config_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the configuration</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">config_value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">New value for the configuration</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-statistics"><a class="link" href="#table-statistics"><code>statistics</code>: Get table statistics&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table statistics &lt;master_addresses&gt; &lt;table_name&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to get statistics</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table-set_limit"><a class="link" href="#table-set_limit"><code>set_limit</code>: Set the write limit for a table</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="set_limit-disk_size"><a class="link" href="#set_limit-disk_size"><code>disk_size</code>: Set the disk size limit&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table set_limit disk_size &lt;master_addresses&gt; &lt;table_name&gt; &lt;disk_size&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to set limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">disk_size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The disk size limit, 'unlimited' for no write limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="set_limit-row_count"><a class="link" href="#set_limit-row_count"><code>row_count</code>: Set the row count limit&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table set_limit row_count &lt;master_addresses&gt; &lt;table_name&gt; &lt;row_count&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to set limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">row_count</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The row count limit, 'unlimited' for no write limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="tablet"><a class="link" href="#tablet"><code>tablet</code>: Operate on remote Kudu tablets</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="tablet-leader_step_down"><a class="link" href="#tablet-leader_step_down"><code>leader_step_down</code>: Change the tablet&#8217;s leader&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tablet leader_step_down &lt;master_addresses&gt; &lt;tablet_id&gt; [-abrupt] [-new_leader_uuid=&lt;uuid&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">abrupt (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the leader should step down without attempting to transfer leadership gracefully. A graceful transfer minimizes delays in tablet operations, but will fail if the tablet cannot arrange a successor.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">new_leader_uuid (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of the server that leadership should be transferred to. Leadership may only be transferred to a voting member of the leader&#8217;s active config. If the designated successor cannot catch up to the leader within one election timeout, leadership transfer will not occur. If blank, the leader chooses its own successor, attempting to transfer leadership as soon as possible. This cannot be set if --abrupt is set.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tablet-unsafe_replace_tablet"><a class="link" href="#tablet-unsafe_replace_tablet"><code>unsafe_replace_tablet</code>: Replace a tablet with an empty one, deleting the previous tablet.&#160;</a></h3>
+<div class="paragraph">
+<p>Use this tool to repair a table when one of its tablets has permanently lost all of its replicas. It replaces the unrecoverable tablet with a new empty one representing the same partition. Its primary use is to jettison an unrecoverable tablet in order to make the rest of the table available.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The original tablet will be deleted. Its data will be permanently lost. Additionally, clients should be restarted before attempting to use the repaired table (see KUDU-2376).<br>
+<strong>Usage:</strong><br>
+<code>kudu tablet unsafe_replace_tablet &lt;master_addresses&gt; &lt;tablet_id&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong>
+</td>
+</tr>
+</table>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tablet-change_config"><a class="link" href="#tablet-change_config"><code>change_config</code>: Change a tablet&#8217;s Raft configuration</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="change_config-add_replica"><a class="link" href="#change_config-add_replica"><code>add_replica</code>: Add a new replica to a tablet&#8217;s Raft configuration&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tablet change_config add_replica &lt;master_addresses&gt; &lt;tablet_id&gt; &lt;ts_uuid&gt; &lt;replica_type&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ts_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of the tablet server that should host the new replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">replica_type</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">New replica&#8217;s type. Must be VOTER or NON_VOTER.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="change_config-change_replica_type"><a class="link" href="#change_config-change_replica_type"><code>change_replica_type</code>: Change the type of an existing replica in a tablet&#8217;s Raft configuration&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tablet change_config change_replica_type &lt;master_addresses&gt; &lt;tablet_id&gt; &lt;ts_uuid&gt; &lt;replica_type&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ts_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of the tablet server hosting the existing replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">replica_type</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Existing replica&#8217;s new type. Must be VOTER or NON_VOTER.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="change_config-move_replica"><a class="link" href="#change_config-move_replica"><code>move_replica</code>: Move a tablet replica from one tablet server to another&#160;</a></h4>
+<div class="paragraph">
+<p>The replica move tool effectively moves a replica from one tablet server to another by adding a replica to the new server and then removing it from the old one. It requires that ksck return no errors when run against the target tablet. If the move fails, the user should wait for any tablet copy to complete, and, if the copy succeeds, use remove_replica manually. If the copy fails, the new replica will be deleted automatically after some time, and then the move can be retried.<br>
+<strong>Usage:</strong><br>
+<code>kudu tablet change_config move_replica &lt;master_addresses&gt; &lt;tablet_id&gt; &lt;from_ts_uuid&gt; &lt;to_ts_uuid&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">from_ts_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of the tablet server to move from</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">to_ts_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of the tablet server to move to</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="change_config-remove_replica"><a class="link" href="#change_config-remove_replica"><code>remove_replica</code>: Remove an existing replica from a tablet&#8217;s Raft configuration&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tablet change_config remove_replica &lt;master_addresses&gt; &lt;tablet_id&gt; &lt;ts_uuid&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ts_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of the tablet server hosting the existing replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="test"><a class="link" href="#test"><code>test</code>: Various test actions</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="test-mini_cluster"><a class="link" href="#test-mini_cluster"><code>mini_cluster</code>: Spawn a control shell for running a mini-cluster&#160;</a></h3>
+<div class="paragraph">
+<p>The protocol for the control shell is protobuf-based and is documented in src/kudu/tools/tool.proto. It is currently considered to be highly experimental and subject to change.</p>
+</div>
+<div class="paragraph">
+<p>Example JSON input to create and start a cluster:
+    {"createCluster":{"numTservers":3}}
+    {"startCluster":{}}
+<br>
+<strong>Usage:</strong><br>
+<code>kudu test mini_cluster [-serialization=&lt;serialization&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">serialization (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Serialization method to be used by the control shell. Valid values are 'json' (protobuf serialized into JSON and terminated with a newline character) or 'pb' (four byte protobuf message length in big endian followed by the protobuf message itself).</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>json</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="txn"><a class="link" href="#txn"><code>txn</code>: Operate on multi-row transactions</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="txn-list"><a class="link" href="#txn-list"><code>list</code>: Show details of multi-row transactions in the cluster&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu txn list &lt;master_addresses&gt; [-columns=&lt;columns&gt;] [-max_txn_id=&lt;id&gt;] [-min_txn_id=&lt;id&gt;] [-included_states=&lt;states&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of transaction-related info fields to include in the output.
+Possible values: txn_id, user, state, commit_datetime, commit_hybridtime, start_datetime, last_transition_datetime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>txn_id,user,state,commit_datetime,start_datetime,last_transition_datetime</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">max_txn_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Inclusive maximum transaction ID to display, or -1 for no maximum.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">min_txn_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Inclusive minimum transaction ID to display, or -1 for no minimum.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">included_states (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of transaction states to display. Supported states are 'open', 'abort_in_progress', 'aborted', 'commit_in_progress', 'finalize_in_progress', and 'committed', or '*' for all states. By default, shows currently active transactions.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>open,abort_in_progress,commit_in_progress,finalize_in_progress</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="txn-show"><a class="link" href="#txn-show"><code>show</code>: Show details of a specific transaction&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu txn show &lt;master_addresses&gt; &lt;txn_id&gt; [-columns=&lt;columns&gt;] [-timeout_ms=&lt;ms&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Transaction ID on which to operate</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of transaction-related info fields to include in the output.
+Possible values: txn_id, user, state, commit_datetime, commit_hybridtime, start_datetime, last_transition_datetime, participant_tablet_id, participant_is_aborted, participant_flushed_committed_mrs, participant_begin_commit_datetime, participant_begin_commit_hybridtime, participant_commit_datetime, participant_commit_hybridtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>txn_id,user,state,commit_datetime,start_datetime,last_transition_datetime,participant_tablet_id,participant_begin_commit_datetime,participant_commit_datetime</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="tserver"><a class="link" href="#tserver"><code>tserver</code>: Operate on a Kudu Tablet Server</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="tserver-dump_memtrackers"><a class="link" href="#tserver-dump_memtrackers"><code>dump_memtrackers</code>: Dump the memtrackers from a Kudu Tablet Server&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver dump_memtrackers &lt;tserver_address&gt; [-format=&lt;format&gt;] [-memtracker_output=&lt;output&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">memtracker_output (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">One of 'json', 'json_compact' or 'table'. Table output flattens the memtracker hierarchy.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>table</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tserver-get_flags"><a class="link" href="#tserver-get_flags"><code>get_flags</code>: Get the gflags for a Kudu Tablet Server&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver get_flags &lt;tserver_address&gt; [-all_flags] [-flags=&lt;flags&gt;] [-flag_tags=&lt;tags&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">all_flags (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to return all flags, or only flags that were explicitly set.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flags (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of flags used to restrict which flags are returned. An empty value means no restriction. If non-empty, all_flags is ignored.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flag_tags (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of tags used to restrict which flags are returned. An empty value matches all tags</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tserver-run"><a class="link" href="#tserver-run"><code>run</code>: Run a Kudu Tablet Server&#160;</a></h3>
+<div class="paragraph">
+<p>Note: The tablet server is started in this process and runs until interrupted.</p>
+</div>
+<div class="paragraph">
+<p>The most common configuration flags are described below. For all the configuration options pass --helpfull or see <a href="https://kudu.apache.org/docs/configuration_reference.html#kudu-tserver_supported" class="bare">https://kudu.apache.org/docs/configuration_reference.html#kudu-tserver_supported</a><br>
+<strong>Usage:</strong><br>
+<code>kudu tserver run [-tserver_master_addrs=&lt;addrs&gt;] [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-block_cache_capacity_mb=&lt;mb&gt;] [-memory_limit_hard_bytes=&lt;bytes&gt;] [-log_dir=&lt;dir&gt;] [-logtostderr]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_master_addrs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma separated addresses of the masters which the tablet server should connect to. The masters do not read this flag&#8201;&#8212;&#8201;configure the masters separately using 'rpc_bind_addresses'.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>127.0.0.1:7051</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block_cache_capacity_mb (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block cache capacity in MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>512</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">memory_limit_hard_bytes (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If specified, logfiles are written into this directory instead of the default logging directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">logtostderr (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log messages go to stderr instead of logfiles</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tserver-set_flag"><a class="link" href="#tserver-set_flag"><code>set_flag</code>: Change a gflag value on a Kudu Tablet Server&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver set_flag &lt;tserver_address&gt; &lt;flag&gt; &lt;value&gt; [-force] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flag</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the gflag</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">New value for the gflag</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">force (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, allows the set_flag command to set a flag which is not explicitly marked as runtime-settable. Such flag changes may be simply ignored on the server, or may cause the server to crash.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tserver-status"><a class="link" href="#tserver-status"><code>status</code>: Get the status of a Kudu Tablet Server&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver status &lt;tserver_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tserver-timestamp"><a class="link" href="#tserver-timestamp"><code>timestamp</code>: Get the current timestamp of a Kudu Tablet Server&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver timestamp &lt;tserver_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tserver-list"><a class="link" href="#tserver-list"><code>list</code>: List tablet servers in a Kudu cluster&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver list &lt;master_addresses&gt; [-columns=&lt;columns&gt;] [-format=&lt;format&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of tserver info fields to include in output.
+Possible values: uuid, rpc-addresses, http-addresses, version, seqno, heartbeat, start_time, state</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>uuid,rpc-addresses</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tserver-quiesce"><a class="link" href="#tserver-quiesce"><code>quiesce</code>: Operate on the quiescing state of a Kudu Tablet Server.</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="quiesce-status"><a class="link" href="#quiesce-status"><code>status</code>: Output information about the quiescing state of a Tablet Server.&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver quiesce status &lt;tserver_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="quiesce-start"><a class="link" href="#quiesce-start"><code>start</code>: Start quiescing the given Tablet Server. While a Tablet Server is quiescing, Tablet replicas on it will no longer attempt to become leader, and new scan requests will be retried at other servers.&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver quiesce start &lt;tserver_address&gt; [-error_if_not_fully_quiesced] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">error_if_not_fully_quiesced (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, the command to start quiescing will return an error if the tserver is not fully quiesced, i.e. there are still tablet leaders or active scanners on it.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="quiesce-stop"><a class="link" href="#quiesce-stop"><code>stop</code>: Stop quiescing a Tablet Server.&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver quiesce stop &lt;tserver_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tserver-state"><a class="link" href="#tserver-state"><code>state</code>: Operate on the state of a Kudu Tablet Server</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="state-enter_maintenance"><a class="link" href="#state-enter_maintenance"><code>enter_maintenance</code>: Begin maintenance on the Tablet Server. While under maintenance, downtime of the Tablet Server will not lead to the immediate re-replication of its tablet replicas.&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver state enter_maintenance &lt;master_addresses&gt; &lt;tserver_uuid&gt; [-allow_missing_tserver] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of a Kudu Tablet Server</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">allow_missing_tserver (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, performs the action on the tserver even if it has not been registered with the master and has no existing tserver state records associated with it.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="state-exit_maintenance"><a class="link" href="#state-exit_maintenance"><code>exit_maintenance</code>: End maintenance of the Tablet Server.&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver state exit_maintenance &lt;master_addresses&gt; &lt;tserver_uuid&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of a Kudu Tablet Server</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="wal"><a class="link" href="#wal"><code>wal</code>: Operate on WAL (write-ahead log) files</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect2">
+<h3 id="wal-dump"><a class="link" href="#wal-dump"><code>dump</code>: Dump a WAL (write-ahead log) file&#160;</a></h3>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu wal dump &lt;path&gt; [-print_entries=&lt;entries&gt;] [-noprint_meta] [-truncate_data=&lt;data&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path to WAL file</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">print_entries (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">How to print entries:
+  false|0|no = don&#8217;t print
+  true|1|yes|decoded = print them decoded
+  pb = print the raw protobuf
+  id = print only their ids</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>decoded</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">print_meta (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Include metadata in output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">truncate_data (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Truncate the data fields to the given number of bytes before printing. Set to 0 to disable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>100</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/command_line_tools_reference.html b/releases/1.15.0/docs/command_line_tools_reference.html
new file mode 100644
index 0000000..438e103
--- /dev/null
+++ b/releases/1.15.0/docs/command_line_tools_reference.html
@@ -0,0 +1,7083 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Command Line Tools Reference</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Command Line Tools Reference</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_command_hierarchy"><a class="link" href="#_command_hierarchy">Command Hierarchy</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#cluster">cluster</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#cluster-ksck">ksck</a></p>
+</li>
+<li>
+<p><a href="#cluster-rebalance">rebalance</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#diagnose">diagnose</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#diagnose-parse_stacks">parse_stacks</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#fs">fs</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#fs-check">check</a></p>
+</li>
+<li>
+<p><a href="#fs-format">format</a></p>
+</li>
+<li>
+<p><a href="#fs-list">list</a></p>
+</li>
+<li>
+<p><a href="#fs-update_dirs">update_dirs</a></p>
+</li>
+<li>
+<p><a href="#fs-dump">dump</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#dump-block">block</a></p>
+</li>
+<li>
+<p><a href="#dump-cfile">cfile</a></p>
+</li>
+<li>
+<p><a href="#dump-tree">tree</a></p>
+</li>
+<li>
+<p><a href="#dump-uuid">uuid</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#hms">hms</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#hms-check">check</a></p>
+</li>
+<li>
+<p><a href="#hms-downgrade">downgrade</a></p>
+</li>
+<li>
+<p><a href="#hms-fix">fix</a></p>
+</li>
+<li>
+<p><a href="#hms-list">list</a></p>
+</li>
+<li>
+<p><a href="#hms-precheck">precheck</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#local_replica">local_replica</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#local_replica-copy_from_remote">copy_from_remote</a></p>
+</li>
+<li>
+<p><a href="#local_replica-data_size">data_size</a></p>
+</li>
+<li>
+<p><a href="#local_replica-delete">delete</a></p>
+</li>
+<li>
+<p><a href="#local_replica-list">list</a></p>
+</li>
+<li>
+<p><a href="#local_replica-cmeta">cmeta</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#cmeta-print_replica_uuids">print_replica_uuids</a></p>
+</li>
+<li>
+<p><a href="#cmeta-rewrite_raft_config">rewrite_raft_config</a></p>
+</li>
+<li>
+<p><a href="#cmeta-set_term">set_term</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#local_replica-dump">dump</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#dump-block_ids">block_ids</a></p>
+</li>
+<li>
+<p><a href="#dump-data_dirs">data_dirs</a></p>
+</li>
+<li>
+<p><a href="#dump-meta">meta</a></p>
+</li>
+<li>
+<p><a href="#dump-rowset">rowset</a></p>
+</li>
+<li>
+<p><a href="#dump-wals">wals</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#master">master</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#master-dump_memtrackers">dump_memtrackers</a></p>
+</li>
+<li>
+<p><a href="#master-get_flags">get_flags</a></p>
+</li>
+<li>
+<p><a href="#master-run">run</a></p>
+</li>
+<li>
+<p><a href="#master-set_flag">set_flag</a></p>
+</li>
+<li>
+<p><a href="#master-status">status</a></p>
+</li>
+<li>
+<p><a href="#master-timestamp">timestamp</a></p>
+</li>
+<li>
+<p><a href="#master-list">list</a></p>
+</li>
+<li>
+<p><a href="#master-add">add</a></p>
+</li>
+<li>
+<p><a href="#master-remove">remove</a></p>
+</li>
+<li>
+<p><a href="#master-authz_cache">authz_cache</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#authz_cache-refresh">refresh</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#pbc">pbc</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#pbc-dump">dump</a></p>
+</li>
+<li>
+<p><a href="#pbc-edit">edit</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#perf">perf</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#perf-loadgen">loadgen</a></p>
+</li>
+<li>
+<p><a href="#perf-table_scan">table_scan</a></p>
+</li>
+<li>
+<p><a href="#perf-tablet_scan">tablet_scan</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#remote_replica">remote_replica</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#remote_replica-check">check</a></p>
+</li>
+<li>
+<p><a href="#remote_replica-copy">copy</a></p>
+</li>
+<li>
+<p><a href="#remote_replica-delete">delete</a></p>
+</li>
+<li>
+<p><a href="#remote_replica-dump">dump</a></p>
+</li>
+<li>
+<p><a href="#remote_replica-list">list</a></p>
+</li>
+<li>
+<p><a href="#remote_replica-unsafe_change_config">unsafe_change_config</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#table">table</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#table-add_range_partition">add_range_partition</a></p>
+</li>
+<li>
+<p><a href="#table-column_remove_default">column_remove_default</a></p>
+</li>
+<li>
+<p><a href="#table-column_set_block_size">column_set_block_size</a></p>
+</li>
+<li>
+<p><a href="#table-column_set_compression">column_set_compression</a></p>
+</li>
+<li>
+<p><a href="#table-column_set_default">column_set_default</a></p>
+</li>
+<li>
+<p><a href="#table-column_set_encoding">column_set_encoding</a></p>
+</li>
+<li>
+<p><a href="#table-column_set_comment">column_set_comment</a></p>
+</li>
+<li>
+<p><a href="#table-copy">copy</a></p>
+</li>
+<li>
+<p><a href="#table-create">create</a></p>
+</li>
+<li>
+<p><a href="#table-delete_column">delete_column</a></p>
+</li>
+<li>
+<p><a href="#table-delete">delete</a></p>
+</li>
+<li>
+<p><a href="#table-describe">describe</a></p>
+</li>
+<li>
+<p><a href="#table-drop_range_partition">drop_range_partition</a></p>
+</li>
+<li>
+<p><a href="#table-get_extra_configs">get_extra_configs</a></p>
+</li>
+<li>
+<p><a href="#table-list">list</a></p>
+</li>
+<li>
+<p><a href="#table-locate_row">locate_row</a></p>
+</li>
+<li>
+<p><a href="#table-rename_column">rename_column</a></p>
+</li>
+<li>
+<p><a href="#table-rename_table">rename_table</a></p>
+</li>
+<li>
+<p><a href="#table-scan">scan</a></p>
+</li>
+<li>
+<p><a href="#table-set_extra_config">set_extra_config</a></p>
+</li>
+<li>
+<p><a href="#table-statistics">statistics</a></p>
+</li>
+<li>
+<p><a href="#table-set_limit">set_limit</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#set_limit-disk_size">disk_size</a></p>
+</li>
+<li>
+<p><a href="#set_limit-row_count">row_count</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#tablet">tablet</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#tablet-leader_step_down">leader_step_down</a></p>
+</li>
+<li>
+<p><a href="#tablet-unsafe_replace_tablet">unsafe_replace_tablet</a></p>
+</li>
+<li>
+<p><a href="#tablet-change_config">change_config</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#change_config-add_replica">add_replica</a></p>
+</li>
+<li>
+<p><a href="#change_config-change_replica_type">change_replica_type</a></p>
+</li>
+<li>
+<p><a href="#change_config-move_replica">move_replica</a></p>
+</li>
+<li>
+<p><a href="#change_config-remove_replica">remove_replica</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#test">test</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#test-mini_cluster">mini_cluster</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#txn">txn</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#txn-list">list</a></p>
+</li>
+<li>
+<p><a href="#txn-show">show</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#tserver">tserver</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#tserver-dump_memtrackers">dump_memtrackers</a></p>
+</li>
+<li>
+<p><a href="#tserver-get_flags">get_flags</a></p>
+</li>
+<li>
+<p><a href="#tserver-run">run</a></p>
+</li>
+<li>
+<p><a href="#tserver-set_flag">set_flag</a></p>
+</li>
+<li>
+<p><a href="#tserver-status">status</a></p>
+</li>
+<li>
+<p><a href="#tserver-timestamp">timestamp</a></p>
+</li>
+<li>
+<p><a href="#tserver-list">list</a></p>
+</li>
+<li>
+<p><a href="#tserver-quiesce">quiesce</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#quiesce-status">status</a></p>
+</li>
+<li>
+<p><a href="#quiesce-start">start</a></p>
+</li>
+<li>
+<p><a href="#quiesce-stop">stop</a></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#tserver-state">state</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#state-enter_maintenance">enter_maintenance</a></p>
+</li>
+<li>
+<p><a href="#state-exit_maintenance">exit_maintenance</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><a href="#wal">wal</a></p>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="#wal-dump">dump</a></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_command_details"><a class="link" href="#_command_details">Command Details</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="cluster"><a class="link" href="#cluster"><code>cluster</code>: Operate on a Kudu cluster</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="cluster-ksck"><a class="link" href="#cluster-ksck"><code>ksck</code>: Check the health of a Kudu cluster&#160;</a></h4>
+<div class="paragraph">
+<p>By default, ksck checks that master and tablet server processes are running, and that table metadata is consistent. Use the 'checksum' flag to check that tablet data is consistent (also see the 'tables' and 'tablets' flags). Use the 'checksum_snapshot' along with 'checksum' if the table or tablets are actively receiving inserts or updates. Use the 'ksck_format' flag to output detailed information on cluster status even if no inconsistency is found in metadata.<br>
+<strong>Usage:</strong><br>
+<code>kudu cluster ksck &lt;master_addresses&gt; [-checksum_cache_blocks] [-checksum_scan] [-checksum_scan_concurrency=&lt;concurrency&gt;] [-nochecksum_snapshot] [-checksum_timeout_sec=&lt;sec&gt;] [-color=&lt;color&gt;] [-noconsensus] [-fetch_info_concurrency=&lt;concurrency&gt;] [-flags_categories_to_check=&lt;check&gt;] [-ksck_format=&lt;format&gt;] [-noquiescing_info] [-sections=&lt;sections&gt;] [-tables=&lt;tables&gt;] [-tablets=&lt;tablets&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">checksum_cache_blocks (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Should the checksum scanners cache the read blocks.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">checksum_scan (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Perform a checksum scan on data in the cluster.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">checksum_scan_concurrency (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of concurrent checksum scans to execute per tablet server.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>4</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">checksum_snapshot (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Should the checksum scanner use a snapshot scan?</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">checksum_timeout_sec (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum total seconds to wait for a checksum scan to complete before timing out.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>86400</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">color (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether output should be colorized. The default value 'auto' colorizes output if the output is a terminal. The other valid values are 'always' or 'never'.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>auto</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">consensus (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to check the consensus state from each tablet against the master.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fetch_info_concurrency (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads to fetch info concurrently.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>20</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flags_categories_to_check (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of flag categories to check for divergence across the cluster; default is time_source; available categories are time_source, unusual.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>time_source</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ksck_format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Output format for ksck. Available options are 'plain_concise', 'plain_full', 'json_pretty', and 'json_compact'.
+'plain_concise' format is plain text, omitting most information about healthy tablets.
+'plain_full' is plain text with all results included.
+'json_pretty' produces pretty-printed json.
+'json_compact' produces json suitable for parsing by other programs.
+'json_pretty' and 'json_compact' differ in format, not content.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>plain_concise</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">quiescing_info (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to display the quiescing-related information of each tablet server, e.g. number of tablet leaders per server, the number of active scanners per server.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sections (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Sections to print (comma-separated list of sections, available sections are: MASTER_SUMMARIES, TSERVER_SUMMARIES, VERSION_SUMMARIES, TABLET_SUMMARIES, TABLE_SUMMARIES, SYSTEM_TABLE_SUMMARIES, CHECKSUM_RESULTS and TOTAL_COUNT.) If not specified, print all sections.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>*</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tables to include (comma-separated list of table names)If not specified, includes all tables.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="cluster-rebalance"><a class="link" href="#cluster-rebalance"><code>rebalance</code>: Move tablet replicas between tablet servers to balance replica counts for each table and for the cluster as a whole.&#160;</a></h4>
+<div class="paragraph">
+<p>The rebalancing tool moves tablet replicas between tablet servers, in the same manner as the 'kudu tablet change_config move_replica' command, attempting to balance the count of replicas per table on each tablet server, and after that attempting to balance the total number of replicas per tablet server.<br>
+<strong>Usage:</strong><br>
+<code>kudu cluster rebalance &lt;master_addresses&gt; [-disable_cross_location_rebalancing] [-disable_intra_location_rebalancing] [-disable_policy_fixer] [-fetch_info_concurrency=&lt;concurrency&gt;] [-ignored_tservers=&lt;tservers&gt;] [-load_imbalance_threshold=&lt;threshold&gt;] [-max_moves_per_server=&lt;server&gt;] [-max_run_time_sec=&lt;sec&gt;] [-max_staleness_interval_sec=&lt;sec&gt;] [-move_replicas_from_ignored_tservers] [-move_single_replicas=&lt;replicas&gt;] [-output_replica_distribution_details] [-report_only] [-tables=&lt;tables&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">disable_cross_location_rebalancing (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">In case of multi-location cluster, whether to move tablet replicas between locations in attempt to spread tablet replicas among location evenly (equalizing loads of locations throughout the cluster). This setting is applicable to multi-location clusters only.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">disable_intra_location_rebalancing (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">In case of multi-location cluster, whether to rebalance tablet replica distribution within each location. This setting is applicable to multi-location clusters only.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">disable_policy_fixer (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">In case of multi-location cluster, whether to detect and fix placement policy violations. Fixing placement policy violations involves moving tablet replicas across different locations of the cluster. This setting is applicable to multi-location clusters only.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fetch_info_concurrency (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads to fetch info concurrently.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>20</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ignored_tservers (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUIDs of tablet servers to ignore while rebalancing the cluster (comma-separated list). If specified, the tablet servers are effectively ignored by the rebalancer tool, they are not considered as a part of the cluster as well as the replicas on them. If not specified, the rebalancer tool will run on all the tablet servers in the cluster.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">load_imbalance_threshold (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table&#8217;s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, &#8230;&#8203;) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">double</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">max_moves_per_server (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move operations.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uint32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>5</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">max_run_time_sec (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum time to run the rebalancing, in seconds. Specifying 0 means not imposing any limit on the rebalancing run time.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">max_staleness_interval_sec (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum duration of the 'staleness' interval, when the rebalancer cannot make any progress in scheduling new moves and no prior scheduled moves are left, even if re-synchronizing against the cluster&#8217;s state again and again. Such a staleness usually happens in case of a persistent problem with the cluster or when some unexpected concurrent activity is present (such as automatic recovery of failed replicas, etc.)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uint32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>300</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">move_replicas_from_ignored_tservers (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to move replicas from the specified 'ignored_tservers' to other servers when the source tablet server is healthy. This setting is effective only if the '--ignored_tservers' flag is specified as well. If set true, then all ignored tablet servers must be placed into the 'maintenance mode'.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">move_single_replicas (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to move single replica tablets (i.e. replicas of tablets of replication factor 1). Acceptable values are: 'auto', 'enabled', 'disabled'. The value of 'auto' means turn it on/off depending on the replica management scheme and Kudu version.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>auto</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">output_replica_distribution_details (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to output details on per-table and per-server replica distribution</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">report_only (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to report on table- and cluster-wide replica distribution skew and exit without doing any actual rebalancing</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tables to include (comma-separated list of table names)If not specified, includes all tables.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="diagnose"><a class="link" href="#diagnose"><code>diagnose</code>: Diagnostic tools for Kudu servers and clusters</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="diagnose-parse_stacks"><a class="link" href="#diagnose-parse_stacks"><code>parse_stacks</code>: Parse sampled stack traces out of a diagnostics log&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu diagnose parse_stacks &lt;path&gt;&#8230;&#8203;</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path&#8230;&#8203;</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Path(s) to log file(s) to parse, separated by a whitespace, if many</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="fs"><a class="link" href="#fs"><code>fs</code>: Operate on a local Kudu filesystem</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="fs-check"><a class="link" href="#fs-check"><code>check</code>: Check a Kudu filesystem for inconsistencies&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu fs check [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-repair]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">repair (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Repair any inconsistencies in the filesystem.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="fs-format"><a class="link" href="#fs-format"><code>format</code>: Format a new Kudu filesystem&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu fs format [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-uuid=&lt;uuid&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uuid (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The uuid to use in the filesystem. If not provided, one is generated</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="fs-list"><a class="link" href="#fs-list"><code>list</code>: List metadata for on-disk tablets, rowsets, blocks, and cfiles&#160;</a></h4>
+<div class="paragraph">
+<p>This tool is useful for discovering and gathering information about on-disk data. Many field types can be added to the results with the --columns flag, and results can be filtered to a specific table, tablet, rowset, column, or block through flags.</p>
+</div>
+<div class="paragraph">
+<p>Note: adding any of the 'cfile' fields to --columns will cause the tool to read on-disk metadata for each CFile in the result set, which could require large amounts of I/O when many results are returned.<br>
+<strong>Usage:</strong><br>
+<code>kudu fs list [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-table_id=&lt;id&gt;] [-table_name=&lt;name&gt;] [-tablet_id=&lt;id&gt;] [-rowset_id=&lt;id&gt;] [-column_id=&lt;id&gt;] [-block_id=&lt;id&gt;] [-columns=&lt;columns&gt;] [-format=&lt;format&gt;] [-noh]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific table by id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific table by name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific tablet</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rowset_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific rowset</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific block</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uint64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of fields to include in output.
+Possible values: table, table-id, tablet-id, partition, rowset-id, block-id, block-kind, column, column-id, cfile-data-type, cfile-nullable, cfile-encoding, cfile-compression, cfile-num-values, cfile-size, cfile-incompatible-features, cfile-compatible-features, cfile-min-key, cfile-max-key, cfile-delta-stats</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>tablet-id, rowset-id, block-id, block-kind</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">h (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pretty-print values in human-readable units</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="fs-update_dirs"><a class="link" href="#fs-update_dirs"><code>update_dirs</code>: Updates the set of data directories in an existing Kudu filesystem&#160;</a></h4>
+<div class="paragraph">
+<p>If a data directory is in use by a tablet and is removed, the operation will fail unless --force is also used. Starting with Kudu 1.12.0, it is not required to run this tool to add or remove directories. This tool is preserved for backwards compatibility<br>
+<strong>Usage:</strong><br>
+<code>kudu fs update_dirs [-force] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">force (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, permits the removal of a data directory that is configured for use by existing tablets. Those tablets will fail the next time the server is started</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="fs-dump"><a class="link" href="#fs-dump"><code>dump</code>: Dump a Kudu filesystem</a></h4>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect4">
+<h5 id="dump-block"><a class="link" href="#dump-block"><code>block</code>: Dump the binary contents of a data block&#160;</a></h5>
+<div class="paragraph">
+<p>This performs no parsing or interpretation of the data stored in the block but rather outputs its binary contents directly.<br>
+<strong>Usage:</strong><br>
+<code>kudu fs dump block &lt;block_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="dump-cfile"><a class="link" href="#dump-cfile"><code>cfile</code>: Dump the contents of a CFile (column file)&#160;</a></h5>
+<div class="paragraph">
+<p>This interprets the contents of a CFile-formatted block and outputs the decoded row data.<br>
+<strong>Usage:</strong><br>
+<code>kudu fs dump cfile &lt;block_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-noprint_meta] [-noprint_rows]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">print_meta (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Include metadata in output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">print_rows (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Print each row in the CFile</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="dump-tree"><a class="link" href="#dump-tree"><code>tree</code>: Dump the tree of a Kudu filesystem&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu fs dump tree [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="dump-uuid"><a class="link" href="#dump-uuid"><code>uuid</code>: Dump the UUID of a Kudu filesystem&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu fs dump uuid [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hms"><a class="link" href="#hms"><code>hms</code>: Operate on remote Hive Metastores</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="hms-check"><a class="link" href="#hms-check"><code>check</code>: Check metadata consistency between Kudu and the Hive Metastore catalogs&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu hms check &lt;master_addresses&gt; [-hive_metastore_sasl_enabled] [-hive_metastore_uris=&lt;uris&gt;] [-noignore_other_clusters] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hive_metastore_sasl_enabled (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Only takes effect when --hive_metastore_uris is set, otherwise the configuration from the Kudu master is used. The configured value must match the the hive.metastore.sasl.enabled option in the Hive Metastore configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hive_metastore_uris (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of the Hive Metastore instance(s). If not set, the configuration from the Kudu master is used, so this flag should not be overriden in typical situations. The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. The configured value must match the Hive hive.metastore.uris configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ignore_other_clusters (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to ignore entirely separate Kudu clusters, as indicated by a different set of master addresses.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="hms-downgrade"><a class="link" href="#hms-downgrade"><code>downgrade</code>: Downgrade the metadata to legacy format for Kudu and the Hive Metastores&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu hms downgrade &lt;master_addresses&gt; [-hive_metastore_sasl_enabled] [-hive_metastore_uris=&lt;uris&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hive_metastore_sasl_enabled (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Only takes effect when --hive_metastore_uris is set, otherwise the configuration from the Kudu master is used. The configured value must match the the hive.metastore.sasl.enabled option in the Hive Metastore configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hive_metastore_uris (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of the Hive Metastore instance(s). If not set, the configuration from the Kudu master is used, so this flag should not be overriden in typical situations. The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. The configured value must match the Hive hive.metastore.uris configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="hms-fix"><a class="link" href="#hms-fix"><code>fix</code>: Fix automatically-repairable metadata inconsistencies in the Kudu and Hive Metastore catalogs&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu hms fix &lt;master_addresses&gt; [-dryrun] [-drop_orphan_hms_tables] [-nocreate_missing_hms_tables] [-nofix_inconsistent_tables] [-noupgrade_hms_tables] [-hive_metastore_sasl_enabled] [-hive_metastore_uris=&lt;uris&gt;] [-noignore_other_clusters] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dryrun (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Print a message for each fix, but do not make modifications to Kudu or the Hive Metastore.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">drop_orphan_hms_tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Drop orphan Hive Metastore tables which refer to non-existent Kudu tables.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">create_missing_hms_tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Create a Hive Metastore table for each Kudu table which is missing one.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fix_inconsistent_tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Fix tables whose Kudu and Hive Metastore metadata differ. If the table name is different, the table is renamed in Kudu to match the HMS. If the columns or other metadata is different the HMS is updated to match Kudu.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">upgrade_hms_tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Upgrade Hive Metastore tables from the legacy Impala metadata format to the new Kudu metadata format.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hive_metastore_sasl_enabled (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Only takes effect when --hive_metastore_uris is set, otherwise the configuration from the Kudu master is used. The configured value must match the the hive.metastore.sasl.enabled option in the Hive Metastore configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hive_metastore_uris (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of the Hive Metastore instance(s). If not set, the configuration from the Kudu master is used, so this flag should not be overriden in typical situations. The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. The configured value must match the Hive hive.metastore.uris configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ignore_other_clusters (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to ignore entirely separate Kudu clusters, as indicated by a different set of master addresses.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="hms-list"><a class="link" href="#hms-list"><code>list</code>: List the Kudu table HMS entries&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu hms list &lt;master_addresses&gt; [-columns=&lt;columns&gt;] [-format=&lt;format&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of HMS entry fields to include in output.
+Possible values: database, table, type, owner, comment, kudu.table_name, kudu.table_id, kudu.cluster_id, kudu.master_addresses, storage_handler</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>database,table,type,kudu.table_name</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="hms-precheck"><a class="link" href="#hms-precheck"><code>precheck</code>: Check that the Kudu cluster is prepared to enable the Hive Metastore integration&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu hms precheck &lt;master_addresses&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="local_replica"><a class="link" href="#local_replica"><code>local_replica</code>: Operate on local tablet replicas via the local filesystem</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="local_replica-copy_from_remote"><a class="link" href="#local_replica-copy_from_remote"><code>copy_from_remote</code>: Copy a tablet replica from a remote server&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica copy_from_remote &lt;tablet_id&gt; &lt;source&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-tablet_copy_download_threads_nums_per_session=&lt;session&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">source</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Source RPC address of form hostname:port</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_copy_download_threads_nums_per_session (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads per tablet copy session for downloading tablet data blocks.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>4</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="local_replica-data_size"><a class="link" href="#local_replica-data_size"><code>data_size</code>: Summarize the data size/space usage of the given local replica(s).&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica data_size &lt;tablet_id_pattern&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-format=&lt;format&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id_pattern</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet identifier pattern. This argument supports basic glob syntax: '*' matches 0 or more wildcard characters.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="local_replica-delete"><a class="link" href="#local_replica-delete"><code>delete</code>: Delete tablet replicas from the local filesystem. By default, leaves a tombstone record upon replica removal.&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica delete &lt;tablet_ids&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-clean_unsafe] [-ignore_nonexistent]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_ids</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of Tablet Identifiers</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">clean_unsafe (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Delete the local replica completely, not leaving a tombstone. This is not guaranteed to be safe because it also removes the consensus metadata (including Raft voting record) for the specified tablet, which violates the Raft vote durability requirements.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ignore_nonexistent (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to ignore non-existent tablet replicas when deleting: if set to 'true', the tool does not report an error if the requested tablet replica to remove is not found</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="local_replica-list"><a class="link" href="#local_replica-list"><code>list</code>: Show list of tablet replicas in the local filesystem&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica list [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-list_detail]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list_detail (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Print partition info for the local replicas</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="local_replica-cmeta"><a class="link" href="#local_replica-cmeta"><code>cmeta</code>: Operate on a local tablet replica&#8217;s consensus metadata file</a></h4>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect4">
+<h5 id="cmeta-print_replica_uuids"><a class="link" href="#cmeta-print_replica_uuids"><code>print_replica_uuids</code>: Print all tablet replica peer UUIDs found in a tablet&#8217;s Raft configuration&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica cmeta print_replica_uuids &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="cmeta-rewrite_raft_config"><a class="link" href="#cmeta-rewrite_raft_config"><code>rewrite_raft_config</code>: Rewrite a tablet replica&#8217;s Raft configuration&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica cmeta rewrite_raft_config &lt;tablet_id&gt; &lt;peers&gt;&#8230;&#8203; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">peers&#8230;&#8203;</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">List of peers where each element is of form 'uuid:hostname:port', with elements of the list separated by a whitespace</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="cmeta-set_term"><a class="link" href="#cmeta-set_term"><code>set_term</code>: Bump the current term stored in consensus metadata&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica cmeta set_term &lt;tablet_id&gt; &lt;term&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">term</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">the new raft term (must be greater than the current term)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="local_replica-dump"><a class="link" href="#local_replica-dump"><code>dump</code>: Dump a Kudu filesystem</a></h4>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect4">
+<h5 id="dump-block_ids"><a class="link" href="#dump-block_ids"><code>block_ids</code>: Dump the IDs of all blocks belonging to a local replica&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica dump block_ids &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="dump-data_dirs"><a class="link" href="#dump-data_dirs"><code>data_dirs</code>: Dump the data directories where the replica&#8217;s data is stored&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica dump data_dirs &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="dump-meta"><a class="link" href="#dump-meta"><code>meta</code>: Dump the metadata of a local replica&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica dump meta &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="dump-rowset"><a class="link" href="#dump-rowset"><code>rowset</code>: Dump the rowset contents of a local replica&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica dump rowset &lt;tablet_id&gt; [-nodump_all_columns] [-nodump_metadata] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-nrows=&lt;nrows&gt;] [-rowset_index=&lt;index&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dump_all_columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, dumped rows include all of the columns in the rowset. If false, dumped rows include just the key columns (in a comparable format).</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dump_metadata (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, dumps rowset metadata before dumping data. If false, only dumps the data.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">nrows (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of rows to dump. If negative, dumps all rows.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rowset_index (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Index of the rowset in local replica, default value(-1) will dump all the rowsets of the local replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="dump-wals"><a class="link" href="#dump-wals"><code>wals</code>: Dump all WAL (write-ahead log) segments of a local replica&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu local_replica dump wals &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-print_entries=&lt;entries&gt;] [-noprint_meta] [-truncate_data=&lt;data&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">print_entries (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">How to print entries:
+  false|0|no = don&#8217;t print
+  true|1|yes|decoded = print them decoded
+  pb = print the raw protobuf
+  id = print only their ids</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>decoded</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">print_meta (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Include metadata in output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">truncate_data (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Truncate the data fields to the given number of bytes before printing. Set to 0 to disable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>100</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="master"><a class="link" href="#master"><code>master</code>: Operate on a Kudu Master</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="master-dump_memtrackers"><a class="link" href="#master-dump_memtrackers"><code>dump_memtrackers</code>: Dump the memtrackers from a Kudu Master&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master dump_memtrackers &lt;master_address&gt; [-format=&lt;format&gt;] [-memtracker_output=&lt;output&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">memtracker_output (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">One of 'json', 'json_compact' or 'table'. Table output flattens the memtracker hierarchy.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>table</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="master-get_flags"><a class="link" href="#master-get_flags"><code>get_flags</code>: Get the gflags for a Kudu Master&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master get_flags &lt;master_address&gt; [-all_flags] [-flags=&lt;flags&gt;] [-flag_tags=&lt;tags&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">all_flags (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to return all flags, or only flags that were explicitly set.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flags (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of flags used to restrict which flags are returned. An empty value means no restriction. If non-empty, all_flags is ignored.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flag_tags (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of tags used to restrict which flags are returned. An empty value matches all tags</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="master-run"><a class="link" href="#master-run"><code>run</code>: Run a Kudu Master&#160;</a></h4>
+<div class="paragraph">
+<p>Note: The master server is started in this process and runs until interrupted.</p>
+</div>
+<div class="paragraph">
+<p>The most common configuration flags are described below. For all the configuration options pass --helpfull or see <a href="https://kudu.apache.org/docs/configuration_reference.html#kudu-master_supported" class="bare">https://kudu.apache.org/docs/configuration_reference.html#kudu-master_supported</a><br>
+<strong>Usage:</strong><br>
+<code>kudu master run [-master_addresses=&lt;addresses&gt;] [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-log_dir=&lt;dir&gt;] [-logtostderr]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of the RPC addresses belonging to all Masters in this cluster. NOTE: if not specified or a single address is specified, configures a non-replicated Master.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If specified, logfiles are written into this directory instead of the default logging directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">logtostderr (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log messages go to stderr instead of logfiles</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="master-set_flag"><a class="link" href="#master-set_flag"><code>set_flag</code>: Change a gflag value on a Kudu Master&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master set_flag &lt;master_address&gt; &lt;flag&gt; &lt;value&gt; [-force] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flag</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the gflag</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">New value for the gflag</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">force (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, allows the set_flag command to set a flag which is not explicitly marked as runtime-settable. Such flag changes may be simply ignored on the server, or may cause the server to crash.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="master-status"><a class="link" href="#master-status"><code>status</code>: Get the status of a Kudu Master&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master status &lt;master_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="master-timestamp"><a class="link" href="#master-timestamp"><code>timestamp</code>: Get the current timestamp of a Kudu Master&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master timestamp &lt;master_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="master-list"><a class="link" href="#master-list"><code>list</code>: List masters in a Kudu cluster&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master list &lt;master_addresses&gt; [-columns=&lt;columns&gt;] [-format=&lt;format&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of master info fields to include in output.
+Possible values: uuid, cluster_idrpc-addresses, http-addresses, version, seqno, start_time, role and member_type</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>uuid,rpc-addresses,role</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="master-add"><a class="link" href="#master-add"><code>add</code>: Add a master to the Kudu cluster&#160;</a></h4>
+<div class="paragraph">
+<p>This is an advanced command that orchestrates the workflow to bring up and add a new master to the Kudu cluster. It must be run locally on the new master being added and not on the leader master. This tool shuts down the new master after completion of the command regardless of whether the new master addition is successful. After the command completes successfully, user is expected to explicitly start the new master using the same flags as supplied to this tool.</p>
+</div>
+<div class="paragraph">
+<p>Supply all the necessary flags to bring up the new master. The most common configuration flags used to bring up a master are described below. See "Kudu Configuration Reference" for all the configuration options that apply to a Kudu master.</p>
+</div>
+<div class="paragraph">
+<p>Please refer to the Kudu administration documentation on "Migrating to Multiple Kudu Masters" for the complete steps.<br>
+<strong>Usage:</strong><br>
+<code>kudu master add &lt;master_addresses&gt; &lt;master_address&gt; [-wait_secs=&lt;secs&gt;] [-kudu_abs_path=&lt;path&gt;] [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-log_dir=&lt;dir&gt;] [-logtostderr]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">wait_secs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout in seconds to wait while retrying operations like bringing up new master, running ksck, waiting for the new master to be promoted as VOTER, etc. This flag is not passed to the new master.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>64</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">kudu_abs_path (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Absolute file path of the 'kudu' executable used to bring up new master and other workflow steps. This flag is not passed to the new master.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If specified, logfiles are written into this directory instead of the default logging directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">logtostderr (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log messages go to stderr instead of logfiles</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="master-remove"><a class="link" href="#master-remove"><code>remove</code>: Remove a master from the Kudu cluster&#160;</a></h4>
+<div class="paragraph">
+<p>Removes a master from the Raft configuration of the Kudu cluster.</p>
+</div>
+<div class="paragraph">
+<p>Please refer to the Kudu administration documentation on "Removing Kudu Masters from a Multi-Master Deployment" or "Recovering from a dead Kudu Master in a Multi-Master Deployment" as appropriate.<br>
+<strong>Usage:</strong><br>
+<code>kudu master remove &lt;master_addresses&gt; &lt;master_address&gt; [-master_uuid=&lt;uuid&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_uuid (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Permanent UUID of the master. Only needed to disambiguate in case of multiple masters with same RPC address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="master-authz_cache"><a class="link" href="#master-authz_cache"><code>authz_cache</code>: Operate on the authz caches of the Kudu Masters</a></h4>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect4">
+<h5 id="authz_cache-refresh"><a class="link" href="#authz_cache-refresh"><code>refresh</code>: Refresh the authorization policies&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu master authz_cache refresh &lt;master_addresses&gt; [-force] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">force (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ignore mismatches of the specified and the actual lists of master addresses in the cluster</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="pbc"><a class="link" href="#pbc"><code>pbc</code>: Operate on PBC (protobuf container) files</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="pbc-dump"><a class="link" href="#pbc-dump"><code>dump</code>: Dump a PBC (protobuf container) file&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu pbc dump &lt;path&gt; [-debug] [-oneline] [-json]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path to PBC file</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Print extra debugging information about each protobuf</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">oneline (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Print each protobuf on a single line</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">json (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Print protobufs in JSON format</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="pbc-edit"><a class="link" href="#pbc-edit"><code>edit</code>: Edit a PBC (protobuf container) file&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu pbc edit &lt;path&gt; [-nobackup]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path to PBC file</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">backup (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Write a backup file</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="perf"><a class="link" href="#perf"><code>perf</code>: Measure the performance of a Kudu cluster</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="perf-loadgen"><a class="link" href="#perf-loadgen"><code>loadgen</code>: Run load generation with optional scan afterwards&#160;</a></h4>
+<div class="paragraph">
+<p>Run load generation tool which inserts auto-generated data into an existing or auto-created table as fast as possible. If requested, also scan the inserted rows to check whether the actual count of inserted rows matches the expected one.<br>
+<strong>Usage:</strong><br>
+<code>kudu perf loadgen &lt;master_addresses&gt; [-auto_database=&lt;database&gt;] [-buffer_flush_watermark_pct=&lt;pct&gt;] [-buffer_size_bytes=&lt;bytes&gt;] [-buffers_num=&lt;num&gt;] [-error_buffer_size_bytes=&lt;bytes&gt;] [-flush_per_n_rows=&lt;rows&gt;] [-keep_auto_table] [-num_rows_per_thread=&lt;thread&gt;] [-num_threads=&lt;threads&gt;] [-run_cleanup] [-run_scan] [-seq_start=&lt;start&gt;] [-show_first_n_errors=&lt;errors&gt;] [-string_fixed=&lt;fixed&gt;] [-string_len=&lt;len&gt;] [-table_name=&lt;name&gt;] [-table_num_hash_partitions=&lt;partitions&gt;] [-table_num_range_partitions=&lt;partitions&gt;] [-table_num_replicas=&lt;replicas&gt;] [-txn_start] [-txn_commit] [-txn_rollback] [-nouse_client_per_thread] [-use_random] [-use_random_pk] [-use_random_non_pk] [-use_upsert] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">auto_database (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The database in which to create the automatically generated table. If --table_name is set, this flag has no effect, since a table is not created. This flag is useful primarily when the Hive Metastore integration is enabled in the cluster. If empty, no database is used.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>default</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">buffer_flush_watermark_pct (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Mutation buffer flush watermark, in percentage of total size.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">double</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0.5</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">buffer_size_bytes (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Size of the mutation buffer, per session (bytes).</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>4194304</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">buffers_num (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of mutation buffers per session.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">error_buffer_size_bytes (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Size of the error buffer, per session (bytes). 0 means 'unlimited'. This setting may impose an additional upper limit for the effective number of errors controlled by the '--show_first_n_errors' flag.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>16777216</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flush_per_n_rows (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Perform async flush per given number of rows added. Setting to non-zero implicitly turns on manual flush mode.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">keep_auto_table (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If using the auto-generated table, enabling this option retains the table populated with the data after the test finishes. By default, the auto-generated table is dropped after successfully finishing the test. NOTE: this parameter has no effect if using already existing table (see the '--table_name' flag): neither the existing table nor its data is ever dropped/deleted.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">num_rows_per_thread (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of rows each thread generates and inserts; -1 means unlimited. All rows generated by a thread are inserted in the context of the same session.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">num_threads (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads to run. Each thread runs its own KuduSession.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">run_cleanup (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to run post-insertion deletion to reset the existing table as before.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">run_scan (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to run post-insertion scan to verify that the count of the inserted rows matches the expected number. If enabled, the scan is run only if no errors were encountered while inserting the generated rows.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seq_start (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Initial value for the generator in sequential mode. This is useful when running multiple times against already existing table: for every next run, set this flag to (num_threads * num_rows_per_thread * column_num + seq_start).</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uint64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">show_first_n_errors (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Output detailed information on the specified number of first n errors (if any). The limit on the per-session error buffer space may impose an additional upper limit for the effective number of errors in the output. If so, consider increasing the size of the error buffer using the '--error_buffer_size_bytes' flag.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string_fixed (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pre-defined string to write into binary and string columns. Client generates more data per second using pre-defined string compared with auto-generated strings of the same length if run with the same CPU/memory configuration. If left empty, then auto-generated strings of length specified by the '--string_len' parameter are used instead.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string_len (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Length of strings to put into string and binary columns. This parameter is not in effect if '--string_fixed' is specified.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>32</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of an existing table to use for the test. The test will determine the structure of the table schema and populate it with data accordingly. If left empty, the test automatically creates a table of pre-defined columnar structure with unique name and uses it to insert auto-generated data. The auto-created table is dropped upon successful completion of the test if not overridden by the '--keep_auto_table' flag. If running the test against an already existing table, it&#8217;s recommended to use a dedicated table created just for testing purposes: the tool doesn&#8217;t delete the rows it inserted into the table. Neither the existing table nor its data is ever dropped/deleted.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_num_hash_partitions (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number of hash partitions to create when this tool creates a new table. Note: The total number of partitions must be greater than 1.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>8</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_num_range_partitions (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number of range partitions to create when this tool creates a new table. A range partitioning schema will be determined to evenly split a sequential workload across ranges, leaving the outermost ranges unbounded to ensure coverage of the entire keyspace. Note: The total number of partitions must be greater than 1.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_num_replicas (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number of replicas for the auto-created table; 0 means 'use server-side default'.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_start (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the generated rows are inserted in the context of a multi-row transaction. For now, only supported if configured to insert rows (i.e. UPDATE and DELETE are not yet supported). Unless --txn_commit or --txn_rollback is specified, the started transaction is left 'as is' (i.e. neither commit, nor rollback is performed) once the tool completes its operations.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_commit (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to commit the multi-row transaction which contains all the inserted rows. Setting --txn_commit=true implies setting --txn_start=true as well.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_rollback (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to rollback the multi-row transaction which contains all the inserted rows. Setting --txn_rollback=true implies setting --txn_start=true as well.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">use_client_per_thread (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Use a separate KuduClient instance for each load-generating thread. This increases throughput by reducing contention on various Client internals.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">use_random (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to use random numbers instead of sequential ones for both primary keys and non-primary key columns. In case of using random numbers collisions are possible over the data for columns with unique constraint (e.g. primary key). This option has been deprecated, use '--use_random_pk' and/or '--use_random_non_pk' instead. If either '--use_random_pk' or '--use_random_non_pk' is specified with '--use_random' then this option will be ignored.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">use_random_pk (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to use random numbers instead of sequential ones for primary key columns. Using random numbers may cause collisions over primary key columns.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">use_random_non_pk (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to use random numbers instead of sequential ones for non-primary key columns.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">use_upsert (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to use UPSERT instead of INSERT to store the generated data into the table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="perf-table_scan"><a class="link" href="#perf-table_scan"><code>table_scan</code>: Show row count and scanning time cost of tablets in a table&#160;</a></h4>
+<div class="paragraph">
+<p>Show row count and scanning time of tablets in a table. This can be useful to check for row count skew across different tablets, or whether there is a long latency tail when scanning different tables.<br>
+<strong>Usage:</strong><br>
+<code>kudu perf table_scan &lt;master_addresses&gt; &lt;table_name&gt; [-columns=&lt;columns&gt;] [-nofill_cache] [-num_threads=&lt;threads&gt;] [-predicates=&lt;predicates&gt;] [-tablets=&lt;tablets&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to scan</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of column fields to include in output tables</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>uuid,rpc-addresses,role</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fill_cache (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to fill block cache when scanning.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">num_threads (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads to run. Each thread runs its own KuduSession.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">predicates (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Query predicates on columns. Unlike traditional SQL syntax, the scan tool&#8217;s simple query predicates are represented in a simple JSON syntax. Three types of predicates are supported, including 'Comparison', 'InList' and 'IsNull'.
+ * The 'Comparison' type support &#8656;, &lt;, =, &gt; and &gt;=,
+   which can be represented as '[operator, column_name, value]',
+   e.g. '["&gt;=", "col1", "value"]'
+ * The 'InList' type can be represented as
+   '["IN", column_name, [value1, value2, &#8230;&#8203;]]'
+   e.g. '["IN", "col2", ["value1", "value2"]]'
+ * The 'IsNull' type determine whether the value is NULL or not,
+   which can be represented as '[operator, column_name]'
+   e.g. '["NULL", "col1"]', or '["NOTNULL", "col2"]'
+Predicates can be combined together with predicate operators using the syntax
+   [operator, predicate, predicate, &#8230;&#8203;, predicate].
+For example,
+   ["AND", ["&gt;=", "col1", "value"], ["NOTNULL", "col2"]]
+The only supported predicate operator is <code>AND</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="perf-tablet_scan"><a class="link" href="#perf-tablet_scan"><code>tablet_scan</code>: Show row count of a local tablet&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu perf tablet_scan &lt;tablet_id&gt; [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-fs_wal_dir=&lt;dir&gt;] [-num_iters=&lt;iters&gt;] [-ordered_scan]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">num_iters (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of times to run the scan.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ordered_scan (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to run an ordered or unordered scan.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="remote_replica"><a class="link" href="#remote_replica"><code>remote_replica</code>: Operate on remote tablet replicas on a Kudu Tablet Server</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="remote_replica-check"><a class="link" href="#remote_replica-check"><code>check</code>: Check if all tablet replicas on a Kudu tablet server are running. Tombstoned replica do not count as not running, because they are just records of the previous existence of a replica.&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu remote_replica check &lt;tserver_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="remote_replica-copy"><a class="link" href="#remote_replica-copy"><code>copy</code>: Copy a tablet replica from one Kudu Tablet Server to another&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu remote_replica copy &lt;tablet_id&gt; &lt;src_address&gt; &lt;dst_address&gt; [-force_copy] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">src_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dst_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">force_copy (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Force the copy when the destination tablet server has this replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="remote_replica-delete"><a class="link" href="#remote_replica-delete"><code>delete</code>: Delete a tablet replica from a Kudu Tablet Server&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu remote_replica delete &lt;tserver_address&gt; &lt;tablet_id&gt; &lt;reason&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">reason</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Reason for deleting the replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="remote_replica-dump"><a class="link" href="#remote_replica-dump"><code>dump</code>: Dump the data of a tablet replica on a Kudu Tablet Server&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu remote_replica dump &lt;tserver_address&gt; &lt;tablet_id&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="remote_replica-list"><a class="link" href="#remote_replica-list"><code>list</code>: List all tablet replicas on a Kudu Tablet Server&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu remote_replica list &lt;tserver_address&gt; [-noinclude_schema] [-table_name=&lt;name&gt;] [-tablets=&lt;tablets&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">include_schema (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to include the schema of each replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Restrict output to a specific table by name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of tablet IDs used to filter the list of replicas</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="remote_replica-unsafe_change_config"><a class="link" href="#remote_replica-unsafe_change_config"><code>unsafe_change_config</code>: Force the specified replica to adopt a new Raft config&#160;</a></h4>
+<div class="paragraph">
+<p>This tool is useful when a config change is necessary because a tablet cannot make progress with its current Raft configuration (e.g. to evict followers when a majority is unavailable).</p>
+</div>
+<div class="paragraph">
+<p>Note: The members of the new Raft config must be a subset of (or the same as) the members of the existing committed Raft config.<br>
+<strong>Usage:</strong><br>
+<code>kudu remote_replica unsafe_change_config &lt;tserver_address&gt; &lt;tablet_id&gt; &lt;peer uuids&gt;&#8230;&#8203; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">peer uuids&#8230;&#8203;</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">List of peer uuids to be part of new config, separated by whitespace</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="table"><a class="link" href="#table"><code>table</code>: Operate on Kudu tables</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="table-add_range_partition"><a class="link" href="#table-add_range_partition"><code>add_range_partition</code>: Add a range partition for table&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table add_range_partition &lt;master_addresses&gt; &lt;table_name&gt; &lt;table_range_lower_bound&gt; &lt;table_range_upper_bound&gt; [-lower_bound_type=&lt;type&gt;] [-upper_bound_type=&lt;type&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_range_lower_bound</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String representation of lower bound of the table range partition as a JSON array.If the parameter is an empty array, the lower range partition will be unbounded</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_range_upper_bound</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String representation of upper bound of the table range partition as a JSON array.If the parameter is an empty array, the upper range partition will be unbounded</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">lower_bound_type (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. This flag is case-insensitive.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>INCLUSIVE_BOUND</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">upper_bound_type (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The type of the upper bound, either inclusive or exclusive. Defaults to exclusive. This flag is case-insensitive.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>EXCLUSIVE_BOUND</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-column_remove_default"><a class="link" href="#table-column_remove_default"><code>column_remove_default</code>: Remove write_default value for a column&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table column_remove_default &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-column_set_block_size"><a class="link" href="#table-column_set_block_size"><code>column_set_block_size</code>: Set block size for a column&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table column_set_block_size &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; &lt;block_size&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block_size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Block size of the column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-column_set_compression"><a class="link" href="#table-column_set_compression"><code>column_set_compression</code>: Set compression type for a column&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table column_set_compression &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; &lt;compression_type&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">compression_type</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Compression type of the column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-column_set_default"><a class="link" href="#table-column_set_default"><code>column_set_default</code>: Set write_default value for a column&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table column_set_default &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; &lt;default_value&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">default_value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Write default value of the column, should be provided as a JSON array, e.g. [1] or ["foo"]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-column_set_encoding"><a class="link" href="#table-column_set_encoding"><code>column_set_encoding</code>: Set encoding type for a column&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table column_set_encoding &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; &lt;encoding_type&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">encoding_type</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Encoding type of the column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-column_set_comment"><a class="link" href="#table-column_set_comment"><code>column_set_comment</code>: Set comment for a column&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table column_set_comment &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; &lt;column_comment&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_comment</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comment of the column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-copy"><a class="link" href="#table-copy"><code>copy</code>: Copy table data to another table&#160;</a></h4>
+<div class="paragraph">
+<p>Copy table data to another table; the two tables could be in the same cluster or not. The two tables must have the same table schema, but could have different partition schemas. Alternatively, the tool can create the new table using the same table and partition schema as the source table.<br>
+<strong>Usage:</strong><br>
+<code>kudu table copy &lt;master_addresses&gt; &lt;table_name&gt; &lt;dest_master_addresses&gt; [-nocreate_table] [-dst_table=&lt;table&gt;] [-num_threads=&lt;threads&gt;] [-predicates=&lt;predicates&gt;] [-tablets=&lt;tablets&gt;] [-write_type=&lt;type&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the source table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dest_master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of destination Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">create_table (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to create the destination table if it doesn&#8217;t exist.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dst_table (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The name of the destination table the data will be copied to. If the empty string, use the same name as the source table.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">num_threads (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads to run. Each thread runs its own KuduSession.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">predicates (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Query predicates on columns. Unlike traditional SQL syntax, the scan tool&#8217;s simple query predicates are represented in a simple JSON syntax. Three types of predicates are supported, including 'Comparison', 'InList' and 'IsNull'.
+ * The 'Comparison' type support &#8656;, &lt;, =, &gt; and &gt;=,
+   which can be represented as '[operator, column_name, value]',
+   e.g. '["&gt;=", "col1", "value"]'
+ * The 'InList' type can be represented as
+   '["IN", column_name, [value1, value2, &#8230;&#8203;]]'
+   e.g. '["IN", "col2", ["value1", "value2"]]'
+ * The 'IsNull' type determine whether the value is NULL or not,
+   which can be represented as '[operator, column_name]'
+   e.g. '["NULL", "col1"]', or '["NOTNULL", "col2"]'
+Predicates can be combined together with predicate operators using the syntax
+   [operator, predicate, predicate, &#8230;&#8203;, predicate].
+For example,
+   ["AND", ["&gt;=", "col1", "value"], ["NOTNULL", "col2"]]
+The only supported predicate operator is <code>AND</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">write_type (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">How data should be copied to the destination table. Valid values are 'insert', 'upsert' or the empty string. If the empty string, data will not be copied (useful when create_table is 'true').</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>insert</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-create"><a class="link" href="#table-create"><code>create</code>: Create a new table&#160;</a></h4>
+<div class="paragraph">
+<p>Provide the  table-build statements as a JSON object, e.g.'{"table_name":"test","schema":{"columns":[{"column_name":"id","column_type":"INT32","default_value":"1"},{"column_name":"key","column_type":"INT64","is_nullable":false,"comment":"range key"},{"column_name":"name","column_type":"STRING","is_nullable":false,"comment":"user name"}],"key_column_names":["id", "key"]},"partition":{"hash_partitions":[{"columns":["id"],"num_buckets":2,"seed":100}],"range_partition":{"columns":["key"],"range_bounds":[{"upper_bound":{"bound_type":"inclusive","bound_values":["2"]}},{"lower_bound": {"bound_type":"exclusive","bound_values": ["2"]},"upper_bound":{"bound_type":"inclusive","bound_values":["3"]}}]}},"extra_configs":{"configs":{"kudu.table.history_max_age_sec":"3600"}},"num_replicas":3}'.<br>
+<strong>Usage:</strong><br>
+<code>kudu table create &lt;master_addresses&gt; &lt;create_table_json&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">create_table_json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">JSON object for creating table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-delete_column"><a class="link" href="#table-delete_column"><code>delete_column</code>: Delete a column&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table delete_column &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to delete</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-delete"><a class="link" href="#table-delete"><code>delete</code>: Delete a table&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table delete &lt;master_addresses&gt; &lt;table_name&gt; [-nomodify_external_catalogs] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to delete</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">modify_external_catalogs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to modify external catalogs, such as the Hive Metastore, when renaming or dropping a table.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-describe"><a class="link" href="#table-describe"><code>describe</code>: Describe a table&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table describe &lt;master_addresses&gt; &lt;table_name&gt; [-show_attributes] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to describe</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">show_attributes (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to show column attributes, including column encoding type, compression type, and default read/write value.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-drop_range_partition"><a class="link" href="#table-drop_range_partition"><code>drop_range_partition</code>: Drop a range partition of table&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table drop_range_partition &lt;master_addresses&gt; &lt;table_name&gt; &lt;table_range_lower_bound&gt; &lt;table_range_upper_bound&gt; [-lower_bound_type=&lt;type&gt;] [-upper_bound_type=&lt;type&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_range_lower_bound</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String representation of lower bound of the table range partition as a JSON array</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_range_upper_bound</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String representation of upper bound of the table range partition as a JSON array</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">lower_bound_type (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. This flag is case-insensitive.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>INCLUSIVE_BOUND</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">upper_bound_type (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The type of the upper bound, either inclusive or exclusive. Defaults to exclusive. This flag is case-insensitive.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>EXCLUSIVE_BOUND</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-get_extra_configs"><a class="link" href="#table-get_extra_configs"><code>get_extra_configs</code>: Get the extra configuration properties for a table&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table get_extra_configs &lt;master_addresses&gt; &lt;table_name&gt; [-config_names=&lt;names&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table for which to get extra configurations</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">config_names (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of configurations to display. An empty value displays all configs.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-list"><a class="link" href="#table-list"><code>list</code>: List tables&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table list &lt;master_addresses&gt; [-tables=&lt;tables&gt;] [-list_tablets] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tables (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tables to include (comma-separated list of table names)If not specified, includes all tables.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">list_tablets (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Include tablet and replica UUIDs in the output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-locate_row"><a class="link" href="#table-locate_row"><code>locate_row</code>: Locate which tablet a row belongs to&#160;</a></h4>
+<div class="paragraph">
+<p>Provide the primary key as a JSON array of primary key values, e.g. '[1, "foo", 2, "bar"]'. The output will be the tablet id associated with the row key. If there is no such tablet, an error message will be printed and the command will return a non-zero status<br>
+<strong>Usage:</strong><br>
+<code>kudu table locate_row &lt;master_addresses&gt; &lt;table_name&gt; &lt;primary_key&gt; [-check_row_existence] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to look up against</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">primary_key</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String representation of the row&#8217;s primary key as a JSON array</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">check_row_existence (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Also check for the existence of the row on the leader replica of the tablet. If found, the full row will be printed; if not found, an error message will be printed and the command will return a non-zero status.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-rename_column"><a class="link" href="#table-rename_column"><code>rename_column</code>: Rename a column&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table rename_column &lt;master_addresses&gt; &lt;table_name&gt; &lt;column_name&gt; &lt;new_column_name&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table column to rename</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">new_column_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">New column name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-rename_table"><a class="link" href="#table-rename_table"><code>rename_table</code>: Rename a table&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table rename_table &lt;master_addresses&gt; &lt;table_name&gt; &lt;new_table_name&gt; [-nomodify_external_catalogs] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to rename</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">new_table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">New table name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">modify_external_catalogs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to modify external catalogs, such as the Hive Metastore, when renaming or dropping a table.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-scan"><a class="link" href="#table-scan"><code>scan</code>: Scan rows from a table&#160;</a></h4>
+<div class="paragraph">
+<p>Scan rows from an existing table. See the help for the --predicates flag on how predicates can be specified.<br>
+<strong>Usage:</strong><br>
+<code>kudu table scan &lt;master_addresses&gt; &lt;table_name&gt; [-columns=&lt;columns&gt;] [-nofill_cache] [-num_threads=&lt;threads&gt;] [-predicates=&lt;predicates&gt;] [-tablets=&lt;tablets&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to scan</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of column fields to include in output tables</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>uuid,rpc-addresses,role</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fill_cache (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to fill block cache when scanning.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">num_threads (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of threads to run. Each thread runs its own KuduSession.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">predicates (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Query predicates on columns. Unlike traditional SQL syntax, the scan tool&#8217;s simple query predicates are represented in a simple JSON syntax. Three types of predicates are supported, including 'Comparison', 'InList' and 'IsNull'.
+ * The 'Comparison' type support &#8656;, &lt;, =, &gt; and &gt;=,
+   which can be represented as '[operator, column_name, value]',
+   e.g. '["&gt;=", "col1", "value"]'
+ * The 'InList' type can be represented as
+   '["IN", column_name, [value1, value2, &#8230;&#8203;]]'
+   e.g. '["IN", "col2", ["value1", "value2"]]'
+ * The 'IsNull' type determine whether the value is NULL or not,
+   which can be represented as '[operator, column_name]'
+   e.g. '["NULL", "col1"]', or '["NOTNULL", "col2"]'
+Predicates can be combined together with predicate operators using the syntax
+   [operator, predicate, predicate, &#8230;&#8203;, predicate].
+For example,
+   ["AND", ["&gt;=", "col1", "value"], ["NOTNULL", "col2"]]
+The only supported predicate operator is <code>AND</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-set_extra_config"><a class="link" href="#table-set_extra_config"><code>set_extra_config</code>: Change a extra configuration value on a table&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table set_extra_config &lt;master_addresses&gt; &lt;table_name&gt; &lt;config_name&gt; &lt;config_value&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to alter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">config_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the configuration</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">config_value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">New value for the configuration</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-statistics"><a class="link" href="#table-statistics"><code>statistics</code>: Get table statistics&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table statistics &lt;master_addresses&gt; &lt;table_name&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to get statistics</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="table-set_limit"><a class="link" href="#table-set_limit"><code>set_limit</code>: Set the write limit for a table</a></h4>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect4">
+<h5 id="set_limit-disk_size"><a class="link" href="#set_limit-disk_size"><code>disk_size</code>: Set the disk size limit&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table set_limit disk_size &lt;master_addresses&gt; &lt;table_name&gt; &lt;disk_size&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to set limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">disk_size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The disk size limit, 'unlimited' for no write limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="set_limit-row_count"><a class="link" href="#set_limit-row_count"><code>row_count</code>: Set the row count limit&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu table set_limit row_count &lt;master_addresses&gt; &lt;table_name&gt; &lt;row_count&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table_name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the table to set limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">row_count</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The row count limit, 'unlimited' for no write limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tablet"><a class="link" href="#tablet"><code>tablet</code>: Operate on remote Kudu tablets</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="tablet-leader_step_down"><a class="link" href="#tablet-leader_step_down"><code>leader_step_down</code>: Change the tablet&#8217;s leader&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tablet leader_step_down &lt;master_addresses&gt; &lt;tablet_id&gt; [-abrupt] [-new_leader_uuid=&lt;uuid&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">abrupt (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the leader should step down without attempting to transfer leadership gracefully. A graceful transfer minimizes delays in tablet operations, but will fail if the tablet cannot arrange a successor.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">new_leader_uuid (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of the server that leadership should be transferred to. Leadership may only be transferred to a voting member of the leader&#8217;s active config. If the designated successor cannot catch up to the leader within one election timeout, leadership transfer will not occur. If blank, the leader chooses its own successor, attempting to transfer leadership as soon as possible. This cannot be set if --abrupt is set.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="tablet-unsafe_replace_tablet"><a class="link" href="#tablet-unsafe_replace_tablet"><code>unsafe_replace_tablet</code>: Replace a tablet with an empty one, deleting the previous tablet.&#160;</a></h4>
+<div class="paragraph">
+<p>Use this tool to repair a table when one of its tablets has permanently lost all of its replicas. It replaces the unrecoverable tablet with a new empty one representing the same partition. Its primary use is to jettison an unrecoverable tablet in order to make the rest of the table available.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The original tablet will be deleted. Its data will be permanently lost. Additionally, clients should be restarted before attempting to use the repaired table (see KUDU-2376).<br>
+<strong>Usage:</strong><br>
+<code>kudu tablet unsafe_replace_tablet &lt;master_addresses&gt; &lt;tablet_id&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong>
+</td>
+</tr>
+</table>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="tablet-change_config"><a class="link" href="#tablet-change_config"><code>change_config</code>: Change a tablet&#8217;s Raft configuration</a></h4>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect4">
+<h5 id="change_config-add_replica"><a class="link" href="#change_config-add_replica"><code>add_replica</code>: Add a new replica to a tablet&#8217;s Raft configuration&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tablet change_config add_replica &lt;master_addresses&gt; &lt;tablet_id&gt; &lt;ts_uuid&gt; &lt;replica_type&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ts_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of the tablet server that should host the new replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">replica_type</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">New replica&#8217;s type. Must be VOTER or NON_VOTER.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="change_config-change_replica_type"><a class="link" href="#change_config-change_replica_type"><code>change_replica_type</code>: Change the type of an existing replica in a tablet&#8217;s Raft configuration&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tablet change_config change_replica_type &lt;master_addresses&gt; &lt;tablet_id&gt; &lt;ts_uuid&gt; &lt;replica_type&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ts_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of the tablet server hosting the existing replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">replica_type</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Existing replica&#8217;s new type. Must be VOTER or NON_VOTER.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="change_config-move_replica"><a class="link" href="#change_config-move_replica"><code>move_replica</code>: Move a tablet replica from one tablet server to another&#160;</a></h5>
+<div class="paragraph">
+<p>The replica move tool effectively moves a replica from one tablet server to another by adding a replica to the new server and then removing it from the old one. It requires that ksck return no errors when run against the target tablet. If the move fails, the user should wait for any tablet copy to complete, and, if the copy succeeds, use remove_replica manually. If the copy fails, the new replica will be deleted automatically after some time, and then the move can be retried.<br>
+<strong>Usage:</strong><br>
+<code>kudu tablet change_config move_replica &lt;master_addresses&gt; &lt;tablet_id&gt; &lt;from_ts_uuid&gt; &lt;to_ts_uuid&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">from_ts_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of the tablet server to move from</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">to_ts_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of the tablet server to move to</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="change_config-remove_replica"><a class="link" href="#change_config-remove_replica"><code>remove_replica</code>: Remove an existing replica from a tablet&#8217;s Raft configuration&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tablet change_config remove_replica &lt;master_addresses&gt; &lt;tablet_id&gt; &lt;ts_uuid&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Identifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ts_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of the tablet server hosting the existing replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="test"><a class="link" href="#test"><code>test</code>: Various test actions</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="test-mini_cluster"><a class="link" href="#test-mini_cluster"><code>mini_cluster</code>: Spawn a control shell for running a mini-cluster&#160;</a></h4>
+<div class="paragraph">
+<p>The protocol for the control shell is protobuf-based and is documented in src/kudu/tools/tool.proto. It is currently considered to be highly experimental and subject to change.</p>
+</div>
+<div class="paragraph">
+<p>Example JSON input to create and start a cluster:
+    {"createCluster":{"numTservers":3}}
+    {"startCluster":{}}
+<br>
+<strong>Usage:</strong><br>
+<code>kudu test mini_cluster [-serialization=&lt;serialization&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">serialization (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Serialization method to be used by the control shell. Valid values are 'json' (protobuf serialized into JSON and terminated with a newline character) or 'pb' (four byte protobuf message length in big endian followed by the protobuf message itself).</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>json</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="txn"><a class="link" href="#txn"><code>txn</code>: Operate on multi-row transactions</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="txn-list"><a class="link" href="#txn-list"><code>list</code>: Show details of multi-row transactions in the cluster&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu txn list &lt;master_addresses&gt; [-columns=&lt;columns&gt;] [-max_txn_id=&lt;id&gt;] [-min_txn_id=&lt;id&gt;] [-included_states=&lt;states&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of transaction-related info fields to include in the output.
+Possible values: txn_id, user, state, commit_datetime, commit_hybridtime, start_datetime, last_transition_datetime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>txn_id,user,state,commit_datetime,start_datetime,last_transition_datetime</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">max_txn_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Inclusive maximum transaction ID to display, or -1 for no maximum.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">min_txn_id (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Inclusive minimum transaction ID to display, or -1 for no minimum.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">included_states (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of transaction states to display. Supported states are 'open', 'abort_in_progress', 'aborted', 'commit_in_progress', 'finalize_in_progress', and 'committed', or '*' for all states. By default, shows currently active transactions.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>open,abort_in_progress,commit_in_progress,finalize_in_progress</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="txn-show"><a class="link" href="#txn-show"><code>show</code>: Show details of a specific transaction&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu txn show &lt;master_addresses&gt; &lt;txn_id&gt; [-columns=&lt;columns&gt;] [-timeout_ms=&lt;ms&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">txn_id</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Transaction ID on which to operate</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of transaction-related info fields to include in the output.
+Possible values: txn_id, user, state, commit_datetime, commit_hybridtime, start_datetime, last_transition_datetime, participant_tablet_id, participant_is_aborted, participant_flushed_committed_mrs, participant_begin_commit_datetime, participant_begin_commit_hybridtime, participant_commit_datetime, participant_commit_hybridtime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>txn_id,user,state,commit_datetime,start_datetime,last_transition_datetime,participant_tablet_id,participant_begin_commit_datetime,participant_commit_datetime</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tserver"><a class="link" href="#tserver"><code>tserver</code>: Operate on a Kudu Tablet Server</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="tserver-dump_memtrackers"><a class="link" href="#tserver-dump_memtrackers"><code>dump_memtrackers</code>: Dump the memtrackers from a Kudu Tablet Server&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver dump_memtrackers &lt;tserver_address&gt; [-format=&lt;format&gt;] [-memtracker_output=&lt;output&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">memtracker_output (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">One of 'json', 'json_compact' or 'table'. Table output flattens the memtracker hierarchy.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>table</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="tserver-get_flags"><a class="link" href="#tserver-get_flags"><code>get_flags</code>: Get the gflags for a Kudu Tablet Server&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver get_flags &lt;tserver_address&gt; [-all_flags] [-flags=&lt;flags&gt;] [-flag_tags=&lt;tags&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">all_flags (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to return all flags, or only flags that were explicitly set.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flags (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of flags used to restrict which flags are returned. An empty value means no restriction. If non-empty, all_flags is ignored.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flag_tags (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of tags used to restrict which flags are returned. An empty value matches all tags</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="tserver-run"><a class="link" href="#tserver-run"><code>run</code>: Run a Kudu Tablet Server&#160;</a></h4>
+<div class="paragraph">
+<p>Note: The tablet server is started in this process and runs until interrupted.</p>
+</div>
+<div class="paragraph">
+<p>The most common configuration flags are described below. For all the configuration options pass --helpfull or see <a href="https://kudu.apache.org/docs/configuration_reference.html#kudu-tserver_supported" class="bare">https://kudu.apache.org/docs/configuration_reference.html#kudu-tserver_supported</a><br>
+<strong>Usage:</strong><br>
+<code>kudu tserver run [-tserver_master_addrs=&lt;addrs&gt;] [-fs_wal_dir=&lt;dir&gt;] [-fs_data_dirs=&lt;dirs&gt;] [-fs_metadata_dir=&lt;dir&gt;] [-block_cache_capacity_mb=&lt;mb&gt;] [-memory_limit_hard_bytes=&lt;bytes&gt;] [-log_dir=&lt;dir&gt;] [-logtostderr]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_master_addrs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma separated addresses of the masters which the tablet server should connect to. The masters do not read this flag&#8201;&#8212;&#8201;configure the masters separately using 'rpc_bind_addresses'.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>127.0.0.1:7051</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_wal_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_data_dirs (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fs_metadata_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block_cache_capacity_mb (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">block cache capacity in MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>512</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">memory_limit_hard_bytes (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log_dir (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If specified, logfiles are written into this directory instead of the default logging directory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">logtostderr (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log messages go to stderr instead of logfiles</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="tserver-set_flag"><a class="link" href="#tserver-set_flag"><code>set_flag</code>: Change a gflag value on a Kudu Tablet Server&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver set_flag &lt;tserver_address&gt; &lt;flag&gt; &lt;value&gt; [-force] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">flag</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the gflag</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">New value for the gflag</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">force (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, allows the set_flag command to set a flag which is not explicitly marked as runtime-settable. Such flag changes may be simply ignored on the server, or may cause the server to crash.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="tserver-status"><a class="link" href="#tserver-status"><code>status</code>: Get the status of a Kudu Tablet Server&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver status &lt;tserver_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="tserver-timestamp"><a class="link" href="#tserver-timestamp"><code>timestamp</code>: Get the current timestamp of a Kudu Tablet Server&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver timestamp &lt;tserver_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="tserver-list"><a class="link" href="#tserver-list"><code>list</code>: List tablet servers in a Kudu cluster&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver list &lt;master_addresses&gt; [-columns=&lt;columns&gt;] [-format=&lt;format&gt;] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of tserver info fields to include in output.
+Possible values: uuid, rpc-addresses, http-addresses, version, seqno, heartbeat, start_time, state</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>uuid,rpc-addresses</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">format (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Format to use for printing list output tables.
+Possible values: pretty, space, tsv, csv, and json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pretty</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="tserver-quiesce"><a class="link" href="#tserver-quiesce"><code>quiesce</code>: Operate on the quiescing state of a Kudu Tablet Server.</a></h4>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect4">
+<h5 id="quiesce-status"><a class="link" href="#quiesce-status"><code>status</code>: Output information about the quiescing state of a Tablet Server.&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver quiesce status &lt;tserver_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="quiesce-start"><a class="link" href="#quiesce-start"><code>start</code>: Start quiescing the given Tablet Server. While a Tablet Server is quiescing, Tablet replicas on it will no longer attempt to become leader, and new scan requests will be retried at other servers.&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver quiesce start &lt;tserver_address&gt; [-error_if_not_fully_quiesced] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">error_if_not_fully_quiesced (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, the command to start quiescing will return an error if the tserver is not fully quiesced, i.e. there are still tablet leaders or active scanners on it.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="quiesce-stop"><a class="link" href="#quiesce-stop"><code>stop</code>: Stop quiescing a Tablet Server.&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver quiesce stop &lt;tserver_address&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_address</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="tserver-state"><a class="link" href="#tserver-state"><code>state</code>: Operate on the state of a Kudu Tablet Server</a></h4>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect4">
+<h5 id="state-enter_maintenance"><a class="link" href="#state-enter_maintenance"><code>enter_maintenance</code>: Begin maintenance on the Tablet Server. While under maintenance, downtime of the Tablet Server will not lead to the immediate re-replication of its tablet replicas.&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver state enter_maintenance &lt;master_addresses&gt; &lt;tserver_uuid&gt; [-allow_missing_tserver] [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of a Kudu Tablet Server</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">allow_missing_tserver (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If true, performs the action on the tserver even if it has not been registered with the master and has no existing tserver state records associated with it.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="state-exit_maintenance"><a class="link" href="#state-exit_maintenance"><code>exit_maintenance</code>: End maintenance of the Tablet Server.&#160;</a></h5>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu tserver state exit_maintenance &lt;master_addresses&gt; &lt;tserver_uuid&gt; [-negotiation_timeout_ms=&lt;ms&gt;] [-timeout_ms=&lt;ms&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">master_addresses</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tserver_uuid</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">UUID of a Kudu Tablet Server</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">negotiation_timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout for negotiating an RPC connection to a Kudu server, in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3000</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">timeout_ms (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RPC timeout in milliseconds</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="wal"><a class="link" href="#wal"><code>wal</code>: Operate on WAL (write-ahead log) files</a></h3>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="sect3">
+<h4 id="wal-dump"><a class="link" href="#wal-dump"><code>dump</code>: Dump a WAL (write-ahead log) file&#160;</a></h4>
+<div class="paragraph">
+<p><strong>Usage:</strong><br>
+<code>kudu wal dump &lt;path&gt; [-print_entries=&lt;entries&gt;] [-noprint_meta] [-truncate_data=&lt;data&gt;]</code>
+<br>
+<strong>Arguments:</strong></p>
+</div>
+<table class="tableblock frame-topbot grid-all stretch">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">path to WAL file</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">none</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">print_entries (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">How to print entries:
+  false|0|no = don&#8217;t print
+  true|1|yes|decoded = print them decoded
+  pb = print the raw protobuf
+  id = print only their ids</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>decoded</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">print_meta (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Include metadata in output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">truncate_data (optional)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Truncate the data fields to the given number of bytes before printing. Set to 0 to disable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>100</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+<span class="active-toc">Kudu Command Line Tools Reference</span>
+            <ul class="sectlevel1">
+<li><a href="#_command_hierarchy">Command Hierarchy</a></li>
+<li><a href="#_command_details">Command Details</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/configuration.html b/releases/1.15.0/docs/configuration.html
new file mode 100644
index 0000000..6f8b67c
--- /dev/null
+++ b/releases/1.15.0/docs/configuration.html
@@ -0,0 +1,614 @@
+<!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 - Configuring Apache Kudu</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Configuring Apache Kudu</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_configure_kudu"><a class="link" href="#_configure_kudu">Configure Kudu</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_configuration_basics"><a class="link" href="#_configuration_basics">Configuration Basics</a></h3>
+<div class="paragraph">
+<p>To configure the behavior of each Kudu process, you can pass command-line flags when
+you start it, or read those options from configuration files by passing them using
+one or more <code>--flagfile=&lt;file&gt;</code> options. You can even include the
+<code>--flagfile</code> option within your configuration file to include other files. Learn more about gflags
+by reading <a href="https://gflags.github.io/gflags/">its documentation</a>.</p>
+</div>
+<div class="paragraph">
+<p>You can place options for masters and tablet servers into the same configuration
+file, and each will ignore options that do not apply.</p>
+</div>
+<div class="paragraph">
+<p>Flags can be prefixed with either one or two <code>-</code> characters. This
+documentation standardizes on two: <code>--example_flag</code>.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_discovering_configuration_options"><a class="link" href="#_discovering_configuration_options">Discovering Configuration Options</a></h3>
+<div class="paragraph">
+<p>Only the most common configuration options are documented here. For a more exhaustive
+list of configuration options, see the <a href="configuration_reference.html">Configuration Reference</a>.</p>
+</div>
+<div class="paragraph">
+<p>To see all configuration flags for a given executable, run it with the <code>--help</code> option.
+Take care when configuring undocumented flags, as not every possible
+configuration has been tested, and undocumented options are not guaranteed to be
+maintained in future releases.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="directory_configuration"><a class="link" href="#directory_configuration">Directory Configurations</a></h3>
+<div class="paragraph">
+<p>Every Kudu node requires the specification of directory flags. The
+<code>--fs_wal_dir</code> configuration indicates where Kudu will place its write-ahead
+logs. The <code>--fs_metadata_dir</code> configuration indicates where Kudu will place
+metadata for each tablet. It is recommended, although not necessary, that these
+directories be placed on a high-performance drives with high bandwidth and low
+latency, e.g. solid-state drives. If <code>--fs_metadata_dir</code> is not specified,
+metadata will be placed in the directory specified by <code>--fs_wal_dir</code>. Since
+a Kudu node cannot tolerate the loss of its WAL or metadata directories, it
+may be wise to mirror the drives containing these directories in order to
+make recovering from a drive failure easier; however, mirroring may increase
+the latency of Kudu writes.</p>
+</div>
+<div class="paragraph">
+<p>The <code>--fs_data_dirs</code> configuration indicates where Kudu will write its data
+blocks. This is a comma-separated list of directories; if multiple values are
+specified, data will be striped across the directories. If not specified, data
+blocks will be placed in the directory specified by <code>--fs_wal_dir</code>. Note that
+while a single data directory backed by a RAID-0 array will outperform a single
+data directory backed by a single storage device, it is better to let Kudu
+manage its own striping over multiple devices rather than delegating the
+striping to a RAID-0 array.</p>
+</div>
+<div class="paragraph">
+<p>Additionally, <code>--fs_wal_dir</code> and <code>--fs_metadata_dir</code> may be the same as <em>one
+of</em> the directories listed in <code>--fs_data_dirs</code>, but must not be sub-directories
+of any of them.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Each directory specified by a configuration flag on a given machine
+should be used by at most one Kudu process. If multiple Kudu processes on the
+same machine are configured to use the same directory, Kudu may refuse to start
+up.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Once <code>--fs_data_dirs</code> is set, extra tooling is required to change it.
+For more details, see the <a href="administration.html#change_dir_config">Kudu
+Administration docs</a>.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The <code>--fs_wal_dir</code> and <code>--fs_metadata_dir</code> configurations can be changed,
+provided the contents of the directories are also moved to match the flags.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_the_kudu_master"><a class="link" href="#_configuring_the_kudu_master">Configuring the Kudu Master</a></h3>
+<div class="paragraph">
+<p>To see all available configuration options for the <code>kudu-master</code> executable, run it
+with the <code>--help</code> option:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ kudu-master --help</pre>
+</div>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 1. Supported Configuration Flags for Kudu Masters</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Flag</th>
+<th class="tableblock halign-left valign-top">Valid Options</th>
+<th class="tableblock halign-left valign-top">Default</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>--master_addresses</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>localhost</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma-separated list of all the RPC
+addresses for Master consensus-configuration. If not specified, assumes a standalone Master.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>--fs_data_dirs</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">List of directories where the Master will place its data blocks.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>--fs_metadata_dir</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The directory where the Master will place its tablet metadata.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>--fs_wal_dir</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The directory where the Master will place its write-ahead logs.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>--log_dir</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/tmp</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The directory to store Master log files.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>For the full list of flags for masters, see the
+<a href="configuration_reference.html#kudu-master_supported">Kudu Master Configuration Reference</a>.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_tablet_servers"><a class="link" href="#_configuring_tablet_servers">Configuring Tablet Servers</a></h3>
+<div class="paragraph">
+<p>To see all available configuration options for the <code>kudu-tserver</code> executable,
+run it with the <code>--help</code> option:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ kudu-tserver --help</pre>
+</div>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 2. Supported Configuration Flags for Kudu Tablet Servers</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Flag</th>
+<th class="tableblock halign-left valign-top">Valid Options</th>
+<th class="tableblock halign-left valign-top">Default</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">--fs_data_dirs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">List of directories where the Tablet Server will place its data blocks.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">--fs_metadata_dir</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The directory where the Tablet Server will place its tablet metadata.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">--fs_wal_dir</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The directory where the Tablet Server will place its write-ahead logs.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">--log_dir</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">/tmp</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The directory to store Tablet Server log files</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">--tserver_master_addrs</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>127.0.0.1:7051</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Comma separated
+addresses of the masters which the tablet server should connect to. The masters
+do not read this flag.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">--block_cache_capacity_mb</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">integer</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">512</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum amount of memory allocated to the Kudu Tablet Server&#8217;s block cache.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">--memory_limit_hard_bytes</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">integer</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">4294967296</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum amount of memory a Tablet Server can consume before it starts rejecting all incoming writes.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>For the full list of flags for tablet servers, see the
+<a href="configuration_reference.html#kudu-tserver_supported">Kudu Tablet Server Configuration Reference</a>.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_configure_kudu_tables"><a class="link" href="#_configure_kudu_tables">Configure Kudu Tables</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu allows certain configurations to be set per table. To configure the behavior of a Kudu table,
+you can set these configurations at table creation, or alter them via the Kudu API or Kudu command
+line tool.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 3. Supported Configurable Properties for Kudu Tables</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Configuration</th>
+<th class="tableblock halign-left valign-top">Valid Options</th>
+<th class="tableblock halign-left valign-top">Default</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">kudu.table.history_max_age_sec</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">integer</p></td>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of seconds to retain history for tablets in this table.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">kudu.table.maintenance_priority</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">integer</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Priority level of a table for maintenance.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_next_steps"><a class="link" href="#_next_steps">Next Steps</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="quickstart.html">Get Started With Kudu</a></p>
+</li>
+<li>
+<p><a href="developing.html">Developing Applications With Kudu</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+<span class="active-toc">Configuring Kudu</span>
+            <ul class="sectlevel1">
+<li><a href="#_configure_kudu">Configure Kudu</a>
+<ul class="sectlevel2">
+<li><a href="#_configuration_basics">Configuration Basics</a></li>
+<li><a href="#_discovering_configuration_options">Discovering Configuration Options</a></li>
+<li><a href="#directory_configuration">Directory Configurations</a></li>
+<li><a href="#_configuring_the_kudu_master">Configuring the Kudu Master</a></li>
+<li><a href="#_configuring_tablet_servers">Configuring Tablet Servers</a></li>
+</ul>
+</li>
+<li><a href="#_configure_kudu_tables">Configure Kudu Tables</a></li>
+<li><a href="#_next_steps">Next Steps</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/configuration_reference.html b/releases/1.15.0/docs/configuration_reference.html
new file mode 100644
index 0000000..94f288b
--- /dev/null
+++ b/releases/1.15.0/docs/configuration_reference.html
@@ -0,0 +1,24784 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Configuration Reference</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Configuration Reference</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_supported"><a class="link" href="#kudu-master_supported"><code>kudu-master</code> Flags</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="kudu-master_stable"><a class="link" href="#kudu-master_stable">Stable Flags</a></h3>
+<div class="paragraph">
+<p>Flags tagged <code>stable</code> and not <code>advanced</code> are safe to use for common
+configuration tasks.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_cache_capacity_mb"><a class="link" href="#kudu-master_block_cache_capacity_mb"><code>--block_cache_capacity_mb</code></a></h4>
+<div class="paragraph">
+<p>block cache capacity in MB</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>512</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_builtin_ntp_servers"><a class="link" href="#kudu-master_builtin_ntp_servers"><code>--builtin_ntp_servers</code></a></h4>
+<div class="paragraph">
+<p>The NTP servers used by the built-in NTP client, in format &lt;FQDN|IP&gt;[:PORT]. These will only be used if the built-in NTP client is enabled (i.e. if setting --time_source=builtin).</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">string</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>0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_time_source"><a class="link" href="#kudu-master_time_source"><code>--time_source</code></a></h4>
+<div class="paragraph">
+<p>The time source that HybridClock should use. Must be one of auto, builtin, system, system_unsync (toy clusters/testing only), mock (testing only). When set to auto, the system automatically picks one of the following depending on the environment: builtin, system, system_unsync, where in case of picking builtin the built-in NTP client is configured with dedicated NTP server(s) provided by the environment.</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">string</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>system</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_force_fsync_all"><a class="link" href="#kudu-master_log_force_fsync_all"><code>--log_force_fsync_all</code></a></h4>
+<div class="paragraph">
+<p>Whether the Log/WAL should explicitly call fsync() after each write.</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fs_data_dirs"><a class="link" href="#kudu-master_fs_data_dirs"><code>--fs_data_dirs</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fs_metadata_dir"><a class="link" href="#kudu-master_fs_metadata_dir"><code>--fs_metadata_dir</code></a></h4>
+<div class="paragraph">
+<p>Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fs_wal_dir"><a class="link" href="#kudu-master_fs_wal_dir"><code>--fs_wal_dir</code></a></h4>
+<div class="paragraph">
+<p>Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_master_addresses"><a class="link" href="#kudu-master_master_addresses"><code>--master_addresses</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of the RPC addresses belonging to all Masters in this cluster. NOTE: if not specified or a single address is specified, configures a non-replicated Master.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_keytab_file"><a class="link" href="#kudu-master_keytab_file"><code>--keytab_file</code></a></h4>
+<div class="paragraph">
+<p>Path to the Kerberos Keytab file for this server. Specifying a keytab file will cause the server to kinit, and enable Kerberos to be used to authenticate RPC connections.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_bind_addresses"><a class="link" href="#kudu-master_rpc_bind_addresses"><code>--rpc_bind_addresses</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of addresses to bind to for RPC connections. Currently, ephemeral ports (i.e. port 0) are not allowed.</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">string</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>0.0.0.0:7051</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_superuser_acl"><a class="link" href="#kudu-master_superuser_acl"><code>--superuser_acl</code></a></h4>
+<div class="paragraph">
+<p>The list of usernames to allow as super users, comma-separated. A '*' entry indicates that all authenticated users are allowed. If this is left unset or blank, the default behavior is that the identity of the daemon itself determines the superuser. If the daemon is logged in from a Keytab, then the local username from the Kerberos principal is used; otherwise, the local Unix username is used.</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">string</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">none</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">sensitive,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_user_acl"><a class="link" href="#kudu-master_user_acl"><code>--user_acl</code></a></h4>
+<div class="paragraph">
+<p>The list of usernames who may access the cluster, comma-separated. A '*' entry indicates that all authenticated users are allowed.</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">string</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>*</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">sensitive,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_certificate_file"><a class="link" href="#kudu-master_webserver_certificate_file"><code>--webserver_certificate_file</code></a></h4>
+<div class="paragraph">
+<p>The location of the debug webserver&#8217;s SSL certificate file, in PEM format. If empty, webserver SSL support is not enabled. If --webserver_private_key_file is set, this option must be set as well.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_port"><a class="link" href="#kudu-master_webserver_port"><code>--webserver_port</code></a></h4>
+<div class="paragraph">
+<p>Port to bind to for the web server</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>8051</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_private_key_file"><a class="link" href="#kudu-master_webserver_private_key_file"><code>--webserver_private_key_file</code></a></h4>
+<div class="paragraph">
+<p>The full path to the private key used as a counterpart to the public key contained in --webserver_certificate_file. If --webserver_certificate_file is set, this option must be set as well.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_private_key_password_cmd"><a class="link" href="#kudu-master_webserver_private_key_password_cmd"><code>--webserver_private_key_password_cmd</code></a></h4>
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the Webserver&#8217;s certificate private key file specified in --webserver_private_key_file. If the PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_require_spnego"><a class="link" href="#kudu-master_webserver_require_spnego"><code>--webserver_require_spnego</code></a></h4>
+<div class="paragraph">
+<p>Require connections to the web server to authenticate via Kerberos using SPNEGO.</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_filename"><a class="link" href="#kudu-master_log_filename"><code>--log_filename</code></a></h4>
+<div class="paragraph">
+<p>Prefix of log filename - full path is &lt;log_dir&gt;/&lt;log_filename&gt;.[INFO|WARN|ERROR|FATAL]</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_log_files"><a class="link" href="#kudu-master_max_log_files"><code>--max_log_files</code></a></h4>
+<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">stable,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_maintenance_manager_num_threads"><a class="link" href="#kudu-master_maintenance_manager_num_threads"><code>--maintenance_manager_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Size of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.</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>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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_memory_limit_hard_bytes"><a class="link" href="#kudu-master_memory_limit_hard_bytes"><code>--memory_limit_hard_bytes</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.</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>0</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_flagfile"><a class="link" href="#kudu-master_flagfile"><code>--flagfile</code></a></h4>
+<div class="paragraph">
+<p>load flags from file</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_help"><a class="link" href="#kudu-master_help"><code>--help</code></a></h4>
+<div class="paragraph">
+<p>show help on all flags [tip: all flags can have two dashes]</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_version"><a class="link" href="#kudu-master_version"><code>--version</code></a></h4>
+<div class="paragraph">
+<p>show version and build info and exit</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_colorlogtostderr"><a class="link" href="#kudu-master_colorlogtostderr"><code>--colorlogtostderr</code></a></h4>
+<div class="paragraph">
+<p>color messages logged to stderr (if supported by terminal)</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>false</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">runtime,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_dir"><a class="link" href="#kudu-master_log_dir"><code>--log_dir</code></a></h4>
+<div class="paragraph">
+<p>If specified, logfiles are written into this directory instead of the default logging directory.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_logtostderr"><a class="link" href="#kudu-master_logtostderr"><code>--logtostderr</code></a></h4>
+<div class="paragraph">
+<p>log messages go to stderr instead of logfiles</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>false</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">runtime,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_log_size"><a class="link" href="#kudu-master_max_log_size"><code>--max_log_size</code></a></h4>
+<div class="paragraph">
+<p>approx. maximum log file size (in MB). A value of 0 will be silently overridden to 1.</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>1800</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">runtime,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_stable_advanced"><a class="link" href="#kudu-master_stable_advanced">Stable, Advanced Flags</a></h3>
+<div class="paragraph">
+<p>Flags tagged <code>stable</code> and <code>advanced</code> are supported, but should be considered
+"expert" options and should be used carefully and after thorough testing.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_principal"><a class="link" href="#kudu-master_principal"><code>--principal</code></a></h4>
+<div class="paragraph">
+<p>Kerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.</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">string</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>kudu/_HOST</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_history_max_age_sec"><a class="link" href="#kudu-master_tablet_history_max_age_sec"><code>--tablet_history_max_age_sec</code></a></h4>
+<div class="paragraph">
+<p>Number of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.</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>604800</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_enable_process_lifetime_heap_profiling"><a class="link" href="#kudu-master_enable_process_lifetime_heap_profiling"><code>--enable_process_lifetime_heap_profiling</code></a></h4>
+<div class="paragraph">
+<p>Enables heap profiling for the lifetime of the process. Profile output will be stored in the directory specified by -heap_profile_path.</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_heap_profile_path"><a class="link" href="#kudu-master_heap_profile_path"><code>--heap_profile_path</code></a></h4>
+<div class="paragraph">
+<p>Output path to store heap profiles. If not set profiles are stored in /tmp/&lt;process-name&gt;.&lt;pid&gt;.&lt;n&gt;.heap.</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_unlock_experimental_flags"><a class="link" href="#kudu-master_unlock_experimental_flags"><code>--unlock_experimental_flags</code></a></h4>
+<div class="paragraph">
+<p>Unlock flags marked as 'experimental'. These flags are not guaranteed to be maintained across releases of Kudu, and may enable features or behavior known to be unstable. Use at your own risk.</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>false</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_unlock_unsafe_flags"><a class="link" href="#kudu-master_unlock_unsafe_flags"><code>--unlock_unsafe_flags</code></a></h4>
+<div class="paragraph">
+<p>Unlock flags marked as 'unsafe'. These flags are not guaranteed to be maintained across releases of Kudu, and enable features or behavior known to be unsafe. Use at your own risk.</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>false</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fromenv"><a class="link" href="#kudu-master_fromenv"><code>--fromenv</code></a></h4>
+<div class="paragraph">
+<p>set flags from the environment [use 'export FLAGS_flag1=value']</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tryfromenv"><a class="link" href="#kudu-master_tryfromenv"><code>--tryfromenv</code></a></h4>
+<div class="paragraph">
+<p>set flags from the environment if present</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_undefok"><a class="link" href="#kudu-master_undefok"><code>--undefok</code></a></h4>
+<div class="paragraph">
+<p>comma-separated list of flag names that it is okay to specify on the command line even if the program does not define a flag with that name.  IMPORTANT: flags in this list that have arguments MUST use the flag=value format</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_helpmatch"><a class="link" href="#kudu-master_helpmatch"><code>--helpmatch</code></a></h4>
+<div class="paragraph">
+<p>show help on modules whose name contains the specified substr</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_helpon"><a class="link" href="#kudu-master_helpon"><code>--helpon</code></a></h4>
+<div class="paragraph">
+<p>show help on the modules named by this flag value</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_helppackage"><a class="link" href="#kudu-master_helppackage"><code>--helppackage</code></a></h4>
+<div class="paragraph">
+<p>show help on all modules in the main package</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_helpshort"><a class="link" href="#kudu-master_helpshort"><code>--helpshort</code></a></h4>
+<div class="paragraph">
+<p>show help on only the main module for this program</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_helpxml"><a class="link" href="#kudu-master_helpxml"><code>--helpxml</code></a></h4>
+<div class="paragraph">
+<p>produce an xml version of help</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_link"><a class="link" href="#kudu-master_log_link"><code>--log_link</code></a></h4>
+<div class="paragraph">
+<p>Put additional links to the log files in this directory</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_prefix"><a class="link" href="#kudu-master_log_prefix"><code>--log_prefix</code></a></h4>
+<div class="paragraph">
+<p>Prepend the log prefix to the start of each log line</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_minloglevel"><a class="link" href="#kudu-master_minloglevel"><code>--minloglevel</code></a></h4>
+<div class="paragraph">
+<p>Messages logged at a lower level than this don&#8217;t actually get logged anywhere</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>0</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_stderrthreshold"><a class="link" href="#kudu-master_stderrthreshold"><code>--stderrthreshold</code></a></h4>
+<div class="paragraph">
+<p>log messages at or above this level are copied to stderr in addition to logfiles.  This flag obsoletes --alsologtostderr.</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>2</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_stop_logging_if_full_disk"><a class="link" href="#kudu-master_stop_logging_if_full_disk"><code>--stop_logging_if_full_disk</code></a></h4>
+<div class="paragraph">
+<p>Stop attempting to log to disk if the disk is full.</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>false</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_symbolize_stacktrace"><a class="link" href="#kudu-master_symbolize_stacktrace"><code>--symbolize_stacktrace</code></a></h4>
+<div class="paragraph">
+<p>Symbolize the stack trace in the tombstone</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,stable,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_v"><a class="link" href="#kudu-master_v"><code>--v</code></a></h4>
+<div class="paragraph">
+<p>Show all VLOG(m) messages for m &#8656; this. Overridable by --vmodule.</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>0</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_vmodule"><a class="link" href="#kudu-master_vmodule"><code>--vmodule</code></a></h4>
+<div class="paragraph">
+<p>per-module verbose level. Argument is a comma-separated list of &lt;module name&gt;=&lt;log level&gt;. &lt;module name&gt; is a glob pattern, matched against the filename base (that is, name ignoring .cc/.h./-inl.h). &lt;log level&gt; overrides any value given by --v.</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_evolving"><a class="link" href="#kudu-master_evolving">Evolving Flags</a></h3>
+<div class="paragraph">
+<p>Flags tagged <code>evolving</code> (or not tagged with a stability tag) are not yet
+considered final, and while they may be useful for tuning, they are subject to
+being changed or removed without notice.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_cache_type"><a class="link" href="#kudu-master_block_cache_type"><code>--block_cache_type</code></a></h4>
+<div class="paragraph">
+<p>Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.</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">string</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>DRAM</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cfile_verify_checksums"><a class="link" href="#kudu-master_cfile_verify_checksums"><code>--cfile_verify_checksums</code></a></h4>
+<div class="paragraph">
+<p>Verify the checksum for each block on read if one exists</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">evolving</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cfile_default_block_size"><a class="link" href="#kudu-master_cfile_default_block_size"><code>--cfile_default_block_size</code></a></h4>
+<div class="paragraph">
+<p>The default block size to use in cfiles</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>262144</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cfile_default_compression_codec"><a class="link" href="#kudu-master_cfile_default_compression_codec"><code>--cfile_default_compression_codec</code></a></h4>
+<div class="paragraph">
+<p>Default cfile block compression codec.</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">string</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>no_compression</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cfile_write_checksums"><a class="link" href="#kudu-master_cfile_write_checksums"><code>--cfile_write_checksums</code></a></h4>
+<div class="paragraph">
+<p>Write CRC32 checksums for each block</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">evolving</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-master_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_show_attributes"><a class="link" href="#kudu-master_show_attributes"><code>--show_attributes</code></a></h4>
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_builtin_ntp_client_bind_address"><a class="link" href="#kudu-master_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h4>
+<div class="paragraph">
+<p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_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">string</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>0.0.0.0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_builtin_ntp_poll_interval_ms"><a class="link" href="#kudu-master_builtin_ntp_poll_interval_ms"><code>--builtin_ntp_poll_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The time between successive polls of a single NTP server (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">uint32</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>16000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_clock_sync_error_usec"><a class="link" href="#kudu-master_max_clock_sync_error_usec"><code>--max_clock_sync_error_usec</code></a></h4>
+<div class="paragraph">
+<p>Maximum allowed clock synchronization error as reported by NTP before the server will abort.</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>10000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ntp_initial_sync_wait_secs"><a class="link" href="#kudu-master_ntp_initial_sync_wait_secs"><code>--ntp_initial_sync_wait_secs</code></a></h4>
+<div class="paragraph">
+<p>Amount of time in seconds to wait for clock synchronisation at startup. A value of zero means Kudu will fail to start if the clock is unsynchronized. This flag can prevent Kudu from crashing if it starts before NTP can synchronize the clock.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_predicate_effectivess_enabled"><a class="link" href="#kudu-master_predicate_effectivess_enabled"><code>--predicate_effectivess_enabled</code></a></h4>
+<div class="paragraph">
+<p>Should ineffective predicate filtering be disabled</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_predicate_effectivess_num_skip_blocks"><a class="link" href="#kudu-master_predicate_effectivess_num_skip_blocks"><code>--predicate_effectivess_num_skip_blocks</code></a></h4>
+<div class="paragraph">
+<p>Number of blocks to skip for every predicate effectiveness check</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_predicate_effectivess_reject_ratio"><a class="link" href="#kudu-master_predicate_effectivess_reject_ratio"><code>--predicate_effectivess_reject_ratio</code></a></h4>
+<div class="paragraph">
+<p>Rejection ratio below which predicate filter is considered ineffective</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>0.10000000000000001</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_default_database"><a class="link" href="#kudu-master_ranger_default_database"><code>--ranger_default_database</code></a></h4>
+<div class="paragraph">
+<p>Name of the default database which is used in the Ranger authorization context when the database name is not specified in the table name. Ranger makes no difference between &lt;ranger_default_database&gt;.&lt;table&gt; and &lt;table&gt;, so privileges granted on &lt;table&gt; in &lt;ranger_default_database&gt; are applied toboth &lt;ranger_default_database&gt;.&lt;table&gt; and &lt;table&gt; in Kudu.</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">string</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>default</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cmeta_force_fsync"><a class="link" href="#kudu-master_cmeta_force_fsync"><code>--cmeta_force_fsync</code></a></h4>
+<div class="paragraph">
+<p>Whether fsync() should be called when consensus metadata files are updated</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_consensus_rpc_timeout_ms"><a class="link" href="#kudu-master_consensus_rpc_timeout_ms"><code>--consensus_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout used for all consensus internal RPC communications.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_consensus_max_batch_size_bytes"><a class="link" href="#kudu-master_consensus_max_batch_size_bytes"><code>--consensus_max_batch_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum per-tablet RPC batch size when updating peers.</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>1048576</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_follower_unavailable_considered_failed_sec"><a class="link" href="#kudu-master_follower_unavailable_considered_failed_sec"><code>--follower_unavailable_considered_failed_sec</code></a></h4>
+<div class="paragraph">
+<p>Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.</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>300</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fs_wal_dir_reserved_bytes"><a class="link" href="#kudu-master_fs_wal_dir_reserved_bytes"><code>--fs_wal_dir_reserved_bytes</code></a></h4>
+<div class="paragraph">
+<p>Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fs_wal_use_file_cache"><a class="link" href="#kudu-master_fs_wal_use_file_cache"><code>--fs_wal_use_file_cache</code></a></h4>
+<div class="paragraph">
+<p>Whether to use the server-wide file cache for WAL segments and WAL index chunks.</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_group_commit_queue_size_bytes"><a class="link" href="#kudu-master_group_commit_queue_size_bytes"><code>--group_commit_queue_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Maximum size of the group commit queue in bytes</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>4194304</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_min_segments_to_retain"><a class="link" href="#kudu-master_log_min_segments_to_retain"><code>--log_min_segments_to_retain</code></a></h4>
+<div class="paragraph">
+<p>The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.</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>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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_global_log_cache_size_limit_mb"><a class="link" href="#kudu-master_global_log_cache_size_limit_mb"><code>--global_log_cache_size_limit_mb</code></a></h4>
+<div class="paragraph">
+<p>Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.</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>1024</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_cache_size_limit_mb"><a class="link" href="#kudu-master_log_cache_size_limit_mb"><code>--log_cache_size_limit_mb</code></a></h4>
+<div class="paragraph">
+<p>The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.</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>128</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_async_preallocate_segments"><a class="link" href="#kudu-master_log_async_preallocate_segments"><code>--log_async_preallocate_segments</code></a></h4>
+<div class="paragraph">
+<p>Whether the WAL segments preallocation should happen asynchronously</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_preallocate_segments"><a class="link" href="#kudu-master_log_preallocate_segments"><code>--log_preallocate_segments</code></a></h4>
+<div class="paragraph">
+<p>Whether the WAL should preallocate the entire segment before writing to it</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_segment_size_mb"><a class="link" href="#kudu-master_log_segment_size_mb"><code>--log_segment_size_mb</code></a></h4>
+<div class="paragraph">
+<p>The default size for log segments, in MB</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>8</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_evict_failed_followers"><a class="link" href="#kudu-master_evict_failed_followers"><code>--evict_failed_followers</code></a></h4>
+<div class="paragraph">
+<p>Whether to evict followers from the Raft config that have fallen too far behind the leader&#8217;s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_leader_failure_max_missed_heartbeat_periods"><a class="link" href="#kudu-master_leader_failure_max_missed_heartbeat_periods"><code>--leader_failure_max_missed_heartbeat_periods</code></a></h4>
+<div class="paragraph">
+<p>Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_raft_heartbeat_interval_ms"><a class="link" href="#kudu-master_raft_heartbeat_interval_ms"><code>--raft_heartbeat_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.</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>500</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fs_data_dirs_available_space_cache_seconds"><a class="link" href="#kudu-master_fs_data_dirs_available_space_cache_seconds"><code>--fs_data_dirs_available_space_cache_seconds</code></a></h4>
+<div class="paragraph">
+<p>Number of seconds we cache the available disk space in the block manager.</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">evolving,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fs_data_dirs_consider_available_space"><a class="link" href="#kudu-master_fs_data_dirs_consider_available_space"><code>--fs_data_dirs_consider_available_space</code></a></h4>
+<div class="paragraph">
+<p>Whether to consider available space when selecting a data directory during tablet or data block creation.</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">evolving,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fs_data_dirs_reserved_bytes"><a class="link" href="#kudu-master_fs_data_dirs_reserved_bytes"><code>--fs_data_dirs_reserved_bytes</code></a></h4>
+<div class="paragraph">
+<p>Number of bytes to reserve on each data directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fs_max_thread_count_per_data_dir"><a class="link" href="#kudu-master_fs_max_thread_count_per_data_dir"><code>--fs_max_thread_count_per_data_dir</code></a></h4>
+<div class="paragraph">
+<p>Maximum work thread per data directory.</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">uint64</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>8</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fs_target_data_dirs_per_tablet"><a class="link" href="#kudu-master_fs_target_data_dirs_per_tablet"><code>--fs_target_data_dirs_per_tablet</code></a></h4>
+<div class="paragraph">
+<p>Indicates the target number of data dirs to spread each tablet&#8217;s data across. If greater than the number of data dirs available, data will be striped across those available. A value of 0 indicates striping should occur across all healthy data dirs. Using fewer data dirs per tablet means a single drive failure will be less likely to affect a given tablet.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_manager"><a class="link" href="#kudu-master_block_manager"><code>--block_manager</code></a></h4>
+<div class="paragraph">
+<p>Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.</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">string</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>log</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_container_excess_space_before_cleanup_fraction"><a class="link" href="#kudu-master_log_container_excess_space_before_cleanup_fraction"><code>--log_container_excess_space_before_cleanup_fraction</code></a></h4>
+<div class="paragraph">
+<p>Additional fraction of a log container&#8217;s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.</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>0.10000000000000001</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_container_max_blocks"><a class="link" href="#kudu-master_log_container_max_blocks"><code>--log_container_max_blocks</code></a></h4>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_container_max_size"><a class="link" href="#kudu-master_log_container_max_size"><code>--log_container_max_size</code></a></h4>
+<div class="paragraph">
+<p>Maximum size (soft) of a log container</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">uint64</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>10737418240</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_container_preallocate_bytes"><a class="link" href="#kudu-master_log_container_preallocate_bytes"><code>--log_container_preallocate_bytes</code></a></h4>
+<div class="paragraph">
+<p>Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation</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">uint64</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>33554432</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_conn_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_conn_timeout_seconds"><code>--hive_metastore_conn_timeout_seconds</code></a></h4>
+<div class="paragraph">
+<p>Configures the socket connect timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_kerberos_principal"><a class="link" href="#kudu-master_hive_metastore_kerberos_principal"><code>--hive_metastore_kerberos_principal</code></a></h4>
+<div class="paragraph">
+<p>The service principal of the Hive Metastore server. Must match the primary (user) portion of hive.metastore.kerberos.principal option in the Hive Metastore configuration.</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">string</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>hive</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_max_message_size_bytes"><a class="link" href="#kudu-master_hive_metastore_max_message_size_bytes"><code>--hive_metastore_max_message_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Maximum size of Hive Metastore objects that can be received by the HMS client in bytes. Should match the metastore.server.max.message.size configuration.</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>104857600</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_recv_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_recv_timeout_seconds"><code>--hive_metastore_recv_timeout_seconds</code></a></h4>
+<div class="paragraph">
+<p>Configures the socket receive timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_retry_count"><a class="link" href="#kudu-master_hive_metastore_retry_count"><code>--hive_metastore_retry_count</code></a></h4>
+<div class="paragraph">
+<p>The number of times that HMS operations will retry after encountering retriable failures, such as network errors.</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>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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_sasl_enabled"><a class="link" href="#kudu-master_hive_metastore_sasl_enabled"><code>--hive_metastore_sasl_enabled</code></a></h4>
+<div class="paragraph">
+<p>Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Must match the value of the hive.metastore.sasl.enabled option in the Hive Metastore configuration. When enabled, the --keytab_file flag must be provided.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_send_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_send_timeout_seconds"><code>--hive_metastore_send_timeout_seconds</code></a></h4>
+<div class="paragraph">
+<p>Configures the socket send timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_uris"><a class="link" href="#kudu-master_hive_metastore_uris"><code>--hive_metastore_uris</code></a></h4>
+<div class="paragraph">
+<p>Address of the Hive Metastore instance(s). The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. If not set, the Kudu master will not send Kudu table catalog updates to Hive. The configured value must match the Hive hive.metastore.uris configuration.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_server_thread_pool_max_thread_count"><a class="link" href="#kudu-master_server_thread_pool_max_thread_count"><code>--server_thread_pool_max_thread_count</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of threads to allow in each server-wide thread pool. If -1, Kudu will automatically calculate this value. It is an error to use a value of 0.</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>-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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_trusted_user_acl"><a class="link" href="#kudu-master_trusted_user_acl"><code>--trusted_user_acl</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of trusted users who may access the cluster without being authorized against fine-grained permissions.</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">string</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">none</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">sensitive</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_auto_rebalancing_interval_seconds"><a class="link" href="#kudu-master_auto_rebalancing_interval_seconds"><code>--auto_rebalancing_interval_seconds</code></a></h4>
+<div class="paragraph">
+<p>How long to sleep in between rebalancing cycles, before checking the cluster again to see if there is skew and rebalancing to be done.</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">uint32</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>30</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_auto_rebalancing_load_imbalance_threshold"><a class="link" href="#kudu-master_auto_rebalancing_load_imbalance_threshold"><code>--auto_rebalancing_load_imbalance_threshold</code></a></h4>
+<div class="paragraph">
+<p>The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table&#8217;s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, &#8230;&#8203;) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.</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</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_auto_rebalancing_max_moves_per_server"><a class="link" href="#kudu-master_auto_rebalancing_max_moves_per_server"><code>--auto_rebalancing_max_moves_per_server</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move 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">uint32</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_auto_rebalancing_rpc_timeout_seconds"><a class="link" href="#kudu-master_auto_rebalancing_rpc_timeout_seconds"><code>--auto_rebalancing_rpc_timeout_seconds</code></a></h4>
+<div class="paragraph">
+<p>RPC timeout in seconds when making RPCs to request moving tablet replicas or to check if the replica movement has completed.</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">uint32</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>60</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_auto_rebalancing_wait_for_replica_moves_seconds"><a class="link" href="#kudu-master_auto_rebalancing_wait_for_replica_moves_seconds"><code>--auto_rebalancing_wait_for_replica_moves_seconds</code></a></h4>
+<div class="paragraph">
+<p>How long to wait before checking to see if the scheduled replica movement in this iteration of auto-rebalancing has completed.</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">uint32</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_catalog_manager_enable_chunked_tablet_reports"><a class="link" href="#kudu-master_catalog_manager_enable_chunked_tablet_reports"><code>--catalog_manager_enable_chunked_tablet_reports</code></a></h4>
+<div class="paragraph">
+<p>Whether to split the tablet report data received from one tablet server into chunks when persisting it in the system catalog. The chunking starts at around the maximum allowed RPC size controlled by the --rpc_max_message_size flag. When the chunking is disabled, a tablet report sent by a tablet server is rejected if it would result in an oversized update on the system catalog tablet. With the default settings for --rpc_max_message_size, the latter can happen only in case of extremely high number of tablet replicas per tablet server.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_default_num_replicas"><a class="link" href="#kudu-master_default_num_replicas"><code>--default_num_replicas</code></a></h4>
+<div class="paragraph">
+<p>Default number of replicas for tables that do not have the num_replicas set.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_master_ts_rpc_timeout_ms"><a class="link" href="#kudu-master_master_ts_rpc_timeout_ms"><code>--master_ts_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout used for the master&#8594;TS async rpc calls.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_column_comment_length"><a class="link" href="#kudu-master_max_column_comment_length"><code>--max_column_comment_length</code></a></h4>
+<div class="paragraph">
+<p>Maximum length of the comment of a column.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_create_tablets_per_ts"><a class="link" href="#kudu-master_max_create_tablets_per_ts"><code>--max_create_tablets_per_ts</code></a></h4>
+<div class="paragraph">
+<p>The number of tablet replicas per TS that can be requested for a new table. If 0, no limit is enforced.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_owner_length"><a class="link" href="#kudu-master_max_owner_length"><code>--max_owner_length</code></a></h4>
+<div class="paragraph">
+<p>Maximum length of the name of a table owner.</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>128</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_table_comment_length"><a class="link" href="#kudu-master_max_table_comment_length"><code>--max_table_comment_length</code></a></h4>
+<div class="paragraph">
+<p>Maximum length of the comment of a table.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_locations_cache_capacity_mb"><a class="link" href="#kudu-master_table_locations_cache_capacity_mb"><code>--table_locations_cache_capacity_mb</code></a></h4>
+<div class="paragraph">
+<p>Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached</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">uint32</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_locations_ttl_ms"><a class="link" href="#kudu-master_table_locations_ttl_ms"><code>--table_locations_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum time in milliseconds which clients may cache table locations. New range partitions may not be visible to existing client instances until after waiting for the ttl period.</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>300000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_creation_timeout_ms"><a class="link" href="#kudu-master_tablet_creation_timeout_ms"><code>--tablet_creation_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout used by the master when attempting to create tablet replicas during table creation.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_unresponsive_ts_rpc_timeout_ms"><a class="link" href="#kudu-master_unresponsive_ts_rpc_timeout_ms"><code>--unresponsive_ts_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>After this amount of time, the master will stop attempting to contact a tablet server in order to perform operations such as deleting a tablet.</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>3600000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_notification_log_batch_size"><a class="link" href="#kudu-master_hive_metastore_notification_log_batch_size"><code>--hive_metastore_notification_log_batch_size</code></a></h4>
+<div class="paragraph">
+<p>Number of notification log entries which are retrieved from the Hive Metastore per batch when polling.</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>100</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_notification_log_poll_period_seconds"><a class="link" href="#kudu-master_hive_metastore_notification_log_poll_period_seconds"><code>--hive_metastore_notification_log_poll_period_seconds</code></a></h4>
+<div class="paragraph">
+<p>Amount of time the notification log listener waits between attempts to poll the Hive Metastore for catalog updates.</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">uint32</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>15</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_location_mapping_cmd"><a class="link" href="#kudu-master_location_mapping_cmd"><code>--location_mapping_cmd</code></a></h4>
+<div class="paragraph">
+<p>A Unix command which takes a single argument, the IP address or hostname of a tablet server or client, and returns the location string for the tablet server. A location string begins with a / and consists of /-separated tokens each of which contains only characters from the set [a-zA-Z0-9_-.]. If the cluster is not using location awareness features this flag should not be set.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_master_client_location_assignment_enabled"><a class="link" href="#kudu-master_master_client_location_assignment_enabled"><code>--master_client_location_assignment_enabled</code></a></h4>
+<div class="paragraph">
+<p>Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_master_support_change_config"><a class="link" href="#kudu-master_master_support_change_config"><code>--master_support_change_config</code></a></h4>
+<div class="paragraph">
+<p>Whether the master supports adding/removing master servers dynamically.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tserver_unresponsive_timeout_ms"><a class="link" href="#kudu-master_tserver_unresponsive_timeout_ms"><code>--tserver_unresponsive_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>The period of time that a Master can go without receiving a heartbeat from a tablet server before considering it unresponsive. Unresponsive servers are not selected when assigning replicas during table creation or re-replication.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_config_path"><a class="link" href="#kudu-master_ranger_config_path"><code>--ranger_config_path</code></a></h4>
+<div class="paragraph">
+<p>Path to directory containing Ranger client configuration. When set, Ranger integration is enabled, fine-grained access control is enforced, and clients are issued authorization tokens. In addition, both --ranger_java_path and --ranger_jar_path flags need to be set properly for Ranger integration to work.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_jar_path"><a class="link" href="#kudu-master_ranger_jar_path"><code>--ranger_jar_path</code></a></h4>
+<div class="paragraph">
+<p>Path to the JAR file containing the Ranger subprocess. If not specified, the default JAR file path is expected to be next to the master binary.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_java_path"><a class="link" href="#kudu-master_ranger_java_path"><code>--ranger_java_path</code></a></h4>
+<div class="paragraph">
+<p>Path where the Java binary was installed. If the value isn&#8217;t an absolute path (e.g. 'java'), it will be evaluated using the Kudu user&#8217;s PATH. If not specified, $JAVA_HOME/bin/java is used. If $JAVA_HOME is not found, Kudu will attempt to find 'java' in the Kudu user&#8217;s PATH.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_log_config_dir"><a class="link" href="#kudu-master_ranger_log_config_dir"><code>--ranger_log_config_dir</code></a></h4>
+<div class="paragraph">
+<p>Directory in which to look for a kudu-ranger-subprocess-log4j2.properties file. If empty, will use the value of --log_dir. If such a file does not exist, a properties file will be created to honor Kudu&#8217;s logging configurations.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_log_level"><a class="link" href="#kudu-master_ranger_log_level"><code>--ranger_log_level</code></a></h4>
+<div class="paragraph">
+<p>Log level to use in the Ranger Java subprocess. Supports "all", "trace", "debug", "info", "warn", "error", "fatal", and "off"</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">string</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>info</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_logtostdout"><a class="link" href="#kudu-master_ranger_logtostdout"><code>--ranger_logtostdout</code></a></h4>
+<div class="paragraph">
+<p>Whether to have the Ranger subprocess log to stdout.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_overwrite_log_config"><a class="link" href="#kudu-master_ranger_overwrite_log_config"><code>--ranger_overwrite_log_config</code></a></h4>
+<div class="paragraph">
+<p>Whether to overwrite any existing logging configuration file, if found.</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">evolving,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_receiver_fifo_dir"><a class="link" href="#kudu-master_ranger_receiver_fifo_dir"><code>--ranger_receiver_fifo_dir</code></a></h4>
+<div class="paragraph">
+<p>Directory in which to create a fifo used to receive messages from the Ranger subprocess. Existing fifos at this path will be overwritten. If not specified, a fifo will be created in the --ranger_config_path directory.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_acceptor_listen_backlog"><a class="link" href="#kudu-master_rpc_acceptor_listen_backlog"><code>--rpc_acceptor_listen_backlog</code></a></h4>
+<div class="paragraph">
+<p>Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.</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>128</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_encrypt_loopback_connections"><a class="link" href="#kudu-master_rpc_encrypt_loopback_connections"><code>--rpc_encrypt_loopback_connections</code></a></h4>
+<div class="paragraph">
+<p>Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_callback_max_cycles"><a class="link" href="#kudu-master_rpc_callback_max_cycles"><code>--rpc_callback_max_cycles</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)</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>100000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tcp_keepalive_probe_period_s"><a class="link" href="#kudu-master_tcp_keepalive_probe_period_s"><code>--tcp_keepalive_probe_period_s</code></a></h4>
+<div class="paragraph">
+<p>The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tcp_keepalive_retry_count"><a class="link" href="#kudu-master_tcp_keepalive_retry_count"><code>--tcp_keepalive_retry_count</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tcp_keepalive_retry_period_s"><a class="link" href="#kudu-master_tcp_keepalive_retry_period_s"><code>--tcp_keepalive_retry_period_s</code></a></h4>
+<div class="paragraph">
+<p>The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_remember_clients_ttl_ms"><a class="link" href="#kudu-master_remember_clients_ttl_ms"><code>--remember_clients_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.</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>3600000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_remember_responses_ttl_ms"><a class="link" href="#kudu-master_remember_responses_ttl_ms"><code>--remember_responses_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.</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>600000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_dump_all_traces"><a class="link" href="#kudu-master_rpc_dump_all_traces"><code>--rpc_dump_all_traces</code></a></h4>
+<div class="paragraph">
+<p>If true, dump all RPC traces at INFO level</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_duration_too_long_ms"><a class="link" href="#kudu-master_rpc_duration_too_long_ms"><code>--rpc_duration_too_long_ms</code></a></h4>
+<div class="paragraph">
+<p>Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_trusted_subnets"><a class="link" href="#kudu-master_trusted_subnets"><code>--trusted_subnets</code></a></h4>
+<div class="paragraph">
+<p>A trusted subnet whitelist. If set explicitly, all unauthenticated or unencrypted connections are prohibited except the ones from the specified address blocks. Otherwise, private network (127.0.0.0/8, etc.) and local subnets of all local network interfaces will be used. Set it to '0.0.0.0/0' to allow unauthenticated/unencrypted connections from all remote IP addresses. However, if network access is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized access.</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">string</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>127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_max_message_size"><a class="link" href="#kudu-master_rpc_max_message_size"><code>--rpc_max_message_size</code></a></h4>
+<div class="paragraph">
+<p>The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.</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>52428800</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_use_system_auth_to_local"><a class="link" href="#kudu-master_use_system_auth_to_local"><code>--use_system_auth_to_local</code></a></h4>
+<div class="paragraph">
+<p>When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_metrics_default_level"><a class="link" href="#kudu-master_metrics_default_level"><code>--metrics_default_level</code></a></h4>
+<div class="paragraph">
+<p>The default severity level to use when filtering the metrics. Valid choices are 'debug', 'info', and 'warn'. The levels are ordered and lower levels include the levels above them. This value can be overridden by passing the level query parameter to the '/metrics' endpoint.</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">string</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>debug</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_web_log_bytes"><a class="link" href="#kudu-master_web_log_bytes"><code>--web_log_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of bytes to display on the debug webserver&#8217;s log page</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_advertised_addresses"><a class="link" href="#kudu-master_rpc_advertised_addresses"><code>--rpc_advertised_addresses</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_num_acceptors_per_address"><a class="link" href="#kudu-master_rpc_num_acceptors_per_address"><code>--rpc_num_acceptors_per_address</code></a></h4>
+<div class="paragraph">
+<p>Number of RPC acceptor threads for each bound address</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>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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_num_service_threads"><a class="link" href="#kudu-master_rpc_num_service_threads"><code>--rpc_num_service_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of RPC worker threads to run</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_service_queue_length"><a class="link" href="#kudu-master_rpc_service_queue_length"><code>--rpc_service_queue_length</code></a></h4>
+<div class="paragraph">
+<p>Default length of queue for incoming RPC requests</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>100</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_gc_tcmalloc_memory_interval_seconds"><a class="link" href="#kudu-master_gc_tcmalloc_memory_interval_seconds"><code>--gc_tcmalloc_memory_interval_seconds</code></a></h4>
+<div class="paragraph">
+<p>Interval seconds to GC tcmalloc memory, 0 means disabled.</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">uint64</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>30</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_negotiation_threads"><a class="link" href="#kudu-master_max_negotiation_threads"><code>--max_negotiation_threads</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of connection negotiation threads.</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>50</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_min_negotiation_threads"><a class="link" href="#kudu-master_min_negotiation_threads"><code>--min_negotiation_threads</code></a></h4>
+<div class="paragraph">
+<p>Minimum number of connection negotiation threads.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_num_reactor_threads"><a class="link" href="#kudu-master_num_reactor_threads"><code>--num_reactor_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of libev reactor threads to start.</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>4</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_authentication"><a class="link" href="#kudu-master_rpc_authentication"><code>--rpc_authentication</code></a></h4>
+<div class="paragraph">
+<p>Whether to require RPC connections to authenticate. Must be one of 'disabled', 'optional', or 'required'. If 'optional', authentication will be used when the remote end supports it. If 'required', connections which are not able to authenticate (because the remote end lacks support) are rejected. Secure clusters should use 'required'.</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">string</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>optional</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_default_keepalive_time_ms"><a class="link" href="#kudu-master_rpc_default_keepalive_time_ms"><code>--rpc_default_keepalive_time_ms</code></a></h4>
+<div class="paragraph">
+<p>If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.</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>65000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_encryption"><a class="link" href="#kudu-master_rpc_encryption"><code>--rpc_encryption</code></a></h4>
+<div class="paragraph">
+<p>Whether to require RPC connections to be encrypted. Must be one of 'disabled', 'optional', or 'required'. If 'optional', encryption will be used when the remote end supports it. If 'required', connections which are not able to use encryption (because the remote end lacks support) are rejected. If 'disabled', encryption will not be used, and RPC authentication (--rpc_authentication) must also be disabled as well. Secure clusters should use 'required'.</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">string</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>optional</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_negotiation_timeout_ms"><a class="link" href="#kudu-master_rpc_negotiation_timeout_ms"><code>--rpc_negotiation_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout for negotiating an RPC connection, 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">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>3000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_private_key_password_cmd"><a class="link" href="#kudu-master_rpc_private_key_password_cmd"><code>--rpc_private_key_password_cmd</code></a></h4>
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the RPC server&#8217;s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_tls_ciphers"><a class="link" href="#kudu-master_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h4>
+<div class="paragraph">
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_tls_ciphersuites"><a class="link" href="#kudu-master_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h4>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_tls_min_protocol"><a class="link" href="#kudu-master_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h4>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</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">string</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>TLSv1</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_server_max_open_files"><a class="link" href="#kudu-master_server_max_open_files"><code>--server_max_open_files</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. 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">uint64</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_enabled"><a class="link" href="#kudu-master_webserver_enabled"><code>--webserver_enabled</code></a></h4>
+<div class="paragraph">
+<p>Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_metrics_log_interval_ms"><a class="link" href="#kudu-master_metrics_log_interval_ms"><code>--metrics_log_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_max_post_length_bytes"><a class="link" href="#kudu-master_webserver_max_post_length_bytes"><code>--webserver_max_post_length_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum length of a POST request that will be accepted by the embedded web server.</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_x_frame_options"><a class="link" href="#kudu-master_webserver_x_frame_options"><code>--webserver_x_frame_options</code></a></h4>
+<div class="paragraph">
+<p>The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.</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">string</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>DENY</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_advertised_addresses"><a class="link" href="#kudu-master_webserver_advertised_addresses"><code>--webserver_advertised_addresses</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_authentication_domain"><a class="link" href="#kudu-master_webserver_authentication_domain"><code>--webserver_authentication_domain</code></a></h4>
+<div class="paragraph">
+<p>Domain used for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_doc_root"><a class="link" href="#kudu-master_webserver_doc_root"><code>--webserver_doc_root</code></a></h4>
+<div class="paragraph">
+<p>Files under &lt;webserver_doc_root&gt; are accessible via the debug webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_enable_doc_root"><a class="link" href="#kudu-master_webserver_enable_doc_root"><code>--webserver_enable_doc_root</code></a></h4>
+<div class="paragraph">
+<p>If true, webserver may serve static files from the webserver_doc_root</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_interface"><a class="link" href="#kudu-master_webserver_interface"><code>--webserver_interface</code></a></h4>
+<div class="paragraph">
+<p>Interface to start debug webserver on. If blank, webserver binds to 0.0.0.0</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_num_worker_threads"><a class="link" href="#kudu-master_webserver_num_worker_threads"><code>--webserver_num_worker_threads</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of threads to start for handling web server requests</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>50</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_password_file"><a class="link" href="#kudu-master_webserver_password_file"><code>--webserver_password_file</code></a></h4>
+<div class="paragraph">
+<p>(Optional) Location of .htpasswd file containing user names and hashed passwords for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_tls_ciphers"><a class="link" href="#kudu-master_webserver_tls_ciphers"><code>--webserver_tls_ciphers</code></a></h4>
+<div class="paragraph">
+<p>The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_tls_min_protocol"><a class="link" href="#kudu-master_webserver_tls_min_protocol"><code>--webserver_tls_min_protocol</code></a></h4>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</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">string</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>TLSv1</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_subprocess_deadline_checking_interval_ms"><a class="link" href="#kudu-master_subprocess_deadline_checking_interval_ms"><code>--subprocess_deadline_checking_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval in milliseconds at which Kudu will check the deadlines of in-flight calls to the subprocess</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>50</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_subprocess_num_responder_threads"><a class="link" href="#kudu-master_subprocess_num_responder_threads"><code>--subprocess_num_responder_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads that will be dedicated to reading responses from the inbound queue and returning to callers</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_subprocess_queue_full_retry_ms"><a class="link" href="#kudu-master_subprocess_queue_full_retry_ms"><code>--subprocess_queue_full_retry_ms</code></a></h4>
+<div class="paragraph">
+<p>Number of milliseconds between attempts to enqueue the request to the subprocess</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>50</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_subprocess_request_queue_size_bytes"><a class="link" href="#kudu-master_subprocess_request_queue_size_bytes"><code>--subprocess_request_queue_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Maximum size in bytes of the outbound request queue. This is best effort: if a single request is larger than this, it is still added to the queue</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>4194304</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_subprocess_response_queue_size_bytes"><a class="link" href="#kudu-master_subprocess_response_queue_size_bytes"><code>--subprocess_response_queue_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Maximum size in bytes of the inbound response queue. This is best effort: if a single request is larger than this, it is still added to the queue</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>4194304</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_subprocess_timeout_secs"><a class="link" href="#kudu-master_subprocess_timeout_secs"><code>--subprocess_timeout_secs</code></a></h4>
+<div class="paragraph">
+<p>Number of seconds a call to the subprocess is allowed to take before a timeout error is returned to the calling process</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>15</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_compaction_minimum_improvement"><a class="link" href="#kudu-master_compaction_minimum_improvement"><code>--compaction_minimum_improvement</code></a></h4>
+<div class="paragraph">
+<p>The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.</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>0.0099999997764825821</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_transaction_memory_limit_mb"><a class="link" href="#kudu-master_tablet_transaction_memory_limit_mb"><code>--tablet_transaction_memory_limit_mb</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.</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>64</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_bloom_block_size"><a class="link" href="#kudu-master_tablet_bloom_block_size"><code>--tablet_bloom_block_size</code></a></h4>
+<div class="paragraph">
+<p>Block size of the bloom filters used for tablet keys.</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>4096</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_bloom_target_fp_rate"><a class="link" href="#kudu-master_tablet_bloom_target_fp_rate"><code>--tablet_bloom_target_fp_rate</code></a></h4>
+<div class="paragraph">
+<p>Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.</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>9.9999997473787516e-05</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_enable_deleted_rowset_gc"><a class="link" href="#kudu-master_enable_deleted_rowset_gc"><code>--enable_deleted_rowset_gc</code></a></h4>
+<div class="paragraph">
+<p>Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_undo_delta_block_gc_init_budget_millis"><a class="link" href="#kudu-master_undo_delta_block_gc_init_budget_millis"><code>--undo_delta_block_gc_init_budget_millis</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of milliseconds we will spend initializing UNDO delta blocks per invocation of UndoDeltaBlockGCOp. Existing delta blocks must be initialized once per process startup to determine when they can be deleted.</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,evolving</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-master_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-master_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-master_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h4>
+<div class="paragraph">
+<p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_heartbeat_interval_ms"><a class="link" href="#kudu-master_heartbeat_interval_ms"><code>--heartbeat_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval at which the TS heartbeats to the master.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_heartbeat_max_failures_before_backoff"><a class="link" href="#kudu-master_heartbeat_max_failures_before_backoff"><code>--heartbeat_max_failures_before_backoff</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_heartbeat_rpc_timeout_ms"><a class="link" href="#kudu-master_heartbeat_rpc_timeout_ms"><code>--heartbeat_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout used for the TS&#8594;Master heartbeat RPCs.</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>15000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_ttl_ms"><a class="link" href="#kudu-master_scanner_ttl_ms"><code>--scanner_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Number of milliseconds of inactivity allowed for a scannerbefore it may be expired</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_copy_begin_session_timeout_ms"><a class="link" href="#kudu-master_tablet_copy_begin_session_timeout_ms"><code>--tablet_copy_begin_session_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_copy_download_threads_nums_per_session"><a class="link" href="#kudu-master_tablet_copy_download_threads_nums_per_session"><code>--tablet_copy_download_threads_nums_per_session</code></a></h4>
+<div class="paragraph">
+<p>Number of threads per tablet copy session for downloading tablet data blocks.</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>4</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_copy_idle_timeout_sec"><a class="link" href="#kudu-master_tablet_copy_idle_timeout_sec"><code>--tablet_copy_idle_timeout_sec</code></a></h4>
+<div class="paragraph">
+<p>Amount of time without activity before a tablet copy session will expire, in seconds</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">uint64</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>600</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_batch_size_rows"><a class="link" href="#kudu-master_scanner_batch_size_rows"><code>--scanner_batch_size_rows</code></a></h4>
+<div class="paragraph">
+<p>The number of rows to batch for servicing scan requests.</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_default_batch_size_bytes"><a class="link" href="#kudu-master_scanner_default_batch_size_bytes"><code>--scanner_default_batch_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>The default size for batches of scan results</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_max_batch_size_bytes"><a class="link" href="#kudu-master_scanner_max_batch_size_bytes"><code>--scanner_max_batch_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum batch size that a client may request for scan results.</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>8388608</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_max_wait_ms"><a class="link" href="#kudu-master_scanner_max_wait_ms"><code>--scanner_max_wait_ms</code></a></h4>
+<div class="paragraph">
+<p>The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for 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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tserver_enforce_access_control"><a class="link" href="#kudu-master_tserver_enforce_access_control"><code>--tserver_enforce_access_control</code></a></h4>
+<div class="paragraph">
+<p>If set, the server will apply fine-grained access control rules to client RPCs.</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>false</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_num_tablets_to_delete_simultaneously"><a class="link" href="#kudu-master_num_tablets_to_delete_simultaneously"><code>--num_tablets_to_delete_simultaneously</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<div class="paragraph">
+<p>Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-master_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-master_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h4>
+<div class="paragraph">
+<p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_txn_commit_pool_num_threads"><a class="link" href="#kudu-master_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_update_tablet_stats_interval_ms"><a class="link" href="#kudu-master_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</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>5000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_aws_instance_id_url"><a class="link" href="#kudu-master_cloud_aws_instance_id_url"><code>--cloud_aws_instance_id_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an AWS instance</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">string</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><a href="http://169.254.169.254/latest/meta-data/instance-id" class="bare">http://169.254.169.254/latest/meta-data/instance-id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_aws_ntp_server"><a class="link" href="#kudu-master_cloud_aws_ntp_server"><code>--cloud_aws_ntp_server</code></a></h4>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within an AWS instance</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">string</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>169.254.169.123</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_azure_instance_id_url"><a class="link" href="#kudu-master_cloud_azure_instance_id_url"><code>--cloud_azure_instance_id_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an Azure instance</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">string</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><a href="http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text" class="bare">http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_gce_instance_id_url"><a class="link" href="#kudu-master_cloud_gce_instance_id_url"><code>--cloud_gce_instance_id_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch the identifier of a GCE instance</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">string</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><a href="http://metadata.google.internal/computeMetadata/v1/instance/id" class="bare">http://metadata.google.internal/computeMetadata/v1/instance/id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_gce_ntp_server"><a class="link" href="#kudu-master_cloud_gce_ntp_server"><code>--cloud_gce_ntp_server</code></a></h4>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within a GCE instance</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">string</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>metadata.google.internal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_metadata_server_request_timeout_ms"><a class="link" href="#kudu-master_cloud_metadata_server_request_timeout_ms"><code>--cloud_metadata_server_request_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout for HTTP/HTTPS requests to the instance metadata server (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">uint32</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_openstack_metadata_url"><a class="link" href="#kudu-master_cloud_openstack_metadata_url"><code>--cloud_openstack_metadata_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.</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">string</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><a href="http://169.254.169.254/openstack/latest/meta_data.json" class="bare">http://169.254.169.254/openstack/latest/meta_data.json</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_env_use_fsync"><a class="link" href="#kudu-master_env_use_fsync"><code>--env_use_fsync</code></a></h4>
+<div class="paragraph">
+<p>Use fsync(2) instead of fdatasync(2) for synchronizing dirty data to disk.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_disable_core_dumps"><a class="link" href="#kudu-master_disable_core_dumps"><code>--disable_core_dumps</code></a></h4>
+<div class="paragraph">
+<p>Disable core dumps when this process crashes.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_redact"><a class="link" href="#kudu-master_redact"><code>--redact</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list that controls redaction context. Supported options are 'all','log', and 'none'. If 'all' is specified, sensitive data (sensitive configuration flags and row data) will be redacted from the web UI as well as glog and error messages. If 'log' is specified, sensitive data will only be redacted from glog and error messages. If 'none' is specified, no redaction will occur.</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">string</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>all</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_umask"><a class="link" href="#kudu-master_umask"><code>--umask</code></a></h4>
+<div class="paragraph">
+<p>The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.</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">string</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>077</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_metrics_retirement_age_ms"><a class="link" href="#kudu-master_metrics_retirement_age_ms"><code>--metrics_retirement_age_ms</code></a></h4>
+<div class="paragraph">
+<p>The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)</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>120000</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_enable_minidumps"><a class="link" href="#kudu-master_enable_minidumps"><code>--enable_minidumps</code></a></h4>
+<div class="paragraph">
+<p>Whether to enable minidump generation upon process crash or SIGUSR1. Currently only supported on Linux systems.</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">evolving,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_minidumps"><a class="link" href="#kudu-master_max_minidumps"><code>--max_minidumps</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of minidump files to keep per daemon. Older files are removed first. Set to 0 to keep all minidump files.</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>9</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_minidump_path"><a class="link" href="#kudu-master_minidump_path"><code>--minidump_path</code></a></h4>
+<div class="paragraph">
+<p>Directory to write minidump files to. This can be either an absolute path or a path relative to --log_dir. Each daemon will create an additional sub-directory to prevent naming conflicts and to make it easier to identify a crashing daemon. Minidump files contain crash-related information in a compressed format. Minidumps will be written when a daemon exits unexpectedly, for example on an unhandled exception or signal, or when a SIGUSR1 signal is sent to the process. Cannot be set to an empty value.</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">string</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>minidumps</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_minidump_size_limit_hint_kb"><a class="link" href="#kudu-master_minidump_size_limit_hint_kb"><code>--minidump_size_limit_hint_kb</code></a></h4>
+<div class="paragraph">
+<p>Size limit hint for minidump files in KB. If a minidump exceeds this value, then breakpad will reduce the stack memory it collects for each thread from 8KB to 2KB. However it will always include the full stack memory for the first 20 threads, including the thread that crashed.</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>20480</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_dns_resolver_cache_capacity_mb"><a class="link" href="#kudu-master_dns_resolver_cache_capacity_mb"><code>--dns_resolver_cache_capacity_mb</code></a></h4>
+<div class="paragraph">
+<p>Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.</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">uint32</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_dns_resolver_cache_ttl_sec"><a class="link" href="#kudu-master_dns_resolver_cache_ttl_sec"><code>--dns_resolver_cache_ttl_sec</code></a></h4>
+<div class="paragraph">
+<p>TTL of records in the DNS resolver cache, in seconds.</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">uint32</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>15</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_dns_resolver_max_threads_num"><a class="link" href="#kudu-master_dns_resolver_max_threads_num"><code>--dns_resolver_max_threads_num</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of threads to use for async DNS resolution</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>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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_nvm_cache_path"><a class="link" href="#kudu-master_nvm_cache_path"><code>--nvm_cache_path</code></a></h4>
+<div class="paragraph">
+<p>The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.</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">string</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>/pmem</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_nvm_cache_usage_ratio"><a class="link" href="#kudu-master_nvm_cache_usage_ratio"><code>--nvm_cache_usage_ratio</code></a></h4>
+<div class="paragraph">
+<p>A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.</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.25</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_memory_limit_soft_percentage"><a class="link" href="#kudu-master_memory_limit_soft_percentage"><code>--memory_limit_soft_percentage</code></a></h4>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher 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">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>80</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_memory_limit_warn_threshold_percentage"><a class="link" href="#kudu-master_memory_limit_warn_threshold_percentage"><code>--memory_limit_warn_threshold_percentage</code></a></h4>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.</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>98</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_memory_pressure_percentage"><a class="link" href="#kudu-master_memory_pressure_percentage"><code>--memory_pressure_percentage</code></a></h4>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tcmalloc_max_free_bytes_percentage"><a class="link" href="#kudu-master_tcmalloc_max_free_bytes_percentage"><code>--tcmalloc_max_free_bytes_percentage</code></a></h4>
+<div class="paragraph">
+<p>Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_drop_log_memory"><a class="link" href="#kudu-master_drop_log_memory"><code>--drop_log_memory</code></a></h4>
+<div class="paragraph">
+<p>Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_backtrace_at"><a class="link" href="#kudu-master_log_backtrace_at"><code>--log_backtrace_at</code></a></h4>
+<div class="paragraph">
+<p>Emit a backtrace when logging at file:linenum.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_logbuflevel"><a class="link" href="#kudu-master_logbuflevel"><code>--logbuflevel</code></a></h4>
+<div class="paragraph">
+<p>Buffer log messages logged at this level or lower (-1 means don&#8217;t buffer; 0 means buffer INFO only; &#8230;&#8203;)</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>0</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_logbufsecs"><a class="link" href="#kudu-master_logbufsecs"><code>--logbufsecs</code></a></h4>
+<div class="paragraph">
+<p>Buffer log messages for at most this many seconds</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>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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_logfile_mode"><a class="link" href="#kudu-master_logfile_mode"><code>--logfile_mode</code></a></h4>
+<div class="paragraph">
+<p>Log file mode/permissions.</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>436</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+<hr>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_supported"><a class="link" href="#kudu-tserver_supported"><code>kudu-tserver</code> Flags</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="kudu-tserver_stable"><a class="link" href="#kudu-tserver_stable">Stable Flags</a></h3>
+<div class="paragraph">
+<p>Flags tagged <code>stable</code> and not <code>advanced</code> are safe to use for common
+configuration tasks.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_cache_capacity_mb"><a class="link" href="#kudu-tserver_block_cache_capacity_mb"><code>--block_cache_capacity_mb</code></a></h4>
+<div class="paragraph">
+<p>block cache capacity in MB</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>512</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_builtin_ntp_servers"><a class="link" href="#kudu-tserver_builtin_ntp_servers"><code>--builtin_ntp_servers</code></a></h4>
+<div class="paragraph">
+<p>The NTP servers used by the built-in NTP client, in format &lt;FQDN|IP&gt;[:PORT]. These will only be used if the built-in NTP client is enabled (i.e. if setting --time_source=builtin).</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">string</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>0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_time_source"><a class="link" href="#kudu-tserver_time_source"><code>--time_source</code></a></h4>
+<div class="paragraph">
+<p>The time source that HybridClock should use. Must be one of auto, builtin, system, system_unsync (toy clusters/testing only), mock (testing only). When set to auto, the system automatically picks one of the following depending on the environment: builtin, system, system_unsync, where in case of picking builtin the built-in NTP client is configured with dedicated NTP server(s) provided by the environment.</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">string</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>system</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_force_fsync_all"><a class="link" href="#kudu-tserver_log_force_fsync_all"><code>--log_force_fsync_all</code></a></h4>
+<div class="paragraph">
+<p>Whether the Log/WAL should explicitly call fsync() after each write.</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fs_data_dirs"><a class="link" href="#kudu-tserver_fs_data_dirs"><code>--fs_data_dirs</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fs_metadata_dir"><a class="link" href="#kudu-tserver_fs_metadata_dir"><code>--fs_metadata_dir</code></a></h4>
+<div class="paragraph">
+<p>Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fs_wal_dir"><a class="link" href="#kudu-tserver_fs_wal_dir"><code>--fs_wal_dir</code></a></h4>
+<div class="paragraph">
+<p>Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_keytab_file"><a class="link" href="#kudu-tserver_keytab_file"><code>--keytab_file</code></a></h4>
+<div class="paragraph">
+<p>Path to the Kerberos Keytab file for this server. Specifying a keytab file will cause the server to kinit, and enable Kerberos to be used to authenticate RPC connections.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_bind_addresses"><a class="link" href="#kudu-tserver_rpc_bind_addresses"><code>--rpc_bind_addresses</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of addresses to bind to for RPC connections. Currently, ephemeral ports (i.e. port 0) are not allowed.</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">string</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>0.0.0.0:7050</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_superuser_acl"><a class="link" href="#kudu-tserver_superuser_acl"><code>--superuser_acl</code></a></h4>
+<div class="paragraph">
+<p>The list of usernames to allow as super users, comma-separated. A '*' entry indicates that all authenticated users are allowed. If this is left unset or blank, the default behavior is that the identity of the daemon itself determines the superuser. If the daemon is logged in from a Keytab, then the local username from the Kerberos principal is used; otherwise, the local Unix username is used.</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">string</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">none</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">sensitive,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_user_acl"><a class="link" href="#kudu-tserver_user_acl"><code>--user_acl</code></a></h4>
+<div class="paragraph">
+<p>The list of usernames who may access the cluster, comma-separated. A '*' entry indicates that all authenticated users are allowed.</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">string</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>*</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">sensitive,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_certificate_file"><a class="link" href="#kudu-tserver_webserver_certificate_file"><code>--webserver_certificate_file</code></a></h4>
+<div class="paragraph">
+<p>The location of the debug webserver&#8217;s SSL certificate file, in PEM format. If empty, webserver SSL support is not enabled. If --webserver_private_key_file is set, this option must be set as well.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_port"><a class="link" href="#kudu-tserver_webserver_port"><code>--webserver_port</code></a></h4>
+<div class="paragraph">
+<p>Port to bind to for the web server</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>8050</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_private_key_file"><a class="link" href="#kudu-tserver_webserver_private_key_file"><code>--webserver_private_key_file</code></a></h4>
+<div class="paragraph">
+<p>The full path to the private key used as a counterpart to the public key contained in --webserver_certificate_file. If --webserver_certificate_file is set, this option must be set as well.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_private_key_password_cmd"><a class="link" href="#kudu-tserver_webserver_private_key_password_cmd"><code>--webserver_private_key_password_cmd</code></a></h4>
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the Webserver&#8217;s certificate private key file specified in --webserver_private_key_file. If the PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_require_spnego"><a class="link" href="#kudu-tserver_webserver_require_spnego"><code>--webserver_require_spnego</code></a></h4>
+<div class="paragraph">
+<p>Require connections to the web server to authenticate via Kerberos using SPNEGO.</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tserver_master_addrs"><a class="link" href="#kudu-tserver_tserver_master_addrs"><code>--tserver_master_addrs</code></a></h4>
+<div class="paragraph">
+<p>Comma separated addresses of the masters which the tablet server should connect to. The masters do not read this flag&#8201;&#8212;&#8201;configure the masters separately using 'rpc_bind_addresses'.</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">string</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>127.0.0.1:7051</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_filename"><a class="link" href="#kudu-tserver_log_filename"><code>--log_filename</code></a></h4>
+<div class="paragraph">
+<p>Prefix of log filename - full path is &lt;log_dir&gt;/&lt;log_filename&gt;.[INFO|WARN|ERROR|FATAL]</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_max_log_files"><a class="link" href="#kudu-tserver_max_log_files"><code>--max_log_files</code></a></h4>
+<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">stable,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_maintenance_manager_num_threads"><a class="link" href="#kudu-tserver_maintenance_manager_num_threads"><code>--maintenance_manager_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Size of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.</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>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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_memory_limit_hard_bytes"><a class="link" href="#kudu-tserver_memory_limit_hard_bytes"><code>--memory_limit_hard_bytes</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.</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>0</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_flagfile"><a class="link" href="#kudu-tserver_flagfile"><code>--flagfile</code></a></h4>
+<div class="paragraph">
+<p>load flags from file</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_help"><a class="link" href="#kudu-tserver_help"><code>--help</code></a></h4>
+<div class="paragraph">
+<p>show help on all flags [tip: all flags can have two dashes]</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_version"><a class="link" href="#kudu-tserver_version"><code>--version</code></a></h4>
+<div class="paragraph">
+<p>show version and build info and exit</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_colorlogtostderr"><a class="link" href="#kudu-tserver_colorlogtostderr"><code>--colorlogtostderr</code></a></h4>
+<div class="paragraph">
+<p>color messages logged to stderr (if supported by terminal)</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>false</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">runtime,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_dir"><a class="link" href="#kudu-tserver_log_dir"><code>--log_dir</code></a></h4>
+<div class="paragraph">
+<p>If specified, logfiles are written into this directory instead of the default logging directory.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_logtostderr"><a class="link" href="#kudu-tserver_logtostderr"><code>--logtostderr</code></a></h4>
+<div class="paragraph">
+<p>log messages go to stderr instead of logfiles</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>false</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">runtime,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_max_log_size"><a class="link" href="#kudu-tserver_max_log_size"><code>--max_log_size</code></a></h4>
+<div class="paragraph">
+<p>approx. maximum log file size (in MB). A value of 0 will be silently overridden to 1.</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>1800</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">runtime,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_stable_advanced"><a class="link" href="#kudu-tserver_stable_advanced">Stable, Advanced Flags</a></h3>
+<div class="paragraph">
+<p>Flags tagged <code>stable</code> and <code>advanced</code> are supported, but should be considered
+"expert" options and should be used carefully and after thorough testing.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_principal"><a class="link" href="#kudu-tserver_principal"><code>--principal</code></a></h4>
+<div class="paragraph">
+<p>Kerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.</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">string</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>kudu/_HOST</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_history_max_age_sec"><a class="link" href="#kudu-tserver_tablet_history_max_age_sec"><code>--tablet_history_max_age_sec</code></a></h4>
+<div class="paragraph">
+<p>Number of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.</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>604800</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_enable_process_lifetime_heap_profiling"><a class="link" href="#kudu-tserver_enable_process_lifetime_heap_profiling"><code>--enable_process_lifetime_heap_profiling</code></a></h4>
+<div class="paragraph">
+<p>Enables heap profiling for the lifetime of the process. Profile output will be stored in the directory specified by -heap_profile_path.</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_heap_profile_path"><a class="link" href="#kudu-tserver_heap_profile_path"><code>--heap_profile_path</code></a></h4>
+<div class="paragraph">
+<p>Output path to store heap profiles. If not set profiles are stored in /tmp/&lt;process-name&gt;.&lt;pid&gt;.&lt;n&gt;.heap.</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_unlock_experimental_flags"><a class="link" href="#kudu-tserver_unlock_experimental_flags"><code>--unlock_experimental_flags</code></a></h4>
+<div class="paragraph">
+<p>Unlock flags marked as 'experimental'. These flags are not guaranteed to be maintained across releases of Kudu, and may enable features or behavior known to be unstable. Use at your own risk.</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>false</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_unlock_unsafe_flags"><a class="link" href="#kudu-tserver_unlock_unsafe_flags"><code>--unlock_unsafe_flags</code></a></h4>
+<div class="paragraph">
+<p>Unlock flags marked as 'unsafe'. These flags are not guaranteed to be maintained across releases of Kudu, and enable features or behavior known to be unsafe. Use at your own risk.</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>false</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fromenv"><a class="link" href="#kudu-tserver_fromenv"><code>--fromenv</code></a></h4>
+<div class="paragraph">
+<p>set flags from the environment [use 'export FLAGS_flag1=value']</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tryfromenv"><a class="link" href="#kudu-tserver_tryfromenv"><code>--tryfromenv</code></a></h4>
+<div class="paragraph">
+<p>set flags from the environment if present</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_undefok"><a class="link" href="#kudu-tserver_undefok"><code>--undefok</code></a></h4>
+<div class="paragraph">
+<p>comma-separated list of flag names that it is okay to specify on the command line even if the program does not define a flag with that name.  IMPORTANT: flags in this list that have arguments MUST use the flag=value format</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_helpmatch"><a class="link" href="#kudu-tserver_helpmatch"><code>--helpmatch</code></a></h4>
+<div class="paragraph">
+<p>show help on modules whose name contains the specified substr</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_helpon"><a class="link" href="#kudu-tserver_helpon"><code>--helpon</code></a></h4>
+<div class="paragraph">
+<p>show help on the modules named by this flag value</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_helppackage"><a class="link" href="#kudu-tserver_helppackage"><code>--helppackage</code></a></h4>
+<div class="paragraph">
+<p>show help on all modules in the main package</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_helpshort"><a class="link" href="#kudu-tserver_helpshort"><code>--helpshort</code></a></h4>
+<div class="paragraph">
+<p>show help on only the main module for this program</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_helpxml"><a class="link" href="#kudu-tserver_helpxml"><code>--helpxml</code></a></h4>
+<div class="paragraph">
+<p>produce an xml version of help</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_link"><a class="link" href="#kudu-tserver_log_link"><code>--log_link</code></a></h4>
+<div class="paragraph">
+<p>Put additional links to the log files in this directory</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_prefix"><a class="link" href="#kudu-tserver_log_prefix"><code>--log_prefix</code></a></h4>
+<div class="paragraph">
+<p>Prepend the log prefix to the start of each log line</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_minloglevel"><a class="link" href="#kudu-tserver_minloglevel"><code>--minloglevel</code></a></h4>
+<div class="paragraph">
+<p>Messages logged at a lower level than this don&#8217;t actually get logged anywhere</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>0</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_stderrthreshold"><a class="link" href="#kudu-tserver_stderrthreshold"><code>--stderrthreshold</code></a></h4>
+<div class="paragraph">
+<p>log messages at or above this level are copied to stderr in addition to logfiles.  This flag obsoletes --alsologtostderr.</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>2</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_stop_logging_if_full_disk"><a class="link" href="#kudu-tserver_stop_logging_if_full_disk"><code>--stop_logging_if_full_disk</code></a></h4>
+<div class="paragraph">
+<p>Stop attempting to log to disk if the disk is full.</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>false</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_symbolize_stacktrace"><a class="link" href="#kudu-tserver_symbolize_stacktrace"><code>--symbolize_stacktrace</code></a></h4>
+<div class="paragraph">
+<p>Symbolize the stack trace in the tombstone</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,stable,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_v"><a class="link" href="#kudu-tserver_v"><code>--v</code></a></h4>
+<div class="paragraph">
+<p>Show all VLOG(m) messages for m &#8656; this. Overridable by --vmodule.</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>0</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_vmodule"><a class="link" href="#kudu-tserver_vmodule"><code>--vmodule</code></a></h4>
+<div class="paragraph">
+<p>per-module verbose level. Argument is a comma-separated list of &lt;module name&gt;=&lt;log level&gt;. &lt;module name&gt; is a glob pattern, matched against the filename base (that is, name ignoring .cc/.h./-inl.h). &lt;log level&gt; overrides any value given by --v.</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_evolving"><a class="link" href="#kudu-tserver_evolving">Evolving Flags</a></h3>
+<div class="paragraph">
+<p>Flags tagged <code>evolving</code> (or not tagged with a stability tag) are not yet
+considered final, and while they may be useful for tuning, they are subject to
+being changed or removed without notice.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_cache_type"><a class="link" href="#kudu-tserver_block_cache_type"><code>--block_cache_type</code></a></h4>
+<div class="paragraph">
+<p>Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.</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">string</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>DRAM</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cfile_verify_checksums"><a class="link" href="#kudu-tserver_cfile_verify_checksums"><code>--cfile_verify_checksums</code></a></h4>
+<div class="paragraph">
+<p>Verify the checksum for each block on read if one exists</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">evolving</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cfile_default_block_size"><a class="link" href="#kudu-tserver_cfile_default_block_size"><code>--cfile_default_block_size</code></a></h4>
+<div class="paragraph">
+<p>The default block size to use in cfiles</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>262144</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cfile_default_compression_codec"><a class="link" href="#kudu-tserver_cfile_default_compression_codec"><code>--cfile_default_compression_codec</code></a></h4>
+<div class="paragraph">
+<p>Default cfile block compression codec.</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">string</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>no_compression</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cfile_write_checksums"><a class="link" href="#kudu-tserver_cfile_write_checksums"><code>--cfile_write_checksums</code></a></h4>
+<div class="paragraph">
+<p>Write CRC32 checksums for each block</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">evolving</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-tserver_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_show_attributes"><a class="link" href="#kudu-tserver_show_attributes"><code>--show_attributes</code></a></h4>
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_builtin_ntp_client_bind_address"><a class="link" href="#kudu-tserver_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h4>
+<div class="paragraph">
+<p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_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">string</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>0.0.0.0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_builtin_ntp_poll_interval_ms"><a class="link" href="#kudu-tserver_builtin_ntp_poll_interval_ms"><code>--builtin_ntp_poll_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The time between successive polls of a single NTP server (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">uint32</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>16000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_max_clock_sync_error_usec"><a class="link" href="#kudu-tserver_max_clock_sync_error_usec"><code>--max_clock_sync_error_usec</code></a></h4>
+<div class="paragraph">
+<p>Maximum allowed clock synchronization error as reported by NTP before the server will abort.</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>10000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_ntp_initial_sync_wait_secs"><a class="link" href="#kudu-tserver_ntp_initial_sync_wait_secs"><code>--ntp_initial_sync_wait_secs</code></a></h4>
+<div class="paragraph">
+<p>Amount of time in seconds to wait for clock synchronisation at startup. A value of zero means Kudu will fail to start if the clock is unsynchronized. This flag can prevent Kudu from crashing if it starts before NTP can synchronize the clock.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_predicate_effectivess_enabled"><a class="link" href="#kudu-tserver_predicate_effectivess_enabled"><code>--predicate_effectivess_enabled</code></a></h4>
+<div class="paragraph">
+<p>Should ineffective predicate filtering be disabled</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_predicate_effectivess_num_skip_blocks"><a class="link" href="#kudu-tserver_predicate_effectivess_num_skip_blocks"><code>--predicate_effectivess_num_skip_blocks</code></a></h4>
+<div class="paragraph">
+<p>Number of blocks to skip for every predicate effectiveness check</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_predicate_effectivess_reject_ratio"><a class="link" href="#kudu-tserver_predicate_effectivess_reject_ratio"><code>--predicate_effectivess_reject_ratio</code></a></h4>
+<div class="paragraph">
+<p>Rejection ratio below which predicate filter is considered ineffective</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>0.10000000000000001</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cmeta_force_fsync"><a class="link" href="#kudu-tserver_cmeta_force_fsync"><code>--cmeta_force_fsync</code></a></h4>
+<div class="paragraph">
+<p>Whether fsync() should be called when consensus metadata files are updated</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_consensus_rpc_timeout_ms"><a class="link" href="#kudu-tserver_consensus_rpc_timeout_ms"><code>--consensus_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout used for all consensus internal RPC communications.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_consensus_max_batch_size_bytes"><a class="link" href="#kudu-tserver_consensus_max_batch_size_bytes"><code>--consensus_max_batch_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum per-tablet RPC batch size when updating peers.</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>1048576</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_follower_unavailable_considered_failed_sec"><a class="link" href="#kudu-tserver_follower_unavailable_considered_failed_sec"><code>--follower_unavailable_considered_failed_sec</code></a></h4>
+<div class="paragraph">
+<p>Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.</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>300</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fs_wal_dir_reserved_bytes"><a class="link" href="#kudu-tserver_fs_wal_dir_reserved_bytes"><code>--fs_wal_dir_reserved_bytes</code></a></h4>
+<div class="paragraph">
+<p>Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fs_wal_use_file_cache"><a class="link" href="#kudu-tserver_fs_wal_use_file_cache"><code>--fs_wal_use_file_cache</code></a></h4>
+<div class="paragraph">
+<p>Whether to use the server-wide file cache for WAL segments and WAL index chunks.</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_group_commit_queue_size_bytes"><a class="link" href="#kudu-tserver_group_commit_queue_size_bytes"><code>--group_commit_queue_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Maximum size of the group commit queue in bytes</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>4194304</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_min_segments_to_retain"><a class="link" href="#kudu-tserver_log_min_segments_to_retain"><code>--log_min_segments_to_retain</code></a></h4>
+<div class="paragraph">
+<p>The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.</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>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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_global_log_cache_size_limit_mb"><a class="link" href="#kudu-tserver_global_log_cache_size_limit_mb"><code>--global_log_cache_size_limit_mb</code></a></h4>
+<div class="paragraph">
+<p>Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.</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>1024</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_cache_size_limit_mb"><a class="link" href="#kudu-tserver_log_cache_size_limit_mb"><code>--log_cache_size_limit_mb</code></a></h4>
+<div class="paragraph">
+<p>The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.</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>128</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_async_preallocate_segments"><a class="link" href="#kudu-tserver_log_async_preallocate_segments"><code>--log_async_preallocate_segments</code></a></h4>
+<div class="paragraph">
+<p>Whether the WAL segments preallocation should happen asynchronously</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_preallocate_segments"><a class="link" href="#kudu-tserver_log_preallocate_segments"><code>--log_preallocate_segments</code></a></h4>
+<div class="paragraph">
+<p>Whether the WAL should preallocate the entire segment before writing to it</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_segment_size_mb"><a class="link" href="#kudu-tserver_log_segment_size_mb"><code>--log_segment_size_mb</code></a></h4>
+<div class="paragraph">
+<p>The default size for log segments, in MB</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>8</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_evict_failed_followers"><a class="link" href="#kudu-tserver_evict_failed_followers"><code>--evict_failed_followers</code></a></h4>
+<div class="paragraph">
+<p>Whether to evict followers from the Raft config that have fallen too far behind the leader&#8217;s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_leader_failure_max_missed_heartbeat_periods"><a class="link" href="#kudu-tserver_leader_failure_max_missed_heartbeat_periods"><code>--leader_failure_max_missed_heartbeat_periods</code></a></h4>
+<div class="paragraph">
+<p>Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_raft_heartbeat_interval_ms"><a class="link" href="#kudu-tserver_raft_heartbeat_interval_ms"><code>--raft_heartbeat_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.</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>500</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fs_data_dirs_available_space_cache_seconds"><a class="link" href="#kudu-tserver_fs_data_dirs_available_space_cache_seconds"><code>--fs_data_dirs_available_space_cache_seconds</code></a></h4>
+<div class="paragraph">
+<p>Number of seconds we cache the available disk space in the block manager.</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">evolving,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fs_data_dirs_consider_available_space"><a class="link" href="#kudu-tserver_fs_data_dirs_consider_available_space"><code>--fs_data_dirs_consider_available_space</code></a></h4>
+<div class="paragraph">
+<p>Whether to consider available space when selecting a data directory during tablet or data block creation.</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">evolving,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fs_data_dirs_reserved_bytes"><a class="link" href="#kudu-tserver_fs_data_dirs_reserved_bytes"><code>--fs_data_dirs_reserved_bytes</code></a></h4>
+<div class="paragraph">
+<p>Number of bytes to reserve on each data directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fs_max_thread_count_per_data_dir"><a class="link" href="#kudu-tserver_fs_max_thread_count_per_data_dir"><code>--fs_max_thread_count_per_data_dir</code></a></h4>
+<div class="paragraph">
+<p>Maximum work thread per data directory.</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">uint64</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>8</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fs_target_data_dirs_per_tablet"><a class="link" href="#kudu-tserver_fs_target_data_dirs_per_tablet"><code>--fs_target_data_dirs_per_tablet</code></a></h4>
+<div class="paragraph">
+<p>Indicates the target number of data dirs to spread each tablet&#8217;s data across. If greater than the number of data dirs available, data will be striped across those available. A value of 0 indicates striping should occur across all healthy data dirs. Using fewer data dirs per tablet means a single drive failure will be less likely to affect a given tablet.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_manager"><a class="link" href="#kudu-tserver_block_manager"><code>--block_manager</code></a></h4>
+<div class="paragraph">
+<p>Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.</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">string</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>log</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_container_excess_space_before_cleanup_fraction"><a class="link" href="#kudu-tserver_log_container_excess_space_before_cleanup_fraction"><code>--log_container_excess_space_before_cleanup_fraction</code></a></h4>
+<div class="paragraph">
+<p>Additional fraction of a log container&#8217;s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.</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>0.10000000000000001</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_container_max_blocks"><a class="link" href="#kudu-tserver_log_container_max_blocks"><code>--log_container_max_blocks</code></a></h4>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_container_max_size"><a class="link" href="#kudu-tserver_log_container_max_size"><code>--log_container_max_size</code></a></h4>
+<div class="paragraph">
+<p>Maximum size (soft) of a log container</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">uint64</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>10737418240</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_container_preallocate_bytes"><a class="link" href="#kudu-tserver_log_container_preallocate_bytes"><code>--log_container_preallocate_bytes</code></a></h4>
+<div class="paragraph">
+<p>Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation</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">uint64</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>33554432</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_server_thread_pool_max_thread_count"><a class="link" href="#kudu-tserver_server_thread_pool_max_thread_count"><code>--server_thread_pool_max_thread_count</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of threads to allow in each server-wide thread pool. If -1, Kudu will automatically calculate this value. It is an error to use a value of 0.</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>-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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_acceptor_listen_backlog"><a class="link" href="#kudu-tserver_rpc_acceptor_listen_backlog"><code>--rpc_acceptor_listen_backlog</code></a></h4>
+<div class="paragraph">
+<p>Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.</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>128</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_encrypt_loopback_connections"><a class="link" href="#kudu-tserver_rpc_encrypt_loopback_connections"><code>--rpc_encrypt_loopback_connections</code></a></h4>
+<div class="paragraph">
+<p>Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_callback_max_cycles"><a class="link" href="#kudu-tserver_rpc_callback_max_cycles"><code>--rpc_callback_max_cycles</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)</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>100000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tcp_keepalive_probe_period_s"><a class="link" href="#kudu-tserver_tcp_keepalive_probe_period_s"><code>--tcp_keepalive_probe_period_s</code></a></h4>
+<div class="paragraph">
+<p>The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tcp_keepalive_retry_count"><a class="link" href="#kudu-tserver_tcp_keepalive_retry_count"><code>--tcp_keepalive_retry_count</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tcp_keepalive_retry_period_s"><a class="link" href="#kudu-tserver_tcp_keepalive_retry_period_s"><code>--tcp_keepalive_retry_period_s</code></a></h4>
+<div class="paragraph">
+<p>The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_remember_clients_ttl_ms"><a class="link" href="#kudu-tserver_remember_clients_ttl_ms"><code>--remember_clients_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.</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>3600000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_remember_responses_ttl_ms"><a class="link" href="#kudu-tserver_remember_responses_ttl_ms"><code>--remember_responses_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.</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>600000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_dump_all_traces"><a class="link" href="#kudu-tserver_rpc_dump_all_traces"><code>--rpc_dump_all_traces</code></a></h4>
+<div class="paragraph">
+<p>If true, dump all RPC traces at INFO level</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_duration_too_long_ms"><a class="link" href="#kudu-tserver_rpc_duration_too_long_ms"><code>--rpc_duration_too_long_ms</code></a></h4>
+<div class="paragraph">
+<p>Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_trusted_subnets"><a class="link" href="#kudu-tserver_trusted_subnets"><code>--trusted_subnets</code></a></h4>
+<div class="paragraph">
+<p>A trusted subnet whitelist. If set explicitly, all unauthenticated or unencrypted connections are prohibited except the ones from the specified address blocks. Otherwise, private network (127.0.0.0/8, etc.) and local subnets of all local network interfaces will be used. Set it to '0.0.0.0/0' to allow unauthenticated/unencrypted connections from all remote IP addresses. However, if network access is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized access.</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">string</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>127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_max_message_size"><a class="link" href="#kudu-tserver_rpc_max_message_size"><code>--rpc_max_message_size</code></a></h4>
+<div class="paragraph">
+<p>The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.</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>52428800</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_use_system_auth_to_local"><a class="link" href="#kudu-tserver_use_system_auth_to_local"><code>--use_system_auth_to_local</code></a></h4>
+<div class="paragraph">
+<p>When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_metrics_default_level"><a class="link" href="#kudu-tserver_metrics_default_level"><code>--metrics_default_level</code></a></h4>
+<div class="paragraph">
+<p>The default severity level to use when filtering the metrics. Valid choices are 'debug', 'info', and 'warn'. The levels are ordered and lower levels include the levels above them. This value can be overridden by passing the level query parameter to the '/metrics' endpoint.</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">string</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>debug</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_web_log_bytes"><a class="link" href="#kudu-tserver_web_log_bytes"><code>--web_log_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of bytes to display on the debug webserver&#8217;s log page</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_advertised_addresses"><a class="link" href="#kudu-tserver_rpc_advertised_addresses"><code>--rpc_advertised_addresses</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_num_acceptors_per_address"><a class="link" href="#kudu-tserver_rpc_num_acceptors_per_address"><code>--rpc_num_acceptors_per_address</code></a></h4>
+<div class="paragraph">
+<p>Number of RPC acceptor threads for each bound address</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>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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_num_service_threads"><a class="link" href="#kudu-tserver_rpc_num_service_threads"><code>--rpc_num_service_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of RPC worker threads to run</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>20</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_service_queue_length"><a class="link" href="#kudu-tserver_rpc_service_queue_length"><code>--rpc_service_queue_length</code></a></h4>
+<div class="paragraph">
+<p>Default length of queue for incoming RPC requests</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>50</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_gc_tcmalloc_memory_interval_seconds"><a class="link" href="#kudu-tserver_gc_tcmalloc_memory_interval_seconds"><code>--gc_tcmalloc_memory_interval_seconds</code></a></h4>
+<div class="paragraph">
+<p>Interval seconds to GC tcmalloc memory, 0 means disabled.</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">uint64</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>30</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_max_negotiation_threads"><a class="link" href="#kudu-tserver_max_negotiation_threads"><code>--max_negotiation_threads</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of connection negotiation threads.</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>50</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_min_negotiation_threads"><a class="link" href="#kudu-tserver_min_negotiation_threads"><code>--min_negotiation_threads</code></a></h4>
+<div class="paragraph">
+<p>Minimum number of connection negotiation threads.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_num_reactor_threads"><a class="link" href="#kudu-tserver_num_reactor_threads"><code>--num_reactor_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of libev reactor threads to start.</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>4</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_authentication"><a class="link" href="#kudu-tserver_rpc_authentication"><code>--rpc_authentication</code></a></h4>
+<div class="paragraph">
+<p>Whether to require RPC connections to authenticate. Must be one of 'disabled', 'optional', or 'required'. If 'optional', authentication will be used when the remote end supports it. If 'required', connections which are not able to authenticate (because the remote end lacks support) are rejected. Secure clusters should use 'required'.</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">string</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>optional</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_default_keepalive_time_ms"><a class="link" href="#kudu-tserver_rpc_default_keepalive_time_ms"><code>--rpc_default_keepalive_time_ms</code></a></h4>
+<div class="paragraph">
+<p>If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.</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>65000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_encryption"><a class="link" href="#kudu-tserver_rpc_encryption"><code>--rpc_encryption</code></a></h4>
+<div class="paragraph">
+<p>Whether to require RPC connections to be encrypted. Must be one of 'disabled', 'optional', or 'required'. If 'optional', encryption will be used when the remote end supports it. If 'required', connections which are not able to use encryption (because the remote end lacks support) are rejected. If 'disabled', encryption will not be used, and RPC authentication (--rpc_authentication) must also be disabled as well. Secure clusters should use 'required'.</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">string</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>optional</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_negotiation_timeout_ms"><a class="link" href="#kudu-tserver_rpc_negotiation_timeout_ms"><code>--rpc_negotiation_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout for negotiating an RPC connection, 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">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>3000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_private_key_password_cmd"><a class="link" href="#kudu-tserver_rpc_private_key_password_cmd"><code>--rpc_private_key_password_cmd</code></a></h4>
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the RPC server&#8217;s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_tls_ciphers"><a class="link" href="#kudu-tserver_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h4>
+<div class="paragraph">
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_tls_ciphersuites"><a class="link" href="#kudu-tserver_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h4>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_tls_min_protocol"><a class="link" href="#kudu-tserver_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h4>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</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">string</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>TLSv1</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_server_max_open_files"><a class="link" href="#kudu-tserver_server_max_open_files"><code>--server_max_open_files</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. 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">uint64</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_enabled"><a class="link" href="#kudu-tserver_webserver_enabled"><code>--webserver_enabled</code></a></h4>
+<div class="paragraph">
+<p>Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_metrics_log_interval_ms"><a class="link" href="#kudu-tserver_metrics_log_interval_ms"><code>--metrics_log_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_max_post_length_bytes"><a class="link" href="#kudu-tserver_webserver_max_post_length_bytes"><code>--webserver_max_post_length_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum length of a POST request that will be accepted by the embedded web server.</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_x_frame_options"><a class="link" href="#kudu-tserver_webserver_x_frame_options"><code>--webserver_x_frame_options</code></a></h4>
+<div class="paragraph">
+<p>The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.</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">string</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>DENY</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_advertised_addresses"><a class="link" href="#kudu-tserver_webserver_advertised_addresses"><code>--webserver_advertised_addresses</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_authentication_domain"><a class="link" href="#kudu-tserver_webserver_authentication_domain"><code>--webserver_authentication_domain</code></a></h4>
+<div class="paragraph">
+<p>Domain used for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_doc_root"><a class="link" href="#kudu-tserver_webserver_doc_root"><code>--webserver_doc_root</code></a></h4>
+<div class="paragraph">
+<p>Files under &lt;webserver_doc_root&gt; are accessible via the debug webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_enable_doc_root"><a class="link" href="#kudu-tserver_webserver_enable_doc_root"><code>--webserver_enable_doc_root</code></a></h4>
+<div class="paragraph">
+<p>If true, webserver may serve static files from the webserver_doc_root</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_interface"><a class="link" href="#kudu-tserver_webserver_interface"><code>--webserver_interface</code></a></h4>
+<div class="paragraph">
+<p>Interface to start debug webserver on. If blank, webserver binds to 0.0.0.0</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_num_worker_threads"><a class="link" href="#kudu-tserver_webserver_num_worker_threads"><code>--webserver_num_worker_threads</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of threads to start for handling web server requests</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>50</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_password_file"><a class="link" href="#kudu-tserver_webserver_password_file"><code>--webserver_password_file</code></a></h4>
+<div class="paragraph">
+<p>(Optional) Location of .htpasswd file containing user names and hashed passwords for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_tls_ciphers"><a class="link" href="#kudu-tserver_webserver_tls_ciphers"><code>--webserver_tls_ciphers</code></a></h4>
+<div class="paragraph">
+<p>The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_tls_min_protocol"><a class="link" href="#kudu-tserver_webserver_tls_min_protocol"><code>--webserver_tls_min_protocol</code></a></h4>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</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">string</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>TLSv1</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_compaction_minimum_improvement"><a class="link" href="#kudu-tserver_compaction_minimum_improvement"><code>--compaction_minimum_improvement</code></a></h4>
+<div class="paragraph">
+<p>The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.</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>0.0099999997764825821</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_transaction_memory_limit_mb"><a class="link" href="#kudu-tserver_tablet_transaction_memory_limit_mb"><code>--tablet_transaction_memory_limit_mb</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.</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>64</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_bloom_block_size"><a class="link" href="#kudu-tserver_tablet_bloom_block_size"><code>--tablet_bloom_block_size</code></a></h4>
+<div class="paragraph">
+<p>Block size of the bloom filters used for tablet keys.</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>4096</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_bloom_target_fp_rate"><a class="link" href="#kudu-tserver_tablet_bloom_target_fp_rate"><code>--tablet_bloom_target_fp_rate</code></a></h4>
+<div class="paragraph">
+<p>Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.</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>9.9999997473787516e-05</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_enable_deleted_rowset_gc"><a class="link" href="#kudu-tserver_enable_deleted_rowset_gc"><code>--enable_deleted_rowset_gc</code></a></h4>
+<div class="paragraph">
+<p>Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_undo_delta_block_gc_init_budget_millis"><a class="link" href="#kudu-tserver_undo_delta_block_gc_init_budget_millis"><code>--undo_delta_block_gc_init_budget_millis</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of milliseconds we will spend initializing UNDO delta blocks per invocation of UndoDeltaBlockGCOp. Existing delta blocks must be initialized once per process startup to determine when they can be deleted.</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,evolving</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-tserver_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-tserver_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h4>
+<div class="paragraph">
+<p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_heartbeat_interval_ms"><a class="link" href="#kudu-tserver_heartbeat_interval_ms"><code>--heartbeat_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval at which the TS heartbeats to the master.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_heartbeat_max_failures_before_backoff"><a class="link" href="#kudu-tserver_heartbeat_max_failures_before_backoff"><code>--heartbeat_max_failures_before_backoff</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_heartbeat_rpc_timeout_ms"><a class="link" href="#kudu-tserver_heartbeat_rpc_timeout_ms"><code>--heartbeat_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout used for the TS&#8594;Master heartbeat RPCs.</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>15000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_ttl_ms"><a class="link" href="#kudu-tserver_scanner_ttl_ms"><code>--scanner_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Number of milliseconds of inactivity allowed for a scannerbefore it may be expired</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_copy_begin_session_timeout_ms"><a class="link" href="#kudu-tserver_tablet_copy_begin_session_timeout_ms"><code>--tablet_copy_begin_session_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_copy_download_threads_nums_per_session"><a class="link" href="#kudu-tserver_tablet_copy_download_threads_nums_per_session"><code>--tablet_copy_download_threads_nums_per_session</code></a></h4>
+<div class="paragraph">
+<p>Number of threads per tablet copy session for downloading tablet data blocks.</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>4</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_copy_idle_timeout_sec"><a class="link" href="#kudu-tserver_tablet_copy_idle_timeout_sec"><code>--tablet_copy_idle_timeout_sec</code></a></h4>
+<div class="paragraph">
+<p>Amount of time without activity before a tablet copy session will expire, in seconds</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">uint64</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>600</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_apply_pool_overload_threshold_ms"><a class="link" href="#kudu-tserver_tablet_apply_pool_overload_threshold_ms"><code>--tablet_apply_pool_overload_threshold_ms</code></a></h4>
+<div class="paragraph">
+<p>The threshold for the queue time of the 'apply' thread pool to enter and exit overloaded state. Once the queue stalls and its queue times become longer than the specified threshold, it enters the overloaded state. Tablet server rejects incoming write requests with some probability when its apply queue is overloaded. The longer the apply queue stays overloaded, the greater the probability of the rejection. In addition, the more row operations a write request has, the greater the probablity of the rejection. The apply queue exits the overloaded state when queue times drop below the specified threshold. Set this flag to 0 to disable the behavior described above.</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">uint32</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_batch_size_rows"><a class="link" href="#kudu-tserver_scanner_batch_size_rows"><code>--scanner_batch_size_rows</code></a></h4>
+<div class="paragraph">
+<p>The number of rows to batch for servicing scan requests.</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_default_batch_size_bytes"><a class="link" href="#kudu-tserver_scanner_default_batch_size_bytes"><code>--scanner_default_batch_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>The default size for batches of scan results</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_max_batch_size_bytes"><a class="link" href="#kudu-tserver_scanner_max_batch_size_bytes"><code>--scanner_max_batch_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum batch size that a client may request for scan results.</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>8388608</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_max_wait_ms"><a class="link" href="#kudu-tserver_scanner_max_wait_ms"><code>--scanner_max_wait_ms</code></a></h4>
+<div class="paragraph">
+<p>The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for 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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tserver_enforce_access_control"><a class="link" href="#kudu-tserver_tserver_enforce_access_control"><code>--tserver_enforce_access_control</code></a></h4>
+<div class="paragraph">
+<p>If set, the server will apply fine-grained access control rules to client RPCs.</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>false</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_num_tablets_to_delete_simultaneously"><a class="link" href="#kudu-tserver_num_tablets_to_delete_simultaneously"><code>--num_tablets_to_delete_simultaneously</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<div class="paragraph">
+<p>Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-tserver_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h4>
+<div class="paragraph">
+<p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_txn_commit_pool_num_threads"><a class="link" href="#kudu-tserver_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_update_tablet_stats_interval_ms"><a class="link" href="#kudu-tserver_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</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>5000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_aws_instance_id_url"><a class="link" href="#kudu-tserver_cloud_aws_instance_id_url"><code>--cloud_aws_instance_id_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an AWS instance</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">string</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><a href="http://169.254.169.254/latest/meta-data/instance-id" class="bare">http://169.254.169.254/latest/meta-data/instance-id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_aws_ntp_server"><a class="link" href="#kudu-tserver_cloud_aws_ntp_server"><code>--cloud_aws_ntp_server</code></a></h4>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within an AWS instance</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">string</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>169.254.169.123</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_azure_instance_id_url"><a class="link" href="#kudu-tserver_cloud_azure_instance_id_url"><code>--cloud_azure_instance_id_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an Azure instance</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">string</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><a href="http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text" class="bare">http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_gce_instance_id_url"><a class="link" href="#kudu-tserver_cloud_gce_instance_id_url"><code>--cloud_gce_instance_id_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch the identifier of a GCE instance</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">string</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><a href="http://metadata.google.internal/computeMetadata/v1/instance/id" class="bare">http://metadata.google.internal/computeMetadata/v1/instance/id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_gce_ntp_server"><a class="link" href="#kudu-tserver_cloud_gce_ntp_server"><code>--cloud_gce_ntp_server</code></a></h4>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within a GCE instance</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">string</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>metadata.google.internal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_metadata_server_request_timeout_ms"><a class="link" href="#kudu-tserver_cloud_metadata_server_request_timeout_ms"><code>--cloud_metadata_server_request_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout for HTTP/HTTPS requests to the instance metadata server (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">uint32</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_openstack_metadata_url"><a class="link" href="#kudu-tserver_cloud_openstack_metadata_url"><code>--cloud_openstack_metadata_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.</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">string</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><a href="http://169.254.169.254/openstack/latest/meta_data.json" class="bare">http://169.254.169.254/openstack/latest/meta_data.json</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_env_use_fsync"><a class="link" href="#kudu-tserver_env_use_fsync"><code>--env_use_fsync</code></a></h4>
+<div class="paragraph">
+<p>Use fsync(2) instead of fdatasync(2) for synchronizing dirty data to disk.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_disable_core_dumps"><a class="link" href="#kudu-tserver_disable_core_dumps"><code>--disable_core_dumps</code></a></h4>
+<div class="paragraph">
+<p>Disable core dumps when this process crashes.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_redact"><a class="link" href="#kudu-tserver_redact"><code>--redact</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list that controls redaction context. Supported options are 'all','log', and 'none'. If 'all' is specified, sensitive data (sensitive configuration flags and row data) will be redacted from the web UI as well as glog and error messages. If 'log' is specified, sensitive data will only be redacted from glog and error messages. If 'none' is specified, no redaction will occur.</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">string</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>all</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_umask"><a class="link" href="#kudu-tserver_umask"><code>--umask</code></a></h4>
+<div class="paragraph">
+<p>The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.</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">string</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>077</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_metrics_retirement_age_ms"><a class="link" href="#kudu-tserver_metrics_retirement_age_ms"><code>--metrics_retirement_age_ms</code></a></h4>
+<div class="paragraph">
+<p>The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)</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>120000</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_enable_minidumps"><a class="link" href="#kudu-tserver_enable_minidumps"><code>--enable_minidumps</code></a></h4>
+<div class="paragraph">
+<p>Whether to enable minidump generation upon process crash or SIGUSR1. Currently only supported on Linux systems.</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">evolving,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_max_minidumps"><a class="link" href="#kudu-tserver_max_minidumps"><code>--max_minidumps</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of minidump files to keep per daemon. Older files are removed first. Set to 0 to keep all minidump files.</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>9</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_minidump_path"><a class="link" href="#kudu-tserver_minidump_path"><code>--minidump_path</code></a></h4>
+<div class="paragraph">
+<p>Directory to write minidump files to. This can be either an absolute path or a path relative to --log_dir. Each daemon will create an additional sub-directory to prevent naming conflicts and to make it easier to identify a crashing daemon. Minidump files contain crash-related information in a compressed format. Minidumps will be written when a daemon exits unexpectedly, for example on an unhandled exception or signal, or when a SIGUSR1 signal is sent to the process. Cannot be set to an empty value.</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">string</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>minidumps</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_minidump_size_limit_hint_kb"><a class="link" href="#kudu-tserver_minidump_size_limit_hint_kb"><code>--minidump_size_limit_hint_kb</code></a></h4>
+<div class="paragraph">
+<p>Size limit hint for minidump files in KB. If a minidump exceeds this value, then breakpad will reduce the stack memory it collects for each thread from 8KB to 2KB. However it will always include the full stack memory for the first 20 threads, including the thread that crashed.</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>20480</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_dns_resolver_cache_capacity_mb"><a class="link" href="#kudu-tserver_dns_resolver_cache_capacity_mb"><code>--dns_resolver_cache_capacity_mb</code></a></h4>
+<div class="paragraph">
+<p>Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.</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">uint32</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_dns_resolver_cache_ttl_sec"><a class="link" href="#kudu-tserver_dns_resolver_cache_ttl_sec"><code>--dns_resolver_cache_ttl_sec</code></a></h4>
+<div class="paragraph">
+<p>TTL of records in the DNS resolver cache, in seconds.</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">uint32</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>15</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_dns_resolver_max_threads_num"><a class="link" href="#kudu-tserver_dns_resolver_max_threads_num"><code>--dns_resolver_max_threads_num</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of threads to use for async DNS resolution</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>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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_nvm_cache_path"><a class="link" href="#kudu-tserver_nvm_cache_path"><code>--nvm_cache_path</code></a></h4>
+<div class="paragraph">
+<p>The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.</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">string</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>/pmem</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_nvm_cache_usage_ratio"><a class="link" href="#kudu-tserver_nvm_cache_usage_ratio"><code>--nvm_cache_usage_ratio</code></a></h4>
+<div class="paragraph">
+<p>A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.</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.25</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_memory_limit_soft_percentage"><a class="link" href="#kudu-tserver_memory_limit_soft_percentage"><code>--memory_limit_soft_percentage</code></a></h4>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher 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">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>80</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_memory_limit_warn_threshold_percentage"><a class="link" href="#kudu-tserver_memory_limit_warn_threshold_percentage"><code>--memory_limit_warn_threshold_percentage</code></a></h4>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.</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>98</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_memory_pressure_percentage"><a class="link" href="#kudu-tserver_memory_pressure_percentage"><code>--memory_pressure_percentage</code></a></h4>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tcmalloc_max_free_bytes_percentage"><a class="link" href="#kudu-tserver_tcmalloc_max_free_bytes_percentage"><code>--tcmalloc_max_free_bytes_percentage</code></a></h4>
+<div class="paragraph">
+<p>Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_drop_log_memory"><a class="link" href="#kudu-tserver_drop_log_memory"><code>--drop_log_memory</code></a></h4>
+<div class="paragraph">
+<p>Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_backtrace_at"><a class="link" href="#kudu-tserver_log_backtrace_at"><code>--log_backtrace_at</code></a></h4>
+<div class="paragraph">
+<p>Emit a backtrace when logging at file:linenum.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_logbuflevel"><a class="link" href="#kudu-tserver_logbuflevel"><code>--logbuflevel</code></a></h4>
+<div class="paragraph">
+<p>Buffer log messages logged at this level or lower (-1 means don&#8217;t buffer; 0 means buffer INFO only; &#8230;&#8203;)</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>0</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_logbufsecs"><a class="link" href="#kudu-tserver_logbufsecs"><code>--logbufsecs</code></a></h4>
+<div class="paragraph">
+<p>Buffer log messages for at most this many seconds</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>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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_logfile_mode"><a class="link" href="#kudu-tserver_logfile_mode"><code>--logfile_mode</code></a></h4>
+<div class="paragraph">
+<p>Log file mode/permissions.</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>436</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+<hr>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="configuration_reference_unsupported"><a class="link" href="#configuration_reference_unsupported">Apache Kudu Unsupported Configuration Flags</a></h2>
+<div class="sectionbody">
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+These flags are unsupported and are included for informational purposes only.
+They are subject to being changed or removed at any time.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_unsupported"><a class="link" href="#kudu-master_unsupported"><code>kudu-master</code> Unsupported Flags</a></h3>
+<div class="paragraph">
+<p>Flags not marked <code>stable</code> or <code>evolving</code> are considered experimental and are
+<strong>unsupported</strong>. They are included here for informational purposes only and are
+subject to being changed or removed without notice.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_cache_type"><a class="link" href="#kudu-master_block_cache_type"><code>--block_cache_type</code></a></h4>
+<div class="paragraph">
+<p>Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.</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">string</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>DRAM</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_min_compression_ratio"><a class="link" href="#kudu-master_min_compression_ratio"><code>--min_compression_ratio</code></a></h4>
+<div class="paragraph">
+<p>If a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.</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>0.90000000000000002</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 class="sect3">
+<h4 id="kudu-master_cfile_default_block_size"><a class="link" href="#kudu-master_cfile_default_block_size"><code>--cfile_default_block_size</code></a></h4>
+<div class="paragraph">
+<p>The default block size to use in cfiles</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>262144</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 class="sect3">
+<h4 id="kudu-master_cfile_default_compression_codec"><a class="link" href="#kudu-master_cfile_default_compression_codec"><code>--cfile_default_compression_codec</code></a></h4>
+<div class="paragraph">
+<p>Default cfile block compression codec.</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">string</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>no_compression</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 class="sect3">
+<h4 id="kudu-master_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-master_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_client_use_unix_domain_sockets"><a class="link" href="#kudu-master_client_use_unix_domain_sockets"><code>--client_use_unix_domain_sockets</code></a></h4>
+<div class="paragraph">
+<p>Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.</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>false</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 class="sect3">
+<h4 id="kudu-master_show_attributes"><a class="link" href="#kudu-master_show_attributes"><code>--show_attributes</code></a></h4>
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_builtin_ntp_client_bind_address"><a class="link" href="#kudu-master_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h4>
+<div class="paragraph">
+<p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_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">string</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>0.0.0.0</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 class="sect3">
+<h4 id="kudu-master_builtin_ntp_poll_interval_ms"><a class="link" href="#kudu-master_builtin_ntp_poll_interval_ms"><code>--builtin_ntp_poll_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The time between successive polls of a single NTP server (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">uint32</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>16000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_builtin_ntp_request_timeout_ms"><a class="link" href="#kudu-master_builtin_ntp_request_timeout_ms"><code>--builtin_ntp_request_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout for requests sent to NTP servers (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">uint32</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>3000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_builtin_ntp_true_time_refresh_max_interval_s"><a class="link" href="#kudu-master_builtin_ntp_true_time_refresh_max_interval_s"><code>--builtin_ntp_true_time_refresh_max_interval_s</code></a></h4>
+<div class="paragraph">
+<p>Maximum allowed time interval without refreshing computed true time estimation (in seconds)</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">uint32</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>3600</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_clock_sync_error_usec"><a class="link" href="#kudu-master_max_clock_sync_error_usec"><code>--max_clock_sync_error_usec</code></a></h4>
+<div class="paragraph">
+<p>Maximum allowed clock synchronization error as reported by NTP before the server will abort.</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>10000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_codegen_dump_functions"><a class="link" href="#kudu-master_codegen_dump_functions"><code>--codegen_dump_functions</code></a></h4>
+<div class="paragraph">
+<p>Whether to print the LLVM IR for generated functions</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_codegen_dump_mc"><a class="link" href="#kudu-master_codegen_dump_mc"><code>--codegen_dump_mc</code></a></h4>
+<div class="paragraph">
+<p>Whether to dump the disassembly of the machine code for generated functions.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_codegen_cache_capacity"><a class="link" href="#kudu-master_codegen_cache_capacity"><code>--codegen_cache_capacity</code></a></h4>
+<div class="paragraph">
+<p>Number of entries which may be stored in the code generation cache.</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>100</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 class="sect3">
+<h4 id="kudu-master_codegen_queue_capacity"><a class="link" href="#kudu-master_codegen_queue_capacity"><code>--codegen_queue_capacity</code></a></h4>
+<div class="paragraph">
+<p>Number of tasks which may be put in the code generation task queue.</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>100</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 class="sect3">
+<h4 id="kudu-master_codegen_time_compilation"><a class="link" href="#kudu-master_codegen_time_compilation"><code>--codegen_time_compilation</code></a></h4>
+<div class="paragraph">
+<p>Whether to print time that each code generation request took.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_predicate_effectivess_enabled"><a class="link" href="#kudu-master_predicate_effectivess_enabled"><code>--predicate_effectivess_enabled</code></a></h4>
+<div class="paragraph">
+<p>Should ineffective predicate filtering be disabled</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_predicate_effectivess_num_skip_blocks"><a class="link" href="#kudu-master_predicate_effectivess_num_skip_blocks"><code>--predicate_effectivess_num_skip_blocks</code></a></h4>
+<div class="paragraph">
+<p>Number of blocks to skip for every predicate effectiveness check</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_predicate_effectivess_reject_ratio"><a class="link" href="#kudu-master_predicate_effectivess_reject_ratio"><code>--predicate_effectivess_reject_ratio</code></a></h4>
+<div class="paragraph">
+<p>Rejection ratio below which predicate filter is considered ineffective</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>0.10000000000000001</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_default_database"><a class="link" href="#kudu-master_ranger_default_database"><code>--ranger_default_database</code></a></h4>
+<div class="paragraph">
+<p>Name of the default database which is used in the Ranger authorization context when the database name is not specified in the table name. Ranger makes no difference between &lt;ranger_default_database&gt;.&lt;table&gt; and &lt;table&gt;, so privileges granted on &lt;table&gt; in &lt;ranger_default_database&gt; are applied toboth &lt;ranger_default_database&gt;.&lt;table&gt; and &lt;table&gt; in Kudu.</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">string</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>default</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cmeta_force_fsync"><a class="link" href="#kudu-master_cmeta_force_fsync"><code>--cmeta_force_fsync</code></a></h4>
+<div class="paragraph">
+<p>Whether fsync() should be called when consensus metadata files are updated</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>false</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 class="sect3">
+<h4 id="kudu-master_consensus_rpc_timeout_ms"><a class="link" href="#kudu-master_consensus_rpc_timeout_ms"><code>--consensus_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout used for all consensus internal RPC communications.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_consensus_max_batch_size_bytes"><a class="link" href="#kudu-master_consensus_max_batch_size_bytes"><code>--consensus_max_batch_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum per-tablet RPC batch size when updating peers.</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>1048576</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 class="sect3">
+<h4 id="kudu-master_follower_unavailable_considered_failed_sec"><a class="link" href="#kudu-master_follower_unavailable_considered_failed_sec"><code>--follower_unavailable_considered_failed_sec</code></a></h4>
+<div class="paragraph">
+<p>Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.</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>300</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fs_wal_dir_reserved_bytes"><a class="link" href="#kudu-master_fs_wal_dir_reserved_bytes"><code>--fs_wal_dir_reserved_bytes</code></a></h4>
+<div class="paragraph">
+<p>Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_fs_wal_use_file_cache"><a class="link" href="#kudu-master_fs_wal_use_file_cache"><code>--fs_wal_use_file_cache</code></a></h4>
+<div class="paragraph">
+<p>Whether to use the server-wide file cache for WAL segments and WAL index chunks.</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_group_commit_queue_size_bytes"><a class="link" href="#kudu-master_group_commit_queue_size_bytes"><code>--group_commit_queue_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Maximum size of the group commit queue in bytes</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>4194304</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 class="sect3">
+<h4 id="kudu-master_log_compression_codec"><a class="link" href="#kudu-master_log_compression_codec"><code>--log_compression_codec</code></a></h4>
+<div class="paragraph">
+<p>Codec to use for compressing WAL segments.</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">string</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>LZ4</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 class="sect3">
+<h4 id="kudu-master_log_max_segments_to_retain"><a class="link" href="#kudu-master_log_max_segments_to_retain"><code>--log_max_segments_to_retain</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of past log segments to keep at all times for the purposes of catching up other peers.</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>80</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_min_segments_to_retain"><a class="link" href="#kudu-master_log_min_segments_to_retain"><code>--log_min_segments_to_retain</code></a></h4>
+<div class="paragraph">
+<p>The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.</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>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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_global_log_cache_size_limit_mb"><a class="link" href="#kudu-master_global_log_cache_size_limit_mb"><code>--global_log_cache_size_limit_mb</code></a></h4>
+<div class="paragraph">
+<p>Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.</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>1024</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 class="sect3">
+<h4 id="kudu-master_log_cache_size_limit_mb"><a class="link" href="#kudu-master_log_cache_size_limit_mb"><code>--log_cache_size_limit_mb</code></a></h4>
+<div class="paragraph">
+<p>The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.</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>128</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 class="sect3">
+<h4 id="kudu-master_log_async_preallocate_segments"><a class="link" href="#kudu-master_log_async_preallocate_segments"><code>--log_async_preallocate_segments</code></a></h4>
+<div class="paragraph">
+<p>Whether the WAL segments preallocation should happen asynchronously</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 class="sect3">
+<h4 id="kudu-master_log_preallocate_segments"><a class="link" href="#kudu-master_log_preallocate_segments"><code>--log_preallocate_segments</code></a></h4>
+<div class="paragraph">
+<p>Whether the WAL should preallocate the entire segment before writing to it</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 class="sect3">
+<h4 id="kudu-master_log_segment_size_mb"><a class="link" href="#kudu-master_log_segment_size_mb"><code>--log_segment_size_mb</code></a></h4>
+<div class="paragraph">
+<p>The default size for log segments, in MB</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>8</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 class="sect3">
+<h4 id="kudu-master_evict_failed_followers"><a class="link" href="#kudu-master_evict_failed_followers"><code>--evict_failed_followers</code></a></h4>
+<div class="paragraph">
+<p>Whether to evict followers from the Raft config that have fallen too far behind the leader&#8217;s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_leader_failure_exp_backoff_max_delta_ms"><a class="link" href="#kudu-master_leader_failure_exp_backoff_max_delta_ms"><code>--leader_failure_exp_backoff_max_delta_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.</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>20000</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 class="sect3">
+<h4 id="kudu-master_leader_failure_max_missed_heartbeat_periods"><a class="link" href="#kudu-master_leader_failure_max_missed_heartbeat_periods"><code>--leader_failure_max_missed_heartbeat_periods</code></a></h4>
+<div class="paragraph">
+<p>Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.</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>3</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 class="sect3">
+<h4 id="kudu-master_raft_enable_pre_election"><a class="link" href="#kudu-master_raft_enable_pre_election"><code>--raft_enable_pre_election</code></a></h4>
+<div class="paragraph">
+<p>When enabled, candidates will call a pre-election before running a real leader election.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_raft_enable_tombstoned_voting"><a class="link" href="#kudu-master_raft_enable_tombstoned_voting"><code>--raft_enable_tombstoned_voting</code></a></h4>
+<div class="paragraph">
+<p>When enabled, tombstoned tablets may vote in elections.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_raft_heartbeat_interval_ms"><a class="link" href="#kudu-master_raft_heartbeat_interval_ms"><code>--raft_heartbeat_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.</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>500</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 class="sect3">
+<h4 id="kudu-master_raft_prepare_replacement_before_eviction"><a class="link" href="#kudu-master_raft_prepare_replacement_before_eviction"><code>--raft_prepare_replacement_before_eviction</code></a></h4>
+<div class="paragraph">
+<p>When enabled, failed replicas will only be evicted after a replacement has been prepared for them.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<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 class="sect3">
+<h4 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></h4>
+<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 class="sect3">
+<h4 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></h4>
+<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 class="sect3">
+<h4 id="kudu-master_block_manager_preflush_control"><a class="link" href="#kudu-master_block_manager_preflush_control"><code>--block_manager_preflush_control</code></a></h4>
+<div class="paragraph">
+<p>Controls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.</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">string</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>finalize</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 class="sect3">
+<h4 id="kudu-master_fs_max_thread_count_per_data_dir"><a class="link" href="#kudu-master_fs_max_thread_count_per_data_dir"><code>--fs_max_thread_count_per_data_dir</code></a></h4>
+<div class="paragraph">
+<p>Maximum work thread per data directory.</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">uint64</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>8</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 class="sect3">
+<h4 id="kudu-master_block_manager"><a class="link" href="#kudu-master_block_manager"><code>--block_manager</code></a></h4>
+<div class="paragraph">
+<p>Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.</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">string</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>log</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 class="sect3">
+<h4 id="kudu-master_log_block_manager_delete_dead_container"><a class="link" href="#kudu-master_log_block_manager_delete_dead_container"><code>--log_block_manager_delete_dead_container</code></a></h4>
+<div class="paragraph">
+<p>When enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_container_excess_space_before_cleanup_fraction"><a class="link" href="#kudu-master_log_container_excess_space_before_cleanup_fraction"><code>--log_container_excess_space_before_cleanup_fraction</code></a></h4>
+<div class="paragraph">
+<p>Additional fraction of a log container&#8217;s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.</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>0.10000000000000001</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 class="sect3">
+<h4 id="kudu-master_log_container_live_metadata_before_compact_ratio"><a class="link" href="#kudu-master_log_container_live_metadata_before_compact_ratio"><code>--log_container_live_metadata_before_compact_ratio</code></a></h4>
+<div class="paragraph">
+<p>Desired ratio of live block metadata in log containers. If a container&#8217;s live to total block ratio dips below this value, the container&#8217;s metadata file will be compacted at startup.</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>0.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 class="sect3">
+<h4 id="kudu-master_log_container_max_blocks"><a class="link" href="#kudu-master_log_container_max_blocks"><code>--log_container_max_blocks</code></a></h4>
+<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 class="sect3">
+<h4 id="kudu-master_log_container_max_size"><a class="link" href="#kudu-master_log_container_max_size"><code>--log_container_max_size</code></a></h4>
+<div class="paragraph">
+<p>Maximum size (soft) of a log container</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">uint64</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>10737418240</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 class="sect3">
+<h4 id="kudu-master_log_container_preallocate_bytes"><a class="link" href="#kudu-master_log_container_preallocate_bytes"><code>--log_container_preallocate_bytes</code></a></h4>
+<div class="paragraph">
+<p>Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation</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">uint64</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>33554432</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 class="sect3">
+<h4 id="kudu-master_hive_metastore_conn_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_conn_timeout_seconds"><code>--hive_metastore_conn_timeout_seconds</code></a></h4>
+<div class="paragraph">
+<p>Configures the socket connect timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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 class="sect3">
+<h4 id="kudu-master_hive_metastore_kerberos_principal"><a class="link" href="#kudu-master_hive_metastore_kerberos_principal"><code>--hive_metastore_kerberos_principal</code></a></h4>
+<div class="paragraph">
+<p>The service principal of the Hive Metastore server. Must match the primary (user) portion of hive.metastore.kerberos.principal option in the Hive Metastore configuration.</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">string</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>hive</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_max_message_size_bytes"><a class="link" href="#kudu-master_hive_metastore_max_message_size_bytes"><code>--hive_metastore_max_message_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Maximum size of Hive Metastore objects that can be received by the HMS client in bytes. Should match the metastore.server.max.message.size configuration.</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>104857600</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 class="sect3">
+<h4 id="kudu-master_hive_metastore_recv_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_recv_timeout_seconds"><code>--hive_metastore_recv_timeout_seconds</code></a></h4>
+<div class="paragraph">
+<p>Configures the socket receive timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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 class="sect3">
+<h4 id="kudu-master_hive_metastore_retry_count"><a class="link" href="#kudu-master_hive_metastore_retry_count"><code>--hive_metastore_retry_count</code></a></h4>
+<div class="paragraph">
+<p>The number of times that HMS operations will retry after encountering retriable failures, such as network errors.</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>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 class="sect3">
+<h4 id="kudu-master_hive_metastore_sasl_enabled"><a class="link" href="#kudu-master_hive_metastore_sasl_enabled"><code>--hive_metastore_sasl_enabled</code></a></h4>
+<div class="paragraph">
+<p>Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Must match the value of the hive.metastore.sasl.enabled option in the Hive Metastore configuration. When enabled, the --keytab_file flag must be provided.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_send_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_send_timeout_seconds"><code>--hive_metastore_send_timeout_seconds</code></a></h4>
+<div class="paragraph">
+<p>Configures the socket send timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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 class="sect3">
+<h4 id="kudu-master_hive_metastore_uris"><a class="link" href="#kudu-master_hive_metastore_uris"><code>--hive_metastore_uris</code></a></h4>
+<div class="paragraph">
+<p>Address of the Hive Metastore instance(s). The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. If not set, the Kudu master will not send Kudu table catalog updates to Hive. The configured value must match the Hive hive.metastore.uris configuration.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_trusted_user_acl"><a class="link" href="#kudu-master_trusted_user_acl"><code>--trusted_user_acl</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of trusted users who may access the cluster without being authorized against fine-grained permissions.</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">string</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">none</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">sensitive</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_auto_rebalancing_interval_seconds"><a class="link" href="#kudu-master_auto_rebalancing_interval_seconds"><code>--auto_rebalancing_interval_seconds</code></a></h4>
+<div class="paragraph">
+<p>How long to sleep in between rebalancing cycles, before checking the cluster again to see if there is skew and rebalancing to be done.</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">uint32</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>30</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_auto_rebalancing_load_imbalance_threshold"><a class="link" href="#kudu-master_auto_rebalancing_load_imbalance_threshold"><code>--auto_rebalancing_load_imbalance_threshold</code></a></h4>
+<div class="paragraph">
+<p>The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table&#8217;s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, &#8230;&#8203;) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.</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</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_auto_rebalancing_max_moves_per_server"><a class="link" href="#kudu-master_auto_rebalancing_max_moves_per_server"><code>--auto_rebalancing_max_moves_per_server</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move 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">uint32</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_auto_rebalancing_rpc_timeout_seconds"><a class="link" href="#kudu-master_auto_rebalancing_rpc_timeout_seconds"><code>--auto_rebalancing_rpc_timeout_seconds</code></a></h4>
+<div class="paragraph">
+<p>RPC timeout in seconds when making RPCs to request moving tablet replicas or to check if the replica movement has completed.</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">uint32</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>60</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_auto_rebalancing_wait_for_replica_moves_seconds"><a class="link" href="#kudu-master_auto_rebalancing_wait_for_replica_moves_seconds"><code>--auto_rebalancing_wait_for_replica_moves_seconds</code></a></h4>
+<div class="paragraph">
+<p>How long to wait before checking to see if the scheduled replica movement in this iteration of auto-rebalancing has completed.</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">uint32</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_auto_rebalancing_enabled"><a class="link" href="#kudu-master_auto_rebalancing_enabled"><code>--auto_rebalancing_enabled</code></a></h4>
+<div class="paragraph">
+<p>Whether auto-rebalancing is enabled.</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_catalog_manager_enable_chunked_tablet_reports"><a class="link" href="#kudu-master_catalog_manager_enable_chunked_tablet_reports"><code>--catalog_manager_enable_chunked_tablet_reports</code></a></h4>
+<div class="paragraph">
+<p>Whether to split the tablet report data received from one tablet server into chunks when persisting it in the system catalog. The chunking starts at around the maximum allowed RPC size controlled by the --rpc_max_message_size flag. When the chunking is disabled, a tablet report sent by a tablet server is rejected if it would result in an oversized update on the system catalog tablet. With the default settings for --rpc_max_message_size, the latter can happen only in case of extremely high number of tablet replicas per tablet server.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_default_num_replicas"><a class="link" href="#kudu-master_default_num_replicas"><code>--default_num_replicas</code></a></h4>
+<div class="paragraph">
+<p>Default number of replicas for tables that do not have the num_replicas set.</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>3</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 class="sect3">
+<h4 id="kudu-master_enable_table_write_limit"><a class="link" href="#kudu-master_enable_table_write_limit"><code>--enable_table_write_limit</code></a></h4>
+<div class="paragraph">
+<p>Enable the table write limit. When the table&#8217;s size or row count is approaching the limit, the write may be forbidden.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_master_failover_catchup_timeout_ms"><a class="link" href="#kudu-master_master_failover_catchup_timeout_ms"><code>--master_failover_catchup_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader master to load the previous master&#8217;s metadata and become active. If this time is exceeded, the node crashes.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_master_ts_rpc_timeout_ms"><a class="link" href="#kudu-master_master_ts_rpc_timeout_ms"><code>--master_ts_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout used for the master&#8594;TS async rpc calls.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_column_comment_length"><a class="link" href="#kudu-master_max_column_comment_length"><code>--max_column_comment_length</code></a></h4>
+<div class="paragraph">
+<p>Maximum length of the comment of a column.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_create_tablets_per_ts"><a class="link" href="#kudu-master_max_create_tablets_per_ts"><code>--max_create_tablets_per_ts</code></a></h4>
+<div class="paragraph">
+<p>The number of tablet replicas per TS that can be requested for a new table. If 0, no limit is enforced.</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>60</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 class="sect3">
+<h4 id="kudu-master_max_owner_length"><a class="link" href="#kudu-master_max_owner_length"><code>--max_owner_length</code></a></h4>
+<div class="paragraph">
+<p>Maximum length of the name of a table owner.</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>128</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_table_comment_length"><a class="link" href="#kudu-master_max_table_comment_length"><code>--max_table_comment_length</code></a></h4>
+<div class="paragraph">
+<p>Maximum length of the comment of a table.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_disk_size_limit"><a class="link" href="#kudu-master_table_disk_size_limit"><code>--table_disk_size_limit</code></a></h4>
+<div class="paragraph">
+<p>Set the target size in bytes of a table to write. This is a system wide configuration for every newly created table.</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_locations_cache_capacity_mb"><a class="link" href="#kudu-master_table_locations_cache_capacity_mb"><code>--table_locations_cache_capacity_mb</code></a></h4>
+<div class="paragraph">
+<p>Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached</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">uint32</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>0</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 class="sect3">
+<h4 id="kudu-master_table_locations_ttl_ms"><a class="link" href="#kudu-master_table_locations_ttl_ms"><code>--table_locations_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum time in milliseconds which clients may cache table locations. New range partitions may not be visible to existing client instances until after waiting for the ttl period.</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>300000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_row_count_limit"><a class="link" href="#kudu-master_table_row_count_limit"><code>--table_row_count_limit</code></a></h4>
+<div class="paragraph">
+<p>Set the target row count of a table to write. This is a system wide configuration for every newly created table.</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_write_limit_ratio"><a class="link" href="#kudu-master_table_write_limit_ratio"><code>--table_write_limit_ratio</code></a></h4>
+<div class="paragraph">
+<p>Set the ratio of how much write limit can be reached</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>0.94999999999999996</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 class="sect3">
+<h4 id="kudu-master_tablet_creation_timeout_ms"><a class="link" href="#kudu-master_tablet_creation_timeout_ms"><code>--tablet_creation_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout used by the master when attempting to create tablet replicas during table creation.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_unresponsive_ts_rpc_timeout_ms"><a class="link" href="#kudu-master_unresponsive_ts_rpc_timeout_ms"><code>--unresponsive_ts_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>After this amount of time, the master will stop attempting to contact a tablet server in order to perform operations such as deleting a tablet.</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>3600000</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 class="sect3">
+<h4 id="kudu-master_hive_metastore_notification_log_batch_size"><a class="link" href="#kudu-master_hive_metastore_notification_log_batch_size"><code>--hive_metastore_notification_log_batch_size</code></a></h4>
+<div class="paragraph">
+<p>Number of notification log entries which are retrieved from the Hive Metastore per batch when polling.</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>100</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hive_metastore_notification_log_poll_period_seconds"><a class="link" href="#kudu-master_hive_metastore_notification_log_poll_period_seconds"><code>--hive_metastore_notification_log_poll_period_seconds</code></a></h4>
+<div class="paragraph">
+<p>Amount of time the notification log listener waits between attempts to poll the Hive Metastore for catalog updates.</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">uint32</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>15</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_authn_token_validity_seconds"><a class="link" href="#kudu-master_authn_token_validity_seconds"><code>--authn_token_validity_seconds</code></a></h4>
+<div class="paragraph">
+<p>Period of time for which an issued authentication token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.</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>604800</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 class="sect3">
+<h4 id="kudu-master_authz_token_validity_seconds"><a class="link" href="#kudu-master_authz_token_validity_seconds"><code>--authz_token_validity_seconds</code></a></h4>
+<div class="paragraph">
+<p>Period of time for which an issued authorization token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.</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>300</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 class="sect3">
+<h4 id="kudu-master_location_mapping_cmd"><a class="link" href="#kudu-master_location_mapping_cmd"><code>--location_mapping_cmd</code></a></h4>
+<div class="paragraph">
+<p>A Unix command which takes a single argument, the IP address or hostname of a tablet server or client, and returns the location string for the tablet server. A location string begins with a / and consists of /-separated tokens each of which contains only characters from the set [a-zA-Z0-9_-.]. If the cluster is not using location awareness features this flag should not be set.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_master_registration_rpc_timeout_ms"><a class="link" href="#kudu-master_master_registration_rpc_timeout_ms"><code>--master_registration_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout for retrieving master registration over RPC.</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>1500</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 class="sect3">
+<h4 id="kudu-master_tsk_rotation_seconds"><a class="link" href="#kudu-master_tsk_rotation_seconds"><code>--tsk_rotation_seconds</code></a></h4>
+<div class="paragraph">
+<p>Number of seconds between consecutive activations of newly generated TSKs (Token Signing Keys).</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>86400</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ipki_ca_cert_expiration_seconds"><a class="link" href="#kudu-master_ipki_ca_cert_expiration_seconds"><code>--ipki_ca_cert_expiration_seconds</code></a></h4>
+<div class="paragraph">
+<p>validity interval for self-signed root CA certifcate issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)</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>315360000</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 class="sect3">
+<h4 id="kudu-master_ipki_ca_key_size"><a class="link" href="#kudu-master_ipki_ca_key_size"><code>--ipki_ca_key_size</code></a></h4>
+<div class="paragraph">
+<p>the number of bits for self-signed root CA cert used by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)</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>2048</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 class="sect3">
+<h4 id="kudu-master_ipki_server_cert_expiration_seconds"><a class="link" href="#kudu-master_ipki_server_cert_expiration_seconds"><code>--ipki_server_cert_expiration_seconds</code></a></h4>
+<div class="paragraph">
+<p>validity interval for server certificates issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)</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>315360000</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 class="sect3">
+<h4 id="kudu-master_master_client_location_assignment_enabled"><a class="link" href="#kudu-master_master_client_location_assignment_enabled"><code>--master_client_location_assignment_enabled</code></a></h4>
+<div class="paragraph">
+<p>Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_master_support_change_config"><a class="link" href="#kudu-master_master_support_change_config"><code>--master_support_change_config</code></a></h4>
+<div class="paragraph">
+<p>Whether the master supports adding/removing master servers dynamically.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tserver_unresponsive_timeout_ms"><a class="link" href="#kudu-master_tserver_unresponsive_timeout_ms"><code>--tserver_unresponsive_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>The period of time that a Master can go without receiving a heartbeat from a tablet server before considering it unresponsive. Unresponsive servers are not selected when assigning replicas during table creation or re-replication.</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 class="sect3">
+<h4 id="kudu-master_txn_manager_lazily_initialized"><a class="link" href="#kudu-master_txn_manager_lazily_initialized"><code>--txn_manager_lazily_initialized</code></a></h4>
+<div class="paragraph">
+<p>Whether to initialize TxnManager upon arrival of first request. Otherwise, TxnManager is initialized upon master&#8217;s startup.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_txn_manager_status_table_num_replicas"><a class="link" href="#kudu-master_txn_manager_status_table_num_replicas"><code>--txn_manager_status_table_num_replicas</code></a></h4>
+<div class="paragraph">
+<p>Number of replicas for transaction status table</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">uint32</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>3</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_txn_manager_status_table_range_partition_span"><a class="link" href="#kudu-master_txn_manager_status_table_range_partition_span"><code>--txn_manager_status_table_range_partition_span</code></a></h4>
+<div class="paragraph">
+<p>A span for a status table&#8217;s range partition. Once TxnManager detects there isn&#8217;t a backing tablet for a transaction identifier, it adds a new range partition in the transaction status table with the lower bound equal to the upper bound of the previous range and (lower bound + span) as the upper bound.</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>1000000</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_config_path"><a class="link" href="#kudu-master_ranger_config_path"><code>--ranger_config_path</code></a></h4>
+<div class="paragraph">
+<p>Path to directory containing Ranger client configuration. When set, Ranger integration is enabled, fine-grained access control is enforced, and clients are issued authorization tokens. In addition, both --ranger_java_path and --ranger_jar_path flags need to be set properly for Ranger integration to work.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_jar_path"><a class="link" href="#kudu-master_ranger_jar_path"><code>--ranger_jar_path</code></a></h4>
+<div class="paragraph">
+<p>Path to the JAR file containing the Ranger subprocess. If not specified, the default JAR file path is expected to be next to the master binary.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_java_path"><a class="link" href="#kudu-master_ranger_java_path"><code>--ranger_java_path</code></a></h4>
+<div class="paragraph">
+<p>Path where the Java binary was installed. If the value isn&#8217;t an absolute path (e.g. 'java'), it will be evaluated using the Kudu user&#8217;s PATH. If not specified, $JAVA_HOME/bin/java is used. If $JAVA_HOME is not found, Kudu will attempt to find 'java' in the Kudu user&#8217;s PATH.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_receiver_fifo_dir"><a class="link" href="#kudu-master_ranger_receiver_fifo_dir"><code>--ranger_receiver_fifo_dir</code></a></h4>
+<div class="paragraph">
+<p>Directory in which to create a fifo used to receive messages from the Ranger subprocess. Existing fifos at this path will be overwritten. If not specified, a fifo will be created in the --ranger_config_path directory.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-master_rpc_acceptor_listen_backlog"><a class="link" href="#kudu-master_rpc_acceptor_listen_backlog"><code>--rpc_acceptor_listen_backlog</code></a></h4>
+<div class="paragraph">
+<p>Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.</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>128</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 class="sect3">
+<h4 id="kudu-master_rpc_encrypt_loopback_connections"><a class="link" href="#kudu-master_rpc_encrypt_loopback_connections"><code>--rpc_encrypt_loopback_connections</code></a></h4>
+<div class="paragraph">
+<p>Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.</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>false</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 class="sect3">
+<h4 id="kudu-master_rpc_trace_negotiation"><a class="link" href="#kudu-master_rpc_trace_negotiation"><code>--rpc_trace_negotiation</code></a></h4>
+<div class="paragraph">
+<p>If enabled, dump traces of all RPC negotiations to the log</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_callback_max_cycles"><a class="link" href="#kudu-master_rpc_callback_max_cycles"><code>--rpc_callback_max_cycles</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)</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>100000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tcp_keepalive_probe_period_s"><a class="link" href="#kudu-master_tcp_keepalive_probe_period_s"><code>--tcp_keepalive_probe_period_s</code></a></h4>
+<div class="paragraph">
+<p>The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.</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>60</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 class="sect3">
+<h4 id="kudu-master_tcp_keepalive_retry_count"><a class="link" href="#kudu-master_tcp_keepalive_retry_count"><code>--tcp_keepalive_retry_count</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.</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 class="sect3">
+<h4 id="kudu-master_tcp_keepalive_retry_period_s"><a class="link" href="#kudu-master_tcp_keepalive_retry_period_s"><code>--tcp_keepalive_retry_period_s</code></a></h4>
+<div class="paragraph">
+<p>The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.</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>3</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 class="sect3">
+<h4 id="kudu-master_remember_clients_ttl_ms"><a class="link" href="#kudu-master_remember_clients_ttl_ms"><code>--remember_clients_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.</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>3600000</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 class="sect3">
+<h4 id="kudu-master_remember_responses_ttl_ms"><a class="link" href="#kudu-master_remember_responses_ttl_ms"><code>--remember_responses_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.</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>600000</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 class="sect3">
+<h4 id="kudu-master_rpc_dump_all_traces"><a class="link" href="#kudu-master_rpc_dump_all_traces"><code>--rpc_dump_all_traces</code></a></h4>
+<div class="paragraph">
+<p>If true, dump all RPC traces at INFO level</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_duration_too_long_ms"><a class="link" href="#kudu-master_rpc_duration_too_long_ms"><code>--rpc_duration_too_long_ms</code></a></h4>
+<div class="paragraph">
+<p>Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_max_message_size"><a class="link" href="#kudu-master_rpc_max_message_size"><code>--rpc_max_message_size</code></a></h4>
+<div class="paragraph">
+<p>The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.</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>52428800</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_use_system_auth_to_local"><a class="link" href="#kudu-master_use_system_auth_to_local"><code>--use_system_auth_to_local</code></a></h4>
+<div class="paragraph">
+<p>When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.</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 class="sect3">
+<h4 id="kudu-master_ipki_server_key_size"><a class="link" href="#kudu-master_ipki_server_key_size"><code>--ipki_server_key_size</code></a></h4>
+<div class="paragraph">
+<p>the number of bits for server cert&#8217;s private key. The server cert is used for TLS connections to and from clients and other 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>2048</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 class="sect3">
+<h4 id="kudu-master_tsk_num_rsa_bits"><a class="link" href="#kudu-master_tsk_num_rsa_bits"><code>--tsk_num_rsa_bits</code></a></h4>
+<div class="paragraph">
+<p>Number of bits in RSA keys used for token signing.</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>2048</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 class="sect3">
+<h4 id="kudu-master_web_log_bytes"><a class="link" href="#kudu-master_web_log_bytes"><code>--web_log_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of bytes to display on the debug webserver&#8217;s log page</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_diagnostics_log_stack_traces_interval_ms"><a class="link" href="#kudu-master_diagnostics_log_stack_traces_interval_ms"><code>--diagnostics_log_stack_traces_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.</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">experimental,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_advertised_addresses"><a class="link" href="#kudu-master_rpc_advertised_addresses"><code>--rpc_advertised_addresses</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-master_rpc_num_acceptors_per_address"><a class="link" href="#kudu-master_rpc_num_acceptors_per_address"><code>--rpc_num_acceptors_per_address</code></a></h4>
+<div class="paragraph">
+<p>Number of RPC acceptor threads for each bound address</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>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 class="sect3">
+<h4 id="kudu-master_rpc_num_service_threads"><a class="link" href="#kudu-master_rpc_num_service_threads"><code>--rpc_num_service_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of RPC worker threads to run</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 class="sect3">
+<h4 id="kudu-master_rpc_reuseport"><a class="link" href="#kudu-master_rpc_reuseport"><code>--rpc_reuseport</code></a></h4>
+<div class="paragraph">
+<p>Whether to set the SO_REUSEPORT option on listening RPC sockets.</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>false</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 class="sect3">
+<h4 id="kudu-master_rpc_service_queue_length"><a class="link" href="#kudu-master_rpc_service_queue_length"><code>--rpc_service_queue_length</code></a></h4>
+<div class="paragraph">
+<p>Default length of queue for incoming RPC requests</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>100</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 class="sect3">
+<h4 id="kudu-master_gc_tcmalloc_memory_interval_seconds"><a class="link" href="#kudu-master_gc_tcmalloc_memory_interval_seconds"><code>--gc_tcmalloc_memory_interval_seconds</code></a></h4>
+<div class="paragraph">
+<p>Interval seconds to GC tcmalloc memory, 0 means disabled.</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">uint64</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>30</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_negotiation_threads"><a class="link" href="#kudu-master_max_negotiation_threads"><code>--max_negotiation_threads</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of connection negotiation threads.</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>50</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 class="sect3">
+<h4 id="kudu-master_min_negotiation_threads"><a class="link" href="#kudu-master_min_negotiation_threads"><code>--min_negotiation_threads</code></a></h4>
+<div class="paragraph">
+<p>Minimum number of connection negotiation threads.</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>0</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 class="sect3">
+<h4 id="kudu-master_num_reactor_threads"><a class="link" href="#kudu-master_num_reactor_threads"><code>--num_reactor_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of libev reactor threads to start.</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>4</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 class="sect3">
+<h4 id="kudu-master_rpc_ca_certificate_file"><a class="link" href="#kudu-master_rpc_ca_certificate_file"><code>--rpc_ca_certificate_file</code></a></h4>
+<div class="paragraph">
+<p>Path to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-master_rpc_certificate_file"><a class="link" href="#kudu-master_rpc_certificate_file"><code>--rpc_certificate_file</code></a></h4>
+<div class="paragraph">
+<p>Path to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-master_rpc_default_keepalive_time_ms"><a class="link" href="#kudu-master_rpc_default_keepalive_time_ms"><code>--rpc_default_keepalive_time_ms</code></a></h4>
+<div class="paragraph">
+<p>If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.</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>65000</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 class="sect3">
+<h4 id="kudu-master_rpc_listen_on_unix_domain_socket"><a class="link" href="#kudu-master_rpc_listen_on_unix_domain_socket"><code>--rpc_listen_on_unix_domain_socket</code></a></h4>
+<div class="paragraph">
+<p>Whether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.</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>false</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 class="sect3">
+<h4 id="kudu-master_rpc_negotiation_timeout_ms"><a class="link" href="#kudu-master_rpc_negotiation_timeout_ms"><code>--rpc_negotiation_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout for negotiating an RPC connection, 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">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>3000</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 class="sect3">
+<h4 id="kudu-master_rpc_private_key_file"><a class="link" href="#kudu-master_rpc_private_key_file"><code>--rpc_private_key_file</code></a></h4>
+<div class="paragraph">
+<p>Path to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'</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">string</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">none</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 class="sect3">
+<h4 id="kudu-master_rpc_private_key_password_cmd"><a class="link" href="#kudu-master_rpc_private_key_password_cmd"><code>--rpc_private_key_password_cmd</code></a></h4>
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the RPC server&#8217;s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_tls_ciphers"><a class="link" href="#kudu-master_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h4>
+<div class="paragraph">
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="sect3">
+<h4 id="kudu-master_rpc_tls_ciphersuites"><a class="link" href="#kudu-master_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h4>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="sect3">
+<h4 id="kudu-master_rpc_tls_excluded_protocols"><a class="link" href="#kudu-master_rpc_tls_excluded_protocols"><code>--rpc_tls_excluded_protocols</code></a></h4>
+<div class="paragraph">
+<p>A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.</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">string</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">none</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_tls_min_protocol"><a class="link" href="#kudu-master_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h4>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</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">string</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>TLSv1</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 class="sect3">
+<h4 id="kudu-master_server_max_open_files"><a class="link" href="#kudu-master_server_max_open_files"><code>--server_max_open_files</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. 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">uint64</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>0</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 class="sect3">
+<h4 id="kudu-master_webserver_enabled"><a class="link" href="#kudu-master_webserver_enabled"><code>--webserver_enabled</code></a></h4>
+<div class="paragraph">
+<p>Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.</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 class="sect3">
+<h4 id="kudu-master_metrics_log_interval_ms"><a class="link" href="#kudu-master_metrics_log_interval_ms"><code>--metrics_log_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.</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 class="sect3">
+<h4 id="kudu-master_webserver_max_post_length_bytes"><a class="link" href="#kudu-master_webserver_max_post_length_bytes"><code>--webserver_max_post_length_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum length of a POST request that will be accepted by the embedded web server.</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_x_frame_options"><a class="link" href="#kudu-master_webserver_x_frame_options"><code>--webserver_x_frame_options</code></a></h4>
+<div class="paragraph">
+<p>The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.</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">string</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>DENY</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 class="sect3">
+<h4 id="kudu-master_webserver_advertised_addresses"><a class="link" href="#kudu-master_webserver_advertised_addresses"><code>--webserver_advertised_addresses</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-master_webserver_authentication_domain"><a class="link" href="#kudu-master_webserver_authentication_domain"><code>--webserver_authentication_domain</code></a></h4>
+<div class="paragraph">
+<p>Domain used for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_doc_root"><a class="link" href="#kudu-master_webserver_doc_root"><code>--webserver_doc_root</code></a></h4>
+<div class="paragraph">
+<p>Files under &lt;webserver_doc_root&gt; are accessible via the debug webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root</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">string</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">none</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 class="sect3">
+<h4 id="kudu-master_webserver_enable_doc_root"><a class="link" href="#kudu-master_webserver_enable_doc_root"><code>--webserver_enable_doc_root</code></a></h4>
+<div class="paragraph">
+<p>If true, webserver may serve static files from the webserver_doc_root</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 class="sect3">
+<h4 id="kudu-master_webserver_interface"><a class="link" href="#kudu-master_webserver_interface"><code>--webserver_interface</code></a></h4>
+<div class="paragraph">
+<p>Interface to start debug webserver on. If blank, webserver binds to 0.0.0.0</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">string</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">none</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 class="sect3">
+<h4 id="kudu-master_webserver_num_worker_threads"><a class="link" href="#kudu-master_webserver_num_worker_threads"><code>--webserver_num_worker_threads</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of threads to start for handling web server requests</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>50</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 class="sect3">
+<h4 id="kudu-master_webserver_password_file"><a class="link" href="#kudu-master_webserver_password_file"><code>--webserver_password_file</code></a></h4>
+<div class="paragraph">
+<p>(Optional) Location of .htpasswd file containing user names and hashed passwords for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_webserver_tls_ciphers"><a class="link" href="#kudu-master_webserver_tls_ciphers"><code>--webserver_tls_ciphers</code></a></h4>
+<div class="paragraph">
+<p>The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="sect3">
+<h4 id="kudu-master_webserver_tls_min_protocol"><a class="link" href="#kudu-master_webserver_tls_min_protocol"><code>--webserver_tls_min_protocol</code></a></h4>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</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">string</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>TLSv1</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 class="sect3">
+<h4 id="kudu-master_subprocess_deadline_checking_interval_ms"><a class="link" href="#kudu-master_subprocess_deadline_checking_interval_ms"><code>--subprocess_deadline_checking_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval in milliseconds at which Kudu will check the deadlines of in-flight calls to the subprocess</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>50</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_subprocess_num_responder_threads"><a class="link" href="#kudu-master_subprocess_num_responder_threads"><code>--subprocess_num_responder_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads that will be dedicated to reading responses from the inbound queue and returning to callers</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>3</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 class="sect3">
+<h4 id="kudu-master_subprocess_queue_full_retry_ms"><a class="link" href="#kudu-master_subprocess_queue_full_retry_ms"><code>--subprocess_queue_full_retry_ms</code></a></h4>
+<div class="paragraph">
+<p>Number of milliseconds between attempts to enqueue the request to the subprocess</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>50</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_subprocess_request_queue_size_bytes"><a class="link" href="#kudu-master_subprocess_request_queue_size_bytes"><code>--subprocess_request_queue_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Maximum size in bytes of the outbound request queue. This is best effort: if a single request is larger than this, it is still added to the queue</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>4194304</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 class="sect3">
+<h4 id="kudu-master_subprocess_response_queue_size_bytes"><a class="link" href="#kudu-master_subprocess_response_queue_size_bytes"><code>--subprocess_response_queue_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Maximum size in bytes of the inbound response queue. This is best effort: if a single request is larger than this, it is still added to the queue</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>4194304</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 class="sect3">
+<h4 id="kudu-master_subprocess_timeout_secs"><a class="link" href="#kudu-master_subprocess_timeout_secs"><code>--subprocess_timeout_secs</code></a></h4>
+<div class="paragraph">
+<p>Number of seconds a call to the subprocess is allowed to take before a timeout error is returned to the calling process</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>15</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 class="sect3">
+<h4 id="kudu-master_budgeted_compaction_target_rowset_size"><a class="link" href="#kudu-master_budgeted_compaction_target_rowset_size"><code>--budgeted_compaction_target_rowset_size</code></a></h4>
+<div class="paragraph">
+<p>The target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.</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>33554432</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_compaction_approximation_ratio"><a class="link" href="#kudu-master_compaction_approximation_ratio"><code>--compaction_approximation_ratio</code></a></h4>
+<div class="paragraph">
+<p>Approximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.</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.0499999523162842</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_compaction_minimum_improvement"><a class="link" href="#kudu-master_compaction_minimum_improvement"><code>--compaction_minimum_improvement</code></a></h4>
+<div class="paragraph">
+<p>The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.</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>0.0099999997764825821</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 class="sect3">
+<h4 id="kudu-master_deltafile_default_block_size"><a class="link" href="#kudu-master_deltafile_default_block_size"><code>--deltafile_default_block_size</code></a></h4>
+<div class="paragraph">
+<p>Block size for delta files. In the future, this may become configurable on a per-table basis.</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>32768</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 class="sect3">
+<h4 id="kudu-master_deltafile_default_compression_codec"><a class="link" href="#kudu-master_deltafile_default_compression_codec"><code>--deltafile_default_compression_codec</code></a></h4>
+<div class="paragraph">
+<p>The compression codec used when writing deltafiles.</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">string</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>lz4</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 class="sect3">
+<h4 id="kudu-master_default_composite_key_index_block_size_bytes"><a class="link" href="#kudu-master_default_composite_key_index_block_size_bytes"><code>--default_composite_key_index_block_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Block size used for composite key indexes.</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>4096</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 class="sect3">
+<h4 id="kudu-master_rowset_metadata_store_keys"><a class="link" href="#kudu-master_rowset_metadata_store_keys"><code>--rowset_metadata_store_keys</code></a></h4>
+<div class="paragraph">
+<p>Whether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.</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>false</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 class="sect3">
+<h4 id="kudu-master_tablet_delta_store_major_compact_min_ratio"><a class="link" href="#kudu-master_tablet_delta_store_major_compact_min_ratio"><code>--tablet_delta_store_major_compact_min_ratio</code></a></h4>
+<div class="paragraph">
+<p>Minimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)</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>0.10000000149011612</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 class="sect3">
+<h4 id="kudu-master_tablet_delta_store_minor_compact_max"><a class="link" href="#kudu-master_tablet_delta_store_minor_compact_max"><code>--tablet_delta_store_minor_compact_max</code></a></h4>
+<div class="paragraph">
+<p>How many delta stores are required before forcing a minor delta compaction (Advanced option)</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_transaction_memory_limit_mb"><a class="link" href="#kudu-master_tablet_transaction_memory_limit_mb"><code>--tablet_transaction_memory_limit_mb</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.</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>64</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 class="sect3">
+<h4 id="kudu-master_compaction_small_rowset_tradeoff"><a class="link" href="#kudu-master_compaction_small_rowset_tradeoff"><code>--compaction_small_rowset_tradeoff</code></a></h4>
+<div class="paragraph">
+<p>The weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.</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>0.0089999999999999993</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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rows_writed_per_sec_for_hot_tablets"><a class="link" href="#kudu-master_rows_writed_per_sec_for_hot_tablets"><code>--rows_writed_per_sec_for_hot_tablets</code></a></h4>
+<div class="paragraph">
+<p>Minimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet&#8217;s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scans_started_per_sec_for_hot_tablets"><a class="link" href="#kudu-master_scans_started_per_sec_for_hot_tablets"><code>--scans_started_per_sec_for_hot_tablets</code></a></h4>
+<div class="paragraph">
+<p>Minimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet&#8217;s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.</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>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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_bloom_block_size"><a class="link" href="#kudu-master_tablet_bloom_block_size"><code>--tablet_bloom_block_size</code></a></h4>
+<div class="paragraph">
+<p>Block size of the bloom filters used for tablet keys.</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>4096</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 class="sect3">
+<h4 id="kudu-master_tablet_bloom_target_fp_rate"><a class="link" href="#kudu-master_tablet_bloom_target_fp_rate"><code>--tablet_bloom_target_fp_rate</code></a></h4>
+<div class="paragraph">
+<p>Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.</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>9.9999997473787516e-05</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 class="sect3">
+<h4 id="kudu-master_tablet_compaction_budget_mb"><a class="link" href="#kudu-master_tablet_compaction_budget_mb"><code>--tablet_compaction_budget_mb</code></a></h4>
+<div class="paragraph">
+<p>Budget for a single compaction</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>128</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 class="sect3">
+<h4 id="kudu-master_tablet_throttler_burst_factor"><a class="link" href="#kudu-master_tablet_throttler_burst_factor"><code>--tablet_throttler_burst_factor</code></a></h4>
+<div class="paragraph">
+<p>Burst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.</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</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 class="sect3">
+<h4 id="kudu-master_tablet_throttler_bytes_per_sec"><a class="link" href="#kudu-master_tablet_throttler_bytes_per_sec"><code>--tablet_throttler_bytes_per_sec</code></a></h4>
+<div class="paragraph">
+<p>Maximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no 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>0</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 class="sect3">
+<h4 id="kudu-master_tablet_throttler_rpc_per_sec"><a class="link" href="#kudu-master_tablet_throttler_rpc_per_sec"><code>--tablet_throttler_rpc_per_sec</code></a></h4>
+<div class="paragraph">
+<p>Maximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no 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>0</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 class="sect3">
+<h4 id="kudu-master_workload_score_upper_bound"><a class="link" href="#kudu-master_workload_score_upper_bound"><code>--workload_score_upper_bound</code></a></h4>
+<div class="paragraph">
+<p>Upper bound for workload score.</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</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_workload_stats_metric_collection_interval_ms"><a class="link" href="#kudu-master_workload_stats_metric_collection_interval_ms"><code>--workload_stats_metric_collection_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The interval in milliseconds at which we collect workload metrics.</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>300000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_workload_stats_rate_collection_min_interval_ms"><a class="link" href="#kudu-master_workload_stats_rate_collection_min_interval_ms"><code>--workload_stats_rate_collection_min_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The minimal interval in milliseconds at which we collect read/write rates.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_enable_deleted_rowset_gc"><a class="link" href="#kudu-master_enable_deleted_rowset_gc"><code>--enable_deleted_rowset_gc</code></a></h4>
+<div class="paragraph">
+<p>Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_enable_workload_score_for_perf_improvement_ops"><a class="link" href="#kudu-master_enable_workload_score_for_perf_improvement_ops"><code>--enable_workload_score_for_perf_improvement_ops</code></a></h4>
+<div class="paragraph">
+<p>Whether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_max_pending_txn_write_ops"><a class="link" href="#kudu-master_tablet_max_pending_txn_write_ops"><code>--tablet_max_pending_txn_write_ops</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction</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">uint32</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>2</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_flush_threshold_mb"><a class="link" href="#kudu-master_flush_threshold_mb"><code>--flush_threshold_mb</code></a></h4>
+<div class="paragraph">
+<p>Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn&#8217;t flushed in a while, or if the server-wide memory limit has been reached.</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>1024</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_flush_threshold_secs"><a class="link" href="#kudu-master_flush_threshold_secs"><code>--flush_threshold_secs</code></a></h4>
+<div class="paragraph">
+<p>Number of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.</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>120</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_flush_upper_bound_ms"><a class="link" href="#kudu-master_flush_upper_bound_ms"><code>--flush_upper_bound_ms</code></a></h4>
+<div class="paragraph">
+<p>Number of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.</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>3600000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_txn_background_rpc_timeout_ms"><a class="link" href="#kudu-master_txn_background_rpc_timeout_ms"><code>--txn_background_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Period (in milliseconds) with which transaction-related background requests are made</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">uint32</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>5000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-master_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_txn_keepalive_interval_ms"><a class="link" href="#kudu-master_txn_keepalive_interval_ms"><code>--txn_keepalive_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.</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">uint32</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_txn_staleness_tracker_interval_ms"><a class="link" href="#kudu-master_txn_staleness_tracker_interval_ms"><code>--txn_staleness_tracker_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Period (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn&#8217;t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.</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">uint32</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>10000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_txn_status_tablet_failover_catchup_timeout_ms"><a class="link" href="#kudu-master_txn_status_tablet_failover_catchup_timeout_ms"><code>--txn_status_tablet_failover_catchup_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_enable_txn_system_client_init"><a class="link" href="#kudu-master_enable_txn_system_client_init"><code>--enable_txn_system_client_init</code></a></h4>
+<div class="paragraph">
+<p>Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server&#8217;s TxnSystemClient to participate in orchestrating transactions.</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>false</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 class="sect3">
+<h4 id="kudu-master_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-master_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-master_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h4>
+<div class="paragraph">
+<p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_heartbeat_interval_ms"><a class="link" href="#kudu-master_heartbeat_interval_ms"><code>--heartbeat_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval at which the TS heartbeats to the master.</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 class="sect3">
+<h4 id="kudu-master_heartbeat_max_failures_before_backoff"><a class="link" href="#kudu-master_heartbeat_max_failures_before_backoff"><code>--heartbeat_max_failures_before_backoff</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.</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>3</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 class="sect3">
+<h4 id="kudu-master_heartbeat_rpc_timeout_ms"><a class="link" href="#kudu-master_heartbeat_rpc_timeout_ms"><code>--heartbeat_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout used for the TS&#8594;Master heartbeat RPCs.</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>15000</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 class="sect3">
+<h4 id="kudu-master_scan_history_count"><a class="link" href="#kudu-master_scan_history_count"><code>--scan_history_count</code></a></h4>
+<div class="paragraph">
+<p>Number of completed scans to keep history for. Determines how many historical scans will be shown on the tablet server&#8217;s scans dashboard.</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>20</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 class="sect3">
+<h4 id="kudu-master_scanner_ttl_ms"><a class="link" href="#kudu-master_scanner_ttl_ms"><code>--scanner_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Number of milliseconds of inactivity allowed for a scannerbefore it may be expired</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_copy_begin_session_timeout_ms"><a class="link" href="#kudu-master_tablet_copy_begin_session_timeout_ms"><code>--tablet_copy_begin_session_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_copy_download_threads_nums_per_session"><a class="link" href="#kudu-master_tablet_copy_download_threads_nums_per_session"><code>--tablet_copy_download_threads_nums_per_session</code></a></h4>
+<div class="paragraph">
+<p>Number of threads per tablet copy session for downloading tablet data blocks.</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>4</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_batch_size_rows"><a class="link" href="#kudu-master_scanner_batch_size_rows"><code>--scanner_batch_size_rows</code></a></h4>
+<div class="paragraph">
+<p>The number of rows to batch for servicing scan requests.</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_default_batch_size_bytes"><a class="link" href="#kudu-master_scanner_default_batch_size_bytes"><code>--scanner_default_batch_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>The default size for batches of scan results</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_max_batch_size_bytes"><a class="link" href="#kudu-master_scanner_max_batch_size_bytes"><code>--scanner_max_batch_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum batch size that a client may request for scan results.</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>8388608</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_max_wait_ms"><a class="link" href="#kudu-master_scanner_max_wait_ms"><code>--scanner_max_wait_ms</code></a></h4>
+<div class="paragraph">
+<p>The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for 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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tserver_enforce_access_control"><a class="link" href="#kudu-master_tserver_enforce_access_control"><code>--tserver_enforce_access_control</code></a></h4>
+<div class="paragraph">
+<p>If set, the server will apply fine-grained access control rules to client RPCs.</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>false</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<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 class="sect3">
+<h4 id="kudu-master_num_tablets_to_delete_simultaneously"><a class="link" href="#kudu-master_num_tablets_to_delete_simultaneously"><code>--num_tablets_to_delete_simultaneously</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect3">
+<h4 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></h4>
+<div class="paragraph">
+<p>Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect3">
+<h4 id="kudu-master_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-master_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect3">
+<h4 id="kudu-master_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-master_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h4>
+<div class="paragraph">
+<p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</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 class="sect3">
+<h4 id="kudu-master_txn_commit_pool_num_threads"><a class="link" href="#kudu-master_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="sect3">
+<h4 id="kudu-master_txn_participant_registration_pool_num_threads"><a class="link" href="#kudu-master_txn_participant_registration_pool_num_threads"><code>--txn_participant_registration_pool_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_update_tablet_stats_interval_ms"><a class="link" href="#kudu-master_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</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>5000</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 class="sect3">
+<h4 id="kudu-master_cloud_aws_instance_id_url"><a class="link" href="#kudu-master_cloud_aws_instance_id_url"><code>--cloud_aws_instance_id_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an AWS instance</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">string</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><a href="http://169.254.169.254/latest/meta-data/instance-id" class="bare">http://169.254.169.254/latest/meta-data/instance-id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_aws_ntp_server"><a class="link" href="#kudu-master_cloud_aws_ntp_server"><code>--cloud_aws_ntp_server</code></a></h4>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within an AWS instance</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">string</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>169.254.169.123</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_azure_instance_id_url"><a class="link" href="#kudu-master_cloud_azure_instance_id_url"><code>--cloud_azure_instance_id_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an Azure instance</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">string</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><a href="http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text" class="bare">http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_gce_instance_id_url"><a class="link" href="#kudu-master_cloud_gce_instance_id_url"><code>--cloud_gce_instance_id_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch the identifier of a GCE instance</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">string</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><a href="http://metadata.google.internal/computeMetadata/v1/instance/id" class="bare">http://metadata.google.internal/computeMetadata/v1/instance/id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_gce_ntp_server"><a class="link" href="#kudu-master_cloud_gce_ntp_server"><code>--cloud_gce_ntp_server</code></a></h4>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within a GCE instance</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">string</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>metadata.google.internal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_metadata_server_request_timeout_ms"><a class="link" href="#kudu-master_cloud_metadata_server_request_timeout_ms"><code>--cloud_metadata_server_request_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout for HTTP/HTTPS requests to the instance metadata server (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">uint32</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cloud_openstack_metadata_url"><a class="link" href="#kudu-master_cloud_openstack_metadata_url"><code>--cloud_openstack_metadata_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.</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">string</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><a href="http://169.254.169.254/openstack/latest/meta_data.json" class="bare">http://169.254.169.254/openstack/latest/meta_data.json</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_trace_to_console"><a class="link" href="#kudu-master_trace_to_console"><code>--trace_to_console</code></a></h4>
+<div class="paragraph">
+<p>Trace pattern specifying which trace events should be dumped directly to the console</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">string</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">none</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 class="sect3">
+<h4 id="kudu-master_crash_on_eio"><a class="link" href="#kudu-master_crash_on_eio"><code>--crash_on_eio</code></a></h4>
+<div class="paragraph">
+<p>Kill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_env_use_ioctl_hole_punch_on_xfs"><a class="link" href="#kudu-master_env_use_ioctl_hole_punch_on_xfs"><code>--env_use_ioctl_hole_punch_on_xfs</code></a></h4>
+<div class="paragraph">
+<p>Use the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<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 class="sect3">
+<h4 id="kudu-master_heap_sample_every_n_bytes"><a class="link" href="#kudu-master_heap_sample_every_n_bytes"><code>--heap_sample_every_n_bytes</code></a></h4>
+<div class="paragraph">
+<p>Enable heap occupancy sampling. If this flag is set to some positive value N, a memory allocation will be sampled approximately every N bytes. Lower values of N incur larger overhead but give more accurate results. A value such as 524288 (512KB) is a reasonable choice with relatively low overhead.</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>0</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_umask"><a class="link" href="#kudu-master_umask"><code>--umask</code></a></h4>
+<div class="paragraph">
+<p>The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.</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">string</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>077</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 class="sect3">
+<h4 id="kudu-master_data_gc_min_size_mb"><a class="link" href="#kudu-master_data_gc_min_size_mb"><code>--data_gc_min_size_mb</code></a></h4>
+<div class="paragraph">
+<p>The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.</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>0</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 class="sect3">
+<h4 id="kudu-master_data_gc_prioritization_prob"><a class="link" href="#kudu-master_data_gc_prioritization_prob"><code>--data_gc_prioritization_prob</code></a></h4>
+<div class="paragraph">
+<p>The probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.</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>0.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 class="sect3">
+<h4 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></h4>
+<div class="paragraph">
+<p>The target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.</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>1024</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 class="sect3">
+<h4 id="kudu-master_maintenance_op_multiplier"><a class="link" href="#kudu-master_maintenance_op_multiplier"><code>--maintenance_op_multiplier</code></a></h4>
+<div class="paragraph">
+<p>Multiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs</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.1000000000000001</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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_max_priority_range"><a class="link" href="#kudu-master_max_priority_range"><code>--max_priority_range</code></a></h4>
+<div class="paragraph">
+<p>Maximal priority range of OPs.</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>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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_metrics_retirement_age_ms"><a class="link" href="#kudu-master_metrics_retirement_age_ms"><code>--metrics_retirement_age_ms</code></a></h4>
+<div class="paragraph">
+<p>The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)</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>120000</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_dns_resolver_cache_capacity_mb"><a class="link" href="#kudu-master_dns_resolver_cache_capacity_mb"><code>--dns_resolver_cache_capacity_mb</code></a></h4>
+<div class="paragraph">
+<p>Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.</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">uint32</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 class="sect3">
+<h4 id="kudu-master_dns_resolver_cache_ttl_sec"><a class="link" href="#kudu-master_dns_resolver_cache_ttl_sec"><code>--dns_resolver_cache_ttl_sec</code></a></h4>
+<div class="paragraph">
+<p>TTL of records in the DNS resolver cache, in seconds.</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">uint32</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>15</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 class="sect3">
+<h4 id="kudu-master_dns_resolver_max_threads_num"><a class="link" href="#kudu-master_dns_resolver_max_threads_num"><code>--dns_resolver_max_threads_num</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of threads to use for async DNS resolution</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>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 class="sect3">
+<h4 id="kudu-master_local_ip_for_outbound_sockets"><a class="link" href="#kudu-master_local_ip_for_outbound_sockets"><code>--local_ip_for_outbound_sockets</code></a></h4>
+<div class="paragraph">
+<p>IP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-master_nvm_cache_path"><a class="link" href="#kudu-master_nvm_cache_path"><code>--nvm_cache_path</code></a></h4>
+<div class="paragraph">
+<p>The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.</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">string</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>/pmem</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_nvm_cache_usage_ratio"><a class="link" href="#kudu-master_nvm_cache_usage_ratio"><code>--nvm_cache_usage_ratio</code></a></h4>
+<div class="paragraph">
+<p>A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.</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.25</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 class="sect3">
+<h4 id="kudu-master_memory_limit_soft_percentage"><a class="link" href="#kudu-master_memory_limit_soft_percentage"><code>--memory_limit_soft_percentage</code></a></h4>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher 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">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>80</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 class="sect3">
+<h4 id="kudu-master_memory_limit_warn_threshold_percentage"><a class="link" href="#kudu-master_memory_limit_warn_threshold_percentage"><code>--memory_limit_warn_threshold_percentage</code></a></h4>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.</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>98</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 class="sect3">
+<h4 id="kudu-master_memory_pressure_percentage"><a class="link" href="#kudu-master_memory_pressure_percentage"><code>--memory_pressure_percentage</code></a></h4>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.</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>60</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 class="sect3">
+<h4 id="kudu-master_tcmalloc_max_free_bytes_percentage"><a class="link" href="#kudu-master_tcmalloc_max_free_bytes_percentage"><code>--tcmalloc_max_free_bytes_percentage</code></a></h4>
+<div class="paragraph">
+<p>Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.</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 class="sect3">
+<h4 id="kudu-master_drop_log_memory"><a class="link" href="#kudu-master_drop_log_memory"><code>--drop_log_memory</code></a></h4>
+<div class="paragraph">
+<p>Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_backtrace_at"><a class="link" href="#kudu-master_log_backtrace_at"><code>--log_backtrace_at</code></a></h4>
+<div class="paragraph">
+<p>Emit a backtrace when logging at file:linenum.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-master_logbuflevel"><a class="link" href="#kudu-master_logbuflevel"><code>--logbuflevel</code></a></h4>
+<div class="paragraph">
+<p>Buffer log messages logged at this level or lower (-1 means don&#8217;t buffer; 0 means buffer INFO only; &#8230;&#8203;)</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>0</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_logbufsecs"><a class="link" href="#kudu-master_logbufsecs"><code>--logbufsecs</code></a></h4>
+<div class="paragraph">
+<p>Buffer log messages for at most this many seconds</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>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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_logfile_mode"><a class="link" href="#kudu-master_logfile_mode"><code>--logfile_mode</code></a></h4>
+<div class="paragraph">
+<p>Log file mode/permissions.</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>436</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"></td>
+</tr>
+</tbody>
+</table>
+<hr>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_unsupported"><a class="link" href="#kudu-tserver_unsupported"><code>kudu-tserver</code> Unsupported Flags</a></h3>
+<div class="paragraph">
+<p>Flags not marked <code>stable</code> or <code>evolving</code> are considered experimental and are
+<strong>unsupported</strong>. They are included here for informational purposes only and are
+subject to being changed or removed without notice.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_cache_type"><a class="link" href="#kudu-tserver_block_cache_type"><code>--block_cache_type</code></a></h4>
+<div class="paragraph">
+<p>Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.</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">string</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>DRAM</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_min_compression_ratio"><a class="link" href="#kudu-tserver_min_compression_ratio"><code>--min_compression_ratio</code></a></h4>
+<div class="paragraph">
+<p>If a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.</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>0.90000000000000002</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 class="sect3">
+<h4 id="kudu-tserver_cfile_default_block_size"><a class="link" href="#kudu-tserver_cfile_default_block_size"><code>--cfile_default_block_size</code></a></h4>
+<div class="paragraph">
+<p>The default block size to use in cfiles</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>262144</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 class="sect3">
+<h4 id="kudu-tserver_cfile_default_compression_codec"><a class="link" href="#kudu-tserver_cfile_default_compression_codec"><code>--cfile_default_compression_codec</code></a></h4>
+<div class="paragraph">
+<p>Default cfile block compression codec.</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">string</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>no_compression</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 class="sect3">
+<h4 id="kudu-tserver_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-tserver_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_client_use_unix_domain_sockets"><a class="link" href="#kudu-tserver_client_use_unix_domain_sockets"><code>--client_use_unix_domain_sockets</code></a></h4>
+<div class="paragraph">
+<p>Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.</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>false</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 class="sect3">
+<h4 id="kudu-tserver_show_attributes"><a class="link" href="#kudu-tserver_show_attributes"><code>--show_attributes</code></a></h4>
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_builtin_ntp_client_bind_address"><a class="link" href="#kudu-tserver_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h4>
+<div class="paragraph">
+<p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_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">string</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>0.0.0.0</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 class="sect3">
+<h4 id="kudu-tserver_builtin_ntp_poll_interval_ms"><a class="link" href="#kudu-tserver_builtin_ntp_poll_interval_ms"><code>--builtin_ntp_poll_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The time between successive polls of a single NTP server (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">uint32</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>16000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_builtin_ntp_request_timeout_ms"><a class="link" href="#kudu-tserver_builtin_ntp_request_timeout_ms"><code>--builtin_ntp_request_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout for requests sent to NTP servers (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">uint32</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>3000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_builtin_ntp_true_time_refresh_max_interval_s"><a class="link" href="#kudu-tserver_builtin_ntp_true_time_refresh_max_interval_s"><code>--builtin_ntp_true_time_refresh_max_interval_s</code></a></h4>
+<div class="paragraph">
+<p>Maximum allowed time interval without refreshing computed true time estimation (in seconds)</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">uint32</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>3600</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_max_clock_sync_error_usec"><a class="link" href="#kudu-tserver_max_clock_sync_error_usec"><code>--max_clock_sync_error_usec</code></a></h4>
+<div class="paragraph">
+<p>Maximum allowed clock synchronization error as reported by NTP before the server will abort.</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>10000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_codegen_dump_functions"><a class="link" href="#kudu-tserver_codegen_dump_functions"><code>--codegen_dump_functions</code></a></h4>
+<div class="paragraph">
+<p>Whether to print the LLVM IR for generated functions</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_codegen_dump_mc"><a class="link" href="#kudu-tserver_codegen_dump_mc"><code>--codegen_dump_mc</code></a></h4>
+<div class="paragraph">
+<p>Whether to dump the disassembly of the machine code for generated functions.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_codegen_cache_capacity"><a class="link" href="#kudu-tserver_codegen_cache_capacity"><code>--codegen_cache_capacity</code></a></h4>
+<div class="paragraph">
+<p>Number of entries which may be stored in the code generation cache.</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>100</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 class="sect3">
+<h4 id="kudu-tserver_codegen_queue_capacity"><a class="link" href="#kudu-tserver_codegen_queue_capacity"><code>--codegen_queue_capacity</code></a></h4>
+<div class="paragraph">
+<p>Number of tasks which may be put in the code generation task queue.</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>100</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 class="sect3">
+<h4 id="kudu-tserver_codegen_time_compilation"><a class="link" href="#kudu-tserver_codegen_time_compilation"><code>--codegen_time_compilation</code></a></h4>
+<div class="paragraph">
+<p>Whether to print time that each code generation request took.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_predicate_effectivess_enabled"><a class="link" href="#kudu-tserver_predicate_effectivess_enabled"><code>--predicate_effectivess_enabled</code></a></h4>
+<div class="paragraph">
+<p>Should ineffective predicate filtering be disabled</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_predicate_effectivess_num_skip_blocks"><a class="link" href="#kudu-tserver_predicate_effectivess_num_skip_blocks"><code>--predicate_effectivess_num_skip_blocks</code></a></h4>
+<div class="paragraph">
+<p>Number of blocks to skip for every predicate effectiveness check</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_predicate_effectivess_reject_ratio"><a class="link" href="#kudu-tserver_predicate_effectivess_reject_ratio"><code>--predicate_effectivess_reject_ratio</code></a></h4>
+<div class="paragraph">
+<p>Rejection ratio below which predicate filter is considered ineffective</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>0.10000000000000001</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cmeta_force_fsync"><a class="link" href="#kudu-tserver_cmeta_force_fsync"><code>--cmeta_force_fsync</code></a></h4>
+<div class="paragraph">
+<p>Whether fsync() should be called when consensus metadata files are updated</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>false</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 class="sect3">
+<h4 id="kudu-tserver_consensus_rpc_timeout_ms"><a class="link" href="#kudu-tserver_consensus_rpc_timeout_ms"><code>--consensus_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout used for all consensus internal RPC communications.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_consensus_max_batch_size_bytes"><a class="link" href="#kudu-tserver_consensus_max_batch_size_bytes"><code>--consensus_max_batch_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum per-tablet RPC batch size when updating peers.</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>1048576</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 class="sect3">
+<h4 id="kudu-tserver_follower_unavailable_considered_failed_sec"><a class="link" href="#kudu-tserver_follower_unavailable_considered_failed_sec"><code>--follower_unavailable_considered_failed_sec</code></a></h4>
+<div class="paragraph">
+<p>Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.</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>300</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fs_wal_dir_reserved_bytes"><a class="link" href="#kudu-tserver_fs_wal_dir_reserved_bytes"><code>--fs_wal_dir_reserved_bytes</code></a></h4>
+<div class="paragraph">
+<p>Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_fs_wal_use_file_cache"><a class="link" href="#kudu-tserver_fs_wal_use_file_cache"><code>--fs_wal_use_file_cache</code></a></h4>
+<div class="paragraph">
+<p>Whether to use the server-wide file cache for WAL segments and WAL index chunks.</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_group_commit_queue_size_bytes"><a class="link" href="#kudu-tserver_group_commit_queue_size_bytes"><code>--group_commit_queue_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Maximum size of the group commit queue in bytes</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>4194304</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 class="sect3">
+<h4 id="kudu-tserver_log_compression_codec"><a class="link" href="#kudu-tserver_log_compression_codec"><code>--log_compression_codec</code></a></h4>
+<div class="paragraph">
+<p>Codec to use for compressing WAL segments.</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">string</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>LZ4</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 class="sect3">
+<h4 id="kudu-tserver_log_max_segments_to_retain"><a class="link" href="#kudu-tserver_log_max_segments_to_retain"><code>--log_max_segments_to_retain</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of past log segments to keep at all times for the purposes of catching up other peers.</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>80</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_min_segments_to_retain"><a class="link" href="#kudu-tserver_log_min_segments_to_retain"><code>--log_min_segments_to_retain</code></a></h4>
+<div class="paragraph">
+<p>The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.</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>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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_global_log_cache_size_limit_mb"><a class="link" href="#kudu-tserver_global_log_cache_size_limit_mb"><code>--global_log_cache_size_limit_mb</code></a></h4>
+<div class="paragraph">
+<p>Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.</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>1024</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 class="sect3">
+<h4 id="kudu-tserver_log_cache_size_limit_mb"><a class="link" href="#kudu-tserver_log_cache_size_limit_mb"><code>--log_cache_size_limit_mb</code></a></h4>
+<div class="paragraph">
+<p>The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.</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>128</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 class="sect3">
+<h4 id="kudu-tserver_log_async_preallocate_segments"><a class="link" href="#kudu-tserver_log_async_preallocate_segments"><code>--log_async_preallocate_segments</code></a></h4>
+<div class="paragraph">
+<p>Whether the WAL segments preallocation should happen asynchronously</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 class="sect3">
+<h4 id="kudu-tserver_log_preallocate_segments"><a class="link" href="#kudu-tserver_log_preallocate_segments"><code>--log_preallocate_segments</code></a></h4>
+<div class="paragraph">
+<p>Whether the WAL should preallocate the entire segment before writing to it</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 class="sect3">
+<h4 id="kudu-tserver_log_segment_size_mb"><a class="link" href="#kudu-tserver_log_segment_size_mb"><code>--log_segment_size_mb</code></a></h4>
+<div class="paragraph">
+<p>The default size for log segments, in MB</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>8</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 class="sect3">
+<h4 id="kudu-tserver_evict_failed_followers"><a class="link" href="#kudu-tserver_evict_failed_followers"><code>--evict_failed_followers</code></a></h4>
+<div class="paragraph">
+<p>Whether to evict followers from the Raft config that have fallen too far behind the leader&#8217;s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_leader_failure_exp_backoff_max_delta_ms"><a class="link" href="#kudu-tserver_leader_failure_exp_backoff_max_delta_ms"><code>--leader_failure_exp_backoff_max_delta_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.</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>20000</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 class="sect3">
+<h4 id="kudu-tserver_leader_failure_max_missed_heartbeat_periods"><a class="link" href="#kudu-tserver_leader_failure_max_missed_heartbeat_periods"><code>--leader_failure_max_missed_heartbeat_periods</code></a></h4>
+<div class="paragraph">
+<p>Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.</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>3</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 class="sect3">
+<h4 id="kudu-tserver_raft_enable_pre_election"><a class="link" href="#kudu-tserver_raft_enable_pre_election"><code>--raft_enable_pre_election</code></a></h4>
+<div class="paragraph">
+<p>When enabled, candidates will call a pre-election before running a real leader election.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_raft_enable_tombstoned_voting"><a class="link" href="#kudu-tserver_raft_enable_tombstoned_voting"><code>--raft_enable_tombstoned_voting</code></a></h4>
+<div class="paragraph">
+<p>When enabled, tombstoned tablets may vote in elections.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_raft_heartbeat_interval_ms"><a class="link" href="#kudu-tserver_raft_heartbeat_interval_ms"><code>--raft_heartbeat_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.</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>500</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 class="sect3">
+<h4 id="kudu-tserver_raft_prepare_replacement_before_eviction"><a class="link" href="#kudu-tserver_raft_prepare_replacement_before_eviction"><code>--raft_prepare_replacement_before_eviction</code></a></h4>
+<div class="paragraph">
+<p>When enabled, failed replicas will only be evicted after a replacement has been prepared for them.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<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 class="sect3">
+<h4 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></h4>
+<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 class="sect3">
+<h4 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></h4>
+<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 class="sect3">
+<h4 id="kudu-tserver_block_manager_preflush_control"><a class="link" href="#kudu-tserver_block_manager_preflush_control"><code>--block_manager_preflush_control</code></a></h4>
+<div class="paragraph">
+<p>Controls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.</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">string</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>finalize</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 class="sect3">
+<h4 id="kudu-tserver_fs_max_thread_count_per_data_dir"><a class="link" href="#kudu-tserver_fs_max_thread_count_per_data_dir"><code>--fs_max_thread_count_per_data_dir</code></a></h4>
+<div class="paragraph">
+<p>Maximum work thread per data directory.</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">uint64</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>8</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 class="sect3">
+<h4 id="kudu-tserver_block_manager"><a class="link" href="#kudu-tserver_block_manager"><code>--block_manager</code></a></h4>
+<div class="paragraph">
+<p>Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.</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">string</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>log</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 class="sect3">
+<h4 id="kudu-tserver_log_block_manager_delete_dead_container"><a class="link" href="#kudu-tserver_log_block_manager_delete_dead_container"><code>--log_block_manager_delete_dead_container</code></a></h4>
+<div class="paragraph">
+<p>When enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_container_excess_space_before_cleanup_fraction"><a class="link" href="#kudu-tserver_log_container_excess_space_before_cleanup_fraction"><code>--log_container_excess_space_before_cleanup_fraction</code></a></h4>
+<div class="paragraph">
+<p>Additional fraction of a log container&#8217;s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.</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>0.10000000000000001</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 class="sect3">
+<h4 id="kudu-tserver_log_container_live_metadata_before_compact_ratio"><a class="link" href="#kudu-tserver_log_container_live_metadata_before_compact_ratio"><code>--log_container_live_metadata_before_compact_ratio</code></a></h4>
+<div class="paragraph">
+<p>Desired ratio of live block metadata in log containers. If a container&#8217;s live to total block ratio dips below this value, the container&#8217;s metadata file will be compacted at startup.</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>0.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 class="sect3">
+<h4 id="kudu-tserver_log_container_max_blocks"><a class="link" href="#kudu-tserver_log_container_max_blocks"><code>--log_container_max_blocks</code></a></h4>
+<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 class="sect3">
+<h4 id="kudu-tserver_log_container_max_size"><a class="link" href="#kudu-tserver_log_container_max_size"><code>--log_container_max_size</code></a></h4>
+<div class="paragraph">
+<p>Maximum size (soft) of a log container</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">uint64</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>10737418240</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 class="sect3">
+<h4 id="kudu-tserver_log_container_preallocate_bytes"><a class="link" href="#kudu-tserver_log_container_preallocate_bytes"><code>--log_container_preallocate_bytes</code></a></h4>
+<div class="paragraph">
+<p>Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation</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">uint64</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>33554432</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 class="sect3">
+<h4 id="kudu-tserver_rpc_acceptor_listen_backlog"><a class="link" href="#kudu-tserver_rpc_acceptor_listen_backlog"><code>--rpc_acceptor_listen_backlog</code></a></h4>
+<div class="paragraph">
+<p>Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.</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>128</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 class="sect3">
+<h4 id="kudu-tserver_rpc_encrypt_loopback_connections"><a class="link" href="#kudu-tserver_rpc_encrypt_loopback_connections"><code>--rpc_encrypt_loopback_connections</code></a></h4>
+<div class="paragraph">
+<p>Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.</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>false</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 class="sect3">
+<h4 id="kudu-tserver_rpc_trace_negotiation"><a class="link" href="#kudu-tserver_rpc_trace_negotiation"><code>--rpc_trace_negotiation</code></a></h4>
+<div class="paragraph">
+<p>If enabled, dump traces of all RPC negotiations to the log</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_callback_max_cycles"><a class="link" href="#kudu-tserver_rpc_callback_max_cycles"><code>--rpc_callback_max_cycles</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)</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>100000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tcp_keepalive_probe_period_s"><a class="link" href="#kudu-tserver_tcp_keepalive_probe_period_s"><code>--tcp_keepalive_probe_period_s</code></a></h4>
+<div class="paragraph">
+<p>The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.</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>60</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 class="sect3">
+<h4 id="kudu-tserver_tcp_keepalive_retry_count"><a class="link" href="#kudu-tserver_tcp_keepalive_retry_count"><code>--tcp_keepalive_retry_count</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.</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 class="sect3">
+<h4 id="kudu-tserver_tcp_keepalive_retry_period_s"><a class="link" href="#kudu-tserver_tcp_keepalive_retry_period_s"><code>--tcp_keepalive_retry_period_s</code></a></h4>
+<div class="paragraph">
+<p>The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.</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>3</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 class="sect3">
+<h4 id="kudu-tserver_remember_clients_ttl_ms"><a class="link" href="#kudu-tserver_remember_clients_ttl_ms"><code>--remember_clients_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.</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>3600000</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 class="sect3">
+<h4 id="kudu-tserver_remember_responses_ttl_ms"><a class="link" href="#kudu-tserver_remember_responses_ttl_ms"><code>--remember_responses_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.</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>600000</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 class="sect3">
+<h4 id="kudu-tserver_rpc_dump_all_traces"><a class="link" href="#kudu-tserver_rpc_dump_all_traces"><code>--rpc_dump_all_traces</code></a></h4>
+<div class="paragraph">
+<p>If true, dump all RPC traces at INFO level</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_duration_too_long_ms"><a class="link" href="#kudu-tserver_rpc_duration_too_long_ms"><code>--rpc_duration_too_long_ms</code></a></h4>
+<div class="paragraph">
+<p>Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_max_message_size"><a class="link" href="#kudu-tserver_rpc_max_message_size"><code>--rpc_max_message_size</code></a></h4>
+<div class="paragraph">
+<p>The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.</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>52428800</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_use_system_auth_to_local"><a class="link" href="#kudu-tserver_use_system_auth_to_local"><code>--use_system_auth_to_local</code></a></h4>
+<div class="paragraph">
+<p>When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.</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 class="sect3">
+<h4 id="kudu-tserver_ipki_server_key_size"><a class="link" href="#kudu-tserver_ipki_server_key_size"><code>--ipki_server_key_size</code></a></h4>
+<div class="paragraph">
+<p>the number of bits for server cert&#8217;s private key. The server cert is used for TLS connections to and from clients and other 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>2048</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 class="sect3">
+<h4 id="kudu-tserver_web_log_bytes"><a class="link" href="#kudu-tserver_web_log_bytes"><code>--web_log_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of bytes to display on the debug webserver&#8217;s log page</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_diagnostics_log_stack_traces_interval_ms"><a class="link" href="#kudu-tserver_diagnostics_log_stack_traces_interval_ms"><code>--diagnostics_log_stack_traces_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.</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">experimental,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_advertised_addresses"><a class="link" href="#kudu-tserver_rpc_advertised_addresses"><code>--rpc_advertised_addresses</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-tserver_rpc_num_acceptors_per_address"><a class="link" href="#kudu-tserver_rpc_num_acceptors_per_address"><code>--rpc_num_acceptors_per_address</code></a></h4>
+<div class="paragraph">
+<p>Number of RPC acceptor threads for each bound address</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>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 class="sect3">
+<h4 id="kudu-tserver_rpc_num_service_threads"><a class="link" href="#kudu-tserver_rpc_num_service_threads"><code>--rpc_num_service_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of RPC worker threads to run</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>20</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 class="sect3">
+<h4 id="kudu-tserver_rpc_reuseport"><a class="link" href="#kudu-tserver_rpc_reuseport"><code>--rpc_reuseport</code></a></h4>
+<div class="paragraph">
+<p>Whether to set the SO_REUSEPORT option on listening RPC sockets.</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>false</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 class="sect3">
+<h4 id="kudu-tserver_rpc_service_queue_length"><a class="link" href="#kudu-tserver_rpc_service_queue_length"><code>--rpc_service_queue_length</code></a></h4>
+<div class="paragraph">
+<p>Default length of queue for incoming RPC requests</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>50</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 class="sect3">
+<h4 id="kudu-tserver_gc_tcmalloc_memory_interval_seconds"><a class="link" href="#kudu-tserver_gc_tcmalloc_memory_interval_seconds"><code>--gc_tcmalloc_memory_interval_seconds</code></a></h4>
+<div class="paragraph">
+<p>Interval seconds to GC tcmalloc memory, 0 means disabled.</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">uint64</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>30</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_max_negotiation_threads"><a class="link" href="#kudu-tserver_max_negotiation_threads"><code>--max_negotiation_threads</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of connection negotiation threads.</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>50</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 class="sect3">
+<h4 id="kudu-tserver_min_negotiation_threads"><a class="link" href="#kudu-tserver_min_negotiation_threads"><code>--min_negotiation_threads</code></a></h4>
+<div class="paragraph">
+<p>Minimum number of connection negotiation threads.</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>0</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 class="sect3">
+<h4 id="kudu-tserver_num_reactor_threads"><a class="link" href="#kudu-tserver_num_reactor_threads"><code>--num_reactor_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of libev reactor threads to start.</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>4</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 class="sect3">
+<h4 id="kudu-tserver_rpc_ca_certificate_file"><a class="link" href="#kudu-tserver_rpc_ca_certificate_file"><code>--rpc_ca_certificate_file</code></a></h4>
+<div class="paragraph">
+<p>Path to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-tserver_rpc_certificate_file"><a class="link" href="#kudu-tserver_rpc_certificate_file"><code>--rpc_certificate_file</code></a></h4>
+<div class="paragraph">
+<p>Path to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-tserver_rpc_default_keepalive_time_ms"><a class="link" href="#kudu-tserver_rpc_default_keepalive_time_ms"><code>--rpc_default_keepalive_time_ms</code></a></h4>
+<div class="paragraph">
+<p>If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.</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>65000</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 class="sect3">
+<h4 id="kudu-tserver_rpc_listen_on_unix_domain_socket"><a class="link" href="#kudu-tserver_rpc_listen_on_unix_domain_socket"><code>--rpc_listen_on_unix_domain_socket</code></a></h4>
+<div class="paragraph">
+<p>Whether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.</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>false</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 class="sect3">
+<h4 id="kudu-tserver_rpc_negotiation_timeout_ms"><a class="link" href="#kudu-tserver_rpc_negotiation_timeout_ms"><code>--rpc_negotiation_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout for negotiating an RPC connection, 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">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>3000</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 class="sect3">
+<h4 id="kudu-tserver_rpc_private_key_file"><a class="link" href="#kudu-tserver_rpc_private_key_file"><code>--rpc_private_key_file</code></a></h4>
+<div class="paragraph">
+<p>Path to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'</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">string</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">none</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 class="sect3">
+<h4 id="kudu-tserver_rpc_private_key_password_cmd"><a class="link" href="#kudu-tserver_rpc_private_key_password_cmd"><code>--rpc_private_key_password_cmd</code></a></h4>
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the RPC server&#8217;s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_tls_ciphers"><a class="link" href="#kudu-tserver_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h4>
+<div class="paragraph">
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="sect3">
+<h4 id="kudu-tserver_rpc_tls_ciphersuites"><a class="link" href="#kudu-tserver_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h4>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="sect3">
+<h4 id="kudu-tserver_rpc_tls_excluded_protocols"><a class="link" href="#kudu-tserver_rpc_tls_excluded_protocols"><code>--rpc_tls_excluded_protocols</code></a></h4>
+<div class="paragraph">
+<p>A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.</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">string</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">none</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_tls_min_protocol"><a class="link" href="#kudu-tserver_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h4>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</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">string</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>TLSv1</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 class="sect3">
+<h4 id="kudu-tserver_server_max_open_files"><a class="link" href="#kudu-tserver_server_max_open_files"><code>--server_max_open_files</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. 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">uint64</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>0</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 class="sect3">
+<h4 id="kudu-tserver_webserver_enabled"><a class="link" href="#kudu-tserver_webserver_enabled"><code>--webserver_enabled</code></a></h4>
+<div class="paragraph">
+<p>Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.</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 class="sect3">
+<h4 id="kudu-tserver_metrics_log_interval_ms"><a class="link" href="#kudu-tserver_metrics_log_interval_ms"><code>--metrics_log_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.</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 class="sect3">
+<h4 id="kudu-tserver_webserver_max_post_length_bytes"><a class="link" href="#kudu-tserver_webserver_max_post_length_bytes"><code>--webserver_max_post_length_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum length of a POST request that will be accepted by the embedded web server.</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_x_frame_options"><a class="link" href="#kudu-tserver_webserver_x_frame_options"><code>--webserver_x_frame_options</code></a></h4>
+<div class="paragraph">
+<p>The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.</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">string</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>DENY</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 class="sect3">
+<h4 id="kudu-tserver_webserver_advertised_addresses"><a class="link" href="#kudu-tserver_webserver_advertised_addresses"><code>--webserver_advertised_addresses</code></a></h4>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-tserver_webserver_authentication_domain"><a class="link" href="#kudu-tserver_webserver_authentication_domain"><code>--webserver_authentication_domain</code></a></h4>
+<div class="paragraph">
+<p>Domain used for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_doc_root"><a class="link" href="#kudu-tserver_webserver_doc_root"><code>--webserver_doc_root</code></a></h4>
+<div class="paragraph">
+<p>Files under &lt;webserver_doc_root&gt; are accessible via the debug webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root</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">string</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">none</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 class="sect3">
+<h4 id="kudu-tserver_webserver_enable_doc_root"><a class="link" href="#kudu-tserver_webserver_enable_doc_root"><code>--webserver_enable_doc_root</code></a></h4>
+<div class="paragraph">
+<p>If true, webserver may serve static files from the webserver_doc_root</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 class="sect3">
+<h4 id="kudu-tserver_webserver_interface"><a class="link" href="#kudu-tserver_webserver_interface"><code>--webserver_interface</code></a></h4>
+<div class="paragraph">
+<p>Interface to start debug webserver on. If blank, webserver binds to 0.0.0.0</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">string</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">none</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 class="sect3">
+<h4 id="kudu-tserver_webserver_num_worker_threads"><a class="link" href="#kudu-tserver_webserver_num_worker_threads"><code>--webserver_num_worker_threads</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of threads to start for handling web server requests</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>50</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 class="sect3">
+<h4 id="kudu-tserver_webserver_password_file"><a class="link" href="#kudu-tserver_webserver_password_file"><code>--webserver_password_file</code></a></h4>
+<div class="paragraph">
+<p>(Optional) Location of .htpasswd file containing user names and hashed passwords for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_webserver_tls_ciphers"><a class="link" href="#kudu-tserver_webserver_tls_ciphers"><code>--webserver_tls_ciphers</code></a></h4>
+<div class="paragraph">
+<p>The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="sect3">
+<h4 id="kudu-tserver_webserver_tls_min_protocol"><a class="link" href="#kudu-tserver_webserver_tls_min_protocol"><code>--webserver_tls_min_protocol</code></a></h4>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</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">string</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>TLSv1</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 class="sect3">
+<h4 id="kudu-tserver_budgeted_compaction_target_rowset_size"><a class="link" href="#kudu-tserver_budgeted_compaction_target_rowset_size"><code>--budgeted_compaction_target_rowset_size</code></a></h4>
+<div class="paragraph">
+<p>The target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.</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>33554432</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_compaction_approximation_ratio"><a class="link" href="#kudu-tserver_compaction_approximation_ratio"><code>--compaction_approximation_ratio</code></a></h4>
+<div class="paragraph">
+<p>Approximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.</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.0499999523162842</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_compaction_minimum_improvement"><a class="link" href="#kudu-tserver_compaction_minimum_improvement"><code>--compaction_minimum_improvement</code></a></h4>
+<div class="paragraph">
+<p>The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.</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>0.0099999997764825821</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 class="sect3">
+<h4 id="kudu-tserver_deltafile_default_block_size"><a class="link" href="#kudu-tserver_deltafile_default_block_size"><code>--deltafile_default_block_size</code></a></h4>
+<div class="paragraph">
+<p>Block size for delta files. In the future, this may become configurable on a per-table basis.</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>32768</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 class="sect3">
+<h4 id="kudu-tserver_deltafile_default_compression_codec"><a class="link" href="#kudu-tserver_deltafile_default_compression_codec"><code>--deltafile_default_compression_codec</code></a></h4>
+<div class="paragraph">
+<p>The compression codec used when writing deltafiles.</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">string</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>lz4</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 class="sect3">
+<h4 id="kudu-tserver_default_composite_key_index_block_size_bytes"><a class="link" href="#kudu-tserver_default_composite_key_index_block_size_bytes"><code>--default_composite_key_index_block_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Block size used for composite key indexes.</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>4096</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 class="sect3">
+<h4 id="kudu-tserver_rowset_metadata_store_keys"><a class="link" href="#kudu-tserver_rowset_metadata_store_keys"><code>--rowset_metadata_store_keys</code></a></h4>
+<div class="paragraph">
+<p>Whether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.</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>false</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 class="sect3">
+<h4 id="kudu-tserver_tablet_delta_store_major_compact_min_ratio"><a class="link" href="#kudu-tserver_tablet_delta_store_major_compact_min_ratio"><code>--tablet_delta_store_major_compact_min_ratio</code></a></h4>
+<div class="paragraph">
+<p>Minimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)</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>0.10000000149011612</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 class="sect3">
+<h4 id="kudu-tserver_tablet_delta_store_minor_compact_max"><a class="link" href="#kudu-tserver_tablet_delta_store_minor_compact_max"><code>--tablet_delta_store_minor_compact_max</code></a></h4>
+<div class="paragraph">
+<p>How many delta stores are required before forcing a minor delta compaction (Advanced option)</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_transaction_memory_limit_mb"><a class="link" href="#kudu-tserver_tablet_transaction_memory_limit_mb"><code>--tablet_transaction_memory_limit_mb</code></a></h4>
+<div class="paragraph">
+<p>Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.</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>64</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 class="sect3">
+<h4 id="kudu-tserver_compaction_small_rowset_tradeoff"><a class="link" href="#kudu-tserver_compaction_small_rowset_tradeoff"><code>--compaction_small_rowset_tradeoff</code></a></h4>
+<div class="paragraph">
+<p>The weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.</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>0.0089999999999999993</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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rows_writed_per_sec_for_hot_tablets"><a class="link" href="#kudu-tserver_rows_writed_per_sec_for_hot_tablets"><code>--rows_writed_per_sec_for_hot_tablets</code></a></h4>
+<div class="paragraph">
+<p>Minimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet&#8217;s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scans_started_per_sec_for_hot_tablets"><a class="link" href="#kudu-tserver_scans_started_per_sec_for_hot_tablets"><code>--scans_started_per_sec_for_hot_tablets</code></a></h4>
+<div class="paragraph">
+<p>Minimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet&#8217;s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.</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>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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_bloom_block_size"><a class="link" href="#kudu-tserver_tablet_bloom_block_size"><code>--tablet_bloom_block_size</code></a></h4>
+<div class="paragraph">
+<p>Block size of the bloom filters used for tablet keys.</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>4096</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 class="sect3">
+<h4 id="kudu-tserver_tablet_bloom_target_fp_rate"><a class="link" href="#kudu-tserver_tablet_bloom_target_fp_rate"><code>--tablet_bloom_target_fp_rate</code></a></h4>
+<div class="paragraph">
+<p>Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.</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>9.9999997473787516e-05</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 class="sect3">
+<h4 id="kudu-tserver_tablet_compaction_budget_mb"><a class="link" href="#kudu-tserver_tablet_compaction_budget_mb"><code>--tablet_compaction_budget_mb</code></a></h4>
+<div class="paragraph">
+<p>Budget for a single compaction</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>128</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 class="sect3">
+<h4 id="kudu-tserver_tablet_throttler_burst_factor"><a class="link" href="#kudu-tserver_tablet_throttler_burst_factor"><code>--tablet_throttler_burst_factor</code></a></h4>
+<div class="paragraph">
+<p>Burst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.</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</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 class="sect3">
+<h4 id="kudu-tserver_tablet_throttler_bytes_per_sec"><a class="link" href="#kudu-tserver_tablet_throttler_bytes_per_sec"><code>--tablet_throttler_bytes_per_sec</code></a></h4>
+<div class="paragraph">
+<p>Maximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no 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>0</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 class="sect3">
+<h4 id="kudu-tserver_tablet_throttler_rpc_per_sec"><a class="link" href="#kudu-tserver_tablet_throttler_rpc_per_sec"><code>--tablet_throttler_rpc_per_sec</code></a></h4>
+<div class="paragraph">
+<p>Maximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no 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>0</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 class="sect3">
+<h4 id="kudu-tserver_workload_score_upper_bound"><a class="link" href="#kudu-tserver_workload_score_upper_bound"><code>--workload_score_upper_bound</code></a></h4>
+<div class="paragraph">
+<p>Upper bound for workload score.</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</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_workload_stats_metric_collection_interval_ms"><a class="link" href="#kudu-tserver_workload_stats_metric_collection_interval_ms"><code>--workload_stats_metric_collection_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The interval in milliseconds at which we collect workload metrics.</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>300000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_workload_stats_rate_collection_min_interval_ms"><a class="link" href="#kudu-tserver_workload_stats_rate_collection_min_interval_ms"><code>--workload_stats_rate_collection_min_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>The minimal interval in milliseconds at which we collect read/write rates.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_enable_deleted_rowset_gc"><a class="link" href="#kudu-tserver_enable_deleted_rowset_gc"><code>--enable_deleted_rowset_gc</code></a></h4>
+<div class="paragraph">
+<p>Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_enable_workload_score_for_perf_improvement_ops"><a class="link" href="#kudu-tserver_enable_workload_score_for_perf_improvement_ops"><code>--enable_workload_score_for_perf_improvement_ops</code></a></h4>
+<div class="paragraph">
+<p>Whether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_max_pending_txn_write_ops"><a class="link" href="#kudu-tserver_tablet_max_pending_txn_write_ops"><code>--tablet_max_pending_txn_write_ops</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction</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">uint32</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>2</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_flush_threshold_mb"><a class="link" href="#kudu-tserver_flush_threshold_mb"><code>--flush_threshold_mb</code></a></h4>
+<div class="paragraph">
+<p>Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn&#8217;t flushed in a while, or if the server-wide memory limit has been reached.</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>1024</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_flush_threshold_secs"><a class="link" href="#kudu-tserver_flush_threshold_secs"><code>--flush_threshold_secs</code></a></h4>
+<div class="paragraph">
+<p>Number of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.</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>120</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_flush_upper_bound_ms"><a class="link" href="#kudu-tserver_flush_upper_bound_ms"><code>--flush_upper_bound_ms</code></a></h4>
+<div class="paragraph">
+<p>Number of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.</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>3600000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_txn_background_rpc_timeout_ms"><a class="link" href="#kudu-tserver_txn_background_rpc_timeout_ms"><code>--txn_background_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Period (in milliseconds) with which transaction-related background requests are made</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">uint32</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>5000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-tserver_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_txn_keepalive_interval_ms"><a class="link" href="#kudu-tserver_txn_keepalive_interval_ms"><code>--txn_keepalive_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.</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">uint32</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_txn_staleness_tracker_interval_ms"><a class="link" href="#kudu-tserver_txn_staleness_tracker_interval_ms"><code>--txn_staleness_tracker_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Period (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn&#8217;t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.</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">uint32</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>10000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_txn_status_tablet_failover_catchup_timeout_ms"><a class="link" href="#kudu-tserver_txn_status_tablet_failover_catchup_timeout_ms"><code>--txn_status_tablet_failover_catchup_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_enable_txn_system_client_init"><a class="link" href="#kudu-tserver_enable_txn_system_client_init"><code>--enable_txn_system_client_init</code></a></h4>
+<div class="paragraph">
+<p>Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server&#8217;s TxnSystemClient to participate in orchestrating transactions.</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>false</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 class="sect3">
+<h4 id="kudu-tserver_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-tserver_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h4>
+<div class="paragraph">
+<p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_heartbeat_interval_ms"><a class="link" href="#kudu-tserver_heartbeat_interval_ms"><code>--heartbeat_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval at which the TS heartbeats to the master.</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 class="sect3">
+<h4 id="kudu-tserver_heartbeat_max_failures_before_backoff"><a class="link" href="#kudu-tserver_heartbeat_max_failures_before_backoff"><code>--heartbeat_max_failures_before_backoff</code></a></h4>
+<div class="paragraph">
+<p>Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.</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>3</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 class="sect3">
+<h4 id="kudu-tserver_heartbeat_rpc_timeout_ms"><a class="link" href="#kudu-tserver_heartbeat_rpc_timeout_ms"><code>--heartbeat_rpc_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout used for the TS&#8594;Master heartbeat RPCs.</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>15000</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 class="sect3">
+<h4 id="kudu-tserver_scan_history_count"><a class="link" href="#kudu-tserver_scan_history_count"><code>--scan_history_count</code></a></h4>
+<div class="paragraph">
+<p>Number of completed scans to keep history for. Determines how many historical scans will be shown on the tablet server&#8217;s scans dashboard.</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>20</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 class="sect3">
+<h4 id="kudu-tserver_scanner_ttl_ms"><a class="link" href="#kudu-tserver_scanner_ttl_ms"><code>--scanner_ttl_ms</code></a></h4>
+<div class="paragraph">
+<p>Number of milliseconds of inactivity allowed for a scannerbefore it may be expired</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_copy_begin_session_timeout_ms"><a class="link" href="#kudu-tserver_tablet_copy_begin_session_timeout_ms"><code>--tablet_copy_begin_session_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_copy_download_threads_nums_per_session"><a class="link" href="#kudu-tserver_tablet_copy_download_threads_nums_per_session"><code>--tablet_copy_download_threads_nums_per_session</code></a></h4>
+<div class="paragraph">
+<p>Number of threads per tablet copy session for downloading tablet data blocks.</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>4</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_apply_pool_overload_threshold_ms"><a class="link" href="#kudu-tserver_tablet_apply_pool_overload_threshold_ms"><code>--tablet_apply_pool_overload_threshold_ms</code></a></h4>
+<div class="paragraph">
+<p>The threshold for the queue time of the 'apply' thread pool to enter and exit overloaded state. Once the queue stalls and its queue times become longer than the specified threshold, it enters the overloaded state. Tablet server rejects incoming write requests with some probability when its apply queue is overloaded. The longer the apply queue stays overloaded, the greater the probability of the rejection. In addition, the more row operations a write request has, the greater the probablity of the rejection. The apply queue exits the overloaded state when queue times drop below the specified threshold. Set this flag to 0 to disable the behavior described above.</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">uint32</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>0</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 class="sect3">
+<h4 id="kudu-tserver_scanner_batch_size_rows"><a class="link" href="#kudu-tserver_scanner_batch_size_rows"><code>--scanner_batch_size_rows</code></a></h4>
+<div class="paragraph">
+<p>The number of rows to batch for servicing scan requests.</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_default_batch_size_bytes"><a class="link" href="#kudu-tserver_scanner_default_batch_size_bytes"><code>--scanner_default_batch_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>The default size for batches of scan results</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_max_batch_size_bytes"><a class="link" href="#kudu-tserver_scanner_max_batch_size_bytes"><code>--scanner_max_batch_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>The maximum batch size that a client may request for scan results.</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>8388608</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_max_wait_ms"><a class="link" href="#kudu-tserver_scanner_max_wait_ms"><code>--scanner_max_wait_ms</code></a></h4>
+<div class="paragraph">
+<p>The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for 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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tserver_enforce_access_control"><a class="link" href="#kudu-tserver_tserver_enforce_access_control"><code>--tserver_enforce_access_control</code></a></h4>
+<div class="paragraph">
+<p>If set, the server will apply fine-grained access control rules to client RPCs.</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>false</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<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 class="sect3">
+<h4 id="kudu-tserver_num_tablets_to_delete_simultaneously"><a class="link" href="#kudu-tserver_num_tablets_to_delete_simultaneously"><code>--num_tablets_to_delete_simultaneously</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect3">
+<h4 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></h4>
+<div class="paragraph">
+<p>Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect3">
+<h4 id="kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect3">
+<h4 id="kudu-tserver_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-tserver_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h4>
+<div class="paragraph">
+<p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</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 class="sect3">
+<h4 id="kudu-tserver_txn_commit_pool_num_threads"><a class="link" href="#kudu-tserver_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="sect3">
+<h4 id="kudu-tserver_txn_participant_registration_pool_num_threads"><a class="link" href="#kudu-tserver_txn_participant_registration_pool_num_threads"><code>--txn_participant_registration_pool_num_threads</code></a></h4>
+<div class="paragraph">
+<p>Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_update_tablet_stats_interval_ms"><a class="link" href="#kudu-tserver_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h4>
+<div class="paragraph">
+<p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</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>5000</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 class="sect3">
+<h4 id="kudu-tserver_cloud_aws_instance_id_url"><a class="link" href="#kudu-tserver_cloud_aws_instance_id_url"><code>--cloud_aws_instance_id_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an AWS instance</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">string</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><a href="http://169.254.169.254/latest/meta-data/instance-id" class="bare">http://169.254.169.254/latest/meta-data/instance-id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_aws_ntp_server"><a class="link" href="#kudu-tserver_cloud_aws_ntp_server"><code>--cloud_aws_ntp_server</code></a></h4>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within an AWS instance</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">string</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>169.254.169.123</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_azure_instance_id_url"><a class="link" href="#kudu-tserver_cloud_azure_instance_id_url"><code>--cloud_azure_instance_id_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an Azure instance</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">string</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><a href="http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text" class="bare">http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_gce_instance_id_url"><a class="link" href="#kudu-tserver_cloud_gce_instance_id_url"><code>--cloud_gce_instance_id_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch the identifier of a GCE instance</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">string</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><a href="http://metadata.google.internal/computeMetadata/v1/instance/id" class="bare">http://metadata.google.internal/computeMetadata/v1/instance/id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_gce_ntp_server"><a class="link" href="#kudu-tserver_cloud_gce_ntp_server"><code>--cloud_gce_ntp_server</code></a></h4>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within a GCE instance</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">string</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>metadata.google.internal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_metadata_server_request_timeout_ms"><a class="link" href="#kudu-tserver_cloud_metadata_server_request_timeout_ms"><code>--cloud_metadata_server_request_timeout_ms</code></a></h4>
+<div class="paragraph">
+<p>Timeout for HTTP/HTTPS requests to the instance metadata server (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">uint32</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cloud_openstack_metadata_url"><a class="link" href="#kudu-tserver_cloud_openstack_metadata_url"><code>--cloud_openstack_metadata_url</code></a></h4>
+<div class="paragraph">
+<p>The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.</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">string</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><a href="http://169.254.169.254/openstack/latest/meta_data.json" class="bare">http://169.254.169.254/openstack/latest/meta_data.json</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_trace_to_console"><a class="link" href="#kudu-tserver_trace_to_console"><code>--trace_to_console</code></a></h4>
+<div class="paragraph">
+<p>Trace pattern specifying which trace events should be dumped directly to the console</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">string</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">none</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 class="sect3">
+<h4 id="kudu-tserver_crash_on_eio"><a class="link" href="#kudu-tserver_crash_on_eio"><code>--crash_on_eio</code></a></h4>
+<div class="paragraph">
+<p>Kill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_env_use_ioctl_hole_punch_on_xfs"><a class="link" href="#kudu-tserver_env_use_ioctl_hole_punch_on_xfs"><code>--env_use_ioctl_hole_punch_on_xfs</code></a></h4>
+<div class="paragraph">
+<p>Use the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 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></h4>
+<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 class="sect3">
+<h4 id="kudu-tserver_heap_sample_every_n_bytes"><a class="link" href="#kudu-tserver_heap_sample_every_n_bytes"><code>--heap_sample_every_n_bytes</code></a></h4>
+<div class="paragraph">
+<p>Enable heap occupancy sampling. If this flag is set to some positive value N, a memory allocation will be sampled approximately every N bytes. Lower values of N incur larger overhead but give more accurate results. A value such as 524288 (512KB) is a reasonable choice with relatively low overhead.</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>0</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_umask"><a class="link" href="#kudu-tserver_umask"><code>--umask</code></a></h4>
+<div class="paragraph">
+<p>The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.</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">string</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>077</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 class="sect3">
+<h4 id="kudu-tserver_data_gc_min_size_mb"><a class="link" href="#kudu-tserver_data_gc_min_size_mb"><code>--data_gc_min_size_mb</code></a></h4>
+<div class="paragraph">
+<p>The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.</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>0</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 class="sect3">
+<h4 id="kudu-tserver_data_gc_prioritization_prob"><a class="link" href="#kudu-tserver_data_gc_prioritization_prob"><code>--data_gc_prioritization_prob</code></a></h4>
+<div class="paragraph">
+<p>The probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.</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>0.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 class="sect3">
+<h4 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></h4>
+<div class="paragraph">
+<p>The target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.</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>1024</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 class="sect3">
+<h4 id="kudu-tserver_maintenance_op_multiplier"><a class="link" href="#kudu-tserver_maintenance_op_multiplier"><code>--maintenance_op_multiplier</code></a></h4>
+<div class="paragraph">
+<p>Multiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs</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.1000000000000001</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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_max_priority_range"><a class="link" href="#kudu-tserver_max_priority_range"><code>--max_priority_range</code></a></h4>
+<div class="paragraph">
+<p>Maximal priority range of OPs.</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>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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_metrics_retirement_age_ms"><a class="link" href="#kudu-tserver_metrics_retirement_age_ms"><code>--metrics_retirement_age_ms</code></a></h4>
+<div class="paragraph">
+<p>The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)</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>120000</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_dns_resolver_cache_capacity_mb"><a class="link" href="#kudu-tserver_dns_resolver_cache_capacity_mb"><code>--dns_resolver_cache_capacity_mb</code></a></h4>
+<div class="paragraph">
+<p>Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.</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">uint32</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 class="sect3">
+<h4 id="kudu-tserver_dns_resolver_cache_ttl_sec"><a class="link" href="#kudu-tserver_dns_resolver_cache_ttl_sec"><code>--dns_resolver_cache_ttl_sec</code></a></h4>
+<div class="paragraph">
+<p>TTL of records in the DNS resolver cache, in seconds.</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">uint32</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>15</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 class="sect3">
+<h4 id="kudu-tserver_dns_resolver_max_threads_num"><a class="link" href="#kudu-tserver_dns_resolver_max_threads_num"><code>--dns_resolver_max_threads_num</code></a></h4>
+<div class="paragraph">
+<p>The maximum number of threads to use for async DNS resolution</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>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 class="sect3">
+<h4 id="kudu-tserver_local_ip_for_outbound_sockets"><a class="link" href="#kudu-tserver_local_ip_for_outbound_sockets"><code>--local_ip_for_outbound_sockets</code></a></h4>
+<div class="paragraph">
+<p>IP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-tserver_nvm_cache_path"><a class="link" href="#kudu-tserver_nvm_cache_path"><code>--nvm_cache_path</code></a></h4>
+<div class="paragraph">
+<p>The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.</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">string</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>/pmem</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_nvm_cache_usage_ratio"><a class="link" href="#kudu-tserver_nvm_cache_usage_ratio"><code>--nvm_cache_usage_ratio</code></a></h4>
+<div class="paragraph">
+<p>A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.</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.25</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 class="sect3">
+<h4 id="kudu-tserver_memory_limit_soft_percentage"><a class="link" href="#kudu-tserver_memory_limit_soft_percentage"><code>--memory_limit_soft_percentage</code></a></h4>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher 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">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>80</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 class="sect3">
+<h4 id="kudu-tserver_memory_limit_warn_threshold_percentage"><a class="link" href="#kudu-tserver_memory_limit_warn_threshold_percentage"><code>--memory_limit_warn_threshold_percentage</code></a></h4>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.</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>98</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 class="sect3">
+<h4 id="kudu-tserver_memory_pressure_percentage"><a class="link" href="#kudu-tserver_memory_pressure_percentage"><code>--memory_pressure_percentage</code></a></h4>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.</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>60</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 class="sect3">
+<h4 id="kudu-tserver_tcmalloc_max_free_bytes_percentage"><a class="link" href="#kudu-tserver_tcmalloc_max_free_bytes_percentage"><code>--tcmalloc_max_free_bytes_percentage</code></a></h4>
+<div class="paragraph">
+<p>Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.</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 class="sect3">
+<h4 id="kudu-tserver_drop_log_memory"><a class="link" href="#kudu-tserver_drop_log_memory"><code>--drop_log_memory</code></a></h4>
+<div class="paragraph">
+<p>Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_backtrace_at"><a class="link" href="#kudu-tserver_log_backtrace_at"><code>--log_backtrace_at</code></a></h4>
+<div class="paragraph">
+<p>Emit a backtrace when logging at file:linenum.</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">string</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">none</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 class="sect3">
+<h4 id="kudu-tserver_logbuflevel"><a class="link" href="#kudu-tserver_logbuflevel"><code>--logbuflevel</code></a></h4>
+<div class="paragraph">
+<p>Buffer log messages logged at this level or lower (-1 means don&#8217;t buffer; 0 means buffer INFO only; &#8230;&#8203;)</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>0</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_logbufsecs"><a class="link" href="#kudu-tserver_logbufsecs"><code>--logbufsecs</code></a></h4>
+<div class="paragraph">
+<p>Buffer log messages for at most this many seconds</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>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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_logfile_mode"><a class="link" href="#kudu-tserver_logfile_mode"><code>--logfile_mode</code></a></h4>
+<div class="paragraph">
+<p>Log file mode/permissions.</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>436</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"></td>
+</tr>
+</tbody>
+</table>
+<hr>
+</div>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+<span class="active-toc">Kudu Configuration Reference</span>
+            <ul class="sectlevel1">
+<li><a href="#kudu-master_supported"><code>kudu-master</code> Flags</a>
+<ul class="sectlevel2">
+<li><a href="#kudu-master_stable">Stable Flags</a></li>
+<li><a href="#kudu-master_stable_advanced">Stable, Advanced Flags</a></li>
+<li><a href="#kudu-master_evolving">Evolving Flags</a></li>
+</ul>
+</li>
+<li><a href="#kudu-tserver_supported"><code>kudu-tserver</code> Flags</a>
+<ul class="sectlevel2">
+<li><a href="#kudu-tserver_stable">Stable Flags</a></li>
+<li><a href="#kudu-tserver_stable_advanced">Stable, Advanced Flags</a></li>
+<li><a href="#kudu-tserver_evolving">Evolving Flags</a></li>
+</ul>
+</li>
+<li><a href="#configuration_reference_unsupported">Apache Kudu Unsupported Configuration Flags</a>
+<ul class="sectlevel2">
+<li><a href="#kudu-master_unsupported"><code>kudu-master</code> Unsupported Flags</a></li>
+<li><a href="#kudu-tserver_unsupported"><code>kudu-tserver</code> Unsupported Flags</a></li>
+</ul>
+</li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/configuration_reference_unsupported.html b/releases/1.15.0/docs/configuration_reference_unsupported.html
new file mode 100644
index 0000000..51aeb42
--- /dev/null
+++ b/releases/1.15.0/docs/configuration_reference_unsupported.html
@@ -0,0 +1,11961 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Unsupported Configuration Flags</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Unsupported Configuration Flags</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+These flags are unsupported and are included for informational purposes only.
+They are subject to being changed or removed at any time.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_unsupported"><a class="link" href="#kudu-master_unsupported"><code>kudu-master</code> Unsupported Flags</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Flags not marked <code>stable</code> or <code>evolving</code> are considered experimental and are
+<strong>unsupported</strong>. They are included here for informational purposes only and are
+subject to being changed or removed without notice.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_cache_type"><a class="link" href="#kudu-master_block_cache_type"><code>--block_cache_type</code></a></h3>
+<div class="paragraph">
+<p>Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.</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">string</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>DRAM</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_min_compression_ratio"><a class="link" href="#kudu-master_min_compression_ratio"><code>--min_compression_ratio</code></a></h3>
+<div class="paragraph">
+<p>If a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.</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>0.90000000000000002</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 class="sect2">
+<h3 id="kudu-master_cfile_default_block_size"><a class="link" href="#kudu-master_cfile_default_block_size"><code>--cfile_default_block_size</code></a></h3>
+<div class="paragraph">
+<p>The default block size to use in cfiles</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>262144</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 class="sect2">
+<h3 id="kudu-master_cfile_default_compression_codec"><a class="link" href="#kudu-master_cfile_default_compression_codec"><code>--cfile_default_compression_codec</code></a></h3>
+<div class="paragraph">
+<p>Default cfile block compression codec.</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">string</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>no_compression</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 class="sect2">
+<h3 id="kudu-master_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-master_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_client_use_unix_domain_sockets"><a class="link" href="#kudu-master_client_use_unix_domain_sockets"><code>--client_use_unix_domain_sockets</code></a></h3>
+<div class="paragraph">
+<p>Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.</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>false</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 class="sect2">
+<h3 id="kudu-master_show_attributes"><a class="link" href="#kudu-master_show_attributes"><code>--show_attributes</code></a></h3>
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_builtin_ntp_client_bind_address"><a class="link" href="#kudu-master_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h3>
+<div class="paragraph">
+<p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_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">string</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>0.0.0.0</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 class="sect2">
+<h3 id="kudu-master_builtin_ntp_poll_interval_ms"><a class="link" href="#kudu-master_builtin_ntp_poll_interval_ms"><code>--builtin_ntp_poll_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The time between successive polls of a single NTP server (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">uint32</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>16000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_builtin_ntp_request_timeout_ms"><a class="link" href="#kudu-master_builtin_ntp_request_timeout_ms"><code>--builtin_ntp_request_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout for requests sent to NTP servers (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">uint32</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>3000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_builtin_ntp_true_time_refresh_max_interval_s"><a class="link" href="#kudu-master_builtin_ntp_true_time_refresh_max_interval_s"><code>--builtin_ntp_true_time_refresh_max_interval_s</code></a></h3>
+<div class="paragraph">
+<p>Maximum allowed time interval without refreshing computed true time estimation (in seconds)</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">uint32</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>3600</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_clock_sync_error_usec"><a class="link" href="#kudu-master_max_clock_sync_error_usec"><code>--max_clock_sync_error_usec</code></a></h3>
+<div class="paragraph">
+<p>Maximum allowed clock synchronization error as reported by NTP before the server will abort.</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>10000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_codegen_dump_functions"><a class="link" href="#kudu-master_codegen_dump_functions"><code>--codegen_dump_functions</code></a></h3>
+<div class="paragraph">
+<p>Whether to print the LLVM IR for generated functions</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_codegen_dump_mc"><a class="link" href="#kudu-master_codegen_dump_mc"><code>--codegen_dump_mc</code></a></h3>
+<div class="paragraph">
+<p>Whether to dump the disassembly of the machine code for generated functions.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_codegen_cache_capacity"><a class="link" href="#kudu-master_codegen_cache_capacity"><code>--codegen_cache_capacity</code></a></h3>
+<div class="paragraph">
+<p>Number of entries which may be stored in the code generation cache.</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>100</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 class="sect2">
+<h3 id="kudu-master_codegen_queue_capacity"><a class="link" href="#kudu-master_codegen_queue_capacity"><code>--codegen_queue_capacity</code></a></h3>
+<div class="paragraph">
+<p>Number of tasks which may be put in the code generation task queue.</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>100</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 class="sect2">
+<h3 id="kudu-master_codegen_time_compilation"><a class="link" href="#kudu-master_codegen_time_compilation"><code>--codegen_time_compilation</code></a></h3>
+<div class="paragraph">
+<p>Whether to print time that each code generation request took.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_predicate_effectivess_enabled"><a class="link" href="#kudu-master_predicate_effectivess_enabled"><code>--predicate_effectivess_enabled</code></a></h3>
+<div class="paragraph">
+<p>Should ineffective predicate filtering be disabled</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_predicate_effectivess_num_skip_blocks"><a class="link" href="#kudu-master_predicate_effectivess_num_skip_blocks"><code>--predicate_effectivess_num_skip_blocks</code></a></h3>
+<div class="paragraph">
+<p>Number of blocks to skip for every predicate effectiveness check</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_predicate_effectivess_reject_ratio"><a class="link" href="#kudu-master_predicate_effectivess_reject_ratio"><code>--predicate_effectivess_reject_ratio</code></a></h3>
+<div class="paragraph">
+<p>Rejection ratio below which predicate filter is considered ineffective</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>0.10000000000000001</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_default_database"><a class="link" href="#kudu-master_ranger_default_database"><code>--ranger_default_database</code></a></h3>
+<div class="paragraph">
+<p>Name of the default database which is used in the Ranger authorization context when the database name is not specified in the table name. Ranger makes no difference between &lt;ranger_default_database&gt;.&lt;table&gt; and &lt;table&gt;, so privileges granted on &lt;table&gt; in &lt;ranger_default_database&gt; are applied toboth &lt;ranger_default_database&gt;.&lt;table&gt; and &lt;table&gt; in Kudu.</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">string</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>default</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cmeta_force_fsync"><a class="link" href="#kudu-master_cmeta_force_fsync"><code>--cmeta_force_fsync</code></a></h3>
+<div class="paragraph">
+<p>Whether fsync() should be called when consensus metadata files are updated</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>false</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 class="sect2">
+<h3 id="kudu-master_consensus_rpc_timeout_ms"><a class="link" href="#kudu-master_consensus_rpc_timeout_ms"><code>--consensus_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout used for all consensus internal RPC communications.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_consensus_max_batch_size_bytes"><a class="link" href="#kudu-master_consensus_max_batch_size_bytes"><code>--consensus_max_batch_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum per-tablet RPC batch size when updating peers.</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>1048576</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 class="sect2">
+<h3 id="kudu-master_follower_unavailable_considered_failed_sec"><a class="link" href="#kudu-master_follower_unavailable_considered_failed_sec"><code>--follower_unavailable_considered_failed_sec</code></a></h3>
+<div class="paragraph">
+<p>Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.</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>300</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fs_wal_dir_reserved_bytes"><a class="link" href="#kudu-master_fs_wal_dir_reserved_bytes"><code>--fs_wal_dir_reserved_bytes</code></a></h3>
+<div class="paragraph">
+<p>Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fs_wal_use_file_cache"><a class="link" href="#kudu-master_fs_wal_use_file_cache"><code>--fs_wal_use_file_cache</code></a></h3>
+<div class="paragraph">
+<p>Whether to use the server-wide file cache for WAL segments and WAL index chunks.</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_group_commit_queue_size_bytes"><a class="link" href="#kudu-master_group_commit_queue_size_bytes"><code>--group_commit_queue_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Maximum size of the group commit queue in bytes</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>4194304</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 class="sect2">
+<h3 id="kudu-master_log_compression_codec"><a class="link" href="#kudu-master_log_compression_codec"><code>--log_compression_codec</code></a></h3>
+<div class="paragraph">
+<p>Codec to use for compressing WAL segments.</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">string</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>LZ4</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 class="sect2">
+<h3 id="kudu-master_log_max_segments_to_retain"><a class="link" href="#kudu-master_log_max_segments_to_retain"><code>--log_max_segments_to_retain</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of past log segments to keep at all times for the purposes of catching up other peers.</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>80</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_min_segments_to_retain"><a class="link" href="#kudu-master_log_min_segments_to_retain"><code>--log_min_segments_to_retain</code></a></h3>
+<div class="paragraph">
+<p>The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.</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>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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_global_log_cache_size_limit_mb"><a class="link" href="#kudu-master_global_log_cache_size_limit_mb"><code>--global_log_cache_size_limit_mb</code></a></h3>
+<div class="paragraph">
+<p>Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.</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>1024</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 class="sect2">
+<h3 id="kudu-master_log_cache_size_limit_mb"><a class="link" href="#kudu-master_log_cache_size_limit_mb"><code>--log_cache_size_limit_mb</code></a></h3>
+<div class="paragraph">
+<p>The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.</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>128</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 class="sect2">
+<h3 id="kudu-master_log_async_preallocate_segments"><a class="link" href="#kudu-master_log_async_preallocate_segments"><code>--log_async_preallocate_segments</code></a></h3>
+<div class="paragraph">
+<p>Whether the WAL segments preallocation should happen asynchronously</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 class="sect2">
+<h3 id="kudu-master_log_preallocate_segments"><a class="link" href="#kudu-master_log_preallocate_segments"><code>--log_preallocate_segments</code></a></h3>
+<div class="paragraph">
+<p>Whether the WAL should preallocate the entire segment before writing to it</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 class="sect2">
+<h3 id="kudu-master_log_segment_size_mb"><a class="link" href="#kudu-master_log_segment_size_mb"><code>--log_segment_size_mb</code></a></h3>
+<div class="paragraph">
+<p>The default size for log segments, in MB</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>8</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 class="sect2">
+<h3 id="kudu-master_evict_failed_followers"><a class="link" href="#kudu-master_evict_failed_followers"><code>--evict_failed_followers</code></a></h3>
+<div class="paragraph">
+<p>Whether to evict followers from the Raft config that have fallen too far behind the leader&#8217;s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_leader_failure_exp_backoff_max_delta_ms"><a class="link" href="#kudu-master_leader_failure_exp_backoff_max_delta_ms"><code>--leader_failure_exp_backoff_max_delta_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.</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>20000</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 class="sect2">
+<h3 id="kudu-master_leader_failure_max_missed_heartbeat_periods"><a class="link" href="#kudu-master_leader_failure_max_missed_heartbeat_periods"><code>--leader_failure_max_missed_heartbeat_periods</code></a></h3>
+<div class="paragraph">
+<p>Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.</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>3</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 class="sect2">
+<h3 id="kudu-master_raft_enable_pre_election"><a class="link" href="#kudu-master_raft_enable_pre_election"><code>--raft_enable_pre_election</code></a></h3>
+<div class="paragraph">
+<p>When enabled, candidates will call a pre-election before running a real leader election.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_raft_enable_tombstoned_voting"><a class="link" href="#kudu-master_raft_enable_tombstoned_voting"><code>--raft_enable_tombstoned_voting</code></a></h3>
+<div class="paragraph">
+<p>When enabled, tombstoned tablets may vote in elections.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_raft_heartbeat_interval_ms"><a class="link" href="#kudu-master_raft_heartbeat_interval_ms"><code>--raft_heartbeat_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.</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>500</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 class="sect2">
+<h3 id="kudu-master_raft_prepare_replacement_before_eviction"><a class="link" href="#kudu-master_raft_prepare_replacement_before_eviction"><code>--raft_prepare_replacement_before_eviction</code></a></h3>
+<div class="paragraph">
+<p>When enabled, failed replicas will only be evicted after a replacement has been prepared for them.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<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 class="sect2">
+<h3 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></h3>
+<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 class="sect2">
+<h3 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></h3>
+<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 class="sect2">
+<h3 id="kudu-master_block_manager_preflush_control"><a class="link" href="#kudu-master_block_manager_preflush_control"><code>--block_manager_preflush_control</code></a></h3>
+<div class="paragraph">
+<p>Controls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.</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">string</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>finalize</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 class="sect2">
+<h3 id="kudu-master_fs_max_thread_count_per_data_dir"><a class="link" href="#kudu-master_fs_max_thread_count_per_data_dir"><code>--fs_max_thread_count_per_data_dir</code></a></h3>
+<div class="paragraph">
+<p>Maximum work thread per data directory.</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">uint64</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>8</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 class="sect2">
+<h3 id="kudu-master_block_manager"><a class="link" href="#kudu-master_block_manager"><code>--block_manager</code></a></h3>
+<div class="paragraph">
+<p>Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.</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">string</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>log</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 class="sect2">
+<h3 id="kudu-master_log_block_manager_delete_dead_container"><a class="link" href="#kudu-master_log_block_manager_delete_dead_container"><code>--log_block_manager_delete_dead_container</code></a></h3>
+<div class="paragraph">
+<p>When enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_container_excess_space_before_cleanup_fraction"><a class="link" href="#kudu-master_log_container_excess_space_before_cleanup_fraction"><code>--log_container_excess_space_before_cleanup_fraction</code></a></h3>
+<div class="paragraph">
+<p>Additional fraction of a log container&#8217;s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.</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>0.10000000000000001</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 class="sect2">
+<h3 id="kudu-master_log_container_live_metadata_before_compact_ratio"><a class="link" href="#kudu-master_log_container_live_metadata_before_compact_ratio"><code>--log_container_live_metadata_before_compact_ratio</code></a></h3>
+<div class="paragraph">
+<p>Desired ratio of live block metadata in log containers. If a container&#8217;s live to total block ratio dips below this value, the container&#8217;s metadata file will be compacted at startup.</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>0.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 class="sect2">
+<h3 id="kudu-master_log_container_max_blocks"><a class="link" href="#kudu-master_log_container_max_blocks"><code>--log_container_max_blocks</code></a></h3>
+<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 class="sect2">
+<h3 id="kudu-master_log_container_max_size"><a class="link" href="#kudu-master_log_container_max_size"><code>--log_container_max_size</code></a></h3>
+<div class="paragraph">
+<p>Maximum size (soft) of a log container</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">uint64</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>10737418240</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 class="sect2">
+<h3 id="kudu-master_log_container_preallocate_bytes"><a class="link" href="#kudu-master_log_container_preallocate_bytes"><code>--log_container_preallocate_bytes</code></a></h3>
+<div class="paragraph">
+<p>Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation</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">uint64</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>33554432</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 class="sect2">
+<h3 id="kudu-master_hive_metastore_conn_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_conn_timeout_seconds"><code>--hive_metastore_conn_timeout_seconds</code></a></h3>
+<div class="paragraph">
+<p>Configures the socket connect timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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 class="sect2">
+<h3 id="kudu-master_hive_metastore_kerberos_principal"><a class="link" href="#kudu-master_hive_metastore_kerberos_principal"><code>--hive_metastore_kerberos_principal</code></a></h3>
+<div class="paragraph">
+<p>The service principal of the Hive Metastore server. Must match the primary (user) portion of hive.metastore.kerberos.principal option in the Hive Metastore configuration.</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">string</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>hive</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_max_message_size_bytes"><a class="link" href="#kudu-master_hive_metastore_max_message_size_bytes"><code>--hive_metastore_max_message_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Maximum size of Hive Metastore objects that can be received by the HMS client in bytes. Should match the metastore.server.max.message.size configuration.</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>104857600</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 class="sect2">
+<h3 id="kudu-master_hive_metastore_recv_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_recv_timeout_seconds"><code>--hive_metastore_recv_timeout_seconds</code></a></h3>
+<div class="paragraph">
+<p>Configures the socket receive timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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 class="sect2">
+<h3 id="kudu-master_hive_metastore_retry_count"><a class="link" href="#kudu-master_hive_metastore_retry_count"><code>--hive_metastore_retry_count</code></a></h3>
+<div class="paragraph">
+<p>The number of times that HMS operations will retry after encountering retriable failures, such as network errors.</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>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 class="sect2">
+<h3 id="kudu-master_hive_metastore_sasl_enabled"><a class="link" href="#kudu-master_hive_metastore_sasl_enabled"><code>--hive_metastore_sasl_enabled</code></a></h3>
+<div class="paragraph">
+<p>Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Must match the value of the hive.metastore.sasl.enabled option in the Hive Metastore configuration. When enabled, the --keytab_file flag must be provided.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_send_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_send_timeout_seconds"><code>--hive_metastore_send_timeout_seconds</code></a></h3>
+<div class="paragraph">
+<p>Configures the socket send timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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 class="sect2">
+<h3 id="kudu-master_hive_metastore_uris"><a class="link" href="#kudu-master_hive_metastore_uris"><code>--hive_metastore_uris</code></a></h3>
+<div class="paragraph">
+<p>Address of the Hive Metastore instance(s). The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. If not set, the Kudu master will not send Kudu table catalog updates to Hive. The configured value must match the Hive hive.metastore.uris configuration.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_trusted_user_acl"><a class="link" href="#kudu-master_trusted_user_acl"><code>--trusted_user_acl</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of trusted users who may access the cluster without being authorized against fine-grained permissions.</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">string</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">none</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">sensitive</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_auto_rebalancing_interval_seconds"><a class="link" href="#kudu-master_auto_rebalancing_interval_seconds"><code>--auto_rebalancing_interval_seconds</code></a></h3>
+<div class="paragraph">
+<p>How long to sleep in between rebalancing cycles, before checking the cluster again to see if there is skew and rebalancing to be done.</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">uint32</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>30</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_auto_rebalancing_load_imbalance_threshold"><a class="link" href="#kudu-master_auto_rebalancing_load_imbalance_threshold"><code>--auto_rebalancing_load_imbalance_threshold</code></a></h3>
+<div class="paragraph">
+<p>The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table&#8217;s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, &#8230;&#8203;) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.</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</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_auto_rebalancing_max_moves_per_server"><a class="link" href="#kudu-master_auto_rebalancing_max_moves_per_server"><code>--auto_rebalancing_max_moves_per_server</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move 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">uint32</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_auto_rebalancing_rpc_timeout_seconds"><a class="link" href="#kudu-master_auto_rebalancing_rpc_timeout_seconds"><code>--auto_rebalancing_rpc_timeout_seconds</code></a></h3>
+<div class="paragraph">
+<p>RPC timeout in seconds when making RPCs to request moving tablet replicas or to check if the replica movement has completed.</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">uint32</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>60</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_auto_rebalancing_wait_for_replica_moves_seconds"><a class="link" href="#kudu-master_auto_rebalancing_wait_for_replica_moves_seconds"><code>--auto_rebalancing_wait_for_replica_moves_seconds</code></a></h3>
+<div class="paragraph">
+<p>How long to wait before checking to see if the scheduled replica movement in this iteration of auto-rebalancing has completed.</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">uint32</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_auto_rebalancing_enabled"><a class="link" href="#kudu-master_auto_rebalancing_enabled"><code>--auto_rebalancing_enabled</code></a></h3>
+<div class="paragraph">
+<p>Whether auto-rebalancing is enabled.</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_catalog_manager_enable_chunked_tablet_reports"><a class="link" href="#kudu-master_catalog_manager_enable_chunked_tablet_reports"><code>--catalog_manager_enable_chunked_tablet_reports</code></a></h3>
+<div class="paragraph">
+<p>Whether to split the tablet report data received from one tablet server into chunks when persisting it in the system catalog. The chunking starts at around the maximum allowed RPC size controlled by the --rpc_max_message_size flag. When the chunking is disabled, a tablet report sent by a tablet server is rejected if it would result in an oversized update on the system catalog tablet. With the default settings for --rpc_max_message_size, the latter can happen only in case of extremely high number of tablet replicas per tablet server.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_default_num_replicas"><a class="link" href="#kudu-master_default_num_replicas"><code>--default_num_replicas</code></a></h3>
+<div class="paragraph">
+<p>Default number of replicas for tables that do not have the num_replicas set.</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>3</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 class="sect2">
+<h3 id="kudu-master_enable_table_write_limit"><a class="link" href="#kudu-master_enable_table_write_limit"><code>--enable_table_write_limit</code></a></h3>
+<div class="paragraph">
+<p>Enable the table write limit. When the table&#8217;s size or row count is approaching the limit, the write may be forbidden.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_master_failover_catchup_timeout_ms"><a class="link" href="#kudu-master_master_failover_catchup_timeout_ms"><code>--master_failover_catchup_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader master to load the previous master&#8217;s metadata and become active. If this time is exceeded, the node crashes.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_master_ts_rpc_timeout_ms"><a class="link" href="#kudu-master_master_ts_rpc_timeout_ms"><code>--master_ts_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout used for the master&#8594;TS async rpc calls.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_column_comment_length"><a class="link" href="#kudu-master_max_column_comment_length"><code>--max_column_comment_length</code></a></h3>
+<div class="paragraph">
+<p>Maximum length of the comment of a column.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_create_tablets_per_ts"><a class="link" href="#kudu-master_max_create_tablets_per_ts"><code>--max_create_tablets_per_ts</code></a></h3>
+<div class="paragraph">
+<p>The number of tablet replicas per TS that can be requested for a new table. If 0, no limit is enforced.</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>60</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 class="sect2">
+<h3 id="kudu-master_max_owner_length"><a class="link" href="#kudu-master_max_owner_length"><code>--max_owner_length</code></a></h3>
+<div class="paragraph">
+<p>Maximum length of the name of a table owner.</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>128</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_table_comment_length"><a class="link" href="#kudu-master_max_table_comment_length"><code>--max_table_comment_length</code></a></h3>
+<div class="paragraph">
+<p>Maximum length of the comment of a table.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_disk_size_limit"><a class="link" href="#kudu-master_table_disk_size_limit"><code>--table_disk_size_limit</code></a></h3>
+<div class="paragraph">
+<p>Set the target size in bytes of a table to write. This is a system wide configuration for every newly created table.</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_locations_cache_capacity_mb"><a class="link" href="#kudu-master_table_locations_cache_capacity_mb"><code>--table_locations_cache_capacity_mb</code></a></h3>
+<div class="paragraph">
+<p>Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached</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">uint32</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>0</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 class="sect2">
+<h3 id="kudu-master_table_locations_ttl_ms"><a class="link" href="#kudu-master_table_locations_ttl_ms"><code>--table_locations_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum time in milliseconds which clients may cache table locations. New range partitions may not be visible to existing client instances until after waiting for the ttl period.</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>300000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_row_count_limit"><a class="link" href="#kudu-master_table_row_count_limit"><code>--table_row_count_limit</code></a></h3>
+<div class="paragraph">
+<p>Set the target row count of a table to write. This is a system wide configuration for every newly created table.</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_write_limit_ratio"><a class="link" href="#kudu-master_table_write_limit_ratio"><code>--table_write_limit_ratio</code></a></h3>
+<div class="paragraph">
+<p>Set the ratio of how much write limit can be reached</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>0.94999999999999996</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 class="sect2">
+<h3 id="kudu-master_tablet_creation_timeout_ms"><a class="link" href="#kudu-master_tablet_creation_timeout_ms"><code>--tablet_creation_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout used by the master when attempting to create tablet replicas during table creation.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_unresponsive_ts_rpc_timeout_ms"><a class="link" href="#kudu-master_unresponsive_ts_rpc_timeout_ms"><code>--unresponsive_ts_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>After this amount of time, the master will stop attempting to contact a tablet server in order to perform operations such as deleting a tablet.</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>3600000</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 class="sect2">
+<h3 id="kudu-master_hive_metastore_notification_log_batch_size"><a class="link" href="#kudu-master_hive_metastore_notification_log_batch_size"><code>--hive_metastore_notification_log_batch_size</code></a></h3>
+<div class="paragraph">
+<p>Number of notification log entries which are retrieved from the Hive Metastore per batch when polling.</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>100</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_notification_log_poll_period_seconds"><a class="link" href="#kudu-master_hive_metastore_notification_log_poll_period_seconds"><code>--hive_metastore_notification_log_poll_period_seconds</code></a></h3>
+<div class="paragraph">
+<p>Amount of time the notification log listener waits between attempts to poll the Hive Metastore for catalog updates.</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">uint32</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>15</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_authn_token_validity_seconds"><a class="link" href="#kudu-master_authn_token_validity_seconds"><code>--authn_token_validity_seconds</code></a></h3>
+<div class="paragraph">
+<p>Period of time for which an issued authentication token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.</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>604800</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 class="sect2">
+<h3 id="kudu-master_authz_token_validity_seconds"><a class="link" href="#kudu-master_authz_token_validity_seconds"><code>--authz_token_validity_seconds</code></a></h3>
+<div class="paragraph">
+<p>Period of time for which an issued authorization token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.</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>300</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 class="sect2">
+<h3 id="kudu-master_location_mapping_cmd"><a class="link" href="#kudu-master_location_mapping_cmd"><code>--location_mapping_cmd</code></a></h3>
+<div class="paragraph">
+<p>A Unix command which takes a single argument, the IP address or hostname of a tablet server or client, and returns the location string for the tablet server. A location string begins with a / and consists of /-separated tokens each of which contains only characters from the set [a-zA-Z0-9_-.]. If the cluster is not using location awareness features this flag should not be set.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_master_registration_rpc_timeout_ms"><a class="link" href="#kudu-master_master_registration_rpc_timeout_ms"><code>--master_registration_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout for retrieving master registration over RPC.</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>1500</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 class="sect2">
+<h3 id="kudu-master_tsk_rotation_seconds"><a class="link" href="#kudu-master_tsk_rotation_seconds"><code>--tsk_rotation_seconds</code></a></h3>
+<div class="paragraph">
+<p>Number of seconds between consecutive activations of newly generated TSKs (Token Signing Keys).</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>86400</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ipki_ca_cert_expiration_seconds"><a class="link" href="#kudu-master_ipki_ca_cert_expiration_seconds"><code>--ipki_ca_cert_expiration_seconds</code></a></h3>
+<div class="paragraph">
+<p>validity interval for self-signed root CA certifcate issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)</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>315360000</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 class="sect2">
+<h3 id="kudu-master_ipki_ca_key_size"><a class="link" href="#kudu-master_ipki_ca_key_size"><code>--ipki_ca_key_size</code></a></h3>
+<div class="paragraph">
+<p>the number of bits for self-signed root CA cert used by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)</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>2048</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 class="sect2">
+<h3 id="kudu-master_ipki_server_cert_expiration_seconds"><a class="link" href="#kudu-master_ipki_server_cert_expiration_seconds"><code>--ipki_server_cert_expiration_seconds</code></a></h3>
+<div class="paragraph">
+<p>validity interval for server certificates issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)</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>315360000</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 class="sect2">
+<h3 id="kudu-master_master_client_location_assignment_enabled"><a class="link" href="#kudu-master_master_client_location_assignment_enabled"><code>--master_client_location_assignment_enabled</code></a></h3>
+<div class="paragraph">
+<p>Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_master_support_change_config"><a class="link" href="#kudu-master_master_support_change_config"><code>--master_support_change_config</code></a></h3>
+<div class="paragraph">
+<p>Whether the master supports adding/removing master servers dynamically.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tserver_unresponsive_timeout_ms"><a class="link" href="#kudu-master_tserver_unresponsive_timeout_ms"><code>--tserver_unresponsive_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>The period of time that a Master can go without receiving a heartbeat from a tablet server before considering it unresponsive. Unresponsive servers are not selected when assigning replicas during table creation or re-replication.</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 class="sect2">
+<h3 id="kudu-master_txn_manager_lazily_initialized"><a class="link" href="#kudu-master_txn_manager_lazily_initialized"><code>--txn_manager_lazily_initialized</code></a></h3>
+<div class="paragraph">
+<p>Whether to initialize TxnManager upon arrival of first request. Otherwise, TxnManager is initialized upon master&#8217;s startup.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_txn_manager_status_table_num_replicas"><a class="link" href="#kudu-master_txn_manager_status_table_num_replicas"><code>--txn_manager_status_table_num_replicas</code></a></h3>
+<div class="paragraph">
+<p>Number of replicas for transaction status table</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">uint32</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>3</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_txn_manager_status_table_range_partition_span"><a class="link" href="#kudu-master_txn_manager_status_table_range_partition_span"><code>--txn_manager_status_table_range_partition_span</code></a></h3>
+<div class="paragraph">
+<p>A span for a status table&#8217;s range partition. Once TxnManager detects there isn&#8217;t a backing tablet for a transaction identifier, it adds a new range partition in the transaction status table with the lower bound equal to the upper bound of the previous range and (lower bound + span) as the upper bound.</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>1000000</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_config_path"><a class="link" href="#kudu-master_ranger_config_path"><code>--ranger_config_path</code></a></h3>
+<div class="paragraph">
+<p>Path to directory containing Ranger client configuration. When set, Ranger integration is enabled, fine-grained access control is enforced, and clients are issued authorization tokens. In addition, both --ranger_java_path and --ranger_jar_path flags need to be set properly for Ranger integration to work.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_jar_path"><a class="link" href="#kudu-master_ranger_jar_path"><code>--ranger_jar_path</code></a></h3>
+<div class="paragraph">
+<p>Path to the JAR file containing the Ranger subprocess. If not specified, the default JAR file path is expected to be next to the master binary.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_java_path"><a class="link" href="#kudu-master_ranger_java_path"><code>--ranger_java_path</code></a></h3>
+<div class="paragraph">
+<p>Path where the Java binary was installed. If the value isn&#8217;t an absolute path (e.g. 'java'), it will be evaluated using the Kudu user&#8217;s PATH. If not specified, $JAVA_HOME/bin/java is used. If $JAVA_HOME is not found, Kudu will attempt to find 'java' in the Kudu user&#8217;s PATH.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_receiver_fifo_dir"><a class="link" href="#kudu-master_ranger_receiver_fifo_dir"><code>--ranger_receiver_fifo_dir</code></a></h3>
+<div class="paragraph">
+<p>Directory in which to create a fifo used to receive messages from the Ranger subprocess. Existing fifos at this path will be overwritten. If not specified, a fifo will be created in the --ranger_config_path directory.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-master_rpc_acceptor_listen_backlog"><a class="link" href="#kudu-master_rpc_acceptor_listen_backlog"><code>--rpc_acceptor_listen_backlog</code></a></h3>
+<div class="paragraph">
+<p>Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.</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>128</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 class="sect2">
+<h3 id="kudu-master_rpc_encrypt_loopback_connections"><a class="link" href="#kudu-master_rpc_encrypt_loopback_connections"><code>--rpc_encrypt_loopback_connections</code></a></h3>
+<div class="paragraph">
+<p>Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.</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>false</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 class="sect2">
+<h3 id="kudu-master_rpc_trace_negotiation"><a class="link" href="#kudu-master_rpc_trace_negotiation"><code>--rpc_trace_negotiation</code></a></h3>
+<div class="paragraph">
+<p>If enabled, dump traces of all RPC negotiations to the log</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_callback_max_cycles"><a class="link" href="#kudu-master_rpc_callback_max_cycles"><code>--rpc_callback_max_cycles</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)</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>100000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tcp_keepalive_probe_period_s"><a class="link" href="#kudu-master_tcp_keepalive_probe_period_s"><code>--tcp_keepalive_probe_period_s</code></a></h3>
+<div class="paragraph">
+<p>The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.</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>60</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 class="sect2">
+<h3 id="kudu-master_tcp_keepalive_retry_count"><a class="link" href="#kudu-master_tcp_keepalive_retry_count"><code>--tcp_keepalive_retry_count</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.</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 class="sect2">
+<h3 id="kudu-master_tcp_keepalive_retry_period_s"><a class="link" href="#kudu-master_tcp_keepalive_retry_period_s"><code>--tcp_keepalive_retry_period_s</code></a></h3>
+<div class="paragraph">
+<p>The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.</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>3</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 class="sect2">
+<h3 id="kudu-master_remember_clients_ttl_ms"><a class="link" href="#kudu-master_remember_clients_ttl_ms"><code>--remember_clients_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.</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>3600000</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 class="sect2">
+<h3 id="kudu-master_remember_responses_ttl_ms"><a class="link" href="#kudu-master_remember_responses_ttl_ms"><code>--remember_responses_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.</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>600000</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 class="sect2">
+<h3 id="kudu-master_rpc_dump_all_traces"><a class="link" href="#kudu-master_rpc_dump_all_traces"><code>--rpc_dump_all_traces</code></a></h3>
+<div class="paragraph">
+<p>If true, dump all RPC traces at INFO level</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_duration_too_long_ms"><a class="link" href="#kudu-master_rpc_duration_too_long_ms"><code>--rpc_duration_too_long_ms</code></a></h3>
+<div class="paragraph">
+<p>Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_max_message_size"><a class="link" href="#kudu-master_rpc_max_message_size"><code>--rpc_max_message_size</code></a></h3>
+<div class="paragraph">
+<p>The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.</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>52428800</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_use_system_auth_to_local"><a class="link" href="#kudu-master_use_system_auth_to_local"><code>--use_system_auth_to_local</code></a></h3>
+<div class="paragraph">
+<p>When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.</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 class="sect2">
+<h3 id="kudu-master_ipki_server_key_size"><a class="link" href="#kudu-master_ipki_server_key_size"><code>--ipki_server_key_size</code></a></h3>
+<div class="paragraph">
+<p>the number of bits for server cert&#8217;s private key. The server cert is used for TLS connections to and from clients and other 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>2048</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 class="sect2">
+<h3 id="kudu-master_tsk_num_rsa_bits"><a class="link" href="#kudu-master_tsk_num_rsa_bits"><code>--tsk_num_rsa_bits</code></a></h3>
+<div class="paragraph">
+<p>Number of bits in RSA keys used for token signing.</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>2048</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 class="sect2">
+<h3 id="kudu-master_web_log_bytes"><a class="link" href="#kudu-master_web_log_bytes"><code>--web_log_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of bytes to display on the debug webserver&#8217;s log page</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_diagnostics_log_stack_traces_interval_ms"><a class="link" href="#kudu-master_diagnostics_log_stack_traces_interval_ms"><code>--diagnostics_log_stack_traces_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.</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">experimental,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_advertised_addresses"><a class="link" href="#kudu-master_rpc_advertised_addresses"><code>--rpc_advertised_addresses</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-master_rpc_num_acceptors_per_address"><a class="link" href="#kudu-master_rpc_num_acceptors_per_address"><code>--rpc_num_acceptors_per_address</code></a></h3>
+<div class="paragraph">
+<p>Number of RPC acceptor threads for each bound address</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>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 class="sect2">
+<h3 id="kudu-master_rpc_num_service_threads"><a class="link" href="#kudu-master_rpc_num_service_threads"><code>--rpc_num_service_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of RPC worker threads to run</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 class="sect2">
+<h3 id="kudu-master_rpc_reuseport"><a class="link" href="#kudu-master_rpc_reuseport"><code>--rpc_reuseport</code></a></h3>
+<div class="paragraph">
+<p>Whether to set the SO_REUSEPORT option on listening RPC sockets.</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>false</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 class="sect2">
+<h3 id="kudu-master_rpc_service_queue_length"><a class="link" href="#kudu-master_rpc_service_queue_length"><code>--rpc_service_queue_length</code></a></h3>
+<div class="paragraph">
+<p>Default length of queue for incoming RPC requests</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>100</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 class="sect2">
+<h3 id="kudu-master_gc_tcmalloc_memory_interval_seconds"><a class="link" href="#kudu-master_gc_tcmalloc_memory_interval_seconds"><code>--gc_tcmalloc_memory_interval_seconds</code></a></h3>
+<div class="paragraph">
+<p>Interval seconds to GC tcmalloc memory, 0 means disabled.</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">uint64</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>30</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_negotiation_threads"><a class="link" href="#kudu-master_max_negotiation_threads"><code>--max_negotiation_threads</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of connection negotiation threads.</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>50</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 class="sect2">
+<h3 id="kudu-master_min_negotiation_threads"><a class="link" href="#kudu-master_min_negotiation_threads"><code>--min_negotiation_threads</code></a></h3>
+<div class="paragraph">
+<p>Minimum number of connection negotiation threads.</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>0</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 class="sect2">
+<h3 id="kudu-master_num_reactor_threads"><a class="link" href="#kudu-master_num_reactor_threads"><code>--num_reactor_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of libev reactor threads to start.</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>4</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 class="sect2">
+<h3 id="kudu-master_rpc_ca_certificate_file"><a class="link" href="#kudu-master_rpc_ca_certificate_file"><code>--rpc_ca_certificate_file</code></a></h3>
+<div class="paragraph">
+<p>Path to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-master_rpc_certificate_file"><a class="link" href="#kudu-master_rpc_certificate_file"><code>--rpc_certificate_file</code></a></h3>
+<div class="paragraph">
+<p>Path to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-master_rpc_default_keepalive_time_ms"><a class="link" href="#kudu-master_rpc_default_keepalive_time_ms"><code>--rpc_default_keepalive_time_ms</code></a></h3>
+<div class="paragraph">
+<p>If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.</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>65000</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 class="sect2">
+<h3 id="kudu-master_rpc_listen_on_unix_domain_socket"><a class="link" href="#kudu-master_rpc_listen_on_unix_domain_socket"><code>--rpc_listen_on_unix_domain_socket</code></a></h3>
+<div class="paragraph">
+<p>Whether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.</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>false</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 class="sect2">
+<h3 id="kudu-master_rpc_negotiation_timeout_ms"><a class="link" href="#kudu-master_rpc_negotiation_timeout_ms"><code>--rpc_negotiation_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout for negotiating an RPC connection, 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">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>3000</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 class="sect2">
+<h3 id="kudu-master_rpc_private_key_file"><a class="link" href="#kudu-master_rpc_private_key_file"><code>--rpc_private_key_file</code></a></h3>
+<div class="paragraph">
+<p>Path to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'</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">string</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">none</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 class="sect2">
+<h3 id="kudu-master_rpc_private_key_password_cmd"><a class="link" href="#kudu-master_rpc_private_key_password_cmd"><code>--rpc_private_key_password_cmd</code></a></h3>
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the RPC server&#8217;s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_tls_ciphers"><a class="link" href="#kudu-master_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h3>
+<div class="paragraph">
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="sect2">
+<h3 id="kudu-master_rpc_tls_ciphersuites"><a class="link" href="#kudu-master_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h3>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="sect2">
+<h3 id="kudu-master_rpc_tls_excluded_protocols"><a class="link" href="#kudu-master_rpc_tls_excluded_protocols"><code>--rpc_tls_excluded_protocols</code></a></h3>
+<div class="paragraph">
+<p>A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.</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">string</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">none</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_tls_min_protocol"><a class="link" href="#kudu-master_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h3>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</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">string</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>TLSv1</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 class="sect2">
+<h3 id="kudu-master_server_max_open_files"><a class="link" href="#kudu-master_server_max_open_files"><code>--server_max_open_files</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. 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">uint64</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>0</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 class="sect2">
+<h3 id="kudu-master_webserver_enabled"><a class="link" href="#kudu-master_webserver_enabled"><code>--webserver_enabled</code></a></h3>
+<div class="paragraph">
+<p>Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.</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 class="sect2">
+<h3 id="kudu-master_metrics_log_interval_ms"><a class="link" href="#kudu-master_metrics_log_interval_ms"><code>--metrics_log_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.</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 class="sect2">
+<h3 id="kudu-master_webserver_max_post_length_bytes"><a class="link" href="#kudu-master_webserver_max_post_length_bytes"><code>--webserver_max_post_length_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum length of a POST request that will be accepted by the embedded web server.</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_x_frame_options"><a class="link" href="#kudu-master_webserver_x_frame_options"><code>--webserver_x_frame_options</code></a></h3>
+<div class="paragraph">
+<p>The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.</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">string</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>DENY</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 class="sect2">
+<h3 id="kudu-master_webserver_advertised_addresses"><a class="link" href="#kudu-master_webserver_advertised_addresses"><code>--webserver_advertised_addresses</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-master_webserver_authentication_domain"><a class="link" href="#kudu-master_webserver_authentication_domain"><code>--webserver_authentication_domain</code></a></h3>
+<div class="paragraph">
+<p>Domain used for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_doc_root"><a class="link" href="#kudu-master_webserver_doc_root"><code>--webserver_doc_root</code></a></h3>
+<div class="paragraph">
+<p>Files under &lt;webserver_doc_root&gt; are accessible via the debug webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root</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">string</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">none</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 class="sect2">
+<h3 id="kudu-master_webserver_enable_doc_root"><a class="link" href="#kudu-master_webserver_enable_doc_root"><code>--webserver_enable_doc_root</code></a></h3>
+<div class="paragraph">
+<p>If true, webserver may serve static files from the webserver_doc_root</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 class="sect2">
+<h3 id="kudu-master_webserver_interface"><a class="link" href="#kudu-master_webserver_interface"><code>--webserver_interface</code></a></h3>
+<div class="paragraph">
+<p>Interface to start debug webserver on. If blank, webserver binds to 0.0.0.0</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">string</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">none</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 class="sect2">
+<h3 id="kudu-master_webserver_num_worker_threads"><a class="link" href="#kudu-master_webserver_num_worker_threads"><code>--webserver_num_worker_threads</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of threads to start for handling web server requests</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>50</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 class="sect2">
+<h3 id="kudu-master_webserver_password_file"><a class="link" href="#kudu-master_webserver_password_file"><code>--webserver_password_file</code></a></h3>
+<div class="paragraph">
+<p>(Optional) Location of .htpasswd file containing user names and hashed passwords for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_tls_ciphers"><a class="link" href="#kudu-master_webserver_tls_ciphers"><code>--webserver_tls_ciphers</code></a></h3>
+<div class="paragraph">
+<p>The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="sect2">
+<h3 id="kudu-master_webserver_tls_min_protocol"><a class="link" href="#kudu-master_webserver_tls_min_protocol"><code>--webserver_tls_min_protocol</code></a></h3>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</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">string</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>TLSv1</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 class="sect2">
+<h3 id="kudu-master_subprocess_deadline_checking_interval_ms"><a class="link" href="#kudu-master_subprocess_deadline_checking_interval_ms"><code>--subprocess_deadline_checking_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval in milliseconds at which Kudu will check the deadlines of in-flight calls to the subprocess</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>50</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_subprocess_num_responder_threads"><a class="link" href="#kudu-master_subprocess_num_responder_threads"><code>--subprocess_num_responder_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads that will be dedicated to reading responses from the inbound queue and returning to callers</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>3</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 class="sect2">
+<h3 id="kudu-master_subprocess_queue_full_retry_ms"><a class="link" href="#kudu-master_subprocess_queue_full_retry_ms"><code>--subprocess_queue_full_retry_ms</code></a></h3>
+<div class="paragraph">
+<p>Number of milliseconds between attempts to enqueue the request to the subprocess</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>50</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_subprocess_request_queue_size_bytes"><a class="link" href="#kudu-master_subprocess_request_queue_size_bytes"><code>--subprocess_request_queue_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Maximum size in bytes of the outbound request queue. This is best effort: if a single request is larger than this, it is still added to the queue</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>4194304</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 class="sect2">
+<h3 id="kudu-master_subprocess_response_queue_size_bytes"><a class="link" href="#kudu-master_subprocess_response_queue_size_bytes"><code>--subprocess_response_queue_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Maximum size in bytes of the inbound response queue. This is best effort: if a single request is larger than this, it is still added to the queue</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>4194304</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 class="sect2">
+<h3 id="kudu-master_subprocess_timeout_secs"><a class="link" href="#kudu-master_subprocess_timeout_secs"><code>--subprocess_timeout_secs</code></a></h3>
+<div class="paragraph">
+<p>Number of seconds a call to the subprocess is allowed to take before a timeout error is returned to the calling process</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>15</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 class="sect2">
+<h3 id="kudu-master_budgeted_compaction_target_rowset_size"><a class="link" href="#kudu-master_budgeted_compaction_target_rowset_size"><code>--budgeted_compaction_target_rowset_size</code></a></h3>
+<div class="paragraph">
+<p>The target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.</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>33554432</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_compaction_approximation_ratio"><a class="link" href="#kudu-master_compaction_approximation_ratio"><code>--compaction_approximation_ratio</code></a></h3>
+<div class="paragraph">
+<p>Approximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.</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.0499999523162842</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_compaction_minimum_improvement"><a class="link" href="#kudu-master_compaction_minimum_improvement"><code>--compaction_minimum_improvement</code></a></h3>
+<div class="paragraph">
+<p>The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.</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>0.0099999997764825821</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 class="sect2">
+<h3 id="kudu-master_deltafile_default_block_size"><a class="link" href="#kudu-master_deltafile_default_block_size"><code>--deltafile_default_block_size</code></a></h3>
+<div class="paragraph">
+<p>Block size for delta files. In the future, this may become configurable on a per-table basis.</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>32768</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 class="sect2">
+<h3 id="kudu-master_deltafile_default_compression_codec"><a class="link" href="#kudu-master_deltafile_default_compression_codec"><code>--deltafile_default_compression_codec</code></a></h3>
+<div class="paragraph">
+<p>The compression codec used when writing deltafiles.</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">string</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>lz4</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 class="sect2">
+<h3 id="kudu-master_default_composite_key_index_block_size_bytes"><a class="link" href="#kudu-master_default_composite_key_index_block_size_bytes"><code>--default_composite_key_index_block_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Block size used for composite key indexes.</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>4096</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 class="sect2">
+<h3 id="kudu-master_rowset_metadata_store_keys"><a class="link" href="#kudu-master_rowset_metadata_store_keys"><code>--rowset_metadata_store_keys</code></a></h3>
+<div class="paragraph">
+<p>Whether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.</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>false</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 class="sect2">
+<h3 id="kudu-master_tablet_delta_store_major_compact_min_ratio"><a class="link" href="#kudu-master_tablet_delta_store_major_compact_min_ratio"><code>--tablet_delta_store_major_compact_min_ratio</code></a></h3>
+<div class="paragraph">
+<p>Minimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)</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>0.10000000149011612</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 class="sect2">
+<h3 id="kudu-master_tablet_delta_store_minor_compact_max"><a class="link" href="#kudu-master_tablet_delta_store_minor_compact_max"><code>--tablet_delta_store_minor_compact_max</code></a></h3>
+<div class="paragraph">
+<p>How many delta stores are required before forcing a minor delta compaction (Advanced option)</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_transaction_memory_limit_mb"><a class="link" href="#kudu-master_tablet_transaction_memory_limit_mb"><code>--tablet_transaction_memory_limit_mb</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.</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>64</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 class="sect2">
+<h3 id="kudu-master_compaction_small_rowset_tradeoff"><a class="link" href="#kudu-master_compaction_small_rowset_tradeoff"><code>--compaction_small_rowset_tradeoff</code></a></h3>
+<div class="paragraph">
+<p>The weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.</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>0.0089999999999999993</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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rows_writed_per_sec_for_hot_tablets"><a class="link" href="#kudu-master_rows_writed_per_sec_for_hot_tablets"><code>--rows_writed_per_sec_for_hot_tablets</code></a></h3>
+<div class="paragraph">
+<p>Minimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet&#8217;s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scans_started_per_sec_for_hot_tablets"><a class="link" href="#kudu-master_scans_started_per_sec_for_hot_tablets"><code>--scans_started_per_sec_for_hot_tablets</code></a></h3>
+<div class="paragraph">
+<p>Minimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet&#8217;s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.</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>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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_bloom_block_size"><a class="link" href="#kudu-master_tablet_bloom_block_size"><code>--tablet_bloom_block_size</code></a></h3>
+<div class="paragraph">
+<p>Block size of the bloom filters used for tablet keys.</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>4096</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 class="sect2">
+<h3 id="kudu-master_tablet_bloom_target_fp_rate"><a class="link" href="#kudu-master_tablet_bloom_target_fp_rate"><code>--tablet_bloom_target_fp_rate</code></a></h3>
+<div class="paragraph">
+<p>Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.</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>9.9999997473787516e-05</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 class="sect2">
+<h3 id="kudu-master_tablet_compaction_budget_mb"><a class="link" href="#kudu-master_tablet_compaction_budget_mb"><code>--tablet_compaction_budget_mb</code></a></h3>
+<div class="paragraph">
+<p>Budget for a single compaction</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>128</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 class="sect2">
+<h3 id="kudu-master_tablet_throttler_burst_factor"><a class="link" href="#kudu-master_tablet_throttler_burst_factor"><code>--tablet_throttler_burst_factor</code></a></h3>
+<div class="paragraph">
+<p>Burst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.</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</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 class="sect2">
+<h3 id="kudu-master_tablet_throttler_bytes_per_sec"><a class="link" href="#kudu-master_tablet_throttler_bytes_per_sec"><code>--tablet_throttler_bytes_per_sec</code></a></h3>
+<div class="paragraph">
+<p>Maximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no 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>0</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 class="sect2">
+<h3 id="kudu-master_tablet_throttler_rpc_per_sec"><a class="link" href="#kudu-master_tablet_throttler_rpc_per_sec"><code>--tablet_throttler_rpc_per_sec</code></a></h3>
+<div class="paragraph">
+<p>Maximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no 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>0</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 class="sect2">
+<h3 id="kudu-master_workload_score_upper_bound"><a class="link" href="#kudu-master_workload_score_upper_bound"><code>--workload_score_upper_bound</code></a></h3>
+<div class="paragraph">
+<p>Upper bound for workload score.</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</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_workload_stats_metric_collection_interval_ms"><a class="link" href="#kudu-master_workload_stats_metric_collection_interval_ms"><code>--workload_stats_metric_collection_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The interval in milliseconds at which we collect workload metrics.</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>300000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_workload_stats_rate_collection_min_interval_ms"><a class="link" href="#kudu-master_workload_stats_rate_collection_min_interval_ms"><code>--workload_stats_rate_collection_min_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The minimal interval in milliseconds at which we collect read/write rates.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_enable_deleted_rowset_gc"><a class="link" href="#kudu-master_enable_deleted_rowset_gc"><code>--enable_deleted_rowset_gc</code></a></h3>
+<div class="paragraph">
+<p>Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_enable_workload_score_for_perf_improvement_ops"><a class="link" href="#kudu-master_enable_workload_score_for_perf_improvement_ops"><code>--enable_workload_score_for_perf_improvement_ops</code></a></h3>
+<div class="paragraph">
+<p>Whether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_max_pending_txn_write_ops"><a class="link" href="#kudu-master_tablet_max_pending_txn_write_ops"><code>--tablet_max_pending_txn_write_ops</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction</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">uint32</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>2</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_flush_threshold_mb"><a class="link" href="#kudu-master_flush_threshold_mb"><code>--flush_threshold_mb</code></a></h3>
+<div class="paragraph">
+<p>Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn&#8217;t flushed in a while, or if the server-wide memory limit has been reached.</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>1024</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_flush_threshold_secs"><a class="link" href="#kudu-master_flush_threshold_secs"><code>--flush_threshold_secs</code></a></h3>
+<div class="paragraph">
+<p>Number of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.</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>120</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_flush_upper_bound_ms"><a class="link" href="#kudu-master_flush_upper_bound_ms"><code>--flush_upper_bound_ms</code></a></h3>
+<div class="paragraph">
+<p>Number of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.</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>3600000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_txn_background_rpc_timeout_ms"><a class="link" href="#kudu-master_txn_background_rpc_timeout_ms"><code>--txn_background_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Period (in milliseconds) with which transaction-related background requests are made</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">uint32</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>5000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-master_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_txn_keepalive_interval_ms"><a class="link" href="#kudu-master_txn_keepalive_interval_ms"><code>--txn_keepalive_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.</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">uint32</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_txn_staleness_tracker_interval_ms"><a class="link" href="#kudu-master_txn_staleness_tracker_interval_ms"><code>--txn_staleness_tracker_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Period (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn&#8217;t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.</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">uint32</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>10000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_txn_status_tablet_failover_catchup_timeout_ms"><a class="link" href="#kudu-master_txn_status_tablet_failover_catchup_timeout_ms"><code>--txn_status_tablet_failover_catchup_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_enable_txn_system_client_init"><a class="link" href="#kudu-master_enable_txn_system_client_init"><code>--enable_txn_system_client_init</code></a></h3>
+<div class="paragraph">
+<p>Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server&#8217;s TxnSystemClient to participate in orchestrating transactions.</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>false</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 class="sect2">
+<h3 id="kudu-master_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-master_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-master_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h3>
+<div class="paragraph">
+<p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_heartbeat_interval_ms"><a class="link" href="#kudu-master_heartbeat_interval_ms"><code>--heartbeat_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval at which the TS heartbeats to the master.</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 class="sect2">
+<h3 id="kudu-master_heartbeat_max_failures_before_backoff"><a class="link" href="#kudu-master_heartbeat_max_failures_before_backoff"><code>--heartbeat_max_failures_before_backoff</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.</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>3</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 class="sect2">
+<h3 id="kudu-master_heartbeat_rpc_timeout_ms"><a class="link" href="#kudu-master_heartbeat_rpc_timeout_ms"><code>--heartbeat_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout used for the TS&#8594;Master heartbeat RPCs.</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>15000</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 class="sect2">
+<h3 id="kudu-master_scan_history_count"><a class="link" href="#kudu-master_scan_history_count"><code>--scan_history_count</code></a></h3>
+<div class="paragraph">
+<p>Number of completed scans to keep history for. Determines how many historical scans will be shown on the tablet server&#8217;s scans dashboard.</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>20</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 class="sect2">
+<h3 id="kudu-master_scanner_ttl_ms"><a class="link" href="#kudu-master_scanner_ttl_ms"><code>--scanner_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Number of milliseconds of inactivity allowed for a scannerbefore it may be expired</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_copy_begin_session_timeout_ms"><a class="link" href="#kudu-master_tablet_copy_begin_session_timeout_ms"><code>--tablet_copy_begin_session_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_copy_download_threads_nums_per_session"><a class="link" href="#kudu-master_tablet_copy_download_threads_nums_per_session"><code>--tablet_copy_download_threads_nums_per_session</code></a></h3>
+<div class="paragraph">
+<p>Number of threads per tablet copy session for downloading tablet data blocks.</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>4</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_batch_size_rows"><a class="link" href="#kudu-master_scanner_batch_size_rows"><code>--scanner_batch_size_rows</code></a></h3>
+<div class="paragraph">
+<p>The number of rows to batch for servicing scan requests.</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_default_batch_size_bytes"><a class="link" href="#kudu-master_scanner_default_batch_size_bytes"><code>--scanner_default_batch_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>The default size for batches of scan results</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_max_batch_size_bytes"><a class="link" href="#kudu-master_scanner_max_batch_size_bytes"><code>--scanner_max_batch_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum batch size that a client may request for scan results.</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>8388608</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_max_wait_ms"><a class="link" href="#kudu-master_scanner_max_wait_ms"><code>--scanner_max_wait_ms</code></a></h3>
+<div class="paragraph">
+<p>The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for 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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tserver_enforce_access_control"><a class="link" href="#kudu-master_tserver_enforce_access_control"><code>--tserver_enforce_access_control</code></a></h3>
+<div class="paragraph">
+<p>If set, the server will apply fine-grained access control rules to client RPCs.</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>false</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<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 class="sect2">
+<h3 id="kudu-master_num_tablets_to_delete_simultaneously"><a class="link" href="#kudu-master_num_tablets_to_delete_simultaneously"><code>--num_tablets_to_delete_simultaneously</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect2">
+<h3 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></h3>
+<div class="paragraph">
+<p>Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect2">
+<h3 id="kudu-master_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-master_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect2">
+<h3 id="kudu-master_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-master_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h3>
+<div class="paragraph">
+<p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</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 class="sect2">
+<h3 id="kudu-master_txn_commit_pool_num_threads"><a class="link" href="#kudu-master_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="sect2">
+<h3 id="kudu-master_txn_participant_registration_pool_num_threads"><a class="link" href="#kudu-master_txn_participant_registration_pool_num_threads"><code>--txn_participant_registration_pool_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_update_tablet_stats_interval_ms"><a class="link" href="#kudu-master_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</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>5000</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 class="sect2">
+<h3 id="kudu-master_cloud_aws_instance_id_url"><a class="link" href="#kudu-master_cloud_aws_instance_id_url"><code>--cloud_aws_instance_id_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an AWS instance</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">string</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><a href="http://169.254.169.254/latest/meta-data/instance-id" class="bare">http://169.254.169.254/latest/meta-data/instance-id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_aws_ntp_server"><a class="link" href="#kudu-master_cloud_aws_ntp_server"><code>--cloud_aws_ntp_server</code></a></h3>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within an AWS instance</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">string</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>169.254.169.123</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_azure_instance_id_url"><a class="link" href="#kudu-master_cloud_azure_instance_id_url"><code>--cloud_azure_instance_id_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an Azure instance</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">string</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><a href="http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text" class="bare">http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_gce_instance_id_url"><a class="link" href="#kudu-master_cloud_gce_instance_id_url"><code>--cloud_gce_instance_id_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch the identifier of a GCE instance</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">string</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><a href="http://metadata.google.internal/computeMetadata/v1/instance/id" class="bare">http://metadata.google.internal/computeMetadata/v1/instance/id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_gce_ntp_server"><a class="link" href="#kudu-master_cloud_gce_ntp_server"><code>--cloud_gce_ntp_server</code></a></h3>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within a GCE instance</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">string</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>metadata.google.internal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_metadata_server_request_timeout_ms"><a class="link" href="#kudu-master_cloud_metadata_server_request_timeout_ms"><code>--cloud_metadata_server_request_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout for HTTP/HTTPS requests to the instance metadata server (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">uint32</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_openstack_metadata_url"><a class="link" href="#kudu-master_cloud_openstack_metadata_url"><code>--cloud_openstack_metadata_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.</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">string</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><a href="http://169.254.169.254/openstack/latest/meta_data.json" class="bare">http://169.254.169.254/openstack/latest/meta_data.json</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_trace_to_console"><a class="link" href="#kudu-master_trace_to_console"><code>--trace_to_console</code></a></h3>
+<div class="paragraph">
+<p>Trace pattern specifying which trace events should be dumped directly to the console</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">string</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">none</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 class="sect2">
+<h3 id="kudu-master_crash_on_eio"><a class="link" href="#kudu-master_crash_on_eio"><code>--crash_on_eio</code></a></h3>
+<div class="paragraph">
+<p>Kill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_env_use_ioctl_hole_punch_on_xfs"><a class="link" href="#kudu-master_env_use_ioctl_hole_punch_on_xfs"><code>--env_use_ioctl_hole_punch_on_xfs</code></a></h3>
+<div class="paragraph">
+<p>Use the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<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 class="sect2">
+<h3 id="kudu-master_heap_sample_every_n_bytes"><a class="link" href="#kudu-master_heap_sample_every_n_bytes"><code>--heap_sample_every_n_bytes</code></a></h3>
+<div class="paragraph">
+<p>Enable heap occupancy sampling. If this flag is set to some positive value N, a memory allocation will be sampled approximately every N bytes. Lower values of N incur larger overhead but give more accurate results. A value such as 524288 (512KB) is a reasonable choice with relatively low overhead.</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>0</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_umask"><a class="link" href="#kudu-master_umask"><code>--umask</code></a></h3>
+<div class="paragraph">
+<p>The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.</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">string</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>077</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 class="sect2">
+<h3 id="kudu-master_data_gc_min_size_mb"><a class="link" href="#kudu-master_data_gc_min_size_mb"><code>--data_gc_min_size_mb</code></a></h3>
+<div class="paragraph">
+<p>The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.</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>0</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 class="sect2">
+<h3 id="kudu-master_data_gc_prioritization_prob"><a class="link" href="#kudu-master_data_gc_prioritization_prob"><code>--data_gc_prioritization_prob</code></a></h3>
+<div class="paragraph">
+<p>The probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.</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>0.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 class="sect2">
+<h3 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></h3>
+<div class="paragraph">
+<p>The target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.</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>1024</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 class="sect2">
+<h3 id="kudu-master_maintenance_op_multiplier"><a class="link" href="#kudu-master_maintenance_op_multiplier"><code>--maintenance_op_multiplier</code></a></h3>
+<div class="paragraph">
+<p>Multiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs</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.1000000000000001</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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_priority_range"><a class="link" href="#kudu-master_max_priority_range"><code>--max_priority_range</code></a></h3>
+<div class="paragraph">
+<p>Maximal priority range of OPs.</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>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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_metrics_retirement_age_ms"><a class="link" href="#kudu-master_metrics_retirement_age_ms"><code>--metrics_retirement_age_ms</code></a></h3>
+<div class="paragraph">
+<p>The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)</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>120000</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_dns_resolver_cache_capacity_mb"><a class="link" href="#kudu-master_dns_resolver_cache_capacity_mb"><code>--dns_resolver_cache_capacity_mb</code></a></h3>
+<div class="paragraph">
+<p>Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.</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">uint32</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 class="sect2">
+<h3 id="kudu-master_dns_resolver_cache_ttl_sec"><a class="link" href="#kudu-master_dns_resolver_cache_ttl_sec"><code>--dns_resolver_cache_ttl_sec</code></a></h3>
+<div class="paragraph">
+<p>TTL of records in the DNS resolver cache, in seconds.</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">uint32</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>15</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 class="sect2">
+<h3 id="kudu-master_dns_resolver_max_threads_num"><a class="link" href="#kudu-master_dns_resolver_max_threads_num"><code>--dns_resolver_max_threads_num</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of threads to use for async DNS resolution</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>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 class="sect2">
+<h3 id="kudu-master_local_ip_for_outbound_sockets"><a class="link" href="#kudu-master_local_ip_for_outbound_sockets"><code>--local_ip_for_outbound_sockets</code></a></h3>
+<div class="paragraph">
+<p>IP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-master_nvm_cache_path"><a class="link" href="#kudu-master_nvm_cache_path"><code>--nvm_cache_path</code></a></h3>
+<div class="paragraph">
+<p>The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.</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">string</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>/pmem</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_nvm_cache_usage_ratio"><a class="link" href="#kudu-master_nvm_cache_usage_ratio"><code>--nvm_cache_usage_ratio</code></a></h3>
+<div class="paragraph">
+<p>A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.</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.25</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 class="sect2">
+<h3 id="kudu-master_memory_limit_soft_percentage"><a class="link" href="#kudu-master_memory_limit_soft_percentage"><code>--memory_limit_soft_percentage</code></a></h3>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher 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">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>80</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 class="sect2">
+<h3 id="kudu-master_memory_limit_warn_threshold_percentage"><a class="link" href="#kudu-master_memory_limit_warn_threshold_percentage"><code>--memory_limit_warn_threshold_percentage</code></a></h3>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.</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>98</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 class="sect2">
+<h3 id="kudu-master_memory_pressure_percentage"><a class="link" href="#kudu-master_memory_pressure_percentage"><code>--memory_pressure_percentage</code></a></h3>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.</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>60</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 class="sect2">
+<h3 id="kudu-master_tcmalloc_max_free_bytes_percentage"><a class="link" href="#kudu-master_tcmalloc_max_free_bytes_percentage"><code>--tcmalloc_max_free_bytes_percentage</code></a></h3>
+<div class="paragraph">
+<p>Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.</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 class="sect2">
+<h3 id="kudu-master_drop_log_memory"><a class="link" href="#kudu-master_drop_log_memory"><code>--drop_log_memory</code></a></h3>
+<div class="paragraph">
+<p>Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_backtrace_at"><a class="link" href="#kudu-master_log_backtrace_at"><code>--log_backtrace_at</code></a></h3>
+<div class="paragraph">
+<p>Emit a backtrace when logging at file:linenum.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-master_logbuflevel"><a class="link" href="#kudu-master_logbuflevel"><code>--logbuflevel</code></a></h3>
+<div class="paragraph">
+<p>Buffer log messages logged at this level or lower (-1 means don&#8217;t buffer; 0 means buffer INFO only; &#8230;&#8203;)</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>0</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_logbufsecs"><a class="link" href="#kudu-master_logbufsecs"><code>--logbufsecs</code></a></h3>
+<div class="paragraph">
+<p>Buffer log messages for at most this many seconds</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>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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_logfile_mode"><a class="link" href="#kudu-master_logfile_mode"><code>--logfile_mode</code></a></h3>
+<div class="paragraph">
+<p>Log file mode/permissions.</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>436</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"></td>
+</tr>
+</tbody>
+</table>
+<hr>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_unsupported"><a class="link" href="#kudu-tserver_unsupported"><code>kudu-tserver</code> Unsupported Flags</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Flags not marked <code>stable</code> or <code>evolving</code> are considered experimental and are
+<strong>unsupported</strong>. They are included here for informational purposes only and are
+subject to being changed or removed without notice.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_cache_type"><a class="link" href="#kudu-tserver_block_cache_type"><code>--block_cache_type</code></a></h3>
+<div class="paragraph">
+<p>Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.</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">string</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>DRAM</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_min_compression_ratio"><a class="link" href="#kudu-tserver_min_compression_ratio"><code>--min_compression_ratio</code></a></h3>
+<div class="paragraph">
+<p>If a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.</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>0.90000000000000002</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 class="sect2">
+<h3 id="kudu-tserver_cfile_default_block_size"><a class="link" href="#kudu-tserver_cfile_default_block_size"><code>--cfile_default_block_size</code></a></h3>
+<div class="paragraph">
+<p>The default block size to use in cfiles</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>262144</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 class="sect2">
+<h3 id="kudu-tserver_cfile_default_compression_codec"><a class="link" href="#kudu-tserver_cfile_default_compression_codec"><code>--cfile_default_compression_codec</code></a></h3>
+<div class="paragraph">
+<p>Default cfile block compression codec.</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">string</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>no_compression</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 class="sect2">
+<h3 id="kudu-tserver_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-tserver_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_client_use_unix_domain_sockets"><a class="link" href="#kudu-tserver_client_use_unix_domain_sockets"><code>--client_use_unix_domain_sockets</code></a></h3>
+<div class="paragraph">
+<p>Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.</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>false</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 class="sect2">
+<h3 id="kudu-tserver_show_attributes"><a class="link" href="#kudu-tserver_show_attributes"><code>--show_attributes</code></a></h3>
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_builtin_ntp_client_bind_address"><a class="link" href="#kudu-tserver_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h3>
+<div class="paragraph">
+<p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_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">string</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>0.0.0.0</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 class="sect2">
+<h3 id="kudu-tserver_builtin_ntp_poll_interval_ms"><a class="link" href="#kudu-tserver_builtin_ntp_poll_interval_ms"><code>--builtin_ntp_poll_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The time between successive polls of a single NTP server (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">uint32</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>16000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_builtin_ntp_request_timeout_ms"><a class="link" href="#kudu-tserver_builtin_ntp_request_timeout_ms"><code>--builtin_ntp_request_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout for requests sent to NTP servers (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">uint32</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>3000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_builtin_ntp_true_time_refresh_max_interval_s"><a class="link" href="#kudu-tserver_builtin_ntp_true_time_refresh_max_interval_s"><code>--builtin_ntp_true_time_refresh_max_interval_s</code></a></h3>
+<div class="paragraph">
+<p>Maximum allowed time interval without refreshing computed true time estimation (in seconds)</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">uint32</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>3600</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_max_clock_sync_error_usec"><a class="link" href="#kudu-tserver_max_clock_sync_error_usec"><code>--max_clock_sync_error_usec</code></a></h3>
+<div class="paragraph">
+<p>Maximum allowed clock synchronization error as reported by NTP before the server will abort.</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>10000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_codegen_dump_functions"><a class="link" href="#kudu-tserver_codegen_dump_functions"><code>--codegen_dump_functions</code></a></h3>
+<div class="paragraph">
+<p>Whether to print the LLVM IR for generated functions</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_codegen_dump_mc"><a class="link" href="#kudu-tserver_codegen_dump_mc"><code>--codegen_dump_mc</code></a></h3>
+<div class="paragraph">
+<p>Whether to dump the disassembly of the machine code for generated functions.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_codegen_cache_capacity"><a class="link" href="#kudu-tserver_codegen_cache_capacity"><code>--codegen_cache_capacity</code></a></h3>
+<div class="paragraph">
+<p>Number of entries which may be stored in the code generation cache.</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>100</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 class="sect2">
+<h3 id="kudu-tserver_codegen_queue_capacity"><a class="link" href="#kudu-tserver_codegen_queue_capacity"><code>--codegen_queue_capacity</code></a></h3>
+<div class="paragraph">
+<p>Number of tasks which may be put in the code generation task queue.</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>100</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 class="sect2">
+<h3 id="kudu-tserver_codegen_time_compilation"><a class="link" href="#kudu-tserver_codegen_time_compilation"><code>--codegen_time_compilation</code></a></h3>
+<div class="paragraph">
+<p>Whether to print time that each code generation request took.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_predicate_effectivess_enabled"><a class="link" href="#kudu-tserver_predicate_effectivess_enabled"><code>--predicate_effectivess_enabled</code></a></h3>
+<div class="paragraph">
+<p>Should ineffective predicate filtering be disabled</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_predicate_effectivess_num_skip_blocks"><a class="link" href="#kudu-tserver_predicate_effectivess_num_skip_blocks"><code>--predicate_effectivess_num_skip_blocks</code></a></h3>
+<div class="paragraph">
+<p>Number of blocks to skip for every predicate effectiveness check</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_predicate_effectivess_reject_ratio"><a class="link" href="#kudu-tserver_predicate_effectivess_reject_ratio"><code>--predicate_effectivess_reject_ratio</code></a></h3>
+<div class="paragraph">
+<p>Rejection ratio below which predicate filter is considered ineffective</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>0.10000000000000001</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cmeta_force_fsync"><a class="link" href="#kudu-tserver_cmeta_force_fsync"><code>--cmeta_force_fsync</code></a></h3>
+<div class="paragraph">
+<p>Whether fsync() should be called when consensus metadata files are updated</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>false</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 class="sect2">
+<h3 id="kudu-tserver_consensus_rpc_timeout_ms"><a class="link" href="#kudu-tserver_consensus_rpc_timeout_ms"><code>--consensus_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout used for all consensus internal RPC communications.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_consensus_max_batch_size_bytes"><a class="link" href="#kudu-tserver_consensus_max_batch_size_bytes"><code>--consensus_max_batch_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum per-tablet RPC batch size when updating peers.</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>1048576</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 class="sect2">
+<h3 id="kudu-tserver_follower_unavailable_considered_failed_sec"><a class="link" href="#kudu-tserver_follower_unavailable_considered_failed_sec"><code>--follower_unavailable_considered_failed_sec</code></a></h3>
+<div class="paragraph">
+<p>Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.</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>300</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fs_wal_dir_reserved_bytes"><a class="link" href="#kudu-tserver_fs_wal_dir_reserved_bytes"><code>--fs_wal_dir_reserved_bytes</code></a></h3>
+<div class="paragraph">
+<p>Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fs_wal_use_file_cache"><a class="link" href="#kudu-tserver_fs_wal_use_file_cache"><code>--fs_wal_use_file_cache</code></a></h3>
+<div class="paragraph">
+<p>Whether to use the server-wide file cache for WAL segments and WAL index chunks.</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_group_commit_queue_size_bytes"><a class="link" href="#kudu-tserver_group_commit_queue_size_bytes"><code>--group_commit_queue_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Maximum size of the group commit queue in bytes</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>4194304</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 class="sect2">
+<h3 id="kudu-tserver_log_compression_codec"><a class="link" href="#kudu-tserver_log_compression_codec"><code>--log_compression_codec</code></a></h3>
+<div class="paragraph">
+<p>Codec to use for compressing WAL segments.</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">string</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>LZ4</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 class="sect2">
+<h3 id="kudu-tserver_log_max_segments_to_retain"><a class="link" href="#kudu-tserver_log_max_segments_to_retain"><code>--log_max_segments_to_retain</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of past log segments to keep at all times for the purposes of catching up other peers.</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>80</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_min_segments_to_retain"><a class="link" href="#kudu-tserver_log_min_segments_to_retain"><code>--log_min_segments_to_retain</code></a></h3>
+<div class="paragraph">
+<p>The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.</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>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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_global_log_cache_size_limit_mb"><a class="link" href="#kudu-tserver_global_log_cache_size_limit_mb"><code>--global_log_cache_size_limit_mb</code></a></h3>
+<div class="paragraph">
+<p>Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.</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>1024</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 class="sect2">
+<h3 id="kudu-tserver_log_cache_size_limit_mb"><a class="link" href="#kudu-tserver_log_cache_size_limit_mb"><code>--log_cache_size_limit_mb</code></a></h3>
+<div class="paragraph">
+<p>The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.</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>128</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 class="sect2">
+<h3 id="kudu-tserver_log_async_preallocate_segments"><a class="link" href="#kudu-tserver_log_async_preallocate_segments"><code>--log_async_preallocate_segments</code></a></h3>
+<div class="paragraph">
+<p>Whether the WAL segments preallocation should happen asynchronously</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 class="sect2">
+<h3 id="kudu-tserver_log_preallocate_segments"><a class="link" href="#kudu-tserver_log_preallocate_segments"><code>--log_preallocate_segments</code></a></h3>
+<div class="paragraph">
+<p>Whether the WAL should preallocate the entire segment before writing to it</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 class="sect2">
+<h3 id="kudu-tserver_log_segment_size_mb"><a class="link" href="#kudu-tserver_log_segment_size_mb"><code>--log_segment_size_mb</code></a></h3>
+<div class="paragraph">
+<p>The default size for log segments, in MB</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>8</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 class="sect2">
+<h3 id="kudu-tserver_evict_failed_followers"><a class="link" href="#kudu-tserver_evict_failed_followers"><code>--evict_failed_followers</code></a></h3>
+<div class="paragraph">
+<p>Whether to evict followers from the Raft config that have fallen too far behind the leader&#8217;s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_leader_failure_exp_backoff_max_delta_ms"><a class="link" href="#kudu-tserver_leader_failure_exp_backoff_max_delta_ms"><code>--leader_failure_exp_backoff_max_delta_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.</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>20000</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 class="sect2">
+<h3 id="kudu-tserver_leader_failure_max_missed_heartbeat_periods"><a class="link" href="#kudu-tserver_leader_failure_max_missed_heartbeat_periods"><code>--leader_failure_max_missed_heartbeat_periods</code></a></h3>
+<div class="paragraph">
+<p>Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.</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>3</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 class="sect2">
+<h3 id="kudu-tserver_raft_enable_pre_election"><a class="link" href="#kudu-tserver_raft_enable_pre_election"><code>--raft_enable_pre_election</code></a></h3>
+<div class="paragraph">
+<p>When enabled, candidates will call a pre-election before running a real leader election.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_raft_enable_tombstoned_voting"><a class="link" href="#kudu-tserver_raft_enable_tombstoned_voting"><code>--raft_enable_tombstoned_voting</code></a></h3>
+<div class="paragraph">
+<p>When enabled, tombstoned tablets may vote in elections.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_raft_heartbeat_interval_ms"><a class="link" href="#kudu-tserver_raft_heartbeat_interval_ms"><code>--raft_heartbeat_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.</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>500</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 class="sect2">
+<h3 id="kudu-tserver_raft_prepare_replacement_before_eviction"><a class="link" href="#kudu-tserver_raft_prepare_replacement_before_eviction"><code>--raft_prepare_replacement_before_eviction</code></a></h3>
+<div class="paragraph">
+<p>When enabled, failed replicas will only be evicted after a replacement has been prepared for them.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<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 class="sect2">
+<h3 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></h3>
+<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 class="sect2">
+<h3 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></h3>
+<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 class="sect2">
+<h3 id="kudu-tserver_block_manager_preflush_control"><a class="link" href="#kudu-tserver_block_manager_preflush_control"><code>--block_manager_preflush_control</code></a></h3>
+<div class="paragraph">
+<p>Controls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.</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">string</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>finalize</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 class="sect2">
+<h3 id="kudu-tserver_fs_max_thread_count_per_data_dir"><a class="link" href="#kudu-tserver_fs_max_thread_count_per_data_dir"><code>--fs_max_thread_count_per_data_dir</code></a></h3>
+<div class="paragraph">
+<p>Maximum work thread per data directory.</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">uint64</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>8</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 class="sect2">
+<h3 id="kudu-tserver_block_manager"><a class="link" href="#kudu-tserver_block_manager"><code>--block_manager</code></a></h3>
+<div class="paragraph">
+<p>Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.</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">string</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>log</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 class="sect2">
+<h3 id="kudu-tserver_log_block_manager_delete_dead_container"><a class="link" href="#kudu-tserver_log_block_manager_delete_dead_container"><code>--log_block_manager_delete_dead_container</code></a></h3>
+<div class="paragraph">
+<p>When enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_container_excess_space_before_cleanup_fraction"><a class="link" href="#kudu-tserver_log_container_excess_space_before_cleanup_fraction"><code>--log_container_excess_space_before_cleanup_fraction</code></a></h3>
+<div class="paragraph">
+<p>Additional fraction of a log container&#8217;s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.</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>0.10000000000000001</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 class="sect2">
+<h3 id="kudu-tserver_log_container_live_metadata_before_compact_ratio"><a class="link" href="#kudu-tserver_log_container_live_metadata_before_compact_ratio"><code>--log_container_live_metadata_before_compact_ratio</code></a></h3>
+<div class="paragraph">
+<p>Desired ratio of live block metadata in log containers. If a container&#8217;s live to total block ratio dips below this value, the container&#8217;s metadata file will be compacted at startup.</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>0.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 class="sect2">
+<h3 id="kudu-tserver_log_container_max_blocks"><a class="link" href="#kudu-tserver_log_container_max_blocks"><code>--log_container_max_blocks</code></a></h3>
+<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 class="sect2">
+<h3 id="kudu-tserver_log_container_max_size"><a class="link" href="#kudu-tserver_log_container_max_size"><code>--log_container_max_size</code></a></h3>
+<div class="paragraph">
+<p>Maximum size (soft) of a log container</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">uint64</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>10737418240</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 class="sect2">
+<h3 id="kudu-tserver_log_container_preallocate_bytes"><a class="link" href="#kudu-tserver_log_container_preallocate_bytes"><code>--log_container_preallocate_bytes</code></a></h3>
+<div class="paragraph">
+<p>Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation</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">uint64</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>33554432</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 class="sect2">
+<h3 id="kudu-tserver_rpc_acceptor_listen_backlog"><a class="link" href="#kudu-tserver_rpc_acceptor_listen_backlog"><code>--rpc_acceptor_listen_backlog</code></a></h3>
+<div class="paragraph">
+<p>Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.</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>128</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 class="sect2">
+<h3 id="kudu-tserver_rpc_encrypt_loopback_connections"><a class="link" href="#kudu-tserver_rpc_encrypt_loopback_connections"><code>--rpc_encrypt_loopback_connections</code></a></h3>
+<div class="paragraph">
+<p>Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.</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>false</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 class="sect2">
+<h3 id="kudu-tserver_rpc_trace_negotiation"><a class="link" href="#kudu-tserver_rpc_trace_negotiation"><code>--rpc_trace_negotiation</code></a></h3>
+<div class="paragraph">
+<p>If enabled, dump traces of all RPC negotiations to the log</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_callback_max_cycles"><a class="link" href="#kudu-tserver_rpc_callback_max_cycles"><code>--rpc_callback_max_cycles</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)</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>100000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tcp_keepalive_probe_period_s"><a class="link" href="#kudu-tserver_tcp_keepalive_probe_period_s"><code>--tcp_keepalive_probe_period_s</code></a></h3>
+<div class="paragraph">
+<p>The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.</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>60</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 class="sect2">
+<h3 id="kudu-tserver_tcp_keepalive_retry_count"><a class="link" href="#kudu-tserver_tcp_keepalive_retry_count"><code>--tcp_keepalive_retry_count</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.</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 class="sect2">
+<h3 id="kudu-tserver_tcp_keepalive_retry_period_s"><a class="link" href="#kudu-tserver_tcp_keepalive_retry_period_s"><code>--tcp_keepalive_retry_period_s</code></a></h3>
+<div class="paragraph">
+<p>The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.</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>3</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 class="sect2">
+<h3 id="kudu-tserver_remember_clients_ttl_ms"><a class="link" href="#kudu-tserver_remember_clients_ttl_ms"><code>--remember_clients_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.</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>3600000</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 class="sect2">
+<h3 id="kudu-tserver_remember_responses_ttl_ms"><a class="link" href="#kudu-tserver_remember_responses_ttl_ms"><code>--remember_responses_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.</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>600000</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 class="sect2">
+<h3 id="kudu-tserver_rpc_dump_all_traces"><a class="link" href="#kudu-tserver_rpc_dump_all_traces"><code>--rpc_dump_all_traces</code></a></h3>
+<div class="paragraph">
+<p>If true, dump all RPC traces at INFO level</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_duration_too_long_ms"><a class="link" href="#kudu-tserver_rpc_duration_too_long_ms"><code>--rpc_duration_too_long_ms</code></a></h3>
+<div class="paragraph">
+<p>Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_max_message_size"><a class="link" href="#kudu-tserver_rpc_max_message_size"><code>--rpc_max_message_size</code></a></h3>
+<div class="paragraph">
+<p>The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.</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>52428800</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_use_system_auth_to_local"><a class="link" href="#kudu-tserver_use_system_auth_to_local"><code>--use_system_auth_to_local</code></a></h3>
+<div class="paragraph">
+<p>When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.</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 class="sect2">
+<h3 id="kudu-tserver_ipki_server_key_size"><a class="link" href="#kudu-tserver_ipki_server_key_size"><code>--ipki_server_key_size</code></a></h3>
+<div class="paragraph">
+<p>the number of bits for server cert&#8217;s private key. The server cert is used for TLS connections to and from clients and other 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>2048</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 class="sect2">
+<h3 id="kudu-tserver_web_log_bytes"><a class="link" href="#kudu-tserver_web_log_bytes"><code>--web_log_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of bytes to display on the debug webserver&#8217;s log page</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_diagnostics_log_stack_traces_interval_ms"><a class="link" href="#kudu-tserver_diagnostics_log_stack_traces_interval_ms"><code>--diagnostics_log_stack_traces_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.</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">experimental,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_advertised_addresses"><a class="link" href="#kudu-tserver_rpc_advertised_addresses"><code>--rpc_advertised_addresses</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-tserver_rpc_num_acceptors_per_address"><a class="link" href="#kudu-tserver_rpc_num_acceptors_per_address"><code>--rpc_num_acceptors_per_address</code></a></h3>
+<div class="paragraph">
+<p>Number of RPC acceptor threads for each bound address</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>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 class="sect2">
+<h3 id="kudu-tserver_rpc_num_service_threads"><a class="link" href="#kudu-tserver_rpc_num_service_threads"><code>--rpc_num_service_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of RPC worker threads to run</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>20</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 class="sect2">
+<h3 id="kudu-tserver_rpc_reuseport"><a class="link" href="#kudu-tserver_rpc_reuseport"><code>--rpc_reuseport</code></a></h3>
+<div class="paragraph">
+<p>Whether to set the SO_REUSEPORT option on listening RPC sockets.</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>false</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 class="sect2">
+<h3 id="kudu-tserver_rpc_service_queue_length"><a class="link" href="#kudu-tserver_rpc_service_queue_length"><code>--rpc_service_queue_length</code></a></h3>
+<div class="paragraph">
+<p>Default length of queue for incoming RPC requests</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>50</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 class="sect2">
+<h3 id="kudu-tserver_gc_tcmalloc_memory_interval_seconds"><a class="link" href="#kudu-tserver_gc_tcmalloc_memory_interval_seconds"><code>--gc_tcmalloc_memory_interval_seconds</code></a></h3>
+<div class="paragraph">
+<p>Interval seconds to GC tcmalloc memory, 0 means disabled.</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">uint64</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>30</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_max_negotiation_threads"><a class="link" href="#kudu-tserver_max_negotiation_threads"><code>--max_negotiation_threads</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of connection negotiation threads.</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>50</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 class="sect2">
+<h3 id="kudu-tserver_min_negotiation_threads"><a class="link" href="#kudu-tserver_min_negotiation_threads"><code>--min_negotiation_threads</code></a></h3>
+<div class="paragraph">
+<p>Minimum number of connection negotiation threads.</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>0</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 class="sect2">
+<h3 id="kudu-tserver_num_reactor_threads"><a class="link" href="#kudu-tserver_num_reactor_threads"><code>--num_reactor_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of libev reactor threads to start.</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>4</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 class="sect2">
+<h3 id="kudu-tserver_rpc_ca_certificate_file"><a class="link" href="#kudu-tserver_rpc_ca_certificate_file"><code>--rpc_ca_certificate_file</code></a></h3>
+<div class="paragraph">
+<p>Path to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-tserver_rpc_certificate_file"><a class="link" href="#kudu-tserver_rpc_certificate_file"><code>--rpc_certificate_file</code></a></h3>
+<div class="paragraph">
+<p>Path to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-tserver_rpc_default_keepalive_time_ms"><a class="link" href="#kudu-tserver_rpc_default_keepalive_time_ms"><code>--rpc_default_keepalive_time_ms</code></a></h3>
+<div class="paragraph">
+<p>If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.</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>65000</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 class="sect2">
+<h3 id="kudu-tserver_rpc_listen_on_unix_domain_socket"><a class="link" href="#kudu-tserver_rpc_listen_on_unix_domain_socket"><code>--rpc_listen_on_unix_domain_socket</code></a></h3>
+<div class="paragraph">
+<p>Whether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.</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>false</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 class="sect2">
+<h3 id="kudu-tserver_rpc_negotiation_timeout_ms"><a class="link" href="#kudu-tserver_rpc_negotiation_timeout_ms"><code>--rpc_negotiation_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout for negotiating an RPC connection, 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">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>3000</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 class="sect2">
+<h3 id="kudu-tserver_rpc_private_key_file"><a class="link" href="#kudu-tserver_rpc_private_key_file"><code>--rpc_private_key_file</code></a></h3>
+<div class="paragraph">
+<p>Path to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'</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">string</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">none</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 class="sect2">
+<h3 id="kudu-tserver_rpc_private_key_password_cmd"><a class="link" href="#kudu-tserver_rpc_private_key_password_cmd"><code>--rpc_private_key_password_cmd</code></a></h3>
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the RPC server&#8217;s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_tls_ciphers"><a class="link" href="#kudu-tserver_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h3>
+<div class="paragraph">
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="sect2">
+<h3 id="kudu-tserver_rpc_tls_ciphersuites"><a class="link" href="#kudu-tserver_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h3>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="sect2">
+<h3 id="kudu-tserver_rpc_tls_excluded_protocols"><a class="link" href="#kudu-tserver_rpc_tls_excluded_protocols"><code>--rpc_tls_excluded_protocols</code></a></h3>
+<div class="paragraph">
+<p>A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.</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">string</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">none</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_tls_min_protocol"><a class="link" href="#kudu-tserver_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h3>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</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">string</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>TLSv1</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 class="sect2">
+<h3 id="kudu-tserver_server_max_open_files"><a class="link" href="#kudu-tserver_server_max_open_files"><code>--server_max_open_files</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. 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">uint64</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>0</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 class="sect2">
+<h3 id="kudu-tserver_webserver_enabled"><a class="link" href="#kudu-tserver_webserver_enabled"><code>--webserver_enabled</code></a></h3>
+<div class="paragraph">
+<p>Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.</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 class="sect2">
+<h3 id="kudu-tserver_metrics_log_interval_ms"><a class="link" href="#kudu-tserver_metrics_log_interval_ms"><code>--metrics_log_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.</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 class="sect2">
+<h3 id="kudu-tserver_webserver_max_post_length_bytes"><a class="link" href="#kudu-tserver_webserver_max_post_length_bytes"><code>--webserver_max_post_length_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum length of a POST request that will be accepted by the embedded web server.</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_x_frame_options"><a class="link" href="#kudu-tserver_webserver_x_frame_options"><code>--webserver_x_frame_options</code></a></h3>
+<div class="paragraph">
+<p>The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.</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">string</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>DENY</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 class="sect2">
+<h3 id="kudu-tserver_webserver_advertised_addresses"><a class="link" href="#kudu-tserver_webserver_advertised_addresses"><code>--webserver_advertised_addresses</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-tserver_webserver_authentication_domain"><a class="link" href="#kudu-tserver_webserver_authentication_domain"><code>--webserver_authentication_domain</code></a></h3>
+<div class="paragraph">
+<p>Domain used for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_doc_root"><a class="link" href="#kudu-tserver_webserver_doc_root"><code>--webserver_doc_root</code></a></h3>
+<div class="paragraph">
+<p>Files under &lt;webserver_doc_root&gt; are accessible via the debug webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root</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">string</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">none</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 class="sect2">
+<h3 id="kudu-tserver_webserver_enable_doc_root"><a class="link" href="#kudu-tserver_webserver_enable_doc_root"><code>--webserver_enable_doc_root</code></a></h3>
+<div class="paragraph">
+<p>If true, webserver may serve static files from the webserver_doc_root</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 class="sect2">
+<h3 id="kudu-tserver_webserver_interface"><a class="link" href="#kudu-tserver_webserver_interface"><code>--webserver_interface</code></a></h3>
+<div class="paragraph">
+<p>Interface to start debug webserver on. If blank, webserver binds to 0.0.0.0</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">string</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">none</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 class="sect2">
+<h3 id="kudu-tserver_webserver_num_worker_threads"><a class="link" href="#kudu-tserver_webserver_num_worker_threads"><code>--webserver_num_worker_threads</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of threads to start for handling web server requests</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>50</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 class="sect2">
+<h3 id="kudu-tserver_webserver_password_file"><a class="link" href="#kudu-tserver_webserver_password_file"><code>--webserver_password_file</code></a></h3>
+<div class="paragraph">
+<p>(Optional) Location of .htpasswd file containing user names and hashed passwords for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_tls_ciphers"><a class="link" href="#kudu-tserver_webserver_tls_ciphers"><code>--webserver_tls_ciphers</code></a></h3>
+<div class="paragraph">
+<p>The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="sect2">
+<h3 id="kudu-tserver_webserver_tls_min_protocol"><a class="link" href="#kudu-tserver_webserver_tls_min_protocol"><code>--webserver_tls_min_protocol</code></a></h3>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</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">string</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>TLSv1</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 class="sect2">
+<h3 id="kudu-tserver_budgeted_compaction_target_rowset_size"><a class="link" href="#kudu-tserver_budgeted_compaction_target_rowset_size"><code>--budgeted_compaction_target_rowset_size</code></a></h3>
+<div class="paragraph">
+<p>The target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.</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>33554432</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_compaction_approximation_ratio"><a class="link" href="#kudu-tserver_compaction_approximation_ratio"><code>--compaction_approximation_ratio</code></a></h3>
+<div class="paragraph">
+<p>Approximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.</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.0499999523162842</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_compaction_minimum_improvement"><a class="link" href="#kudu-tserver_compaction_minimum_improvement"><code>--compaction_minimum_improvement</code></a></h3>
+<div class="paragraph">
+<p>The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.</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>0.0099999997764825821</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 class="sect2">
+<h3 id="kudu-tserver_deltafile_default_block_size"><a class="link" href="#kudu-tserver_deltafile_default_block_size"><code>--deltafile_default_block_size</code></a></h3>
+<div class="paragraph">
+<p>Block size for delta files. In the future, this may become configurable on a per-table basis.</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>32768</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 class="sect2">
+<h3 id="kudu-tserver_deltafile_default_compression_codec"><a class="link" href="#kudu-tserver_deltafile_default_compression_codec"><code>--deltafile_default_compression_codec</code></a></h3>
+<div class="paragraph">
+<p>The compression codec used when writing deltafiles.</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">string</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>lz4</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 class="sect2">
+<h3 id="kudu-tserver_default_composite_key_index_block_size_bytes"><a class="link" href="#kudu-tserver_default_composite_key_index_block_size_bytes"><code>--default_composite_key_index_block_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Block size used for composite key indexes.</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>4096</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 class="sect2">
+<h3 id="kudu-tserver_rowset_metadata_store_keys"><a class="link" href="#kudu-tserver_rowset_metadata_store_keys"><code>--rowset_metadata_store_keys</code></a></h3>
+<div class="paragraph">
+<p>Whether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.</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>false</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 class="sect2">
+<h3 id="kudu-tserver_tablet_delta_store_major_compact_min_ratio"><a class="link" href="#kudu-tserver_tablet_delta_store_major_compact_min_ratio"><code>--tablet_delta_store_major_compact_min_ratio</code></a></h3>
+<div class="paragraph">
+<p>Minimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)</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>0.10000000149011612</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 class="sect2">
+<h3 id="kudu-tserver_tablet_delta_store_minor_compact_max"><a class="link" href="#kudu-tserver_tablet_delta_store_minor_compact_max"><code>--tablet_delta_store_minor_compact_max</code></a></h3>
+<div class="paragraph">
+<p>How many delta stores are required before forcing a minor delta compaction (Advanced option)</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_transaction_memory_limit_mb"><a class="link" href="#kudu-tserver_tablet_transaction_memory_limit_mb"><code>--tablet_transaction_memory_limit_mb</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.</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>64</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 class="sect2">
+<h3 id="kudu-tserver_compaction_small_rowset_tradeoff"><a class="link" href="#kudu-tserver_compaction_small_rowset_tradeoff"><code>--compaction_small_rowset_tradeoff</code></a></h3>
+<div class="paragraph">
+<p>The weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.</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>0.0089999999999999993</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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rows_writed_per_sec_for_hot_tablets"><a class="link" href="#kudu-tserver_rows_writed_per_sec_for_hot_tablets"><code>--rows_writed_per_sec_for_hot_tablets</code></a></h3>
+<div class="paragraph">
+<p>Minimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet&#8217;s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scans_started_per_sec_for_hot_tablets"><a class="link" href="#kudu-tserver_scans_started_per_sec_for_hot_tablets"><code>--scans_started_per_sec_for_hot_tablets</code></a></h3>
+<div class="paragraph">
+<p>Minimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet&#8217;s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.</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>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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_bloom_block_size"><a class="link" href="#kudu-tserver_tablet_bloom_block_size"><code>--tablet_bloom_block_size</code></a></h3>
+<div class="paragraph">
+<p>Block size of the bloom filters used for tablet keys.</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>4096</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 class="sect2">
+<h3 id="kudu-tserver_tablet_bloom_target_fp_rate"><a class="link" href="#kudu-tserver_tablet_bloom_target_fp_rate"><code>--tablet_bloom_target_fp_rate</code></a></h3>
+<div class="paragraph">
+<p>Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.</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>9.9999997473787516e-05</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 class="sect2">
+<h3 id="kudu-tserver_tablet_compaction_budget_mb"><a class="link" href="#kudu-tserver_tablet_compaction_budget_mb"><code>--tablet_compaction_budget_mb</code></a></h3>
+<div class="paragraph">
+<p>Budget for a single compaction</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>128</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 class="sect2">
+<h3 id="kudu-tserver_tablet_throttler_burst_factor"><a class="link" href="#kudu-tserver_tablet_throttler_burst_factor"><code>--tablet_throttler_burst_factor</code></a></h3>
+<div class="paragraph">
+<p>Burst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.</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</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 class="sect2">
+<h3 id="kudu-tserver_tablet_throttler_bytes_per_sec"><a class="link" href="#kudu-tserver_tablet_throttler_bytes_per_sec"><code>--tablet_throttler_bytes_per_sec</code></a></h3>
+<div class="paragraph">
+<p>Maximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no 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>0</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 class="sect2">
+<h3 id="kudu-tserver_tablet_throttler_rpc_per_sec"><a class="link" href="#kudu-tserver_tablet_throttler_rpc_per_sec"><code>--tablet_throttler_rpc_per_sec</code></a></h3>
+<div class="paragraph">
+<p>Maximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no 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>0</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 class="sect2">
+<h3 id="kudu-tserver_workload_score_upper_bound"><a class="link" href="#kudu-tserver_workload_score_upper_bound"><code>--workload_score_upper_bound</code></a></h3>
+<div class="paragraph">
+<p>Upper bound for workload score.</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</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_workload_stats_metric_collection_interval_ms"><a class="link" href="#kudu-tserver_workload_stats_metric_collection_interval_ms"><code>--workload_stats_metric_collection_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The interval in milliseconds at which we collect workload metrics.</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>300000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_workload_stats_rate_collection_min_interval_ms"><a class="link" href="#kudu-tserver_workload_stats_rate_collection_min_interval_ms"><code>--workload_stats_rate_collection_min_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The minimal interval in milliseconds at which we collect read/write rates.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_enable_deleted_rowset_gc"><a class="link" href="#kudu-tserver_enable_deleted_rowset_gc"><code>--enable_deleted_rowset_gc</code></a></h3>
+<div class="paragraph">
+<p>Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_enable_workload_score_for_perf_improvement_ops"><a class="link" href="#kudu-tserver_enable_workload_score_for_perf_improvement_ops"><code>--enable_workload_score_for_perf_improvement_ops</code></a></h3>
+<div class="paragraph">
+<p>Whether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_max_pending_txn_write_ops"><a class="link" href="#kudu-tserver_tablet_max_pending_txn_write_ops"><code>--tablet_max_pending_txn_write_ops</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction</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">uint32</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>2</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_flush_threshold_mb"><a class="link" href="#kudu-tserver_flush_threshold_mb"><code>--flush_threshold_mb</code></a></h3>
+<div class="paragraph">
+<p>Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn&#8217;t flushed in a while, or if the server-wide memory limit has been reached.</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>1024</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_flush_threshold_secs"><a class="link" href="#kudu-tserver_flush_threshold_secs"><code>--flush_threshold_secs</code></a></h3>
+<div class="paragraph">
+<p>Number of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.</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>120</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_flush_upper_bound_ms"><a class="link" href="#kudu-tserver_flush_upper_bound_ms"><code>--flush_upper_bound_ms</code></a></h3>
+<div class="paragraph">
+<p>Number of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.</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>3600000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_txn_background_rpc_timeout_ms"><a class="link" href="#kudu-tserver_txn_background_rpc_timeout_ms"><code>--txn_background_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Period (in milliseconds) with which transaction-related background requests are made</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">uint32</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>5000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-tserver_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_txn_keepalive_interval_ms"><a class="link" href="#kudu-tserver_txn_keepalive_interval_ms"><code>--txn_keepalive_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.</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">uint32</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_txn_staleness_tracker_interval_ms"><a class="link" href="#kudu-tserver_txn_staleness_tracker_interval_ms"><code>--txn_staleness_tracker_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Period (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn&#8217;t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.</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">uint32</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>10000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_txn_status_tablet_failover_catchup_timeout_ms"><a class="link" href="#kudu-tserver_txn_status_tablet_failover_catchup_timeout_ms"><code>--txn_status_tablet_failover_catchup_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_enable_txn_system_client_init"><a class="link" href="#kudu-tserver_enable_txn_system_client_init"><code>--enable_txn_system_client_init</code></a></h3>
+<div class="paragraph">
+<p>Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server&#8217;s TxnSystemClient to participate in orchestrating transactions.</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>false</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 class="sect2">
+<h3 id="kudu-tserver_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-tserver_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h3>
+<div class="paragraph">
+<p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_heartbeat_interval_ms"><a class="link" href="#kudu-tserver_heartbeat_interval_ms"><code>--heartbeat_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval at which the TS heartbeats to the master.</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 class="sect2">
+<h3 id="kudu-tserver_heartbeat_max_failures_before_backoff"><a class="link" href="#kudu-tserver_heartbeat_max_failures_before_backoff"><code>--heartbeat_max_failures_before_backoff</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.</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>3</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 class="sect2">
+<h3 id="kudu-tserver_heartbeat_rpc_timeout_ms"><a class="link" href="#kudu-tserver_heartbeat_rpc_timeout_ms"><code>--heartbeat_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout used for the TS&#8594;Master heartbeat RPCs.</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>15000</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 class="sect2">
+<h3 id="kudu-tserver_scan_history_count"><a class="link" href="#kudu-tserver_scan_history_count"><code>--scan_history_count</code></a></h3>
+<div class="paragraph">
+<p>Number of completed scans to keep history for. Determines how many historical scans will be shown on the tablet server&#8217;s scans dashboard.</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>20</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 class="sect2">
+<h3 id="kudu-tserver_scanner_ttl_ms"><a class="link" href="#kudu-tserver_scanner_ttl_ms"><code>--scanner_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Number of milliseconds of inactivity allowed for a scannerbefore it may be expired</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_copy_begin_session_timeout_ms"><a class="link" href="#kudu-tserver_tablet_copy_begin_session_timeout_ms"><code>--tablet_copy_begin_session_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_copy_download_threads_nums_per_session"><a class="link" href="#kudu-tserver_tablet_copy_download_threads_nums_per_session"><code>--tablet_copy_download_threads_nums_per_session</code></a></h3>
+<div class="paragraph">
+<p>Number of threads per tablet copy session for downloading tablet data blocks.</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>4</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_apply_pool_overload_threshold_ms"><a class="link" href="#kudu-tserver_tablet_apply_pool_overload_threshold_ms"><code>--tablet_apply_pool_overload_threshold_ms</code></a></h3>
+<div class="paragraph">
+<p>The threshold for the queue time of the 'apply' thread pool to enter and exit overloaded state. Once the queue stalls and its queue times become longer than the specified threshold, it enters the overloaded state. Tablet server rejects incoming write requests with some probability when its apply queue is overloaded. The longer the apply queue stays overloaded, the greater the probability of the rejection. In addition, the more row operations a write request has, the greater the probablity of the rejection. The apply queue exits the overloaded state when queue times drop below the specified threshold. Set this flag to 0 to disable the behavior described above.</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">uint32</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>0</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 class="sect2">
+<h3 id="kudu-tserver_scanner_batch_size_rows"><a class="link" href="#kudu-tserver_scanner_batch_size_rows"><code>--scanner_batch_size_rows</code></a></h3>
+<div class="paragraph">
+<p>The number of rows to batch for servicing scan requests.</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_default_batch_size_bytes"><a class="link" href="#kudu-tserver_scanner_default_batch_size_bytes"><code>--scanner_default_batch_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>The default size for batches of scan results</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_max_batch_size_bytes"><a class="link" href="#kudu-tserver_scanner_max_batch_size_bytes"><code>--scanner_max_batch_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum batch size that a client may request for scan results.</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>8388608</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_max_wait_ms"><a class="link" href="#kudu-tserver_scanner_max_wait_ms"><code>--scanner_max_wait_ms</code></a></h3>
+<div class="paragraph">
+<p>The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for 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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tserver_enforce_access_control"><a class="link" href="#kudu-tserver_tserver_enforce_access_control"><code>--tserver_enforce_access_control</code></a></h3>
+<div class="paragraph">
+<p>If set, the server will apply fine-grained access control rules to client RPCs.</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>false</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<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 class="sect2">
+<h3 id="kudu-tserver_num_tablets_to_delete_simultaneously"><a class="link" href="#kudu-tserver_num_tablets_to_delete_simultaneously"><code>--num_tablets_to_delete_simultaneously</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect2">
+<h3 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></h3>
+<div class="paragraph">
+<p>Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect2">
+<h3 id="kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="sect2">
+<h3 id="kudu-tserver_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-tserver_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h3>
+<div class="paragraph">
+<p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</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 class="sect2">
+<h3 id="kudu-tserver_txn_commit_pool_num_threads"><a class="link" href="#kudu-tserver_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="sect2">
+<h3 id="kudu-tserver_txn_participant_registration_pool_num_threads"><a class="link" href="#kudu-tserver_txn_participant_registration_pool_num_threads"><code>--txn_participant_registration_pool_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_update_tablet_stats_interval_ms"><a class="link" href="#kudu-tserver_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</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>5000</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 class="sect2">
+<h3 id="kudu-tserver_cloud_aws_instance_id_url"><a class="link" href="#kudu-tserver_cloud_aws_instance_id_url"><code>--cloud_aws_instance_id_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an AWS instance</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">string</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><a href="http://169.254.169.254/latest/meta-data/instance-id" class="bare">http://169.254.169.254/latest/meta-data/instance-id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_aws_ntp_server"><a class="link" href="#kudu-tserver_cloud_aws_ntp_server"><code>--cloud_aws_ntp_server</code></a></h3>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within an AWS instance</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">string</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>169.254.169.123</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_azure_instance_id_url"><a class="link" href="#kudu-tserver_cloud_azure_instance_id_url"><code>--cloud_azure_instance_id_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an Azure instance</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">string</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><a href="http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text" class="bare">http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_gce_instance_id_url"><a class="link" href="#kudu-tserver_cloud_gce_instance_id_url"><code>--cloud_gce_instance_id_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch the identifier of a GCE instance</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">string</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><a href="http://metadata.google.internal/computeMetadata/v1/instance/id" class="bare">http://metadata.google.internal/computeMetadata/v1/instance/id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_gce_ntp_server"><a class="link" href="#kudu-tserver_cloud_gce_ntp_server"><code>--cloud_gce_ntp_server</code></a></h3>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within a GCE instance</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">string</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>metadata.google.internal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_metadata_server_request_timeout_ms"><a class="link" href="#kudu-tserver_cloud_metadata_server_request_timeout_ms"><code>--cloud_metadata_server_request_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout for HTTP/HTTPS requests to the instance metadata server (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">uint32</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_openstack_metadata_url"><a class="link" href="#kudu-tserver_cloud_openstack_metadata_url"><code>--cloud_openstack_metadata_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.</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">string</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><a href="http://169.254.169.254/openstack/latest/meta_data.json" class="bare">http://169.254.169.254/openstack/latest/meta_data.json</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_trace_to_console"><a class="link" href="#kudu-tserver_trace_to_console"><code>--trace_to_console</code></a></h3>
+<div class="paragraph">
+<p>Trace pattern specifying which trace events should be dumped directly to the console</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">string</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">none</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 class="sect2">
+<h3 id="kudu-tserver_crash_on_eio"><a class="link" href="#kudu-tserver_crash_on_eio"><code>--crash_on_eio</code></a></h3>
+<div class="paragraph">
+<p>Kill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_env_use_ioctl_hole_punch_on_xfs"><a class="link" href="#kudu-tserver_env_use_ioctl_hole_punch_on_xfs"><code>--env_use_ioctl_hole_punch_on_xfs</code></a></h3>
+<div class="paragraph">
+<p>Use the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<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 class="sect2">
+<h3 id="kudu-tserver_heap_sample_every_n_bytes"><a class="link" href="#kudu-tserver_heap_sample_every_n_bytes"><code>--heap_sample_every_n_bytes</code></a></h3>
+<div class="paragraph">
+<p>Enable heap occupancy sampling. If this flag is set to some positive value N, a memory allocation will be sampled approximately every N bytes. Lower values of N incur larger overhead but give more accurate results. A value such as 524288 (512KB) is a reasonable choice with relatively low overhead.</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>0</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_umask"><a class="link" href="#kudu-tserver_umask"><code>--umask</code></a></h3>
+<div class="paragraph">
+<p>The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.</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">string</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>077</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 class="sect2">
+<h3 id="kudu-tserver_data_gc_min_size_mb"><a class="link" href="#kudu-tserver_data_gc_min_size_mb"><code>--data_gc_min_size_mb</code></a></h3>
+<div class="paragraph">
+<p>The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.</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>0</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 class="sect2">
+<h3 id="kudu-tserver_data_gc_prioritization_prob"><a class="link" href="#kudu-tserver_data_gc_prioritization_prob"><code>--data_gc_prioritization_prob</code></a></h3>
+<div class="paragraph">
+<p>The probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.</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>0.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 class="sect2">
+<h3 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></h3>
+<div class="paragraph">
+<p>The target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.</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>1024</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 class="sect2">
+<h3 id="kudu-tserver_maintenance_op_multiplier"><a class="link" href="#kudu-tserver_maintenance_op_multiplier"><code>--maintenance_op_multiplier</code></a></h3>
+<div class="paragraph">
+<p>Multiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs</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.1000000000000001</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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_max_priority_range"><a class="link" href="#kudu-tserver_max_priority_range"><code>--max_priority_range</code></a></h3>
+<div class="paragraph">
+<p>Maximal priority range of OPs.</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>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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_metrics_retirement_age_ms"><a class="link" href="#kudu-tserver_metrics_retirement_age_ms"><code>--metrics_retirement_age_ms</code></a></h3>
+<div class="paragraph">
+<p>The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)</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>120000</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_dns_resolver_cache_capacity_mb"><a class="link" href="#kudu-tserver_dns_resolver_cache_capacity_mb"><code>--dns_resolver_cache_capacity_mb</code></a></h3>
+<div class="paragraph">
+<p>Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.</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">uint32</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 class="sect2">
+<h3 id="kudu-tserver_dns_resolver_cache_ttl_sec"><a class="link" href="#kudu-tserver_dns_resolver_cache_ttl_sec"><code>--dns_resolver_cache_ttl_sec</code></a></h3>
+<div class="paragraph">
+<p>TTL of records in the DNS resolver cache, in seconds.</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">uint32</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>15</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 class="sect2">
+<h3 id="kudu-tserver_dns_resolver_max_threads_num"><a class="link" href="#kudu-tserver_dns_resolver_max_threads_num"><code>--dns_resolver_max_threads_num</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of threads to use for async DNS resolution</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>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 class="sect2">
+<h3 id="kudu-tserver_local_ip_for_outbound_sockets"><a class="link" href="#kudu-tserver_local_ip_for_outbound_sockets"><code>--local_ip_for_outbound_sockets</code></a></h3>
+<div class="paragraph">
+<p>IP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-tserver_nvm_cache_path"><a class="link" href="#kudu-tserver_nvm_cache_path"><code>--nvm_cache_path</code></a></h3>
+<div class="paragraph">
+<p>The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.</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">string</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>/pmem</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_nvm_cache_usage_ratio"><a class="link" href="#kudu-tserver_nvm_cache_usage_ratio"><code>--nvm_cache_usage_ratio</code></a></h3>
+<div class="paragraph">
+<p>A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.</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.25</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 class="sect2">
+<h3 id="kudu-tserver_memory_limit_soft_percentage"><a class="link" href="#kudu-tserver_memory_limit_soft_percentage"><code>--memory_limit_soft_percentage</code></a></h3>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher 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">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>80</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 class="sect2">
+<h3 id="kudu-tserver_memory_limit_warn_threshold_percentage"><a class="link" href="#kudu-tserver_memory_limit_warn_threshold_percentage"><code>--memory_limit_warn_threshold_percentage</code></a></h3>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.</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>98</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 class="sect2">
+<h3 id="kudu-tserver_memory_pressure_percentage"><a class="link" href="#kudu-tserver_memory_pressure_percentage"><code>--memory_pressure_percentage</code></a></h3>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.</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>60</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 class="sect2">
+<h3 id="kudu-tserver_tcmalloc_max_free_bytes_percentage"><a class="link" href="#kudu-tserver_tcmalloc_max_free_bytes_percentage"><code>--tcmalloc_max_free_bytes_percentage</code></a></h3>
+<div class="paragraph">
+<p>Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.</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 class="sect2">
+<h3 id="kudu-tserver_drop_log_memory"><a class="link" href="#kudu-tserver_drop_log_memory"><code>--drop_log_memory</code></a></h3>
+<div class="paragraph">
+<p>Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_backtrace_at"><a class="link" href="#kudu-tserver_log_backtrace_at"><code>--log_backtrace_at</code></a></h3>
+<div class="paragraph">
+<p>Emit a backtrace when logging at file:linenum.</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">string</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">none</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 class="sect2">
+<h3 id="kudu-tserver_logbuflevel"><a class="link" href="#kudu-tserver_logbuflevel"><code>--logbuflevel</code></a></h3>
+<div class="paragraph">
+<p>Buffer log messages logged at this level or lower (-1 means don&#8217;t buffer; 0 means buffer INFO only; &#8230;&#8203;)</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>0</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_logbufsecs"><a class="link" href="#kudu-tserver_logbufsecs"><code>--logbufsecs</code></a></h3>
+<div class="paragraph">
+<p>Buffer log messages for at most this many seconds</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>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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_logfile_mode"><a class="link" href="#kudu-tserver_logfile_mode"><code>--logfile_mode</code></a></h3>
+<div class="paragraph">
+<p>Log file mode/permissions.</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>436</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"></td>
+</tr>
+</tbody>
+</table>
+<hr>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/contributing.html b/releases/1.15.0/docs/contributing.html
new file mode 100644
index 0000000..3875ef8
--- /dev/null
+++ b/releases/1.15.0/docs/contributing.html
@@ -0,0 +1,1281 @@
+<!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 - Contributing to Apache Kudu</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Contributing to Apache Kudu</h1>
+      <div class="sect1">
+<h2 id="_contributing_patches_using_gerrit"><a class="link" href="#_contributing_patches_using_gerrit">Contributing Patches Using Gerrit</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Kudu team uses Gerrit for code review, rather than Github pull requests. Typically,
+you pull from Github but push to Gerrit, and Gerrit is used to review code and merge
+it into Github.</p>
+</div>
+<div class="paragraph">
+<p>See the <a href="https://www.mediawiki.org/wiki/Gerrit/Tutorial">Gerrit Tutorial</a>
+for an overview of using Gerrit for code review.</p>
+</div>
+<div class="sect2">
+<h3 id="_initial_setup_for_gerrit"><a class="link" href="#_initial_setup_for_gerrit">Initial Setup for Gerrit</a></h3>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Sign in to <a href="https://gerrit.cloudera.org/">Gerrit</a> using your Github username.</p>
+</li>
+<li>
+<p>Go to <a href="https://gerrit.cloudera.org/settings/">Settings</a>. Update your name
+and email address on the <strong>Contact Information</strong> page, and upload a SSH public
+key under <strong>SSH Public Keys</strong> if you would like to use SSH to connect to Gerrit.
+Generate an HTTP password under <strong>HTTP Password</strong> if you would like to use HTTP
+or HTTPS to connect to Gerrit. (Most Kudu developers use the SSH option.)</p>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+If you do not update your name, it will appear as "Anonymous Coward" in
+Gerrit reviews.
+</td>
+</tr>
+</table>
+</div>
+</li>
+<li>
+<p>If you have not done so, clone the main Kudu repository. By default, the main remote
+is called <code>origin</code>. When you fetch or pull, you will do so from <code>origin</code>.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">git clone https://github.com/apache/kudu</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Change to the new <code>kudu</code> directory.</p>
+</li>
+<li>
+<p>Add a <code>gerrit</code> remote.</p>
+<div class="paragraph">
+<p>If using SSH to connect to Gerrit, use the following command to add the Gerrit
+remote (substitute &lt;username&gt; with your Github username):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">git remote add gerrit ssh://&lt;username&gt;@gerrit.cloudera.org:29418/kudu</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If using HTTP or HTTPS to connect to Gerrit, use the following command to add
+the Gerrit remote (http:// also works):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">git remote add gerrit https://gerrit.cloudera.org/a/kudu</code></pre>
+</div>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>If you are using Gerrit&#8217;s HTTP or HTTPS endpoints and prefer not to type a
+username and password each time you submit a patch, you can put your login and
+password into a <code>.netrc</code> file located at <code>$HOME/.netrc</code> and Git will use it.
+The password is stored as plaintext and the file format is as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code>machine &lt;hostname&gt;
+  login &lt;username&gt;
+  password &lt;password&gt;</code></pre>
+</div>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</li>
+<li>
+<p>Run the following command to install the Gerrit <code>commit-msg</code> hook:</p>
+<div class="listingblock">
+<div class="content">
+<pre>cd kudu
+gitdir=$(git rev-parse --git-dir)
+curl -LSsf https://gerrit.cloudera.org/tools/hooks/commit-msg -o ${gitdir}/hooks/commit-msg
+chmod +x ${gitdir}/hooks/commit-msg</pre>
+</div>
+</div>
+</li>
+<li>
+<p>Be sure you have set the Kudu repository to use <code>pull --rebase</code> by default. You
+can use the following two commands, assuming you have only ever checked out <code>master</code>
+so far:</p>
+<div class="listingblock">
+<div class="content">
+<pre>git config branch.autosetuprebase always
+git config branch.master.rebase true</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If for some reason you had already checked out branches other than <code>master</code>, substitute
+<code>master</code> for the other branch names in the second command above.</p>
+</div>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_submitting_patches"><a class="link" href="#_submitting_patches">Submitting Patches</a></h3>
+<div class="paragraph">
+<p>To submit a patch, first commit your change (using a descriptive multi-line
+commit message if possible), then push the request to the <code>gerrit</code> remote. For instance, to push a change
+to the <code>master</code> branch:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>git push gerrit HEAD:refs/for/master --no-thin</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>or to push a change to the <code>gh-pages</code> branch (to update the website):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>git push gerrit HEAD:refs/for/gh-pages --no-thin</pre>
+</div>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+While preparing a patch for review, it&#8217;s a good idea to follow
+<a href="https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#_commit_guidelines">generic git commit guidelines and good practices</a>.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The <code>--no-thin</code> argument is a workaround to prevent an error in Gerrit. See
+<a href="https://code.google.com/p/gerrit/issues/detail?id=1582" class="bare">https://code.google.com/p/gerrit/issues/detail?id=1582</a>.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+Consider creating Git aliases for the above commands. Gerrit also includes
+a command-line tool called
+<a href="https://www.mediawiki.org/wiki/Gerrit/Tutorial#Installing_git-review">git-review</a>,
+which you may find helpful.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+You can add reviewers automatically for a patch by adding their GitHub
+username or associated email address to the remote branch name following with
+the "r" flag:
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>git push gerrit HEAD:refs/for/master%r=githubuser,r=example@apache.org</pre>
+</div>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+To find possible reviewer candidates for your commit, use git blame or git
+log to find out who are involved with the area you&#8217;re touching. It&#8217;s also a
+good idea to add as reviewer whoever is involved with the JIRA you&#8217;re working
+on.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Gerrit will add a change ID to your commit message and will create a Gerrit review,
+whose URL will be emitted as part of the push reply. If desired, you can send a message
+to the <code>kudu-dev</code> mailing list, explaining your patch and requesting review.</p>
+</div>
+<div class="paragraph">
+<p>After getting feedback, you can update or amend your commit, (for instance, using
+a command like <code>git commit --amend</code>) while leaving the Change
+ID intact. Push your change to Gerrit again, and this will create a new patch set
+in Gerrit and notify all reviewers about the change.</p>
+</div>
+<div class="paragraph">
+<p>When your code has been reviewed and is ready to be merged into the Kudu code base,
+a Kudu committer will merge it using Gerrit. You can discard your local branch.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_abandoning_a_review"><a class="link" href="#_abandoning_a_review">Abandoning a Review</a></h3>
+<div class="paragraph">
+<p>If your patch is not accepted or you decide to pull it from consideration, you can
+use the Gerrit UI to <strong>Abandon</strong> the patch. It will still show in Gerrit&#8217;s history,
+but will not be listed as a pending review.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_reviewing_patches_in_gerrit"><a class="link" href="#_reviewing_patches_in_gerrit">Reviewing Patches In Gerrit</a></h3>
+<div class="paragraph">
+<p>You can view a unified or side-by-side diff of changes in Gerrit using the web UI.
+To leave a comment, click the relevant line number or highlight the relevant part
+of the line, and type 'c' to bring up a comment box. To submit your comments and/or
+your review status, go up to the top level of the review and click <strong>Reply</strong>. You can
+add additional top-level comments here, and submit them.</p>
+</div>
+<div class="paragraph">
+<p>To check out code from a Gerrit review, click <strong>Download</strong> and paste the relevant Git
+commands into your Git client. You can then update the commit and push to Gerrit to
+submit a patch to the review, even if you were not the original reviewer.</p>
+</div>
+<div class="paragraph">
+<p>Gerrit allows you to vote on a review. A vote of <code>+2</code> from at least one committer
+(besides the submitter) is required before the patch can be merged.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_code_style"><a class="link" href="#_code_style">Code Style</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_c_code_style"><a class="link" href="#_c_code_style">C&#43;&#43; Code Style</a></h3>
+<div class="paragraph">
+<p>Get familiar with these guidelines so that your contributions can be reviewed and
+integrated quickly and easily.</p>
+</div>
+<div class="paragraph">
+<p>In general, Kudu follows the
+<a href="https://google.github.io/styleguide/cppguide.html">Google C&#43;&#43; Style Guide</a>.</p>
+</div>
+<div class="paragraph">
+<p>A <code>clang-format</code> file is provided in <code>src/kudu/.clang-format</code> which allows
+automatic formatting of source code whitespacing, indentation, etc. Not all
+existing code conforms to this automatic formatting, so prefer using
+<code>clang-format-diff</code> to format only the lines changed by your patch. For example,
+after making a commit, run the following from the root of your checked out
+source:</p>
+</div>
+<div class="paragraph">
+<p>+</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">git show -U0 | build-support/clang_format_diff.sh -i -p1
+git commit -a --amend</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_exceptions_from_google_style_guide"><a class="link" href="#_exceptions_from_google_style_guide">Exceptions from Google Style Guide</a></h3>
+<div class="paragraph">
+<p>Kudu&#8217;s code base makes the following notable exceptions from the Google Style Guide
+referenced above:</p>
+</div>
+<div class="sect3">
+<h4 id="_notes_on_c_11"><a class="link" href="#_notes_on_c_11">Notes on C&#43;&#43; 11</a></h4>
+<div class="paragraph">
+<p>Kudu uses C&#43;&#43; 11. Check out this handy guide to C&#43;&#43; 11 move semantics and rvalue
+references: <a href="https://www.chromium.org/rvalue-references" class="bare">https://www.chromium.org/rvalue-references</a></p>
+</div>
+<div class="paragraph">
+<p>We aim to follow most of the same guidelines, such as, where possible, migrating
+away from <code>foo.Pass()</code> in favor of <code>std::move(foo)</code>.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_limitations_on_boost_use"><a class="link" href="#_limitations_on_boost_use">Limitations on <code>boost</code> Use</a></h4>
+<div class="paragraph">
+<p><code>boost</code> classes from header-only libraries can be used in cases where a suitable
+replacement does not exist in the Kudu code base. However:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Do not introduce dependencies on <code>boost</code> classes where equivalent functionality
+exists in the standard C&#43;&#43; library or in <code>src/kudu/gutil/</code>. For example, prefer
+<code>strings::Split()</code> from <code>gutil</code> rather than <code>boost::split</code>.</p>
+</li>
+<li>
+<p>Prefer using functionality from  <code>boost</code> rather than re-implementing the same
+functionality, <em>unless</em> using the <code>boost</code> functionality requires excessive use of
+C&#43;&#43; features which are disallowed by our style guidelines. For example,
+<code>boost::spirit</code> is heavily based on template metaprogramming and should not be used.</p>
+</li>
+<li>
+<p>Do not use <code>boost</code> in any public headers for the Kudu C&#43;&#43; client, because
+<code>boost</code> commonly breaks backward compatibility, and passing data between two
+<code>boost</code> versions (one by the user, one by Kudu) causes serious issues.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>When in doubt about introducing a new dependency on any <code>boost</code> functionality,
+it is best to email <code>dev@kudu.apache.org</code> to start a discussion.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_line_length"><a class="link" href="#_line_length">Line length</a></h4>
+<div class="paragraph">
+<p>The Kudu team allows line lengths of 100 characters per line, rather than Google&#8217;s standard of 80. Try to
+keep under 80 where possible, but you can spill over to 100 or so if necessary.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_pointers"><a class="link" href="#_pointers">Pointers</a></h4>
+<div class="paragraph">
+<div class="title">Smart Pointers and Singly-Owned Pointers</div>
+<p>Generally, most objects should have clear "single-owner" semantics.
+Most of the time, singly-owned objects can be wrapped in a <code>unique_ptr&lt;&gt;</code>
+which ensures deletion on scope exit and prevents accidental copying.</p>
+</div>
+<div class="paragraph">
+<p>If an object is singly owned, but referenced from multiple places, such as when
+the pointed-to object is known to be valid at least as long as the pointer itself,
+associate a comment with the constructor which takes and stores the raw pointer,
+as in the following example.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-c++" data-lang="c++">  // 'blah' must remain valid for the lifetime of this class
+  MyClass(const Blah* blah) :
+    blah_(blah) {
+  }</code></pre>
+</div>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Using <code>std::auto_ptr</code> is strictly disallowed because of its difficult and
+bug-prone semantics. Besides, <code>std::auto_ptr</code> is declared deprecated
+since C&#43;&#43;11.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<div class="title">Smart Pointers for Multiply-Owned Pointers:</div>
+<p>Although single ownership is ideal, sometimes it is not possible, particularly
+when multiple threads are in play and the lifetimes of the pointers are not
+clearly defined. In these cases, you can use either <code>std::shared_ptr</code> or
+Kudu&#8217;s own <code>scoped_refptr</code> from <em>gutil/ref_counted.hpp</em>. Each of these mechanisms
+relies on reference counting to automatically delete the referent once no more
+pointers remain. The key difference between these two types of pointers is that
+<code>scoped_refptr</code> requires that the object extend a <code>RefCounted</code> base class, and
+stores its reference count inside the object storage itself, while <code>shared_ptr</code>
+maintains a separate reference count on the heap.</p>
+</div>
+<div class="paragraph">
+<p>The pros and cons are:</p>
+</div>
+<div class="ulist none">
+<div class="title"><code>shared_ptr</code></div>
+<ul class="none">
+<li>
+<p><span class="icon green"><i class="fa fa-plus-circle"></i></span> can be used with any type of object, without the
+object deriving from a special base class</p>
+</li>
+<li>
+<p><span class="icon green"><i class="fa fa-plus-circle"></i></span> part of the standard library and familiar to most
+C&#43;&#43; developers</p>
+</li>
+<li>
+<p><span class="icon green"><i class="fa fa-plus-circle"></i></span> supports the <code>weak_ptr</code> use cases:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>a temporary ownership when an object needs to be accessed only if it exists</p>
+</li>
+<li>
+<p>break circular references of <code>shared_ptr</code>, if any exists due to aggregation</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><span class="icon green"><i class="fa fa-plus-circle"></i></span> you can convert from the
+<code>shared_ptr</code> into the <code>weak_ptr</code> and back</p>
+</li>
+<li>
+<p><span class="icon green"><i class="fa fa-plus-circle"></i></span> if creating an instance with
+<code>std::make_shared&lt;&gt;()</code> only one allocation is made (since C&#43;&#43;11;
+a non-binding requirement in the Standard, though)</p>
+</li>
+<li>
+<p><span class="icon red"><i class="fa fa-minus-circle"></i></span> if creating a new object with
+<code>shared_ptr&lt;T&gt; p(new T)</code> requires two allocations (one to create the ref count,
+and one to create the object)</p>
+</li>
+<li>
+<p><span class="icon red"><i class="fa fa-minus-circle"></i></span> the ref count may not be near the object on the heap,
+so extra cache misses may be incurred on access</p>
+</li>
+<li>
+<p><span class="icon red"><i class="fa fa-minus-circle"></i></span> the <code>shared_ptr</code> instance itself requires 16 bytes
+(pointer to the ref count and pointer to the object)</p>
+</li>
+</ul>
+</div>
+<div class="ulist none">
+<div class="title"><code>scoped_refptr</code></div>
+<ul class="none">
+<li>
+<p><span class="icon green"><i class="fa fa-plus-circle fa-pro"></i></span> only requires a single allocation, and ref count
+is on the same cache line as the object</p>
+</li>
+<li>
+<p><span class="icon green"><i class="fa fa-plus-circle fa-pro"></i></span> the pointer only requires 8 bytes (since
+the ref count is within the object)</p>
+</li>
+<li>
+<p><span class="icon green"><i class="fa fa-plus-circle fa-pro"></i></span> you can manually increase or decrease
+reference counts when more control is required</p>
+</li>
+<li>
+<p><span class="icon green"><i class="fa fa-plus-circle fa-pro"></i></span> you can convert from a raw pointer back
+to a <code>scoped_refptr</code> safely without worrying about double freeing</p>
+</li>
+<li>
+<p><span class="icon green"><i class="fa fa-plus-circle fa-pro"></i></span> since we control the implementation, we
+can implement features, such as debug builds that capture the stack trace of every
+referent to help debug leaks.</p>
+</li>
+<li>
+<p><span class="icon red"><i class="fa fa-minus-circle fa-con"></i></span> the referred-to object must inherit
+from <code>RefCounted</code></p>
+</li>
+<li>
+<p><span class="icon red"><i class="fa fa-minus-circle fa-con"></i></span> does not support the <code>weak_ptr</code> use cases</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Since <code>scoped_refptr</code> is generally faster and smaller, try to use it
+rather than <code>shared_ptr</code> in new code. Existing code uses <code>shared_ptr</code>
+in many places. When interfacing with that code, you can continue to use <code>shared_ptr</code>.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_function_binding_and_callbacks"><a class="link" href="#_function_binding_and_callbacks">Function Binding and Callbacks</a></h4>
+<div class="paragraph">
+<p>All code should use C&#43;&#43;11 lambdas to capture and manage functors. Functions that
+take a lambda as an argument should use <code>std::function</code> as the argument&#8217;s
+type. Do not use <code>boost::bind</code> or <code>std::bind</code> to create functors. Lambdas offer
+the compiler greater opportunity to inline, and <code>std::bind</code> in particular is
+<a href="https://abseil.io/tips/108">error-prone</a> and has a proclivity towards heap
+allocation for storing bound parameters.</p>
+</div>
+<div class="paragraph">
+<p>Until Kudu is upgraded to C&#43;&#43;14, lambda support will be
+<a href="https://stackoverflow.com/a/17545183">somewhat incomplete</a>. For example, it
+is not possible in C&#43;&#43;11 to capture an argument by move. Nor is it possible
+to define new variables in the context of a lambda capture. Workarounds for
+these deficiencies exist, and they must be used in the interim.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_gflags"><a class="link" href="#_gflags">GFlags</a></h4>
+<div class="paragraph">
+<p>Kudu uses gflags for both command-line and file-based configuration. Use these guidelines
+to add a new gflag. All new gflags must conform to these
+guidelines. Existing non-conformant ones will be made conformant in time.</p>
+</div>
+<div class="paragraph">
+<div class="title">Name</div>
+<p>The gflag&#8217;s name conveys a lot of information, so choose a good name. The name
+will propagate into other systems, such as the
+<a href="configuration_reference.html">Configuration Reference</a>.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The different parts of a multi-word name should be separated by underscores.
+For example, <code>fs_data_dirs</code>.</p>
+</li>
+<li>
+<p>The name should be prefixed with the context that it affects. For example,
+<code>webserver_num_worker_threads</code> and <code>cfile_default_block_size</code>. Context can be
+difficult to define, so bear in mind that this prefix will be
+used to group similar gflags together. If the gflag affects the entire
+process, it should not be prefixed.</p>
+</li>
+<li>
+<p>If the gflag is for a quantity, the name should be suffixed with the units.
+For example, <code>tablet_copy_idle_timeout_ms</code>.</p>
+</li>
+<li>
+<p>Where possible, use short names. This will save time for those entering
+command line options by hand.</p>
+</li>
+<li>
+<p>The name is part of Kudu&#8217;s compatibility contract, and should not change
+without very good reason.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<div class="title">Default value</div>
+<p>Choosing a default value is generally simple, but like the name, it propagates
+into other systems.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The default value is part of Kudu&#8217;s compatibility contract, and should not
+change without very good reason.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<div class="title">Description</div>
+<p>The gflag&#8217;s description should supplement the name and provide additional
+context and information. Like the name, the description propagates into other
+systems.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The description may include multiple sentences. Each should begin with a
+capital letter, end with a period, and begin one space after the previous.</p>
+</li>
+<li>
+<p>The description should NOT include the gflag&#8217;s type or default value; they are
+provided out-of-band.</p>
+</li>
+<li>
+<p>The description should be in the third person. Do not use words like <code>you</code>.</p>
+</li>
+<li>
+<p>A gflag description can be changed freely; it is not expected to remain the
+same across Kudu releases.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<div class="title">Tags</div>
+<p>Kudu&#8217;s gflag tagging mechanism adds machine-readable context to each gflag, for
+use in consuming systems such as documentation or management tools. See the large block
+comment in <em>flag_tags.h</em> for guidelines.</p>
+</div>
+<div class="ulist">
+<div class="title">Miscellaneous</div>
+<ul>
+<li>
+<p>Avoid creating multiple gflags for the same logical parameter. For
+example, many Kudu binaries need to configure a WAL directory. Rather than
+creating <code>foo_wal_dir</code> and <code>bar_wal_dir</code> gflags, better to have a single
+<code>kudu_wal_dir</code> gflag for use universally.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_java_code_style"><a class="link" href="#_java_code_style">Java Code Style</a></h3>
+<div class="sect3">
+<h4 id="_preconditions_vs_assert_in_the_kudu_java_client"><a class="link" href="#_preconditions_vs_assert_in_the_kudu_java_client">Preconditions vs assert in the Kudu Java client</a></h4>
+<div class="paragraph">
+<p>Use <code>assert</code> for verification of the static (i.e. non-runtime) internal
+invariants. Internal means the pre- and post-conditions which are
+completely under control of the code of a class or a function itself and cannot
+be influenced by input parameters and other runtime/dynamic conditions.</p>
+</div>
+<div class="paragraph">
+<p>Use <code>Preconditions</code> for verification of the input parameters and the other
+conditions which are outside of the control of the local code, or conditions
+which are dependent on the state of other objects/components in runtime.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-java" data-lang="java">Object pop() {
+  // Use Preconditions here because the external user of the class should not
+  // call pop() on an empty stack, but the stack itself is internally consistent
+  Preconditions.checkState(curSize &gt; 0, "queue must not be empty");
+  Object toReturn = data[--curSize];
+  // Use an assert here because if we ended up with a negative size counter,
+  // that's an indication of a broken implementation of the stack; i.e. it's
+  // an invariant, not a state check.
+  assert curSize &gt;= 0;
+  return toReturn;
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>However, keep in mind that <code>assert</code> checks are enabled only when the JVM is
+run with <code>-ea</code> option. So, if some dynamic condition is crucial for the
+overall consistency (e.g. a data loss can occur if some dynamic condition is not
+satisfied and the code continues its execution), consider throwing an
+<code>AssertionError</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-java" data-lang="java">if (!isCriticalConditionSatisfied) {
+  throw new AssertionError("cannot continue: data loss is possible otherwise");
+}</code></pre>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_checking_code_style_with_gradle_checkstyle"><a class="link" href="#_checking_code_style_with_gradle_checkstyle">Checking code style with Gradle checkStyle</a></h5>
+<div class="paragraph">
+<p>Before posting a Java patch to Gerrit for review, make sure to check Java code
+style with Gradle <code>checkstyle</code> plugin. See
+<a href="https://docs.gradle.org/current/userguide/checkstyle_plugin.html">Gradle Checkstyle Plugin documentation</a>
+for more information.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">./gradlew checkstyle</code></pre>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_references"><a class="link" href="#_references">References</a></h5>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://docs.oracle.com/javase/8/docs/technotes/guides/language/assert.html">Programming With Assertions</a></p>
+</li>
+<li>
+<p><a href="https://github.com/google/guava/wiki/PreconditionsExplained">Guava Preconditions Explained</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_cmake_style_guide"><a class="link" href="#_cmake_style_guide"><code>CMake</code> Style Guide</a></h3>
+<div class="paragraph">
+<p><code>CMake</code> allows commands in lower, upper, or mixed case. To keep
+the CMake files consistent, please use the following guidelines:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>built-in commands</strong> in lowercase</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>add_subdirectory(some/path)</pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>built-in arguments</strong> in uppercase</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>message(STATUS "message goes here")</pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>custom commands or macros</strong> in uppercase</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>ADD_KUDU_TEST(some-test)</pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_third_party_dependencies"><a class="link" href="#_third_party_dependencies">Third-party dependencies</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Like many complex applications, Kudu depends on a number of third-party
+dependencies. Some (such as OpenSSL) are expected to be found on the build
+system itself. However, the vast majority are "vendored" in the <code>thirdparty/</code>
+tree. These dependencies are all versioned and pinned. They are also
+source-based; the dependencies are built before the rest of Kudu is built using
+the <code>build-if-necessary.sh</code> script.</p>
+</div>
+<div class="paragraph">
+<p>Third-party dependencies and their versions are defined in <code>vars.sh</code>. The source
+code for each dependency is located in a tarball, typically named
+<code>&lt;dependency&gt;-&lt;version&gt;.tar.gz</code>. The tarballs are stored in an Amazon S3 bucket
+operated by Cloudera. The bucket is cached in Amazon CloudFront to maximize
+download performance and reliability.</p>
+</div>
+<div class="paragraph">
+<p>If as part of your contribution you need to add a new third-party dependency,
+here&#8217;s what you need to do:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Begin by preparing a source tarball for the new dependency. Ideally it should
+be a vanilla tarball obtained directly from an upstream project, but sometimes
+either its name or the contents need to be massaged to meet Kudu&#8217;s expectations.</p>
+</li>
+<li>
+<p>Add the new dependency to the third-party build. You&#8217;ll need to modify
+<code>vars.sh</code>, <code>download-thirdparty.sh</code>, <code>build-definitions.sh</code>, and
+<code>build-thirdparty.sh</code>.</p>
+</li>
+<li>
+<p>On your local machine, extract the source tarball into <code>thirdparty/src</code>.</p>
+</li>
+<li>
+<p>Test the dependency&#8217;s build by running <code>build-thirdparty.sh &lt;dependency&gt;</code>.
+This should build and install the dependency into <code>thirdparty/installed</code>, making
+it available for the Kudu build.</p>
+</li>
+<li>
+<p>Test the Kudu build using the new dependency. You will need to pass
+<code>NO_REBUILD_THIRDPARTY=1</code> in the environment to prevent the Kudu build from
+rebuilding the <code>thirdparty/</code> tree (whereupon it&#8217;ll fail to download the new
+dependency).</p>
+</li>
+<li>
+<p>When everything checks out, contact a Kudu committer who is also a Cloudera
+employee and ask them to upload your source tarball to S3.</p>
+</li>
+<li>
+<p>After the tarball has been uploaded, test the entire third-party build
+end-to-end by running <code>build-if-necessary.sh</code>.</p>
+</li>
+<li>
+<p>Publish your patch to gerrit. With the tarball uploaded, the precommit builds
+should download and build the new dependency successfully.</p>
+</li>
+</ol>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_testing"><a class="link" href="#_testing">Testing</a></h2>
+<div class="sectionbody">
+<div class="dlist">
+<dl>
+<dt class="hdlist1">All new code should have tests.</dt>
+<dd>
+<p>Add new tests either in existing files, or create new test files as necessary.</p>
+</dd>
+<dt class="hdlist1">All bug fixes should have tests.</dt>
+<dd>
+<p>It&#8217;s OK to fix a bug without adding a
+new test if it&#8217;s triggered by an existing test case. For example, if a
+race shows up when running a multi-threaded system test after 20
+minutes or so, it&#8217;s worth trying to make a more targeted test case to
+trigger the bug. But if that&#8217;s hard to do, the existing system test
+should be enough.</p>
+</dd>
+<dt class="hdlist1">Tests should run quickly (&lt; 1s).</dt>
+<dd>
+<p>If you want to write a time-intensive
+test, make the runtime dependent on <code>KuduTest#AllowSlowTests</code>, which is
+enabled via the <code>KUDU_ALLOW_SLOW_TESTS</code> environment variable and is
+used by Jenkins test execution.</p>
+</dd>
+<dt class="hdlist1">Tests which run a number of iterations of some task should use a <code>gflags</code> command-line argument for the number of iterations.</dt>
+<dd>
+<p>This is handy for writing quick stress tests or performance tests.</p>
+</dd>
+<dt class="hdlist1">Commits which may affect performance should include before/after <code>perf-stat(1)</code> output.</dt>
+<dd>
+<p>This will show performance improvement or non-regression.
+Performance-sensitive code should include some test case which can be used as a
+targeted benchmark.</p>
+</dd>
+</dl>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_documentation"><a class="link" href="#_documentation">Documentation</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>See the
+<a href="https://github.com/apache/kudu/blob/master/docs/design-docs/doc-style-guide.adoc">Documentation Style Guide</a>
+for guidelines about contributing to the official Kudu documentation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_blog_posts"><a class="link" href="#_blog_posts">Blog posts</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_writing_a_post_on_the_kudu_blog"><a class="link" href="#_writing_a_post_on_the_kudu_blog">Writing a post on the Kudu blog</a></h3>
+<div class="paragraph">
+<p>If you are using or integrating with Kudu, consider doing a write-up about your
+use case and your integration with Kudu and submitting it to be posted as an
+article on the Kudu blog. People in the community love to read about how Kudu
+is being used around the world.</p>
+</div>
+<div class="paragraph">
+<p>Consider checking with the project developers on the Kudu Slack instance or on
+<a href="mailto:dev@kudu.apache.org">dev@kudu.apache.org</a> if you have any questions about
+the content or the topic of a potential Kudu blog post.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_submitting_a_blog_post_in_google_doc_format"><a class="link" href="#_submitting_a_blog_post_in_google_doc_format">Submitting a blog post in Google Doc format</a></h3>
+<div class="paragraph">
+<p>If you don&#8217;t have the time to learn Markdown or to submit a Gerrit change
+request, but you would still like to submit a post for the Kudu blog, feel free
+to write your post in Google Docs format and share the draft with us publicly
+on <a href="mailto:dev@kudu.apache.org">dev@kudu.apache.org</a>&#8201;&#8212;&#8201;we&#8217;ll be happy to review
+it and post it to the blog for you once it&#8217;s ready to go.</p>
+</div>
+<div class="paragraph">
+<p>If you would like to submit the post directly to Gerrit for review in Markdown
+format (the developers will appreciate it if you do), please read below.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_how_to_format_a_kudu_blog_post"><a class="link" href="#_how_to_format_a_kudu_blog_post">How to format a Kudu blog post</a></h3>
+<div class="paragraph">
+<p>Blog posts live in the <code>gh-pages</code> branch under the <code>_posts</code> directory in
+Markdown format. They&#8217;re automatically rendered by Jekyll so for those familiar
+with Markdown or Jekyll, submitting a blog post should be fairly
+straightforward.</p>
+</div>
+<div class="paragraph">
+<p>Each post is a separate file named in the following format:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>YYYY-MM-DD-title-of-the-post.md</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The <code>YYYY-MM-DD</code> part is the date which will be included in the link as
+<code>/YYYY-MM-DD</code>, then <code>title-of-the-post</code> is used verbatim. The words should be
+separated by dashes and should contain only lowercase letters of the English
+alphabet and numbers. Finally, the <code>.md</code> extension will be replaced with
+<code>.html</code>.</p>
+</div>
+<div class="paragraph">
+<p>The header contains the layout information (which is always "post"), the
+title and the author&#8217;s name.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>---
+layout: post
+title: Example Post
+author: John Doe
+---</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The actual text of the blog post goes below this header, beginning with the
+"lead" which is a short excerpt that shows up in the index. This is separated
+by the <code>&lt;!--more--&gt;</code> string from the rest of the post.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_how_to_check_the_rendering_of_a_blog_post"><a class="link" href="#_how_to_check_the_rendering_of_a_blog_post">How to check the rendering of a blog post</a></h3>
+<div class="paragraph">
+<p>Once you&#8217;ve finished the post, there is a command you can run to make sure it
+looks good called <code>site_tool</code> in the root of the <code>gh-pages</code> branch that can
+start up Jekyll and serve the rendered site locally. To run this, you need Ruby
+and Python to be installed on your machine, and you can start it with the below
+command.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ ./site_tool jekyll serve</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>When starting, it will print the URL where you can reach the site, but it should
+be <a href="http://localhost:4000" class="bare">http://localhost:4000</a>, or to reach the blog directly,
+<a href="http://localhost:4000/blog" class="bare">http://localhost:4000/blog</a></p>
+</div>
+<div class="paragraph">
+<p>You should be able to see the title and lead of your post along with your name
+at the top of this page, and after clicking on the title or the "Read full
+post&#8230;&#8203;", the whole post.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_how_to_submit_a_blog_post"><a class="link" href="#_how_to_submit_a_blog_post">How to submit a blog post</a></h3>
+<div class="paragraph">
+<p>To submit the post, you&#8217;ll need to commit your change and push it to
+<a href="#_contributing_patches_using_gerrit">Gerrit</a> for review. If the post is deemed
+useful for the community and all comments are addressed, a committer can merge
+and publish your post.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>If you have a GitHub account, you can fork Kudu from
+<a href="https://github.com/apache/kudu" class="bare">https://github.com/apache/kudu</a> and push the change to your fork too. GitHub will
+automatically render it on <a href="https://&lt;yourname&gt;.github.io/blog" class="bare">https://&lt;yourname&gt;.github.io/blog</a> and you can link it
+directly on Gerrit.</p>
+</div>
+<div class="paragraph">
+<p>This way the reviewers can see that the post renders well without having to
+download it, which can speed up the review process.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+<span class="active-toc">Contributing to Kudu</span>
+            <ul class="sectlevel1">
+<li><a href="#_contributing_patches_using_gerrit">Contributing Patches Using Gerrit</a>
+<ul class="sectlevel2">
+<li><a href="#_initial_setup_for_gerrit">Initial Setup for Gerrit</a></li>
+<li><a href="#_submitting_patches">Submitting Patches</a></li>
+<li><a href="#_abandoning_a_review">Abandoning a Review</a></li>
+<li><a href="#_reviewing_patches_in_gerrit">Reviewing Patches In Gerrit</a></li>
+</ul>
+</li>
+<li><a href="#_code_style">Code Style</a>
+<ul class="sectlevel2">
+<li><a href="#_c_code_style">C&#43;&#43; Code Style</a></li>
+<li><a href="#_exceptions_from_google_style_guide">Exceptions from Google Style Guide</a>
+<ul class="sectlevel3">
+<li><a href="#_notes_on_c_11">Notes on C&#43;&#43; 11</a></li>
+<li><a href="#_limitations_on_boost_use">Limitations on <code>boost</code> Use</a></li>
+<li><a href="#_line_length">Line length</a></li>
+<li><a href="#_pointers">Pointers</a></li>
+<li><a href="#_function_binding_and_callbacks">Function Binding and Callbacks</a></li>
+<li><a href="#_gflags">GFlags</a></li>
+</ul>
+</li>
+<li><a href="#_java_code_style">Java Code Style</a>
+<ul class="sectlevel3">
+<li><a href="#_preconditions_vs_assert_in_the_kudu_java_client">Preconditions vs assert in the Kudu Java client</a></li>
+</ul>
+</li>
+<li><a href="#_cmake_style_guide"><code>CMake</code> Style Guide</a></li>
+</ul>
+</li>
+<li><a href="#_third_party_dependencies">Third-party dependencies</a></li>
+<li><a href="#_testing">Testing</a></li>
+<li><a href="#_documentation">Documentation</a></li>
+<li><a href="#_blog_posts">Blog posts</a>
+<ul class="sectlevel2">
+<li><a href="#_writing_a_post_on_the_kudu_blog">Writing a post on the Kudu blog</a></li>
+<li><a href="#_submitting_a_blog_post_in_google_doc_format">Submitting a blog post in Google Doc format</a></li>
+<li><a href="#_how_to_format_a_kudu_blog_post">How to format a Kudu blog post</a></li>
+<li><a href="#_how_to_check_the_rendering_of_a_blog_post">How to check the rendering of a blog post</a></li>
+<li><a href="#_how_to_submit_a_blog_post">How to submit a blog post</a></li>
+</ul>
+</li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/developing.html b/releases/1.15.0/docs/developing.html
new file mode 100644
index 0000000..9b50e44
--- /dev/null
+++ b/releases/1.15.0/docs/developing.html
@@ -0,0 +1,936 @@
+<!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 - Developing Applications With Apache Kudu</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Developing Applications With Apache Kudu</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu provides C++, Java and Python client APIs, as well as reference examples to illustrate
+their use.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Use of server-side or private interfaces is not supported, and interfaces
+which are not part of public APIs have no stability guarantees.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="view_api"><a class="link" href="#view_api">Viewing the API Documentation</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<div class="title">C++ API Documentation</div>
+<p>You can view the <a href="../cpp-client-api/index.html">C++ client API documentation</a>
+online. Alternatively, after
+<a href="installation.html#build_from_source">building Kudu from source</a>, you can
+additionally build the <code>doxygen</code> target (e.g., run <code>make doxygen</code> if using
+make) and use the locally generated API documentation by opening
+<code>docs/doxygen/client_api/html/index.html</code> file in your favorite Web browser.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+In order to build the <code>doxygen</code> target, it&#8217;s necessary to have
+doxygen of version 1.8.11 or newer with Dot (graphviz) support installed at
+your build machine. If you installed doxygen after building Kudu from source,
+you will need to run <code>cmake</code> again to pick up the doxygen location and generate
+appropriate targets.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<div class="title">Java API Documentation</div>
+<p>You can view the <a href="../apidocs/index.html">Java API documentation</a> online.
+Alternatively, after <a href="installation.html#build_java_client">building
+the Java client</a>, Java API documentation is available in
+<code>java/kudu-client/target/apidocs/index.html</code>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_working_examples"><a class="link" href="#_working_examples">Working Examples</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Several example applications are provided in the
+<a href="https://github.com/apache/kudu/tree/master/examples">examples directory</a>
+of the Apache Kudu git repository. Each example includes a <code>README</code> that shows
+how to compile and run it. The following list includes some of the
+examples that are available today. Check the repository itself in case this list goes
+out of date.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1"><code>cpp/example.cc</code></dt>
+<dd>
+<p>A simple C++ application which connects to a Kudu instance, creates a table, writes data to it, then drops the table.</p>
+</dd>
+<dt class="hdlist1"><code>java/java-example</code></dt>
+<dd>
+<p>A simple Java application which connects to a Kudu instance, creates a table, writes data to it, then drops the table.</p>
+</dd>
+<dt class="hdlist1"><code>java/collectl</code></dt>
+<dd>
+<p>A small Java application which listens on a TCP socket for time series data corresponding to the Collectl wire protocol.
+The commonly-available collectl tool can be used to send example data to the server.</p>
+</dd>
+<dt class="hdlist1"><code>java/insert-loadgen</code></dt>
+<dd>
+<p>A Java application that generates random insert load.</p>
+</dd>
+<dt class="hdlist1"><code>python/dstat-kudu</code></dt>
+<dd>
+<p>An example program that shows how to use the Kudu Python API to load data into a new / existing Kudu table
+generated by an external program, <code>dstat</code> in this case.</p>
+</dd>
+<dt class="hdlist1"><code>python/graphite-kudu</code></dt>
+<dd>
+<p>An example plugin for using graphite-web with Kudu as a backend.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>These examples should serve as helpful starting points for your own Kudu applications and integrations.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_maven_artifacts"><a class="link" href="#_maven_artifacts">Maven Artifacts</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The following Maven <code>&lt;dependency&gt;</code> element is valid for the Apache Kudu public release
+(since 1.0.0):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.kudu&lt;/groupId&gt;
+  &lt;artifactId&gt;kudu-client&lt;/artifactId&gt;
+  &lt;version&gt;1.14.0&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Convenience binary artifacts for the Java client and various Java integrations (e.g. Spark, Flume)
+are also available via the <a href="http://repository.apache.org">ASF Maven repository</a> and
+<a href="https://mvnrepository.com/artifact/org.apache.kudu">Maven Central repository</a>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_impala_commands_with_kudu"><a class="link" href="#_example_impala_commands_with_kudu">Example Impala Commands With Kudu</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>See <a href="kudu_impala_integration.html">Using Impala With Kudu</a> for guidance on installing
+and using Impala with Kudu, including several <code>impala-shell</code> examples.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_kudu_integration_with_spark"><a class="link" href="#_kudu_integration_with_spark">Kudu Integration with Spark</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu integrates with Spark through the Data Source API as of version 1.0.0.
+Include the kudu-spark dependency using the --packages option:</p>
+</div>
+<div class="paragraph">
+<p>Use the kudu-spark_2.10 artifact if using Spark with Scala 2.10. Note that Spark 1 is no
+longer supported in Kudu starting from version 1.6.0. So in order to use Spark 1 integrated
+with Kudu, version 1.5.0 is the latest to go to.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code>spark-shell --packages org.apache.kudu:kudu-spark_2.10:1.5.0</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Use kudu-spark2_2.11 artifact if using Spark 2 with Scala 2.11.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+kudu-spark versions 1.8.0 and below have slightly different syntax.
+See the documentation of your version for a valid example. Versioned documentation can be found
+on the <a href="http://kudu.apache.org/releases/">releases page</a>.
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code>spark-shell --packages org.apache.kudu:kudu-spark2_2.11:1.14.0</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Below is a minimal Spark SQL "select" example. We first import the kudu spark package,
+then create a DataFrame, and then create a view from the DataFrame. After those
+steps, the table is accessible from Spark SQL.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+There is also a Spark <a href="https://github.com/apache/kudu/tree/master/examples/quickstart/spark">quickstart</a>
+ guide and another <a href="https://github.com/apache/kudu/tree/master/examples/scala/spark-example">example</a>
+ available.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+You can use the Kudu CLI tool to create table and generate data by
+ <code>kudu perf loadgen kudu.master:7051 -keep_auto_table</code> for the following two examples.
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-scala" data-lang="scala">import org.apache.kudu.spark.kudu._
+
+// Create a DataFrame that points to the Kudu table we want to query.
+val df = spark.read.options(Map("kudu.master" -&gt; "kudu.master:7051",
+                                "kudu.table" -&gt; "default.my_table")).format("kudu").load
+// Create a view from the DataFrame to make it accessible from Spark SQL.
+df.createOrReplaceTempView("my_table")
+// Now we can run Spark SQL queries against our view of the Kudu table.
+spark.sql("select * from my_table").show()</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Below is a more sophisticated example that includes both reads and writes:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-scala" data-lang="scala">import org.apache.kudu.client._
+import org.apache.kudu.spark.kudu.KuduContext
+import collection.JavaConverters._
+
+// Read a table from Kudu
+val df = spark.read
+  .options(Map("kudu.master" -&gt; "kudu.master:7051", "kudu.table" -&gt; "kudu_table"))
+  .format("kudu").load
+
+// Query using the Spark API...
+df.select("key").filter("key &gt;= 5").show()
+
+// ...or register a temporary table and use SQL
+df.createOrReplaceTempView("kudu_table")
+val filteredDF = spark.sql("select key from kudu_table where key &gt;= 5").show()
+
+// Use KuduContext to create, delete, or write to Kudu tables
+val kuduContext = new KuduContext("kudu.master:7051", spark.sparkContext)
+
+// Create a new Kudu table from a DataFrame schema
+// NB: No rows from the DataFrame are inserted into the table
+kuduContext.createTable(
+    "test_table", df.schema, Seq("key"),
+    new CreateTableOptions()
+        .setNumReplicas(1)
+        .addHashPartitions(List("key").asJava, 3))
+
+// Check for the existence of a Kudu table
+kuduContext.tableExists("test_table")
+
+// Insert data
+kuduContext.insertRows(df, "test_table")
+
+// Delete data
+kuduContext.deleteRows(df, "test_table")
+
+// Upsert data
+kuduContext.upsertRows(df, "test_table")
+
+// Update data
+val updateDF = df.select($"key", ($"int_val" + 1).as("int_val"))
+kuduContext.updateRows(updateDF, "test_table")
+
+// Data can also be inserted into the Kudu table using the data source, though the methods on
+// KuduContext are preferred
+// NB: The default is to upsert rows; to perform standard inserts instead, set operation = insert
+// in the options map
+// NB: Only mode Append is supported
+df.write
+  .options(Map("kudu.master"-&gt; "kudu.master:7051", "kudu.table"-&gt; "test_table"))
+  .mode("append")
+  .format("kudu").save
+
+// Delete a Kudu table
+kuduContext.deleteTable("test_table")</code></pre>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_upsert_option_in_kudu_spark"><a class="link" href="#_upsert_option_in_kudu_spark">Upsert option in Kudu Spark</a></h3>
+<div class="paragraph">
+<p>The upsert operation in kudu-spark supports an extra write option of <code>ignoreNull</code>. If set to true,
+it will avoid setting existing column values in Kudu table to Null if the corresponding DataFrame
+column values are Null. If unspecified, <code>ignoreNull</code> is false by default.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-scala" data-lang="scala">val dataFrame = spark.read
+  .options(Map("kudu.master" -&gt; "kudu.master:7051", "kudu.table" -&gt; simpleTableName))
+  .format("kudu").load
+dataFrame.createOrReplaceTempView(simpleTableName)
+dataFrame.show()
+// Below is the original data in the table 'simpleTableName'
++---+---+
+|key|val|
++---+---+
+|  0|foo|
++---+---+
+
+// Upsert a row with existing key 0 and val Null with ignoreNull set to true
+val nullDF = spark.createDataFrame(Seq((0, null.asInstanceOf[String]))).toDF("key", "val")
+val wo = new KuduWriteOptions
+wo.ignoreNull = true
+kuduContext.upsertRows(nullDF, simpleTableName, wo)
+dataFrame.show()
+// The val field stays unchanged
++---+---+
+|key|val|
++---+---+
+|  0|foo|
++---+---+
+
+// Upsert a row with existing key 0 and val Null with ignoreNull default/set to false
+kuduContext.upsertRows(nullDF, simpleTableName)
+// Equivalent to:
+// val wo = new KuduWriteOptions
+// wo.ignoreNull = false
+// kuduContext.upsertRows(nullDF, simpleTableName, wo)
+df.show()
+// The val field is set to Null this time
++---+----+
+|key| val|
++---+----+
+|  0|null|
++---+----+</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_spark_with_a_secure_kudu_cluster"><a class="link" href="#_using_spark_with_a_secure_kudu_cluster">Using Spark with a Secure Kudu Cluster</a></h3>
+<div class="paragraph">
+<p>The Kudu Spark integration is able to operate on secure Kudu clusters which have
+authentication and encryption enabled, but the submitter of the Spark job must
+provide the proper credentials. For Spark jobs using the default 'client' deploy
+mode, the submitting user must have an active Kerberos ticket granted through
+<code>kinit</code>. For Spark jobs using the 'cluster' deploy mode, a Kerberos principal
+name and keytab location must be provided through the <code>--principal</code> and
+<code>--keytab</code> arguments to <code>spark2-submit</code>.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_spark_integration_best_practices"><a class="link" href="#_spark_integration_best_practices">Spark Integration Best Practices</a></h3>
+<div class="sect3">
+<h4 id="_avoid_multiple_kudu_clients_per_cluster"><a class="link" href="#_avoid_multiple_kudu_clients_per_cluster">Avoid multiple Kudu clients per cluster.</a></h4>
+<div class="paragraph">
+<p>One common Kudu-Spark coding error is instantiating extra <code>KuduClient</code> objects.
+In kudu-spark, a <code>KuduClient</code> is owned by the <code>KuduContext</code>. Spark application code
+should not create another <code>KuduClient</code> connecting to the same cluster. Instead,
+application code should use the <code>KuduContext</code> to access a <code>KuduClient</code> using
+<code>KuduContext#syncClient</code>.</p>
+</div>
+<div class="paragraph">
+<p>To diagnose multiple <code>KuduClient</code> instances in a Spark job, look for signs in
+the logs of the master being overloaded by many <code>GetTableLocations</code> or
+<code>GetTabletLocations</code> requests coming from different clients, usually around the
+same time. This symptom is especially likely in Spark Streaming code,
+where creating a <code>KuduClient</code> per task will result in periodic waves of master
+requests from new clients.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_spark_integration_known_issues_and_limitations"><a class="link" href="#_spark_integration_known_issues_and_limitations">Spark Integration Known Issues and Limitations</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>Spark 2.2+ requires Java 8 at runtime even though Kudu Spark 2.x integration
+is Java 7 compatible. Spark 2.2 is the default dependency version as of
+Kudu 1.5.0.</p>
+</li>
+<li>
+<p>Kudu tables with a name containing upper case or non-ascii characters must be
+assigned an alternate name when registered as a temporary table.</p>
+</li>
+<li>
+<p>Kudu tables with a column name containing upper case or non-ascii characters
+may not be used with SparkSQL. Columns may be renamed in Kudu to work around
+this issue.</p>
+</li>
+<li>
+<p><code>&lt;&gt;</code> and <code>OR</code> predicates are not pushed to Kudu, and instead will be evaluated
+by the Spark task. Only <code>LIKE</code> predicates with a suffix wildcard are pushed to
+Kudu, meaning that <code>LIKE "FOO%"</code> is pushed down but <code>LIKE "FOO%BAR"</code> isn&#8217;t.</p>
+</li>
+<li>
+<p>Kudu does not support every type supported by Spark SQL. For example,
+<code>Date</code> and complex types are not supported.</p>
+</li>
+<li>
+<p>Kudu tables may only be registered as temporary tables in SparkSQL.
+Kudu tables may not be queried using HiveContext.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_jvm_based_integration_testing"><a class="link" href="#_jvm_based_integration_testing">JVM-Based Integration Testing</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>As of version 1.9.0, Kudu ships with an experimental feature called the binary
+test JAR. This feature gives people who want to test against Kudu the
+capability to start a Kudu "mini cluster" from Java or another JVM-based
+language without having to first build Kudu locally. This is possible because
+the Kudu binary JAR contains relocatable Kudu binaries that are used by the
+<code>KuduTestHarness</code> in the <code>kudu-test-utils</code> module. The <code>KuduTestHarness</code>
+contains logic to search the classpath for the Kudu binaries and to start a
+mini cluster using them.</p>
+</div>
+<div class="paragraph">
+<p><em>Important: The <code>kudu-binary</code> module should only be used to run Kudu for
+integration testing purposes. It should never be used to run an actual Kudu
+service, in production or development, because the <code>kudu-binary</code> module
+includes native security-related dependencies that have been copied from the
+build system and will not be patched when the operating system on the runtime
+host is patched.</em></p>
+</div>
+<div class="sect2">
+<h3 id="_system_requirements"><a class="link" href="#_system_requirements">System Requirements</a></h3>
+<div class="paragraph">
+<p>The binary test JAR must be run on one of the
+<a href="installation.html#prerequisites_and_requirements">supported Kudu platforms</a>,
+which includes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>macOS El Capitan (10.11) or later;</p>
+</li>
+<li>
+<p>CentOS 6.6+, Ubuntu 14.04+, or another recent distribution of Linux</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The related Maven integration using <code>os-maven-plugin</code> requires Maven 3.1 or later.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_the_kudu_binary_test_jar"><a class="link" href="#_using_the_kudu_binary_test_jar">Using the Kudu Binary Test Jar</a></h3>
+<div class="paragraph">
+<p>Take the following steps to start a Kudu mini cluster from a Java project.</p>
+</div>
+<div class="paragraph">
+<p><strong>1. Add build-time dependencies.</strong> The <code>kudu-binary</code> artifact contains the
+native Kudu (server and command-line tool) binaries for specific operating
+systems. In order to download the right artifact for the running operating
+system, use the <code>os-maven-plugin</code> to detect the current runtime environment.
+Finally, the <code>kudu-test-utils</code> module provides the <code>KuduTestHarness</code> class,
+which runs a Kudu mini cluster.</p>
+</div>
+<div class="paragraph">
+<p>Maven example for Kudu 1.14.0:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;build&gt;
+  &lt;extensions&gt;
+    &lt;!-- Used to find the right kudu-binary artifact with the Maven
+         property ${os.detected.classifier} --&gt;
+    &lt;extension&gt;
+      &lt;groupId&gt;kr.motd.maven&lt;/groupId&gt;
+      &lt;artifactId&gt;os-maven-plugin&lt;/artifactId&gt;
+      &lt;version&gt;1.6.2&lt;/version&gt;
+    &lt;/extension&gt;
+  &lt;/extensions&gt;
+&lt;/build&gt;
+
+&lt;dependencies&gt;
+  &lt;dependency&gt;
+    &lt;groupId&gt;org.apache.kudu&lt;/groupId&gt;
+    &lt;artifactId&gt;kudu-test-utils&lt;/artifactId&gt;
+    &lt;version&gt;1.14.0&lt;/version&gt;
+    &lt;scope&gt;test&lt;/scope&gt;
+  &lt;/dependency&gt;
+  &lt;dependency&gt;
+    &lt;groupId&gt;org.apache.kudu&lt;/groupId&gt;
+    &lt;artifactId&gt;kudu-binary&lt;/artifactId&gt;
+    &lt;version&gt;1.14.0&lt;/version&gt;
+    &lt;classifier&gt;${os.detected.classifier}&lt;/classifier&gt;
+    &lt;scope&gt;test&lt;/scope&gt;
+  &lt;/dependency&gt;
+&lt;/dependencies&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p><strong>2. Write a test that starts a Kudu mini cluster using the KuduTestHarness.</strong>
+It will automatically find the binary test JAR if Maven is configured correctly.</p>
+</div>
+<div class="paragraph">
+<p>The recommended way to start a Kudu mini cluster is by using the
+<code>KuduTestHarness</code> class from the <code>kudu-test-utils</code> module, which also acts as a
+JUnit <code>Rule</code>. Here is an example of a Java-based integration test that starts a
+Kudu cluster, creates a Kudu table on the cluster, and then exits:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-java" data-lang="java">import org.apache.kudu.ColumnSchema;
+import org.apache.kudu.Schema;
+import org.apache.kudu.Type;
+import org.apache.kudu.test.KuduTestHarness;
+import org.junit.Rule;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+public class MyKuduTest {
+  // The KuduTestHarness automatically starts and stops a real Kudu cluster
+  // when each test is run. Kudu persists its on-disk state in a temporary
+  // directory under a location defined by the environment variable TEST_TMPDIR
+  // if set, or under /tmp otherwise. That cluster data is deleted on
+  // successful exit of the test. The cluster output is logged through slf4j.
+  @Rule
+  public KuduTestHarness harness = new KuduTestHarness();
+
+  @Test
+  public void test() throws Exception {
+    // Get a KuduClient configured to talk to the running mini cluster.
+    KuduClient client = harness.getClient();
+
+    // Create a new Kudu table.
+    List&lt;ColumnSchema&gt; columns = new ArrayList&lt;&gt;();
+    columns.add(
+        new ColumnSchema.ColumnSchemaBuilder(
+            "key", Type.INT32).key(true).build());
+    Schema schema = new Schema(columns);
+    CreateTableOptions opts =
+        new CreateTableOptions().setRangePartitionColumns(
+            Collections.singletonList("key"));
+    client.createTable("table-1", schema, opts);
+
+    // Now we may insert rows into the newly-created Kudu table using 'client',
+    // scan the table, etc.
+  }
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For more examples of using the <code>KuduTestHarness</code>, including how to pass
+configuration options to the Kudu cluster being managed by the harness, see the
+<a href="https://github.com/apache/kudu/tree/master/examples/java/java-example">java-example</a>
+project in the Kudu source code repository, or look at the various Kudu
+integration tests under
+<a href="https://github.com/apache/kudu/tree/master/java">java</a> in the Kudu source
+code repository.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_kudu_python_client"><a class="link" href="#_kudu_python_client">Kudu Python Client</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Kudu Python client provides a Python friendly interface to the C++ client API.
+The sample below demonstrates the use of part of the Python client.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-python" data-lang="python">import kudu
+from kudu.client import Partitioning
+from datetime import datetime
+
+# Connect to Kudu master server
+client = kudu.connect(host='kudu.master', port=7051)
+
+# Define a schema for a new table
+builder = kudu.schema_builder()
+builder.add_column('key').type(kudu.int64).nullable(False).primary_key()
+builder.add_column('ts_val', type_=kudu.unixtime_micros, nullable=False, compression='lz4')
+schema = builder.build()
+
+# Define partitioning schema
+partitioning = Partitioning().add_hash_partitions(column_names=['key'], num_buckets=3)
+
+# Create new table
+client.create_table('python-example', schema, partitioning)
+
+# Open a table
+table = client.table('python-example')
+
+# Create a new session so that we can apply write operations
+session = client.new_session()
+
+# Insert a row
+op = table.new_insert({'key': 1, 'ts_val': datetime.utcnow()})
+session.apply(op)
+
+# Upsert a row
+op = table.new_upsert({'key': 2, 'ts_val': "2016-01-01T00:00:00.000000"})
+session.apply(op)
+
+# Updating a row
+op = table.new_update({'key': 1, 'ts_val': ("2017-01-01", "%Y-%m-%d")})
+session.apply(op)
+
+# Delete a row
+op = table.new_delete({'key': 2})
+session.apply(op)
+
+# Flush write operations, if failures occur, capture print them.
+try:
+    session.flush()
+except kudu.KuduBadStatus as e:
+    print(session.get_pending_errors())
+
+# Create a scanner and add a predicate
+scanner = table.scanner()
+scanner.add_predicate(table['ts_val'] == datetime(2017, 1, 1))
+
+# Open Scanner and read all tuples
+# Note: This doesn't scale for large scans
+result = scanner.open().read_all_tuples()</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_integration_with_mapreduce_yarn_and_other_frameworks"><a class="link" href="#_integration_with_mapreduce_yarn_and_other_frameworks">Integration with MapReduce, YARN, and Other Frameworks</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu was designed to integrate with MapReduce, YARN, Spark, and other frameworks in
+the Hadoop ecosystem. See
+<a href="https://github.com/apache/kudu/blob/master/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/RowCounter.java">RowCounter.java</a>
+and
+<a href="https://github.com/apache/kudu/blob/master/java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/ImportCsv.java">ImportCsv.java</a>
+for examples which you can model your own integrations on. Stay tuned for more examples
+using YARN and Spark in the future.</p>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with 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>
+<span class="active-toc">Developing Applications with Kudu</span>
+            <ul class="sectlevel1">
+<li><a href="#view_api">Viewing the API Documentation</a></li>
+<li><a href="#_working_examples">Working Examples</a></li>
+<li><a href="#_maven_artifacts">Maven Artifacts</a></li>
+<li><a href="#_example_impala_commands_with_kudu">Example Impala Commands With Kudu</a></li>
+<li><a href="#_kudu_integration_with_spark">Kudu Integration with Spark</a>
+<ul class="sectlevel2">
+<li><a href="#_upsert_option_in_kudu_spark">Upsert option in Kudu Spark</a></li>
+<li><a href="#_using_spark_with_a_secure_kudu_cluster">Using Spark with a Secure Kudu Cluster</a></li>
+<li><a href="#_spark_integration_best_practices">Spark Integration Best Practices</a>
+<ul class="sectlevel3">
+<li><a href="#_avoid_multiple_kudu_clients_per_cluster">Avoid multiple Kudu clients per cluster.</a></li>
+</ul>
+</li>
+<li><a href="#_spark_integration_known_issues_and_limitations">Spark Integration Known Issues and Limitations</a></li>
+</ul>
+</li>
+<li><a href="#_jvm_based_integration_testing">JVM-Based Integration Testing</a>
+<ul class="sectlevel2">
+<li><a href="#_system_requirements">System Requirements</a></li>
+<li><a href="#_using_the_kudu_binary_test_jar">Using the Kudu Binary Test Jar</a></li>
+</ul>
+</li>
+<li><a href="#_kudu_python_client">Kudu Python Client</a></li>
+<li><a href="#_integration_with_mapreduce_yarn_and_other_frameworks">Integration with MapReduce, YARN, and Other Frameworks</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/export_control.html b/releases/1.15.0/docs/export_control.html
new file mode 100644
index 0000000..b36661d
--- /dev/null
+++ b/releases/1.15.0/docs/export_control.html
@@ -0,0 +1,318 @@
+<!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 - Export Control Notice</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Export Control Notice</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>This distribution includes cryptographic software.  The country in
+which you currently reside may have restrictions on the import,
+possession, use, and/or re-export to another country, of
+encryption software.  BEFORE using any encryption software, please
+check your country&#8217;s laws, regulations and policies concerning the
+import, possession, or use, and re-export of encryption software, to
+see if this is permitted.  See <a href="http://www.wassenaar.org/" class="bare">http://www.wassenaar.org/</a> for more
+information.</p>
+</div>
+<div class="paragraph">
+<p>The U.S. Government Department of Commerce, Bureau of Industry and
+Security (BIS), has classified this software as Export Commodity
+Control Number (ECCN) 5D002.C.1, which includes information security
+software using or performing cryptographic functions with asymmetric
+algorithms.  The form and manner of this Apache Software Foundation
+distribution makes it eligible for export under the License Exception
+ENC Technology Software Unrestricted (TSU) exception (see the BIS
+Export Administration Regulations, Section 740.13) for both object
+code and source code.</p>
+</div>
+<div class="paragraph">
+<p>The following provides more details on the included cryptographic
+software:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>This software uses OpenSSL to enable TLS-encrypted connections,
+generate keys for asymmetric cryptography, and generate and
+verify signatures using those keys.</p>
+</li>
+<li>
+<p>This software uses Java SE Security libraries including the
+Java Secure Socket Extension (JSSE), Java Generic Security Service
+(JGSS), and Java Authentication and Authorization APIs (JAAS)
+to provide secure authentication and TLS-protected transport.</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+<span class="active-toc">Export Control Notice</span>
+             
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/hive_metastore.html b/releases/1.15.0/docs/hive_metastore.html
new file mode 100644
index 0000000..818f839
--- /dev/null
+++ b/releases/1.15.0/docs/hive_metastore.html
@@ -0,0 +1,837 @@
+<!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 - Using the Hive Metastore with Kudu</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Using the Hive Metastore with Kudu</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="hive_metastore"><a class="link" href="#hive_metastore">Overview</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu has an optional feature which allows it to integrate its own catalog with
+the Hive Metastore (HMS). The HMS is the de-facto standard catalog and metadata
+provider in the Hadoop ecosystem. When the HMS integration is enabled, Kudu
+tables can be discovered and used by external HMS-aware tools, even if they are
+not otherwise aware of or integrated with Kudu. Additionally, these components
+can use the HMS to discover necessary information to connect to the Kudu
+cluster which owns the table, such as the Kudu master addresses.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_databases_and_table_names"><a class="link" href="#_databases_and_table_names">Databases and Table Names</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>With the Hive Metastore integration disabled, Kudu presents tables as a single
+flat namespace, with no hierarchy or concept of a database. Additionally,
+Kudu&#8217;s only restriction on table names is that they be a valid UTF-8 encoded
+string. When the HMS integration is enabled in Kudu, both of these properties
+change in order to match the HMS model: the table name must indicate the
+table&#8217;s membership of a Hive database, and table name identifiers (i.e. the
+table name and database name) are subject to the Hive table name identifier
+constraints.</p>
+</div>
+<div class="sect2">
+<h3 id="_databases"><a class="link" href="#_databases">Databases</a></h3>
+<div class="paragraph">
+<p>Hive has the concept of a database, which is a collection of individual tables.
+Each database forms its own independent namespace of table names. In order to
+fit into this model, Kudu tables must be assigned a database when the HMS
+integration is enabled. No new APIs have been added to create or delete
+databases, nor are there APIs to assign an existing Kudu table to a database.
+Instead, a new convention has been introduced that Kudu table names must be in
+the format <code>&lt;hive-database-name&gt;.&lt;hive-table-name&gt;</code>. Thus, databases are an
+implicit part of the Kudu table name. By including databases as an implicit
+part of the Kudu table name, existing applications that use Kudu tables can
+operate on non-HMS-integrated and HMS-integrated table names with minimal or no
+changes.</p>
+</div>
+<div class="paragraph">
+<p>Kudu provides no additional tooling to create or drop Hive databases.
+Administrators or users should use existing Hive tools such as the Beeline
+Shell or Impala to do so.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_naming_constraints"><a class="link" href="#_naming_constraints">Naming Constraints</a></h3>
+<div class="paragraph">
+<p>When the Hive Metastore integration is enabled, the database and table names of
+Kudu tables must follow the Hive Metastore naming constraints. Namely, the
+database and table name must contain only alphanumeric ASCII characters and
+underscores (<code>_</code>).</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+When the <code>hive.support.special.characters.tablename</code> Hive configuration
+is <code>true</code>, the forward-slash (<code>/</code>) character in table name identifiers (i.e. the
+table name and database name) is also supported.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Additionally, the Hive Metastore does not enforce case sensitivity for table
+name identifiers. As such, when enabled, Kudu will follow suit and disallow
+tables from being created when one already exists whose table name identifier
+differs only by case. Operations that open, alter, or drop tables will also be
+case-insensitive for the table name identifiers.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Given the case insensitivity upon enabling the integration, if
+multiple Kudu tables exist whose names only differ by case, the Kudu master(s)
+will fail to start up. Be sure to rename such conflicting tables before
+enabling the Hive Metastore integration.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="metadata_sync"><a class="link" href="#metadata_sync">Metadata Synchronization</a></h3>
+<div class="paragraph">
+<p>When the Hive Metastore integration is enabled, Kudu will automatically
+synchronize metadata changes to Kudu tables between Kudu and the HMS. As such,
+it is important to always ensure that the Kudu and HMS have a consistent view
+of existing tables, using the administrative tools described in the below
+section. Failure to do so may result in issues like Kudu tables not being
+discoverable or usable by external, HMS-aware components (e.g. Apache Sentry,
+Apache Impala).</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+the Hive Metastore automatically creates directories for Kudu tables.
+These directories are benign and can safely be ignored.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Impala has notions of internal and external Kudu tables. When dropping an
+internal table from Impala, the table&#8217;s data is dropped in Kudu; in contrast
+when dropping an external table, the table&#8217;s data is not dropped in Kudu.
+External tables may refer to tables by names that are different from the names
+of the underlying Kudu tables, while internal tables must use the same names as
+those stored in Kudu. Additionally, multiple external tables may refer to the
+same underlying Kudu table. Thus, since external tables may not map one-to-one
+with Kudu tables, the Hive Metastore integration and tooling will only
+automatically synchronize metadata for internal tables. See the
+<a href="kudu_impala_integration.html#kudu_impala">Kudu Impala integration documentation</a>
+for more information about table types in Impala</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="enabling-the-hive-metastore-integration"><a class="link" href="#enabling-the-hive-metastore-integration">Enabling the Hive Metastore Integration</a></h2>
+<div class="sectionbody">
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Before enabling the Hive Metastore integration on an existing cluster,
+make sure to upgrade any tables that may exist in Kudu&#8217;s or in the HMS&#8217;s
+catalog. See <a href="#upgrading-tables">Upgrading Existing Tables</a> for more details.
+</td>
+</tr>
+</table>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>When the Hive Metastore is configured with fine-grained authorization, the
+Kudu admin needs to be able to access and modify directories that are created
+for Kudu by the HMS. This can be done by adding the Kudu admin user to the group
+of the Hive service users, e.g.  by running <code>usermod -aG hive kudu</code> on the HMS
+nodes.</p>
+</li>
+<li>
+<p>Configure the Hive Metastore to include the notification event listener and
+the Kudu HMS plugin, to allow altering and dropping columns, and to add full
+Thrift objects in notifications. Add the following values to the HMS
+configuration in <code>hive-site.xml</code>:</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;property&gt;
+  &lt;name&gt;hive.metastore.transactional.event.listeners&lt;/name&gt;
+  &lt;value&gt;
+    org.apache.hive.hcatalog.listener.DbNotificationListener,
+    org.apache.kudu.hive.metastore.KuduMetastorePlugin
+  &lt;/value&gt;
+&lt;/property&gt;
+
+&lt;property&gt;
+  &lt;name&gt;hive.metastore.disallow.incompatible.col.type.changes&lt;/name&gt;
+  &lt;value&gt;false&lt;/value&gt;
+&lt;/property&gt;
+
+&lt;property&gt;
+  &lt;name&gt;hive.metastore.notifications.add.thrift.objects&lt;/name&gt;
+  &lt;value&gt;true&lt;/value&gt;
+&lt;/property&gt;</code></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>After building Kudu from source, add the <code>hms-plugin.jar</code> found under the build
+directory (e.g. <code>build/release/bin</code>) to the HMS classpath.</p>
+</li>
+<li>
+<p>Restart the HMS.</p>
+</li>
+<li>
+<p>Enable the Hive Metastore integration in Kudu with the following
+configuration properties for the Kudu master(s):</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code>--hive_metastore_uris=&lt;HMS Thrift URI(s)&gt;
+--hive_metastore_sasl_enabled=&lt;value of the Hive Metastore's hive.metastore.sasl.enabled configuration&gt;</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">
+In a secured cluster, in which <code>--hive_metastore_sasl_enabled</code> is set to
+true, <code>--hive_metastore_kerberos_principal</code> must match the primary portion of
+<code>hive.metastore.kerberos.principal</code> in the Hive Metastore configuration.
+</td>
+</tr>
+</table>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Restart the Kudu master(s).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_administrative_tools"><a class="link" href="#_administrative_tools">Administrative Tools</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu provides the command line tools <code>kudu hms list</code>, <code>kudu hms precheck</code>,
+<code>kudu hms check</code>, and <code>kudu hms fix</code> to allow administrators to find and fix
+metadata inconsistencies between the internal Kudu catalog and the Hive
+Metastore catalog, during the upgrade process described below or during the
+normal operation of a Kudu cluster.</p>
+</div>
+<div class="paragraph">
+<p><code>kudu hms</code> tools should be run from the command line as the Kudu admin user.
+They require the full list of master addresses to be specified:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu hms check master-name-1:7051,master-name-2:7051,master-name-3:7051</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To see a full list of the options available with the <code>kudu hms</code> tool, use the
+<code>--help</code> flag.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+When fine-grained authorization is enabled, the Kudu admin user, commonly
+"kudu", needs to have access to all the Kudu tables to be
+able to run the <code>kudu hms</code> tools. This can be done by configuring the user as a
+trusted user via the <code>--trusted_user_acl</code> master configuration. See
+<a href="security.html#trusted-users">here</a> for more information about trusted users.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+If the Hive Metastore is configured with fine-grained authorization, the
+Kudu admin user needs to have read and write privileges on HMS table entries.
+Configured this in the Hive Metastore. For Apache Sentry this can be configured
+using the <code>sentry.metastore.service.users</code> property.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_kudu_hms_list"><a class="link" href="#_kudu_hms_list"><code>kudu hms list</code></a></h3>
+<div class="paragraph">
+<p>The <code>kudu hms list</code> tool scans the Hive Metastore catalog, and lists the HMS
+entries (including table name and type) for Kudu tables, as indicated by their
+HMS storage handler.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_kudu_hms_precheck"><a class="link" href="#_kudu_hms_precheck"><code>kudu hms precheck</code></a></h3>
+<div class="paragraph">
+<p>The <code>kudu hms precheck</code> tool scans the Kudu catalog and validates that if there
+are multiple Kudu tables whose names only differ by case and logs the conflicted
+table names.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_kudu_hms_check"><a class="link" href="#_kudu_hms_check"><code>kudu hms check</code></a></h3>
+<div class="paragraph">
+<p>The <code>kudu hms check</code> tool scans the Kudu and Hive Metastore catalogs, and
+validates that the two catalogs agree on what Kudu tables exist. The tool will
+make suggestions on how to fix any inconsistencies that are found. Typically,
+the suggestion will be to run the <code>kudu hms fix</code> tool, however some certain
+inconsistencies require using Impala Shell for fixing.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_kudu_hms_fix"><a class="link" href="#_kudu_hms_fix"><code>kudu hms fix</code></a></h3>
+<div class="paragraph">
+<p>The <code>kudu hms fix</code> tool analyzes the Kudu and HMS catalogs and attempts to fix
+any automatically-fixable issues, for instance, by creating a table entry in
+the HMS for each Kudu table that doesn&#8217;t already have one. The <code>--dryrun</code> option
+shows the proposed fix instead of actually executing it. When no automatic fix
+is available, it will make suggestions on how a manual fix can help.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The <code>kudu hms fix</code> tool will not automatically fix Impala external tables
+for the reasons described above. It is instead recommended to fix issues with
+external tables by dropping and recreating them.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_kudu_hms_downgrade"><a class="link" href="#_kudu_hms_downgrade"><code>kudu hms downgrade</code></a></h3>
+<div class="paragraph">
+<p>The <code>kudu hms downgrade</code> downgrades the metadata to legacy format for Kudu and
+the Hive Metastores. It is discouraged to use unless necessary, since the legacy
+format can be deprecated in future releases.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="upgrading-tables"><a class="link" href="#upgrading-tables">Upgrading Existing Tables</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Before enabling the Kudu-HMS integration, it is important to ensure that the
+Kudu and HMS start with a consistent view of existing tables. This may entail
+renaming Kudu tables to conform to the Hive naming constraints. This detailed
+workflow describes how to upgrade existing tables before enabling the Hive
+Metastore integration.</p>
+</div>
+<div class="sect2">
+<h3 id="_prepare_for_the_upgrade"><a class="link" href="#_prepare_for_the_upgrade">Prepare for the Upgrade</a></h3>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Establish a maintenance window. During this time the Kudu cluster will still be
+available, but tables in Kudu and the Hive Metastore may be altered or
+renamed as a part of the upgrade process.</p>
+</li>
+<li>
+<p>Make note of all external tables using the following command and drop them. This reduces
+the chance of having naming conflicts with Kudu tables which can lead to errors during
+upgrading process. It also helps in cases where a catalog upgrade breaks
+external tables, due to the underlying Kudu tables being renamed. The
+external tables can be recreated after upgrade is complete.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu hms list master-name-1:7051,master-name-2:7051,master-name-3:7051</code></pre>
+</div>
+</div>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_perform_the_upgrade"><a class="link" href="#_perform_the_upgrade">Perform the Upgrade</a></h3>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Run the <code>kudu hms precheck</code> tool to ensure no Kudu tables only differ by
+case. If the tool does not report any warnings, you can skip the next step.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu hms precheck master-name-1:7051,master-name-2:7051,master-name-3:7051</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>If the <code>kudu hms precheck</code> tool reports conflicting tables, rename these to
+case-insensitive unique names using the following command:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu table rename_table master-name-1:7051,master-name-2:7051,master-name-3:7051 &lt;conflicting_table_name&gt; &lt;new_table_name&gt;</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Run the <code>kudu hms check</code> tool using the following command. If the tool does
+not report any catalog inconsistencies, skip to Step 7 below.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu hms check master-name-1:7051,master-name-2:7051,master-name-3:7051 --hive_metastore_uris=&lt;hive_metastore_uris&gt; [--ignore_other_clusters=&lt;ignores_other_clusters&gt;]</code></pre>
+</div>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+By default, the <code>kudu hms</code> tools will ignore metadata in the HMS that
+refer to a different Kudu cluster than that being operated on, as indicated by
+having different masters specified. The tools compare the value of the
+<code>kudu.master_addresses</code> table property (either supplied at table creation or as
+<code>--kudu_master_hosts</code> on impalad daemons) in each HMS metadata entry against
+the RPC endpoints (including the ports) of the Kudu masters. To have the
+tooling account for and fix metadata entries with different master RPC
+endpoints specified (e.g. if ports are not specified in the HMS), supply
+<code>--ignore_other_clusters=false</code> as an argument to the <code>kud hms check</code> and <code>fix</code>
+tools.
+</td>
+</tr>
+</table>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Example</dt>
+<dd>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo -u kudu kudu hms check master-name-1:7051,master-name-2:7051,master-name-3:7051 --hive_metastore_uris=thrift://hive-metastore:9083 --ignore_other_clusters=false</pre>
+</div>
+</div>
+</dd>
+</dl>
+</div>
+</li>
+<li>
+<p>If the <code>kudu hms check</code> tool reports an inconsistent catalog, perform a
+dry-run of the <code>kudu hms fix</code> tool to understand how the tool will attempt to
+address the automatically-fixable issues.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu hms fix master-name-1:7051,master-name-2:7051,master-name-3:7051 --hive_metastore_uris=&lt;hive_metastore_uris&gt; --dryrun=true [--ignore_other_clusters=&lt;ignore_other_clusters&gt;]</code></pre>
+</div>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Example</dt>
+<dd>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo -u kudu kudu hms check master-name-1:7051,master-name-2:7051,master-name-3:7051 --hive_metastore_uris=thrift://hive-metastore:9083 --dryrun=true --ignore_other_clusters=false</pre>
+</div>
+</div>
+</dd>
+</dl>
+</div>
+</li>
+<li>
+<p>Manually fix any issues that are reported by the check tool that cannot
+be automatically fixed. For example, rename any tables with names that are not
+Hive-conformant.</p>
+</li>
+<li>
+<p>Run <code>kudu hms fix</code> tool to automatically fix all the remaining issues.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo -u kudu kudu hms fix master-name-1:7051,master-name-2:7051,master-name-3:7051 --hive_metastore_uris=&lt;hive_metastore_uris&gt; [--drop_orphan_hms_tables=&lt;drops_orphan_hms_tables&gt;] [--ignore_other_clusters=&lt;ignore_other_clusters&gt;]</code></pre>
+</div>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Example</dt>
+<dd>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo -u kudu kudu hms fix master-name-1:7051,master-name-2:7051,master-name-3:7051 --hive_metastore_uris=thrift://hive-metastore:9083 --ignore_other_clusters=false</pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The <code>--drop_orphan_hms_tables</code> argument indicates whether to drop orphan
+Hive Metastore tables that refer to non-existent Kudu tables. Due to
+<a href="https://issues.apache.org/jira/browse/KUDU-2883">KUDU-2883</a> this option may
+fail to drop HMS entries that have no table ID. A workaround to this is to drop
+the table via Impala Shell.
+</td>
+</tr>
+</table>
+</div>
+</dd>
+</dl>
+</div>
+</li>
+<li>
+<p>Recreate any external tables that were dropped when preparing for the upgrade
+by using Impala Shell.</p>
+</li>
+<li>
+<p>Enable the Hive Metastore Integration as described
+<a href="#enabling-the-hive-metastore-integration">Enabling the Hive Metastore Integration</a>.</p>
+</li>
+</ol>
+</div>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+<span class="active-toc">Using the Hive Metastore with Kudu</span>
+            <ul class="sectlevel1">
+<li><a href="#hive_metastore">Overview</a></li>
+<li><a href="#_databases_and_table_names">Databases and Table Names</a>
+<ul class="sectlevel2">
+<li><a href="#_databases">Databases</a></li>
+<li><a href="#_naming_constraints">Naming Constraints</a></li>
+<li><a href="#metadata_sync">Metadata Synchronization</a></li>
+</ul>
+</li>
+<li><a href="#enabling-the-hive-metastore-integration">Enabling the Hive Metastore Integration</a></li>
+<li><a href="#_administrative_tools">Administrative Tools</a>
+<ul class="sectlevel2">
+<li><a href="#_kudu_hms_list"><code>kudu hms list</code></a></li>
+<li><a href="#_kudu_hms_precheck"><code>kudu hms precheck</code></a></li>
+<li><a href="#_kudu_hms_check"><code>kudu hms check</code></a></li>
+<li><a href="#_kudu_hms_fix"><code>kudu hms fix</code></a></li>
+<li><a href="#_kudu_hms_downgrade"><code>kudu hms downgrade</code></a></li>
+</ul>
+</li>
+<li><a href="#upgrading-tables">Upgrading Existing Tables</a>
+<ul class="sectlevel2">
+<li><a href="#_prepare_for_the_upgrade">Prepare for the Upgrade</a></li>
+<li><a href="#_perform_the_upgrade">Perform the Upgrade</a></li>
+</ul>
+</li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/images/design-docs_transactions.png b/releases/1.15.0/docs/images/design-docs_transactions.png
new file mode 100644
index 0000000..6f6914e
--- /dev/null
+++ b/releases/1.15.0/docs/images/design-docs_transactions.png
Binary files differ
diff --git a/releases/1.15.0/docs/images/hash-hash-partitioning-example.png b/releases/1.15.0/docs/images/hash-hash-partitioning-example.png
new file mode 100644
index 0000000..c843f73
--- /dev/null
+++ b/releases/1.15.0/docs/images/hash-hash-partitioning-example.png
Binary files differ
diff --git a/releases/1.15.0/docs/images/hash-partitioning-example.png b/releases/1.15.0/docs/images/hash-partitioning-example.png
new file mode 100644
index 0000000..56de4e8
--- /dev/null
+++ b/releases/1.15.0/docs/images/hash-partitioning-example.png
Binary files differ
diff --git a/releases/1.15.0/docs/images/hash-range-partitioning-example.png b/releases/1.15.0/docs/images/hash-range-partitioning-example.png
new file mode 100644
index 0000000..6e16ada
--- /dev/null
+++ b/releases/1.15.0/docs/images/hash-range-partitioning-example.png
Binary files differ
diff --git a/releases/1.15.0/docs/images/kudu-architecture-2.png b/releases/1.15.0/docs/images/kudu-architecture-2.png
new file mode 100644
index 0000000..fcaeba5
--- /dev/null
+++ b/releases/1.15.0/docs/images/kudu-architecture-2.png
Binary files differ
diff --git a/releases/1.15.0/docs/images/range-partitioning-example.png b/releases/1.15.0/docs/images/range-partitioning-example.png
new file mode 100644
index 0000000..23eac01
--- /dev/null
+++ b/releases/1.15.0/docs/images/range-partitioning-example.png
Binary files differ
diff --git a/releases/1.15.0/docs/index.html b/releases/1.15.0/docs/index.html
new file mode 100644
index 0000000..e139795
--- /dev/null
+++ b/releases/1.15.0/docs/index.html
@@ -0,0 +1,634 @@
+<!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 - Introducing Apache Kudu</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Introducing Apache Kudu</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu is a columnar storage manager developed for the Apache Hadoop platform.  Kudu shares
+the common technical properties of Hadoop ecosystem applications: it runs on commodity
+hardware, is horizontally scalable, and supports highly available operation.</p>
+</div>
+<div class="paragraph">
+<p>Kudu&#8217;s design sets it apart. Some of Kudu&#8217;s benefits include:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fast processing of OLAP workloads.</p>
+</li>
+<li>
+<p>Integration with MapReduce, Spark and other Hadoop ecosystem components.</p>
+</li>
+<li>
+<p>Tight integration with Apache Impala, making it a good, mutable alternative to
+using HDFS with Apache Parquet.</p>
+</li>
+<li>
+<p>Strong but flexible consistency model, allowing you to choose consistency
+requirements on a per-request basis, including the option for strict-serializable consistency.</p>
+</li>
+<li>
+<p>Strong performance for running sequential and random workloads simultaneously.</p>
+</li>
+<li>
+<p>Easy to administer and manage.</p>
+</li>
+<li>
+<p>High availability. Tablet Servers and Masters use the <a href="#raft">Raft Consensus Algorithm</a>, which ensures that
+as long as more than half the total number of replicas is available, the tablet is available for
+reads and writes. For instance, if 2 out of 3 replicas or 3 out of 5 replicas are available, the tablet
+is available.</p>
+<div class="paragraph">
+<p>Reads can be serviced by read-only follower tablets, even in the event of a
+leader tablet failure.</p>
+</div>
+</li>
+<li>
+<p>Structured data model.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>By combining all of these properties, Kudu targets support for families of
+applications that are difficult or impossible to implement on current generation
+Hadoop storage technologies. A few examples of applications for which Kudu is a great
+solution are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Reporting applications where newly-arrived data needs to be immediately available for end users</p>
+</li>
+<li>
+<p>Time-series applications that must simultaneously support:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>queries across large amounts of historic data</p>
+</li>
+<li>
+<p>granular queries about an individual entity that must return very quickly</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Applications that use predictive models to make real-time decisions with periodic
+refreshes of the predictive model based on all historic data</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>For more information about these and other scenarios, see <a href="#kudu_use_cases">Example Use Cases</a>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_kudu_impala_integration_features"><a class="link" href="#_kudu_impala_integration_features">Kudu-Impala Integration Features</a></h2>
+<div class="sectionbody">
+<div class="dlist">
+<dl>
+<dt class="hdlist1"><code>CREATE/ALTER/DROP TABLE</code></dt>
+<dd>
+<p>Impala supports creating, altering, and dropping tables using Kudu as the persistence layer.
+The tables follow the same internal / external approach as other tables in Impala,
+allowing for flexible data ingestion and querying.</p>
+</dd>
+<dt class="hdlist1"><code>INSERT</code></dt>
+<dd>
+<p>Data can be inserted into Kudu tables in Impala using the same syntax as
+any other Impala table like those using HDFS or HBase for persistence.</p>
+</dd>
+<dt class="hdlist1"><code>UPDATE</code> / <code>DELETE</code></dt>
+<dd>
+<p>Impala supports the <code>UPDATE</code> and <code>DELETE</code> SQL commands to modify existing data in
+a Kudu table row-by-row or as a batch. The syntax of the SQL commands is chosen
+to be as compatible as possible with existing standards. In addition to simple <code>DELETE</code>
+or <code>UPDATE</code> commands, you can specify complex joins with a <code>FROM</code> clause in a subquery.</p>
+</dd>
+<dt class="hdlist1">Flexible Partitioning</dt>
+<dd>
+<p>Similar to partitioning of tables in Hive, Kudu allows you to dynamically
+pre-split tables by hash or range into a predefined number of tablets, in order
+to distribute writes and queries evenly across your cluster. You can partition by
+any number of primary key columns, by any number of hashes, and an optional list of
+split rows. See <a href="schema_design.html#schema_design">Schema Design</a>.</p>
+</dd>
+<dt class="hdlist1">Parallel Scan</dt>
+<dd>
+<p>To achieve the highest possible performance on modern hardware, the Kudu client
+used by Impala parallelizes scans across multiple tablets.</p>
+</dd>
+<dt class="hdlist1">High-efficiency queries</dt>
+<dd>
+<p>Where possible, Impala pushes down predicate evaluation to Kudu, so that predicates
+are evaluated as close as possible to the data. Query performance is comparable
+to Parquet in many workloads.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>For more details regarding querying data stored in Kudu using Impala, please
+refer to the Impala documentation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_concepts_and_terms"><a class="link" href="#_concepts_and_terms">Concepts and Terms</a></h2>
+<div class="sectionbody">
+<div id="kudu_columnar_data_store" class="paragraph">
+<div class="title">Columnar Data Store</div>
+<p>Kudu is a <em>columnar data store</em>. A columnar data store stores data in strongly-typed
+columns. With a proper design, it is superior for analytical or data warehousing
+workloads for several reasons.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Read Efficiency</dt>
+<dd>
+<p>For analytical queries, you can read a single column, or a portion
+of that column, while ignoring other columns. This means you can fulfill your query
+while reading a minimal number of blocks on disk. With a row-based store, you need
+to read the entire row, even if you only return values from a few columns.</p>
+</dd>
+<dt class="hdlist1">Data Compression</dt>
+<dd>
+<p>Because a given column contains only one type of data,
+pattern-based compression can be orders of magnitude more efficient than
+compressing mixed data types, which are used in row-based solutions. Combined
+with the efficiencies of reading data from columns, compression allows you to
+fulfill your query while reading even fewer blocks from disk. See
+<a href="schema_design.html#encoding">Data Compression</a></p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<div class="title">Table</div>
+<p>A <em>table</em> is where your data is stored in Kudu. A table has a schema and
+a totally ordered primary key. A table is split into segments called tablets.</p>
+</div>
+<div class="paragraph">
+<div class="title">Tablet</div>
+<p>A <em>tablet</em> is a contiguous segment of a table, similar to a <em>partition</em> in
+other data storage engines or relational databases. A given tablet is
+replicated on multiple tablet servers, and at any given point in time,
+one of these replicas is considered the leader tablet. Any replica can service
+reads, and writes require consensus among the set of tablet servers serving the tablet.</p>
+</div>
+<div class="paragraph">
+<div class="title">Tablet Server</div>
+<p>A <em>tablet server</em> stores and serves tablets to clients. For a
+given tablet, one tablet server acts as a leader, and the others act as
+follower replicas of that tablet. Only leaders service write requests, while
+leaders or followers each service read requests. Leaders are elected using
+<a href="#raft">Raft Consensus Algorithm</a>. One tablet server can serve multiple tablets, and one tablet can be served
+by multiple tablet servers.</p>
+</div>
+<div class="paragraph">
+<div class="title">Master</div>
+<p>The <em>master</em> keeps track of all the tablets, tablet servers, the
+<a href="#catalog_table">Catalog Table</a>, and other metadata related to the cluster. At a given point
+in time, there can only be one acting master (the leader). If the current leader
+disappears, a new master is elected using <a href="#raft">Raft Consensus Algorithm</a>.</p>
+</div>
+<div class="paragraph">
+<p>The master also coordinates metadata operations for clients. For example, when
+creating a new table, the client internally sends the request to the master. The
+master writes the metadata for the new table into the catalog table, and
+coordinates the process of creating tablets on the tablet servers.</p>
+</div>
+<div class="paragraph">
+<p>All the master&#8217;s data is stored in a tablet, which can be replicated to all the
+other candidate masters.</p>
+</div>
+<div class="paragraph">
+<p>Tablet servers heartbeat to the master at a set interval (the default is once
+per second).</p>
+</div>
+<div id="raft" class="paragraph">
+<div class="title">Raft Consensus Algorithm</div>
+<p>Kudu uses the <a href="https://raft.github.io/">Raft consensus algorithm</a> as
+a means to guarantee fault-tolerance and consistency, both for regular tablets and for master
+data. Through Raft, multiple replicas of a tablet elect a <em>leader</em>, which is responsible
+for accepting and replicating writes to <em>follower</em> replicas. Once a write is persisted
+in a majority of replicas it is acknowledged to the client. A given group of <code>N</code> replicas
+(usually 3 or 5) is able to accept writes with at most <code>(N - 1)/2</code> faulty replicas.</p>
+</div>
+<div id="catalog_table" class="paragraph">
+<div class="title">Catalog Table</div>
+<p>The <em>catalog table</em> is the central location for
+metadata of Kudu. It stores information about tables and tablets. The catalog
+table may not be read or written directly. Instead, it is accessible
+only via metadata operations exposed in the client API.</p>
+</div>
+<div class="paragraph">
+<p>The catalog table stores two categories of metadata:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Tables</dt>
+<dd>
+<p>table schemas, locations, and states</p>
+</dd>
+<dt class="hdlist1">Tablets</dt>
+<dd>
+<p>the list of existing tablets, which tablet servers have replicas of
+each tablet, the tablet&#8217;s current state, and start and end keys.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<div class="title">Logical Replication</div>
+<p>Kudu replicates operations, not on-disk data. This is referred to as <em>logical replication</em>,
+as opposed to <em>physical replication</em>. This has several advantages:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Although inserts and updates do transmit data over the network, deletes do not need
+to move any data. The delete operation is sent to each tablet server, which performs
+the delete locally.</p>
+</li>
+<li>
+<p>Physical operations, such as compaction, do not need to transmit the data over the
+network in Kudu. This is different from storage systems that use HDFS, where
+the blocks need to be transmitted over the network to fulfill the required number of
+replicas.</p>
+</li>
+<li>
+<p>Tablets do not need to perform compactions at the same time or on the same schedule,
+or otherwise remain in sync on the physical storage layer. This decreases the chances
+of all tablet servers experiencing high latency at the same time, due to compactions
+or heavy write loads.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_architectural_overview"><a class="link" href="#_architectural_overview">Architectural Overview</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The following diagram shows a Kudu cluster with three masters and multiple tablet
+servers, each serving multiple tablets. It illustrates how Raft consensus is used
+to allow for both leaders and followers for both the masters and tablet servers. In
+addition, a tablet server can be a leader for some tablets, and a follower for others.
+Leaders are shown in gold, while followers are shown in blue.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="./images/kudu-architecture-2.png" alt="Kudu Architecture" width="800">
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu_use_cases"><a class="link" href="#kudu_use_cases">Example Use Cases</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<div class="title">Streaming Input with Near Real Time Availability</div>
+<p>A common challenge in data analysis is one where new data arrives rapidly and constantly,
+and the same data needs to be available in near real time for reads, scans, and
+updates. Kudu offers the powerful combination of fast inserts and updates with
+efficient columnar scans to enable real-time analytics use cases on a single storage layer.</p>
+</div>
+<div class="paragraph">
+<div class="title">Time-series application with widely varying access patterns</div>
+<p>A time-series schema is one in which data points are organized and keyed according
+to the time at which they occurred. This can be useful for investigating the
+performance of metrics over time or attempting to predict future behavior based
+on past data. For instance, time-series customer data might be used both to store
+purchase click-stream history and to predict future purchases, or for use by a
+customer support representative. While these different types of analysis are occurring,
+inserts and mutations may also be occurring individually and in bulk, and become available
+immediately to read workloads. Kudu can handle all of these access patterns
+simultaneously in a scalable and efficient manner.</p>
+</div>
+<div class="paragraph">
+<p>Kudu is a good fit for time-series workloads for several reasons. With Kudu&#8217;s support for
+hash-based partitioning, combined with its native support for compound row keys, it is
+simple to set up a table spread across many servers without the risk of "hotspotting"
+that is commonly observed when range partitioning is used. Kudu&#8217;s columnar storage engine
+is also beneficial in this context, because many time-series workloads read only a few columns,
+as opposed to the whole row.</p>
+</div>
+<div class="paragraph">
+<p>In the past, you might have needed to use multiple data stores to handle different
+data access patterns. This practice adds complexity to your application and operations,
+and duplicates your data, doubling (or worse) the amount of storage
+required. Kudu can handle all of these access patterns natively and efficiently,
+without the need to off-load work to other data stores.</p>
+</div>
+<div class="paragraph">
+<div class="title">Predictive Modeling</div>
+<p>Data scientists often develop predictive learning models from large sets of data. The
+model and the data may need to be updated or modified often as the learning takes
+place or as the situation being modeled changes. In addition, the scientist may want
+to change one or more factors in the model to see what happens over time. Updating
+a large set of data stored in files in HDFS is resource-intensive, as each file needs
+to be completely rewritten. In Kudu, updates happen in near real time. The scientist
+can tweak the value, re-run the query, and refresh the graph in seconds or minutes,
+rather than hours or days. In addition, batch or incremental algorithms can be run
+across the data at any time, with near-real-time results.</p>
+</div>
+<div class="paragraph">
+<div class="title">Combining Data In Kudu With Legacy Systems</div>
+<p>Companies generate data from multiple sources and store it in a variety of systems
+and formats. For instance, some of your data may be stored in Kudu, some in a traditional
+RDBMS, and some in files in HDFS. You can access and query all of these sources and
+formats using Impala, without the need to change your legacy systems.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_next_steps"><a class="link" href="#_next_steps">Next Steps</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="quickstart.html">Get Started With Kudu</a></p>
+</li>
+<li>
+<p><a href="installation.html">Installing Kudu</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+<span class="active-toc">Introducing Kudu</span>
+            <ul class="sectlevel1">
+<li><a href="#_kudu_impala_integration_features">Kudu-Impala Integration Features</a></li>
+<li><a href="#_concepts_and_terms">Concepts and Terms</a></li>
+<li><a href="#_architectural_overview">Architectural Overview</a></li>
+<li><a href="#kudu_use_cases">Example Use Cases</a></li>
+<li><a href="#_next_steps">Next Steps</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/installation.html b/releases/1.15.0/docs/installation.html
new file mode 100644
index 0000000..ca3dfc8
--- /dev/null
+++ b/releases/1.15.0/docs/installation.html
@@ -0,0 +1,1453 @@
+<!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 - Installing Apache Kudu</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Installing Apache Kudu</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The Apache Kudu project only publishes source code releases, to deploy Kudu on a
+cluster follow the steps below to build Kudu from source.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="prerequisites_and_requirements"><a class="link" href="#prerequisites_and_requirements">Prerequisites and Requirements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<div class="title">Hardware</div>
+<ul>
+<li>
+<p>One or more hosts to run Kudu masters. It is recommended to have either one master (no fault
+tolerance), or three masters (can tolerate one failure). The number of masters must be odd.</p>
+</li>
+<li>
+<p>One or more hosts to run Kudu tablet servers. When using replication, a minimum of three tablet
+servers is necessary.</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+A deployment with an even number of masters provides the same level of fault tolerance as a
+deployment with one fewer master. For example, both four-master and three-master deployments can
+only tolerate a single failure; two-master deployments cannot tolerate any failures.
+</td>
+</tr>
+</table>
+</div>
+<div class="dlist">
+<div class="title">Operating System Requirements</div>
+<dl>
+<dt class="hdlist1">Linux</dt>
+<dd>
+<div class="ulist">
+<ul>
+<li>
+<p>RHEL 7, RHEL 8, CentOS 7, CentOS 8,
+Ubuntu 18.04 (bionic), Ubuntu 20.04 (focal)</p>
+</li>
+<li>
+<p>A kernel and filesystem that support <em>hole punching</em>. Hole punching is the use of the
+<code>fallocate(2)</code> system call with the <code>FALLOC_FL_PUNCH_HOLE</code> option set. See
+<a href="troubleshooting.html#req_hole_punching">troubleshooting hole punching</a> for more
+information.</p>
+</li>
+<li>
+<p>ntp or chrony.</p>
+</li>
+<li>
+<p>xfs or ext4 formatted drives.</p>
+</li>
+<li>
+<p>Although not a strict requirement, it&#8217;s highly recommended to use <code>nscd</code>
+to cache both DNS name resolution and static name resolution. See
+<a href="troubleshooting.html#slow_dns_nscd">troubleshooting slow DNS lookups</a>
+for more information.</p>
+</li>
+</ul>
+</div>
+</dd>
+<dt class="hdlist1">macOS</dt>
+<dd>
+<div class="ulist">
+<ul>
+<li>
+<p>macOS 10.13 (High Sierra), macOS 10.14 (Mojave), macOS 10.15 (Catalina)</p>
+</li>
+</ul>
+</div>
+</dd>
+<dt class="hdlist1">Windows</dt>
+<dd>
+<div class="ulist">
+<ul>
+<li>
+<p>Microsoft Windows is unsupported.</p>
+</li>
+</ul>
+</div>
+</dd>
+</dl>
+</div>
+<div class="ulist">
+<div class="title">Storage</div>
+<ul>
+<li>
+<p>If solid state storage is available, storing Kudu WALs on such high-performance
+media may significantly improve latency when Kudu is configured for its highest
+durability levels.</p>
+</li>
+</ul>
+</div>
+<div class="ulist">
+<div class="title">Java</div>
+<ul>
+<li>
+<p>JDK 8 is required to build Kudu, but a JRE is not required at runtime
+except for tests.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="build_from_source"><a class="link" href="#build_from_source">Build From Source</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Below are the steps for each supported operating system to build Kudu from  source.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+<div class="title">Known Build Issues</div>
+<div class="ulist">
+<ul>
+<li>
+<p>It is not possible to build Kudu on Microsoft Windows.</p>
+</li>
+<li>
+<p>A C+17 capable compiler (GCC 7.0) is required.</p>
+</li>
+</ul>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="sect2">
+<h3 id="rhel_from_source"><a class="link" href="#rhel_from_source">RHEL or CentOS</a></h3>
+<div class="paragraph">
+<p>RHEL or CentOS 7.0 or later is required to build Kudu from source. To build
+on a version older than 8.0, the Red Hat Developer Toolset must be installed
+(in order to have access to a C++17 capable compiler).</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Install the prerequisite libraries, if they are not installed.</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo yum install autoconf automake cyrus-sasl-devel cyrus-sasl-gssapi \
+  cyrus-sasl-plain flex gcc gcc-c++ gdb git java-1.8.0-openjdk-devel \
+  krb5-server krb5-workstation libtool make openssl-devel patch \
+  pkgconfig redhat-lsb-core rsync unzip vim-common which</pre>
+</div>
+</div>
+</li>
+<li>
+<p>If building on RHEL or CentOS older than 8.0, install the Red Hat Developer Toolset.
+Below are the steps required for CentOS. If you are on RHEL, follow their documentation
+<a href="https://developers.redhat.com/products/developertoolset/hello-world">here</a>.</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo yum install centos-release-scl-rh
+$ sudo yum install devtoolset-8</pre>
+</div>
+</div>
+</li>
+<li>
+<p>Optional: If support for Kudu&#8217;s NVM (non-volatile memory) block cache is
+desired, install the memkind library.</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo yum install memkind</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If the memkind package provided with the Linux distribution is too old (1.8.0 or
+newer is required), build and install it from source.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo yum install numactl-libs numactl-devel
+$ git clone https://github.com/memkind/memkind.git
+$ cd memkind
+$ ./build.sh --prefix=/usr
+$ sudo yum remove memkind
+$ sudo make install
+$ sudo ldconfig</pre>
+</div>
+</div>
+</li>
+<li>
+<p>Optional: Install some additional packages, including ruby, if you plan to build documentation.</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo yum install gem graphviz ruby-devel zlib-devel</pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+If building on RHEL or CentOS older than 7.0, the gem package may need to be replaced with rubygems
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Doxygen 1.8.19 or later is required to build the documentation, which has to be
+<a href="https://www.doxygen.nl/manual/install.html#install_src_unix">built from source manually</a>. Building
+this version of Doxygen on CentOS or RHEL older than 8.0 also requires
+<a href="https://www.softwarecollections.org/en/scls/rhscl/devtoolset-8/">devtoolset</a>.
+</td>
+</tr>
+</table>
+</div>
+</li>
+<li>
+<p>Clone the Git repository and change to the new <code>kudu</code> directory.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ git clone https://github.com/apache/kudu
+$ cd kudu</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Build any missing third-party requirements using the <code>build-if-necessary.sh</code> script. Not using
+the devtoolset will result in <code>Host compiler appears to require libatomic, but cannot find it.</code></p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ build-support/enable_devtoolset.sh thirdparty/build-if-necessary.sh</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Build Kudu, using the utilities installed in the previous step. Choose a build
+directory for the intermediate output, which can be anywhere in your filesystem
+except for the <code>kudu</code> directory itself. Notice that the devtoolset must still be specified,
+else you&#8217;ll get <code>cc1plus: error: unrecognized command line option "-std=c++17"</code>.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">mkdir -p build/release
+cd build/release
+../../build-support/enable_devtoolset.sh \
+  ../../thirdparty/installed/common/bin/cmake \
+  -DCMAKE_BUILD_TYPE=release ../..
+make -j4</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>If you need to install only a subset of Kudu executables, you can set the following <code>cmake</code> flags
+to OFF in order to skip any of the executables.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>KUDU_CLIENT_INSTALL (set to OFF to skip installing <code>/usr/local/bin/kudu</code> executable)</p>
+</li>
+<li>
+<p>KUDU_TSERVER_INSTALL (set to OFF to skip installing <code>/usr/local/sbin/kudu-tserver</code> executable)</p>
+</li>
+<li>
+<p>KUDU_MASTER_INSTALL (set to OFF to skip installing <code>/usr/local/sbin/kudu-master</code> executable)</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>E.g., use the following variation of <code>cmake</code> command if you need to install only Kudu client
+libraries and headers:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">../../build-support/enable_devtoolset.sh \
+  ../../thirdparty/installed/common/bin/cmake \
+  -DKUDU_CLIENT_INSTALL=OFF \
+  -DKUDU_MASTER_INSTALL=OFF \
+  -DKUDU_TSERVER_INSTALL=OFF
+  -DCMAKE_BUILD_TYPE=release ../..</code></pre>
+</div>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</li>
+<li>
+<p>Optional: install Kudu executables, libraries and headers.</p>
+<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>Running <code>sudo make install</code> installs the following:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>kudu-tserver and kudu-master executables in <code>/usr/local/sbin</code></p>
+</li>
+<li>
+<p>Kudu command line tool in <code>/usr/local/bin</code></p>
+</li>
+<li>
+<p>Kudu client library in <code>/usr/local/lib64/</code></p>
+</li>
+<li>
+<p>Kudu client headers in <code>/usr/local/include/kudu</code></p>
+</li>
+</ul>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The default installation directory is <code>/usr/local</code>. You can customize it through the <code>DESTDIR</code>
+environment variable.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">sudo make DESTDIR=/opt/kudu install</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Optional: Build the documentation. NOTE: This command builds local documentation that
+is not appropriate for uploading to the Kudu website.</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ make docs</pre>
+</div>
+</div>
+</li>
+</ol>
+</div>
+<div class="exampleblock">
+<div class="title">Example 1. RHEL / CentOS Build Script</div>
+<div class="content">
+<div class="paragraph">
+<p>This script provides an overview of the procedure to build Kudu on a
+newly-installed RHEL or CentOS host, and can be used as the basis for an
+automated deployment scenario. It skips the steps marked <strong>Optional</strong> above.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">#!/bin/bash
+
+sudo yum -y install autoconf automake curl cyrus-sasl-devel cyrus-sasl-gssapi \
+  cyrus-sasl-plain flex gcc gcc-c++ gdb git java-1.8.0-openjdk-devel \
+  krb5-server krb5-workstation libtool make openssl-devel patch pkgconfig \
+  redhat-lsb-core rsync unzip vim-common which
+sudo yum -y install centos-release-scl-rh
+sudo yum -y install devtoolset-8
+git clone https://github.com/apache/kudu
+cd kudu
+build-support/enable_devtoolset.sh thirdparty/build-if-necessary.sh
+mkdir -p build/release
+cd build/release
+../../build-support/enable_devtoolset.sh \
+  ../../thirdparty/installed/common/bin/cmake \
+  -DCMAKE_BUILD_TYPE=release \
+  ../..
+make -j4</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="ubuntu_from_source"><a class="link" href="#ubuntu_from_source">Ubuntu or Debian</a></h3>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Install the prerequisite libraries, if they are not installed.</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo apt-get install autoconf automake curl flex g++ gcc gdb git \
+  krb5-admin-server krb5-kdc krb5-user libkrb5-dev libsasl2-dev libsasl2-modules \
+  libsasl2-modules-gssapi-mit libssl-dev libtool lsb-release make ntp \
+  openjdk-8-jdk openssl patch pkg-config python rsync unzip vim-common</pre>
+</div>
+</div>
+</li>
+<li>
+<p>Optional: If support for Kudu&#8217;s NVM (non-volatile memory) block cache is
+desired, install the memkind library.</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo apt-get install libmemkind0</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If the memkind package provided with the Linux distribution is too old (1.8.0 or
+newer is required), build and install it from source.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo apt-get install libnuma1 libnuma-dev
+$ git clone https://github.com/memkind/memkind.git
+$ cd memkind
+$ ./build.sh --prefix=/usr
+$ sudo apt-get remove memkind
+$ sudo make install
+$ sudo ldconfig</pre>
+</div>
+</div>
+</li>
+<li>
+<p>Optional: Install some additional packages, including ruby, if you plan to build documentation.</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo apt-get install gem graphviz ruby-dev xsltproc zlib1g-dev</pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Doxygen 1.8.19 or later is required to build the documentation, which has to be
+<a href="https://www.doxygen.nl/manual/install.html#install_src_unix">built from source manually</a>.
+</td>
+</tr>
+</table>
+</div>
+</li>
+<li>
+<p>Clone the Git repository and change to the new <code>kudu</code> directory.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ git clone https://github.com/apache/kudu
+$ cd kudu</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Build any missing third-party requirements using the <code>build-if-necessary.sh</code> script.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ thirdparty/build-if-necessary.sh</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Build Kudu, using the utilities installed in the previous step. Choose a build
+directory for the intermediate output, which can be anywhere in your filesystem
+except for the <code>kudu</code> directory itself.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">mkdir -p build/release
+cd build/release
+../../thirdparty/installed/common/bin/cmake -DCMAKE_BUILD_TYPE=release ../..
+make -j4</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>If you need to install only a subset of Kudu executables, you can set the following <code>cmake</code> flags
+to OFF in order to skip any of the executables.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>KUDU_CLIENT_INSTALL (set to OFF to skip installing <code>/usr/local/bin/kudu</code> executable)</p>
+</li>
+<li>
+<p>KUDU_TSERVER_INSTALL (set to OFF to skip installing <code>/usr/local/sbin/kudu-tserver</code> executable)</p>
+</li>
+<li>
+<p>KUDU_MASTER_INSTALL (set to OFF to skip installing <code>/usr/local/sbin/kudu-master</code> executable)</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>E.g., use the following variation of <code>cmake</code> command if you need to install only Kudu client
+libraries and headers:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">  ../../thirdparty/installed/common/bin/cmake \
+  -DKUDU_CLIENT_INSTALL=OFF \
+  -DKUDU_MASTER_INSTALL=OFF \
+  -DKUDU_TSERVER_INSTALL=OFF
+  -DCMAKE_BUILD_TYPE=release ../..</code></pre>
+</div>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</li>
+<li>
+<p>Optional: install Kudu executables, libraries and headers.</p>
+<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>Running <code>sudo make install</code> installs the following:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>kudu-tserver and kudu-master executables in <code>/usr/local/sbin</code></p>
+</li>
+<li>
+<p>Kudu command line tool in <code>/usr/local/bin</code></p>
+</li>
+<li>
+<p>Kudu client library in <code>/usr/local/lib64/</code></p>
+</li>
+<li>
+<p>Kudu client headers in <code>/usr/local/include/kudu</code></p>
+</li>
+</ul>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The default installation directory is <code>/usr/local</code>. You can customize it through the <code>DESTDIR</code>
+environment variable.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">sudo make DESTDIR=/opt/kudu install</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Optional: Build the documentation. NOTE: This command builds local documentation that
+is not appropriate for uploading to the Kudu website.</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ make docs</pre>
+</div>
+</div>
+</li>
+</ol>
+</div>
+<div class="exampleblock">
+<div class="title">Example 2. Ubuntu / Debian Build Script</div>
+<div class="content">
+<div class="paragraph">
+<p>This script provides an overview of the procedure to build Kudu on Ubuntu, and
+can be used as the basis for an automated deployment scenario. It skips
+the steps marked <strong>Optional</strong> above.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">#!/bin/bash
+
+sudo apt-get -y install autoconf automake curl flex g++ gcc gdb git \
+  krb5-admin-server krb5-kdc krb5-user libkrb5-dev libsasl2-dev libsasl2-modules \
+  libsasl2-modules-gssapi-mit libssl-dev libtool lsb-release make ntp \
+  openjdk-8-jdk openssl patch pkg-config python rsync unzip vim-common
+git clone https://github.com/apache/kudu
+cd kudu
+thirdparty/build-if-necessary.sh
+mkdir -p build/release
+cd build/release
+../../thirdparty/installed/common/bin/cmake \
+  -DCMAKE_BUILD_TYPE=release ../..
+make -j4</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="sles_from_source"><a class="link" href="#sles_from_source">SUSE Linux Enterprise Server</a></h3>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Install the prerequisite libraries, if they are not installed.</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo zypper install autoconf automake cmake curl cyrus-sasl-devel \
+  cyrus-sasl-gssapi flex gcc8 gcc8-c++ gdb git java-1_8_0-openjdk-devel \
+  krb5-devel libtool lsb-release make ntp patch \
+  pkg-config python rsync unzip vim
+$ sudo zypper install libopenssl-devel</pre>
+</div>
+</div>
+</li>
+<li>
+<p>If you are building on something older that SUSE 15:</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo zypper install openssl-devel</pre>
+</div>
+</div>
+</li>
+<li>
+<p>Optional: If support for Kudu&#8217;s NVM (non-volatile memory) block cache is
+desired, install the memkind library.
++__</p>
+</li>
+</ol>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo zypper install memkind</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>+
+If the memkind package provided with the Linux distribution is too old (1.8.0 or
+newer is required), build and install it from source.</p>
+</div>
+<div class="paragraph">
+<p>+</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo zypper install numactl-libs numactl-devel
+$ git clone https://github.com/memkind/memkind.git
+$ cd memkind
+$ ./build.sh --prefix=/usr
+$ sudo zypper remove memkind
+$ sudo make install
+$ sudo ldconfig</pre>
+</div>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Clone the Git repository and change to the new <code>kudu</code> directory.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ git clone https://github.com/apache/kudu
+$ cd kudu</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Build any missing third-party requirements using the <code>build-if-necessary.sh</code> script.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ build-support/enable_devtoolset.sh thirdparty/build-if-necessary.sh</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Build Kudu, using the utilities installed in the previous step. Choose a build
+directory for the intermediate output, which can be anywhere in your filesystem
+except for the <code>kudu</code> directory itself.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">mkdir -p build/release
+cd build/release
+../../build-support/enable_devtoolset.sh \
+  ../../thirdparty/installed/common/bin/cmake \
+  -DCMAKE_BUILD_TYPE=release ../..
+make -j4</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>If you need to install only a subset of Kudu executables, you can set the following <code>cmake</code> flags
+to OFF in order to skip any of the executables.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>KUDU_CLIENT_INSTALL (set to OFF to skip installing <code>/usr/local/bin/kudu</code> executable)</p>
+</li>
+<li>
+<p>KUDU_TSERVER_INSTALL (set to OFF to skip installing <code>/usr/local/sbin/kudu-tserver</code> executable)</p>
+</li>
+<li>
+<p>KUDU_MASTER_INSTALL (set to OFF to skip installing <code>/usr/local/sbin/kudu-master</code> executable)</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>E.g., use the following variation of <code>cmake</code> command if you need to install only Kudu client
+libraries and headers:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">../../build-support/enable_devtoolset.sh \
+  ../../thirdparty/installed/common/bin/cmake \
+  -DKUDU_CLIENT_INSTALL=OFF \
+  -DKUDU_TSERVER_INSTALL=OFF \
+  -DKUDU_MASTER_INSTALL=OFF
+  -DCMAKE_BUILD_TYPE=release ../..</code></pre>
+</div>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</li>
+<li>
+<p>Optional: install Kudu executables, libraries and headers.</p>
+<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>Running <code>sudo make install</code> installs the following:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>kudu-tserver and kudu-master executables in <code>/usr/local/sbin</code></p>
+</li>
+<li>
+<p>Kudu command line tool in <code>/usr/local/bin</code></p>
+</li>
+<li>
+<p>Kudu client library in <code>/usr/local/lib64/</code></p>
+</li>
+<li>
+<p>Kudu client headers in <code>/usr/local/include/kudu</code></p>
+</li>
+</ul>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The default installation directory is <code>/usr/local</code>. You can customize it through the <code>DESTDIR</code>
+environment variable.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">sudo make DESTDIR=/opt/kudu install</code></pre>
+</div>
+</div>
+</li>
+</ol>
+</div>
+<div class="exampleblock">
+<div class="title">Example 3. SLES Build Script</div>
+<div class="content">
+<div class="paragraph">
+<p>This script provides an overview of the procedure to build Kudu on SLES, and
+can be used as the basis for an automated deployment scenario. It skips
+the steps marked <strong>Optional</strong> above. If running this on something older than
+SLES 15, replace <code>libopenssl-devel</code> with <code>openssl-devel</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">#!/bin/bash
+
+sudo zypper install -y autoconf automake cmake curl cyrus-sasl-devel \
+  cyrus-sasl-gssapi flex gcc8 gcc8-c++ gdb git java-1_8_0-openjdk-devel \
+  krb5-devel libtool lsb-release make ntp patch \
+  pkg-config python rsync unzip vim
+sudo zypper install libopenssl-devel
+git clone https://github.com/apache/kudu
+cd kudu
+build-support/enable_devtoolset.sh thirdparty/build-if-necessary.sh
+mkdir -p build/release
+cd build/release
+../../build-support/enable_devtoolset.sh \
+  ../../thirdparty/installed/common/bin/cmake \
+  -DCMAKE_BUILD_TYPE=release \
+  ../..
+make -j4</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="osx_from_source"><a class="link" href="#osx_from_source">macOS</a></h3>
+<div class="paragraph">
+<p>The <a href="https://developer.apple.com/xcode/">Xcode</a> package is necessary for
+compiling Kudu. Some of the instructions below use <a href="http://brew.sh/">Homebrew</a>
+to install dependencies, but manual dependency installation is possible.</p>
+</div>
+<div class="paragraph">
+<p>After installing Xcode, don&#8217;t forget to accept the license and install command-line
+tools, if it&#8217;s not done yet:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ sudo xcodebuild -license
+$ sudo xcode-select --install</pre>
+</div>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+<div class="title">macOS Known Issues</div>
+<div class="paragraph">
+<p>Kudu support for macOS is experimental, and should only be used for development.
+See <a href="https://issues.apache.org/jira/browse/KUDU-1219">macOS Limitations &amp; Known Issues</a>
+for more information.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Install the prerequisite libraries, if they are not installed.</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ brew install autoconf automake cmake git krb5 libtool openssl pkg-config pstree</pre>
+</div>
+</div>
+</li>
+<li>
+<p>Optional: Install some additional packages, including ruby, if you plan to build documentation.</p>
+<div class="listingblock">
+<div class="content">
+<pre>$ brew install doxygen graphviz ruby
+$ brew install gnu-sed --with-default-names #The macOS default sed handles the -i parameter differently</pre>
+</div>
+</div>
+</li>
+<li>
+<p>Clone the Git repository and change to the new <code>kudu</code> directory.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ git clone https://github.com/apache/kudu
+$ cd kudu</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Build any missing third-party requirements using the <code>build-if-necessary.sh</code> script.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ thirdparty/build-if-necessary.sh</code></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If different versions of the dependencies are installed and used when calling
+<code>thirdparty/build-if-necessary.sh</code>, you may get stuck with output similar to the
+following:</p>
+<div class="listingblock">
+<div class="content">
+<pre>./configure: line 16299: error near unexpected token `newline'
+./configure: line 16299: `  PKG_CHECK_MODULES('</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The thirdparty builds may be cached and may reflect the incorrect versions of the
+dependencies. Ensure that you have the correct dependencies listed in Step 1, clean
+the workspace, and then try to re-build.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ git clean -fdx
+$ thirdparty/build-if-necessary.sh</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Some combinations of Homebrew installations and system upgrades can result with a
+different kind of error:</p>
+<div class="listingblock">
+<div class="content">
+<pre>libtool: Version mismatch error.  This is libtool 2.4.6, but the
+libtool: definition of this LT_INIT comes from libtool 2.4.2.
+libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6
+libtool: and run autoconf again.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>As described in this <a href="https://github.com/Homebrew/legacy-homebrew/issues/43874">thread</a>,
+a possible fix is to uninstall and reinstall libtool:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ brew uninstall libtool &amp;&amp; brew install libtool</code></pre>
+</div>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Build Kudu. Choose a build directory for the intermediate output, which can be
+anywhere in your filesystem except for the <code>kudu</code> directory itself.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">mkdir -p build/release
+cd build/release
+../../thirdparty/installed/common/bin/cmake \
+  -DCMAKE_BUILD_TYPE=release \
+  -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \
+  ../..
+make -j4</code></pre>
+</div>
+</div>
+</li>
+</ol>
+</div>
+<div class="exampleblock">
+<div class="title">Example 4. macOS Build Script</div>
+<div class="content">
+<div class="paragraph">
+<p>This script provides an overview of the procedure to build Kudu on macOS, and can
+be used as the basis for an automated deployment scenario. It assumes Xcode and Homebrew
+are installed.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>#!/bin/bash
+
+brew tap homebrew/dupes
+brew install autoconf automake cmake git krb5 libtool openssl pkg-config pstree
+git clone https://github.com/apache/kudu
+cd kudu
+thirdparty/build-if-necessary.sh
+mkdir -p build/release
+cd build/release
+../../thirdparty/installed/common/bin/cmake \
+  -DCMAKE_BUILD_TYPE=release \
+  -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \
+  ../..
+make -j4</pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="build_cpp_client"><a class="link" href="#build_cpp_client">Installing the C++ Client Libraries</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>See the Kudu client install section at the bottom of <a href="#build_from_source">Build From Source</a> above.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Only build against the client libraries and headers (<code>kudu_client.so</code> and <code>client.h</code>).
+Other libraries and headers are internal to Kudu and have no stability guarantees.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="build_java_client"><a class="link" href="#build_java_client">Build the Java Client</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<div class="title">Requirements</div>
+<ul>
+<li>
+<p>JDK 8</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>To build the Java client, clone the Kudu Git repository, change to the <code>java</code>
+directory, and issue the following command:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ ./gradlew assemble</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For more information on building the Java parts of the Kudu project, as well
+as Eclipse integration, see <code>java/README.md</code>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="upgrade"><a class="link" href="#upgrade">Upgrade from a Previous Version of Kudu</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Before upgrading, you should read the <a href="release_notes.html">Release Notes</a> for
+the version of Kudu that you are about to install. Pay close attention to the
+incompatibilities, upgrade, and downgrade notes that are documented there.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+The following upgrade process is only relevant when you have binaries available.
+</td>
+</tr>
+</table>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Prepare the software.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Place the new <code>kudu-tserver</code>, <code>kudu-master</code>, and <code>kudu</code> binaries into the appropriate
+Kudu binary directory.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Upgrade the tablet servers.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Set the <code>follower_unavailable_considered_failed_sec</code> configuration to a high value
+(conservatively, twice the expected restart time) to prevent tablet replicas hosted
+on restarting tablet servers from being evicted and re-replicated.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ ./kudu tserver set_flag &lt;tserver&gt; follower_unavailable_considered_failed_sec 7200</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Restart one tablet server.</p>
+</li>
+<li>
+<p>Wait for all tablet replicas on the tablet server to finish bootstrapping by viewing
+<code>/tablets</code> page in the tablet server web UI.</p>
+</li>
+<li>
+<p>Restarting the tablet server will have reset the <code>follower_unavailable_considered_failed_sec</code>
+configuration. Raise it again as needed.</p>
+</li>
+<li>
+<p>Repeat the previous 3 steps for the remaining tablet servers.</p>
+</li>
+<li>
+<p>Restore the original gflag value of every tablet server (the default is 5 minutes)</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ ./kudu tserver set_flag &lt;tserver&gt; follower_unavailable_considered_failed_sec 300</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>An example for a cluster with three tablet servers A, B, C:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash"># Step 1: Set the unavailable time for every tablet server to a large value
+$ ./kudu tserver set_flag A follower_unavailable_considered_failed_sec 7200
+$ ./kudu tserver set_flag B follower_unavailable_considered_failed_sec 7200
+$ ./kudu tserver set_flag C follower_unavailable_considered_failed_sec 7200
+
+# Step 2: Restart the tablet server and reset the gflag one by one
+&lt;restart A and wait until A is online&gt;
+$ ./kudu tserver set_flag A follower_unavailable_considered_failed_sec 7200
+&lt;restart B and wait until B is online&gt;
+$ ./kudu tserver set_flag B follower_unavailable_considered_failed_sec 7200
+&lt;restart C and wait until C is online&gt;
+$ ./kudu tserver set_flag C follower_unavailable_considered_failed_sec 7200
+
+# Step 3: Restore the default gflag value (5 minutes) for every tablet server
+$ ./kudu tserver set_flag A follower_unavailable_considered_failed_sec 300
+$ ./kudu tserver set_flag B follower_unavailable_considered_failed_sec 300
+$ ./kudu tserver set_flag C follower_unavailable_considered_failed_sec 300</code></pre>
+</div>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Upgrade the master servers.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Restart the master server one by one.</p>
+</li>
+</ul>
+</div>
+</li>
+</ol>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="next_steps"><a class="link" href="#next_steps">Next Steps</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="configuration.html">Configuring Kudu</a></p>
+</li>
+<li>
+<p><a href="administration.html">Kudu Administration</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+<span class="active-toc">Installation Guide</span>
+            <ul class="sectlevel1">
+<li><a href="#prerequisites_and_requirements">Prerequisites and Requirements</a></li>
+<li><a href="#build_from_source">Build From Source</a>
+<ul class="sectlevel2">
+<li><a href="#rhel_from_source">RHEL or CentOS</a></li>
+<li><a href="#ubuntu_from_source">Ubuntu or Debian</a></li>
+<li><a href="#sles_from_source">SUSE Linux Enterprise Server</a></li>
+<li><a href="#osx_from_source">macOS</a></li>
+</ul>
+</li>
+<li><a href="#build_cpp_client">Installing the C++ Client Libraries</a></li>
+<li><a href="#build_java_client">Build the Java Client</a></li>
+<li><a href="#upgrade">Upgrade from a Previous Version of Kudu</a></li>
+<li><a href="#next_steps">Next Steps</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/known_issues.html b/releases/1.15.0/docs/known_issues.html
new file mode 100644
index 0000000..625917b
--- /dev/null
+++ b/releases/1.15.0/docs/known_issues.html
@@ -0,0 +1,626 @@
+<!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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Known Issues and Limitations</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_schema"><a class="link" href="#_schema">Schema</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_primary_keys"><a class="link" href="#_primary_keys">Primary keys</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>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.</p>
+</li>
+<li>
+<p>The columns which make up the primary key must be listed first in the schema.</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>Auto-generated primary keys are not supported.</p>
+</li>
+<li>
+<p>Cells making up a composite primary key are limited to a total of 16KiB after the internal
+composite-key encoding done by Kudu.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_columns"><a class="link" href="#_columns">Columns</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><code>CHAR</code> and complex types like <code>ARRAY</code>, <code>MAP</code>, and <code>STRUCT</code> are not yet
+supported.</p>
+</li>
+<li>
+<p>Type, nullability and type attributes (i.e. precision and scale of <code>DECIMAL</code>,
+length of <code>VARCHAR</code>) of existing columns cannot be changed by altering the
+table.</p>
+</li>
+<li>
+<p>Tables can have a maximum of 300 columns by default.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_tables"><a class="link" href="#_tables">Tables</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>Tables must have an odd number of replicas, with a maximum of 7.</p>
+</li>
+<li>
+<p>The replication factor is set at table creation time and cannot be changed
+later. As a workaround, create a new table with the same schema and
+the desired replication factor and insert the contents of the old table
+into the new one.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_cells_individual_values"><a class="link" href="#_cells_individual_values">Cells (individual values)</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>By default, cells cannot be larger than 64KiB before encoding or compression.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_other_usage_limitations"><a class="link" href="#_other_usage_limitations">Other usage limitations</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>Secondary indexes are not supported.</p>
+</li>
+<li>
+<p>Multi-row transactions are not yet supported.</p>
+</li>
+<li>
+<p>Relational features, like foreign keys, are not supported.</p>
+</li>
+<li>
+<p>Identifiers such as column and table names are restricted to be valid UTF-8 strings.
+Additionally, a maximum length of 256 characters is enforced.</p>
+</li>
+<li>
+<p>Dropping a column does not immediately reclaim space. Compaction must run first.</p>
+</li>
+<li>
+<p>There is no way to run compaction manually, but dropping the table will reclaim the
+space immediately.</p>
+</li>
+</ul>
+</div>
+</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">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>
+<li>
+<p>Tablets that lose a majority of replicas (such as 1 left out of 3) require manual
+intervention to be repaired.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_cluster_management"><a class="link" href="#_cluster_management">Cluster management</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Recommended maximum point-to-point latency within a Kudu cluster is 20 milliseconds.</p>
+</li>
+<li>
+<p>Recommended minimum point-to-point bandwidth within a Kudu cluster is 10 Gbps.</p>
+</li>
+<li>
+<p>If you intend to use the location awareness feature to place tablet servers in
+different locations, it is recommended to measure the bandwidth and latency between servers
+to ensure they fit within the above guidelines.</p>
+</li>
+<li>
+<p>All masters must be started at the same time when the cluster is started for the very first time.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_server_management"><a class="link" href="#_server_management">Server management</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Production deployments should configure a least 4 GiB of memory for tablet servers,
+and ideally more than 16 GiB when approaching the data and tablet <a href="#_scale">Scale</a> limits.</p>
+</li>
+<li>
+<p>Write ahead logs (WAL) can only be stored on one disk.</p>
+</li>
+<li>
+<p>Tablet servers can’t change address/port.</p>
+</li>
+<li>
+<p>Kudu has a hard requirement on having up-to-date NTP. Kudu masters and tablet servers
+will crash when out of sync.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_scale"><a class="link" href="#_scale">Scale</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu is known to run seamlessly across a wide array of environments and workloads
+with minimal expertise and configuration at the following scale:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>3 master servers</p>
+</li>
+<li>
+<p>100 tablet servers</p>
+</li>
+<li>
+<p>8 TiB of stored data per tablet server, post-replication and post-compression.</p>
+</li>
+<li>
+<p>1000 tablets per tablet server, post-replication.</p>
+</li>
+<li>
+<p>60 tablets per table, per tablet server, at table-creation time.</p>
+</li>
+<li>
+<p>10 GiB of stored data per tablet.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Staying within these limits will provide the most predictable and straightforward
+Kudu experience.</p>
+</div>
+<div class="paragraph">
+<p>However, experienced users who run on modern hardware, use the latest
+versions of Kudu, test and tune Kudu for their use case, and work closely with
+the community, can achieve much higher scales comfortably. Below are some
+anecdotal values that have been seen in real world production clusters:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>3 master servers</p>
+</li>
+<li>
+<p>300+ tablet servers</p>
+</li>
+<li>
+<p>10+ TiB of stored data per tablet server, post-replication and post-compression.</p>
+</li>
+<li>
+<p>4000+ tablets per tablet server, post-replication.</p>
+</li>
+<li>
+<p>50 GiB of stored data per tablet. Going beyond this can cause issues such a
+reduced performance, compaction issues, and slow tablet startup times.</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>Row-level authorization is not available.</p>
+</li>
+<li>
+<p>Data encryption at rest is not directly built into Kudu. Encryption of
+Kudu data at rest can be achieved through the use of local block device
+encryption software such as <code>dmcrypt</code>.</p>
+</li>
+<li>
+<p>Kudu server Kerberos principals must follow the pattern <code>kudu/&lt;HOST&gt;@DEFAULT.REALM</code>.
+Configuring an alternate Kerberos principal is not supported.</p>
+</li>
+<li>
+<p>Server certificates generated by Kudu IPKI are incompatible with
+<a href="https://www.bouncycastle.org/">bouncycastle</a> version 1.52 and earlier. See
+<a href="https://issues.apache.org/jira/browse/KUDU-2145">KUDU-2145</a> for details.</p>
+</li>
+<li>
+<p>The highest supported version of the TLS protocol is TLSv1.2</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 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 1000
+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>
+<li>
+<p>NVM-based cache doesn&#8217;t work reliably on RH6/CentOS6
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2978">KUDU-2978</a>).</p>
+</li>
+<li>
+<p>When upgrading a Kudu cluster to 1.11.0 version with existing pre-1.11.0
+tables, the <code>live_row_count</code> and <code>on_disk_size</code> metrics might produce
+inconsistent readings in some scenarios
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2986">KUDU-2986</a>).</p>
+</li>
+<li>
+<p>In Kudu 1.10.0 and Kudu 1.11.0, the kudu-binary JAR (targeted for
+containerized Kudu deployments using mini-cluster) contains libnuma dynamic
+library. Also, if building Kudu binaries in release mode with default cmake
+settings, the libnuma library is linked statically with the Kudu binaries
+(add <code>-DKUDU_LINK=dynamic</code> when running cmake to avoid that). The library is
+licensed under LGPL v.2.1, however the ASF thirdparty license policy
+explicitly prohibits including such contents into releases: see
+<a href="https://www.apache.org/legal/resolved.html#category-x">Category X</a>. This
+issue has been addressed in 1.10.1 and 1.11.1 patch releases correspondingly
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2990">KUDU-2990</a>).</p>
+</li>
+<li>
+<p>Due to a bug in SSSD PAC plugin of version prior to 1.16, a KRPC connection
+negotiation may stuck and the whole process wouldn&#8217;t be able to negotiate
+any new connection for about 5 minutes in a secure Kudu cluster using SSSD.
+If using SSSD in secure Kudu cluster deployments, make sure SSSD packages are
+of version 1.16 or newer
+(see <a href="https://issues.apache.org/jira/browse/KUDU-3217">KUDU-3217</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+<span class="active-toc">Known Issues and Limitations</span>
+            <ul class="sectlevel1">
+<li><a href="#_schema">Schema</a>
+<ul class="sectlevel2">
+<li><a href="#_primary_keys">Primary keys</a></li>
+<li><a href="#_columns">Columns</a></li>
+<li><a href="#_tables">Tables</a></li>
+<li><a href="#_cells_individual_values">Cells (individual values)</a></li>
+<li><a href="#_other_usage_limitations">Other usage limitations</a></li>
+</ul>
+</li>
+<li><a href="#_partitioning_limitations">Partitioning Limitations</a></li>
+<li><a href="#_cluster_management">Cluster management</a></li>
+<li><a href="#_server_management">Server management</a></li>
+<li><a href="#_scale">Scale</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="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/kudu-master_configuration_reference.html b/releases/1.15.0/docs/kudu-master_configuration_reference.html
new file mode 100644
index 0000000..6a88710
--- /dev/null
+++ b/releases/1.15.0/docs/kudu-master_configuration_reference.html
@@ -0,0 +1,7321 @@
+<!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 - kudu-master Flags</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1><code>kudu-master</code> Flags</h1>
+      <div class="sect1">
+<h2 id="kudu-master_stable"><a class="link" href="#kudu-master_stable">Stable Flags</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Flags tagged <code>stable</code> and not <code>advanced</code> are safe to use for common
+configuration tasks.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_cache_capacity_mb"><a class="link" href="#kudu-master_block_cache_capacity_mb"><code>--block_cache_capacity_mb</code></a></h3>
+<div class="paragraph">
+<p>block cache capacity in MB</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>512</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_builtin_ntp_servers"><a class="link" href="#kudu-master_builtin_ntp_servers"><code>--builtin_ntp_servers</code></a></h3>
+<div class="paragraph">
+<p>The NTP servers used by the built-in NTP client, in format &lt;FQDN|IP&gt;[:PORT]. These will only be used if the built-in NTP client is enabled (i.e. if setting --time_source=builtin).</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">string</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>0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_time_source"><a class="link" href="#kudu-master_time_source"><code>--time_source</code></a></h3>
+<div class="paragraph">
+<p>The time source that HybridClock should use. Must be one of auto, builtin, system, system_unsync (toy clusters/testing only), mock (testing only). When set to auto, the system automatically picks one of the following depending on the environment: builtin, system, system_unsync, where in case of picking builtin the built-in NTP client is configured with dedicated NTP server(s) provided by the environment.</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">string</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>system</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_force_fsync_all"><a class="link" href="#kudu-master_log_force_fsync_all"><code>--log_force_fsync_all</code></a></h3>
+<div class="paragraph">
+<p>Whether the Log/WAL should explicitly call fsync() after each write.</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fs_data_dirs"><a class="link" href="#kudu-master_fs_data_dirs"><code>--fs_data_dirs</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fs_metadata_dir"><a class="link" href="#kudu-master_fs_metadata_dir"><code>--fs_metadata_dir</code></a></h3>
+<div class="paragraph">
+<p>Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fs_wal_dir"><a class="link" href="#kudu-master_fs_wal_dir"><code>--fs_wal_dir</code></a></h3>
+<div class="paragraph">
+<p>Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_master_addresses"><a class="link" href="#kudu-master_master_addresses"><code>--master_addresses</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of the RPC addresses belonging to all Masters in this cluster. NOTE: if not specified or a single address is specified, configures a non-replicated Master.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_keytab_file"><a class="link" href="#kudu-master_keytab_file"><code>--keytab_file</code></a></h3>
+<div class="paragraph">
+<p>Path to the Kerberos Keytab file for this server. Specifying a keytab file will cause the server to kinit, and enable Kerberos to be used to authenticate RPC connections.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_bind_addresses"><a class="link" href="#kudu-master_rpc_bind_addresses"><code>--rpc_bind_addresses</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of addresses to bind to for RPC connections. Currently, ephemeral ports (i.e. port 0) are not allowed.</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">string</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>0.0.0.0:7051</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_superuser_acl"><a class="link" href="#kudu-master_superuser_acl"><code>--superuser_acl</code></a></h3>
+<div class="paragraph">
+<p>The list of usernames to allow as super users, comma-separated. A '*' entry indicates that all authenticated users are allowed. If this is left unset or blank, the default behavior is that the identity of the daemon itself determines the superuser. If the daemon is logged in from a Keytab, then the local username from the Kerberos principal is used; otherwise, the local Unix username is used.</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">string</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">none</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">sensitive,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_user_acl"><a class="link" href="#kudu-master_user_acl"><code>--user_acl</code></a></h3>
+<div class="paragraph">
+<p>The list of usernames who may access the cluster, comma-separated. A '*' entry indicates that all authenticated users are allowed.</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">string</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>*</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">sensitive,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_certificate_file"><a class="link" href="#kudu-master_webserver_certificate_file"><code>--webserver_certificate_file</code></a></h3>
+<div class="paragraph">
+<p>The location of the debug webserver&#8217;s SSL certificate file, in PEM format. If empty, webserver SSL support is not enabled. If --webserver_private_key_file is set, this option must be set as well.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_port"><a class="link" href="#kudu-master_webserver_port"><code>--webserver_port</code></a></h3>
+<div class="paragraph">
+<p>Port to bind to for the web server</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>8051</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_private_key_file"><a class="link" href="#kudu-master_webserver_private_key_file"><code>--webserver_private_key_file</code></a></h3>
+<div class="paragraph">
+<p>The full path to the private key used as a counterpart to the public key contained in --webserver_certificate_file. If --webserver_certificate_file is set, this option must be set as well.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_private_key_password_cmd"><a class="link" href="#kudu-master_webserver_private_key_password_cmd"><code>--webserver_private_key_password_cmd</code></a></h3>
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the Webserver&#8217;s certificate private key file specified in --webserver_private_key_file. If the PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_require_spnego"><a class="link" href="#kudu-master_webserver_require_spnego"><code>--webserver_require_spnego</code></a></h3>
+<div class="paragraph">
+<p>Require connections to the web server to authenticate via Kerberos using SPNEGO.</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_filename"><a class="link" href="#kudu-master_log_filename"><code>--log_filename</code></a></h3>
+<div class="paragraph">
+<p>Prefix of log filename - full path is &lt;log_dir&gt;/&lt;log_filename&gt;.[INFO|WARN|ERROR|FATAL]</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_log_files"><a class="link" href="#kudu-master_max_log_files"><code>--max_log_files</code></a></h3>
+<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">stable,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_maintenance_manager_num_threads"><a class="link" href="#kudu-master_maintenance_manager_num_threads"><code>--maintenance_manager_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Size of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.</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>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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_memory_limit_hard_bytes"><a class="link" href="#kudu-master_memory_limit_hard_bytes"><code>--memory_limit_hard_bytes</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.</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>0</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_flagfile"><a class="link" href="#kudu-master_flagfile"><code>--flagfile</code></a></h3>
+<div class="paragraph">
+<p>load flags from file</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_help"><a class="link" href="#kudu-master_help"><code>--help</code></a></h3>
+<div class="paragraph">
+<p>show help on all flags [tip: all flags can have two dashes]</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_version"><a class="link" href="#kudu-master_version"><code>--version</code></a></h3>
+<div class="paragraph">
+<p>show version and build info and exit</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_colorlogtostderr"><a class="link" href="#kudu-master_colorlogtostderr"><code>--colorlogtostderr</code></a></h3>
+<div class="paragraph">
+<p>color messages logged to stderr (if supported by terminal)</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>false</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">runtime,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_dir"><a class="link" href="#kudu-master_log_dir"><code>--log_dir</code></a></h3>
+<div class="paragraph">
+<p>If specified, logfiles are written into this directory instead of the default logging directory.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_logtostderr"><a class="link" href="#kudu-master_logtostderr"><code>--logtostderr</code></a></h3>
+<div class="paragraph">
+<p>log messages go to stderr instead of logfiles</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>false</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">runtime,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_log_size"><a class="link" href="#kudu-master_max_log_size"><code>--max_log_size</code></a></h3>
+<div class="paragraph">
+<p>approx. maximum log file size (in MB). A value of 0 will be silently overridden to 1.</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>1800</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">runtime,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_stable_advanced"><a class="link" href="#kudu-master_stable_advanced">Stable, Advanced Flags</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Flags tagged <code>stable</code> and <code>advanced</code> are supported, but should be considered
+"expert" options and should be used carefully and after thorough testing.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_principal"><a class="link" href="#kudu-master_principal"><code>--principal</code></a></h3>
+<div class="paragraph">
+<p>Kerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.</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">string</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>kudu/_HOST</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_history_max_age_sec"><a class="link" href="#kudu-master_tablet_history_max_age_sec"><code>--tablet_history_max_age_sec</code></a></h3>
+<div class="paragraph">
+<p>Number of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.</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>604800</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_enable_process_lifetime_heap_profiling"><a class="link" href="#kudu-master_enable_process_lifetime_heap_profiling"><code>--enable_process_lifetime_heap_profiling</code></a></h3>
+<div class="paragraph">
+<p>Enables heap profiling for the lifetime of the process. Profile output will be stored in the directory specified by -heap_profile_path.</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_heap_profile_path"><a class="link" href="#kudu-master_heap_profile_path"><code>--heap_profile_path</code></a></h3>
+<div class="paragraph">
+<p>Output path to store heap profiles. If not set profiles are stored in /tmp/&lt;process-name&gt;.&lt;pid&gt;.&lt;n&gt;.heap.</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_unlock_experimental_flags"><a class="link" href="#kudu-master_unlock_experimental_flags"><code>--unlock_experimental_flags</code></a></h3>
+<div class="paragraph">
+<p>Unlock flags marked as 'experimental'. These flags are not guaranteed to be maintained across releases of Kudu, and may enable features or behavior known to be unstable. Use at your own risk.</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>false</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_unlock_unsafe_flags"><a class="link" href="#kudu-master_unlock_unsafe_flags"><code>--unlock_unsafe_flags</code></a></h3>
+<div class="paragraph">
+<p>Unlock flags marked as 'unsafe'. These flags are not guaranteed to be maintained across releases of Kudu, and enable features or behavior known to be unsafe. Use at your own risk.</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>false</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fromenv"><a class="link" href="#kudu-master_fromenv"><code>--fromenv</code></a></h3>
+<div class="paragraph">
+<p>set flags from the environment [use 'export FLAGS_flag1=value']</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tryfromenv"><a class="link" href="#kudu-master_tryfromenv"><code>--tryfromenv</code></a></h3>
+<div class="paragraph">
+<p>set flags from the environment if present</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_undefok"><a class="link" href="#kudu-master_undefok"><code>--undefok</code></a></h3>
+<div class="paragraph">
+<p>comma-separated list of flag names that it is okay to specify on the command line even if the program does not define a flag with that name.  IMPORTANT: flags in this list that have arguments MUST use the flag=value format</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_helpmatch"><a class="link" href="#kudu-master_helpmatch"><code>--helpmatch</code></a></h3>
+<div class="paragraph">
+<p>show help on modules whose name contains the specified substr</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_helpon"><a class="link" href="#kudu-master_helpon"><code>--helpon</code></a></h3>
+<div class="paragraph">
+<p>show help on the modules named by this flag value</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_helppackage"><a class="link" href="#kudu-master_helppackage"><code>--helppackage</code></a></h3>
+<div class="paragraph">
+<p>show help on all modules in the main package</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_helpshort"><a class="link" href="#kudu-master_helpshort"><code>--helpshort</code></a></h3>
+<div class="paragraph">
+<p>show help on only the main module for this program</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_helpxml"><a class="link" href="#kudu-master_helpxml"><code>--helpxml</code></a></h3>
+<div class="paragraph">
+<p>produce an xml version of help</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_link"><a class="link" href="#kudu-master_log_link"><code>--log_link</code></a></h3>
+<div class="paragraph">
+<p>Put additional links to the log files in this directory</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_prefix"><a class="link" href="#kudu-master_log_prefix"><code>--log_prefix</code></a></h3>
+<div class="paragraph">
+<p>Prepend the log prefix to the start of each log line</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_minloglevel"><a class="link" href="#kudu-master_minloglevel"><code>--minloglevel</code></a></h3>
+<div class="paragraph">
+<p>Messages logged at a lower level than this don&#8217;t actually get logged anywhere</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>0</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_stderrthreshold"><a class="link" href="#kudu-master_stderrthreshold"><code>--stderrthreshold</code></a></h3>
+<div class="paragraph">
+<p>log messages at or above this level are copied to stderr in addition to logfiles.  This flag obsoletes --alsologtostderr.</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>2</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_stop_logging_if_full_disk"><a class="link" href="#kudu-master_stop_logging_if_full_disk"><code>--stop_logging_if_full_disk</code></a></h3>
+<div class="paragraph">
+<p>Stop attempting to log to disk if the disk is full.</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>false</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_symbolize_stacktrace"><a class="link" href="#kudu-master_symbolize_stacktrace"><code>--symbolize_stacktrace</code></a></h3>
+<div class="paragraph">
+<p>Symbolize the stack trace in the tombstone</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,stable,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_v"><a class="link" href="#kudu-master_v"><code>--v</code></a></h3>
+<div class="paragraph">
+<p>Show all VLOG(m) messages for m &#8656; this. Overridable by --vmodule.</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>0</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_vmodule"><a class="link" href="#kudu-master_vmodule"><code>--vmodule</code></a></h3>
+<div class="paragraph">
+<p>per-module verbose level. Argument is a comma-separated list of &lt;module name&gt;=&lt;log level&gt;. &lt;module name&gt; is a glob pattern, matched against the filename base (that is, name ignoring .cc/.h./-inl.h). &lt;log level&gt; overrides any value given by --v.</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_evolving"><a class="link" href="#kudu-master_evolving">Evolving Flags</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Flags tagged <code>evolving</code> (or not tagged with a stability tag) are not yet
+considered final, and while they may be useful for tuning, they are subject to
+being changed or removed without notice.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_cache_type"><a class="link" href="#kudu-master_block_cache_type"><code>--block_cache_type</code></a></h3>
+<div class="paragraph">
+<p>Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.</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">string</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>DRAM</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cfile_verify_checksums"><a class="link" href="#kudu-master_cfile_verify_checksums"><code>--cfile_verify_checksums</code></a></h3>
+<div class="paragraph">
+<p>Verify the checksum for each block on read if one exists</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">evolving</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cfile_default_block_size"><a class="link" href="#kudu-master_cfile_default_block_size"><code>--cfile_default_block_size</code></a></h3>
+<div class="paragraph">
+<p>The default block size to use in cfiles</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>262144</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cfile_default_compression_codec"><a class="link" href="#kudu-master_cfile_default_compression_codec"><code>--cfile_default_compression_codec</code></a></h3>
+<div class="paragraph">
+<p>Default cfile block compression codec.</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">string</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>no_compression</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cfile_write_checksums"><a class="link" href="#kudu-master_cfile_write_checksums"><code>--cfile_write_checksums</code></a></h3>
+<div class="paragraph">
+<p>Write CRC32 checksums for each block</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">evolving</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-master_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_show_attributes"><a class="link" href="#kudu-master_show_attributes"><code>--show_attributes</code></a></h3>
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_builtin_ntp_client_bind_address"><a class="link" href="#kudu-master_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h3>
+<div class="paragraph">
+<p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_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">string</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>0.0.0.0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_builtin_ntp_poll_interval_ms"><a class="link" href="#kudu-master_builtin_ntp_poll_interval_ms"><code>--builtin_ntp_poll_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The time between successive polls of a single NTP server (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">uint32</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>16000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_clock_sync_error_usec"><a class="link" href="#kudu-master_max_clock_sync_error_usec"><code>--max_clock_sync_error_usec</code></a></h3>
+<div class="paragraph">
+<p>Maximum allowed clock synchronization error as reported by NTP before the server will abort.</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>10000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ntp_initial_sync_wait_secs"><a class="link" href="#kudu-master_ntp_initial_sync_wait_secs"><code>--ntp_initial_sync_wait_secs</code></a></h3>
+<div class="paragraph">
+<p>Amount of time in seconds to wait for clock synchronisation at startup. A value of zero means Kudu will fail to start if the clock is unsynchronized. This flag can prevent Kudu from crashing if it starts before NTP can synchronize the clock.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_predicate_effectivess_enabled"><a class="link" href="#kudu-master_predicate_effectivess_enabled"><code>--predicate_effectivess_enabled</code></a></h3>
+<div class="paragraph">
+<p>Should ineffective predicate filtering be disabled</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_predicate_effectivess_num_skip_blocks"><a class="link" href="#kudu-master_predicate_effectivess_num_skip_blocks"><code>--predicate_effectivess_num_skip_blocks</code></a></h3>
+<div class="paragraph">
+<p>Number of blocks to skip for every predicate effectiveness check</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_predicate_effectivess_reject_ratio"><a class="link" href="#kudu-master_predicate_effectivess_reject_ratio"><code>--predicate_effectivess_reject_ratio</code></a></h3>
+<div class="paragraph">
+<p>Rejection ratio below which predicate filter is considered ineffective</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>0.10000000000000001</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_default_database"><a class="link" href="#kudu-master_ranger_default_database"><code>--ranger_default_database</code></a></h3>
+<div class="paragraph">
+<p>Name of the default database which is used in the Ranger authorization context when the database name is not specified in the table name. Ranger makes no difference between &lt;ranger_default_database&gt;.&lt;table&gt; and &lt;table&gt;, so privileges granted on &lt;table&gt; in &lt;ranger_default_database&gt; are applied toboth &lt;ranger_default_database&gt;.&lt;table&gt; and &lt;table&gt; in Kudu.</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">string</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>default</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cmeta_force_fsync"><a class="link" href="#kudu-master_cmeta_force_fsync"><code>--cmeta_force_fsync</code></a></h3>
+<div class="paragraph">
+<p>Whether fsync() should be called when consensus metadata files are updated</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_consensus_rpc_timeout_ms"><a class="link" href="#kudu-master_consensus_rpc_timeout_ms"><code>--consensus_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout used for all consensus internal RPC communications.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_consensus_max_batch_size_bytes"><a class="link" href="#kudu-master_consensus_max_batch_size_bytes"><code>--consensus_max_batch_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum per-tablet RPC batch size when updating peers.</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>1048576</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_follower_unavailable_considered_failed_sec"><a class="link" href="#kudu-master_follower_unavailable_considered_failed_sec"><code>--follower_unavailable_considered_failed_sec</code></a></h3>
+<div class="paragraph">
+<p>Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.</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>300</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fs_wal_dir_reserved_bytes"><a class="link" href="#kudu-master_fs_wal_dir_reserved_bytes"><code>--fs_wal_dir_reserved_bytes</code></a></h3>
+<div class="paragraph">
+<p>Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fs_wal_use_file_cache"><a class="link" href="#kudu-master_fs_wal_use_file_cache"><code>--fs_wal_use_file_cache</code></a></h3>
+<div class="paragraph">
+<p>Whether to use the server-wide file cache for WAL segments and WAL index chunks.</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_group_commit_queue_size_bytes"><a class="link" href="#kudu-master_group_commit_queue_size_bytes"><code>--group_commit_queue_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Maximum size of the group commit queue in bytes</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>4194304</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_min_segments_to_retain"><a class="link" href="#kudu-master_log_min_segments_to_retain"><code>--log_min_segments_to_retain</code></a></h3>
+<div class="paragraph">
+<p>The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.</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>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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_global_log_cache_size_limit_mb"><a class="link" href="#kudu-master_global_log_cache_size_limit_mb"><code>--global_log_cache_size_limit_mb</code></a></h3>
+<div class="paragraph">
+<p>Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.</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>1024</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_cache_size_limit_mb"><a class="link" href="#kudu-master_log_cache_size_limit_mb"><code>--log_cache_size_limit_mb</code></a></h3>
+<div class="paragraph">
+<p>The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.</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>128</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_async_preallocate_segments"><a class="link" href="#kudu-master_log_async_preallocate_segments"><code>--log_async_preallocate_segments</code></a></h3>
+<div class="paragraph">
+<p>Whether the WAL segments preallocation should happen asynchronously</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_preallocate_segments"><a class="link" href="#kudu-master_log_preallocate_segments"><code>--log_preallocate_segments</code></a></h3>
+<div class="paragraph">
+<p>Whether the WAL should preallocate the entire segment before writing to it</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_segment_size_mb"><a class="link" href="#kudu-master_log_segment_size_mb"><code>--log_segment_size_mb</code></a></h3>
+<div class="paragraph">
+<p>The default size for log segments, in MB</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>8</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_evict_failed_followers"><a class="link" href="#kudu-master_evict_failed_followers"><code>--evict_failed_followers</code></a></h3>
+<div class="paragraph">
+<p>Whether to evict followers from the Raft config that have fallen too far behind the leader&#8217;s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_leader_failure_max_missed_heartbeat_periods"><a class="link" href="#kudu-master_leader_failure_max_missed_heartbeat_periods"><code>--leader_failure_max_missed_heartbeat_periods</code></a></h3>
+<div class="paragraph">
+<p>Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_raft_heartbeat_interval_ms"><a class="link" href="#kudu-master_raft_heartbeat_interval_ms"><code>--raft_heartbeat_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.</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>500</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fs_data_dirs_available_space_cache_seconds"><a class="link" href="#kudu-master_fs_data_dirs_available_space_cache_seconds"><code>--fs_data_dirs_available_space_cache_seconds</code></a></h3>
+<div class="paragraph">
+<p>Number of seconds we cache the available disk space in the block manager.</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">evolving,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fs_data_dirs_consider_available_space"><a class="link" href="#kudu-master_fs_data_dirs_consider_available_space"><code>--fs_data_dirs_consider_available_space</code></a></h3>
+<div class="paragraph">
+<p>Whether to consider available space when selecting a data directory during tablet or data block creation.</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">evolving,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fs_data_dirs_reserved_bytes"><a class="link" href="#kudu-master_fs_data_dirs_reserved_bytes"><code>--fs_data_dirs_reserved_bytes</code></a></h3>
+<div class="paragraph">
+<p>Number of bytes to reserve on each data directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fs_max_thread_count_per_data_dir"><a class="link" href="#kudu-master_fs_max_thread_count_per_data_dir"><code>--fs_max_thread_count_per_data_dir</code></a></h3>
+<div class="paragraph">
+<p>Maximum work thread per data directory.</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">uint64</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>8</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_fs_target_data_dirs_per_tablet"><a class="link" href="#kudu-master_fs_target_data_dirs_per_tablet"><code>--fs_target_data_dirs_per_tablet</code></a></h3>
+<div class="paragraph">
+<p>Indicates the target number of data dirs to spread each tablet&#8217;s data across. If greater than the number of data dirs available, data will be striped across those available. A value of 0 indicates striping should occur across all healthy data dirs. Using fewer data dirs per tablet means a single drive failure will be less likely to affect a given tablet.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_manager"><a class="link" href="#kudu-master_block_manager"><code>--block_manager</code></a></h3>
+<div class="paragraph">
+<p>Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.</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">string</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>log</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_container_excess_space_before_cleanup_fraction"><a class="link" href="#kudu-master_log_container_excess_space_before_cleanup_fraction"><code>--log_container_excess_space_before_cleanup_fraction</code></a></h3>
+<div class="paragraph">
+<p>Additional fraction of a log container&#8217;s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.</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>0.10000000000000001</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_container_max_blocks"><a class="link" href="#kudu-master_log_container_max_blocks"><code>--log_container_max_blocks</code></a></h3>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_container_max_size"><a class="link" href="#kudu-master_log_container_max_size"><code>--log_container_max_size</code></a></h3>
+<div class="paragraph">
+<p>Maximum size (soft) of a log container</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">uint64</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>10737418240</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_container_preallocate_bytes"><a class="link" href="#kudu-master_log_container_preallocate_bytes"><code>--log_container_preallocate_bytes</code></a></h3>
+<div class="paragraph">
+<p>Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation</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">uint64</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>33554432</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_conn_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_conn_timeout_seconds"><code>--hive_metastore_conn_timeout_seconds</code></a></h3>
+<div class="paragraph">
+<p>Configures the socket connect timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_kerberos_principal"><a class="link" href="#kudu-master_hive_metastore_kerberos_principal"><code>--hive_metastore_kerberos_principal</code></a></h3>
+<div class="paragraph">
+<p>The service principal of the Hive Metastore server. Must match the primary (user) portion of hive.metastore.kerberos.principal option in the Hive Metastore configuration.</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">string</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>hive</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_max_message_size_bytes"><a class="link" href="#kudu-master_hive_metastore_max_message_size_bytes"><code>--hive_metastore_max_message_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Maximum size of Hive Metastore objects that can be received by the HMS client in bytes. Should match the metastore.server.max.message.size configuration.</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>104857600</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_recv_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_recv_timeout_seconds"><code>--hive_metastore_recv_timeout_seconds</code></a></h3>
+<div class="paragraph">
+<p>Configures the socket receive timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_retry_count"><a class="link" href="#kudu-master_hive_metastore_retry_count"><code>--hive_metastore_retry_count</code></a></h3>
+<div class="paragraph">
+<p>The number of times that HMS operations will retry after encountering retriable failures, such as network errors.</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>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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_sasl_enabled"><a class="link" href="#kudu-master_hive_metastore_sasl_enabled"><code>--hive_metastore_sasl_enabled</code></a></h3>
+<div class="paragraph">
+<p>Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Must match the value of the hive.metastore.sasl.enabled option in the Hive Metastore configuration. When enabled, the --keytab_file flag must be provided.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_send_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_send_timeout_seconds"><code>--hive_metastore_send_timeout_seconds</code></a></h3>
+<div class="paragraph">
+<p>Configures the socket send timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_uris"><a class="link" href="#kudu-master_hive_metastore_uris"><code>--hive_metastore_uris</code></a></h3>
+<div class="paragraph">
+<p>Address of the Hive Metastore instance(s). The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. If not set, the Kudu master will not send Kudu table catalog updates to Hive. The configured value must match the Hive hive.metastore.uris configuration.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_server_thread_pool_max_thread_count"><a class="link" href="#kudu-master_server_thread_pool_max_thread_count"><code>--server_thread_pool_max_thread_count</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of threads to allow in each server-wide thread pool. If -1, Kudu will automatically calculate this value. It is an error to use a value of 0.</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>-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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_trusted_user_acl"><a class="link" href="#kudu-master_trusted_user_acl"><code>--trusted_user_acl</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of trusted users who may access the cluster without being authorized against fine-grained permissions.</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">string</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">none</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">sensitive</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_auto_rebalancing_interval_seconds"><a class="link" href="#kudu-master_auto_rebalancing_interval_seconds"><code>--auto_rebalancing_interval_seconds</code></a></h3>
+<div class="paragraph">
+<p>How long to sleep in between rebalancing cycles, before checking the cluster again to see if there is skew and rebalancing to be done.</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">uint32</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>30</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_auto_rebalancing_load_imbalance_threshold"><a class="link" href="#kudu-master_auto_rebalancing_load_imbalance_threshold"><code>--auto_rebalancing_load_imbalance_threshold</code></a></h3>
+<div class="paragraph">
+<p>The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table&#8217;s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, &#8230;&#8203;) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.</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</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_auto_rebalancing_max_moves_per_server"><a class="link" href="#kudu-master_auto_rebalancing_max_moves_per_server"><code>--auto_rebalancing_max_moves_per_server</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move 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">uint32</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_auto_rebalancing_rpc_timeout_seconds"><a class="link" href="#kudu-master_auto_rebalancing_rpc_timeout_seconds"><code>--auto_rebalancing_rpc_timeout_seconds</code></a></h3>
+<div class="paragraph">
+<p>RPC timeout in seconds when making RPCs to request moving tablet replicas or to check if the replica movement has completed.</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">uint32</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>60</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_auto_rebalancing_wait_for_replica_moves_seconds"><a class="link" href="#kudu-master_auto_rebalancing_wait_for_replica_moves_seconds"><code>--auto_rebalancing_wait_for_replica_moves_seconds</code></a></h3>
+<div class="paragraph">
+<p>How long to wait before checking to see if the scheduled replica movement in this iteration of auto-rebalancing has completed.</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">uint32</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_catalog_manager_enable_chunked_tablet_reports"><a class="link" href="#kudu-master_catalog_manager_enable_chunked_tablet_reports"><code>--catalog_manager_enable_chunked_tablet_reports</code></a></h3>
+<div class="paragraph">
+<p>Whether to split the tablet report data received from one tablet server into chunks when persisting it in the system catalog. The chunking starts at around the maximum allowed RPC size controlled by the --rpc_max_message_size flag. When the chunking is disabled, a tablet report sent by a tablet server is rejected if it would result in an oversized update on the system catalog tablet. With the default settings for --rpc_max_message_size, the latter can happen only in case of extremely high number of tablet replicas per tablet server.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_default_num_replicas"><a class="link" href="#kudu-master_default_num_replicas"><code>--default_num_replicas</code></a></h3>
+<div class="paragraph">
+<p>Default number of replicas for tables that do not have the num_replicas set.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_master_ts_rpc_timeout_ms"><a class="link" href="#kudu-master_master_ts_rpc_timeout_ms"><code>--master_ts_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout used for the master&#8594;TS async rpc calls.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_column_comment_length"><a class="link" href="#kudu-master_max_column_comment_length"><code>--max_column_comment_length</code></a></h3>
+<div class="paragraph">
+<p>Maximum length of the comment of a column.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_create_tablets_per_ts"><a class="link" href="#kudu-master_max_create_tablets_per_ts"><code>--max_create_tablets_per_ts</code></a></h3>
+<div class="paragraph">
+<p>The number of tablet replicas per TS that can be requested for a new table. If 0, no limit is enforced.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_owner_length"><a class="link" href="#kudu-master_max_owner_length"><code>--max_owner_length</code></a></h3>
+<div class="paragraph">
+<p>Maximum length of the name of a table owner.</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>128</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_table_comment_length"><a class="link" href="#kudu-master_max_table_comment_length"><code>--max_table_comment_length</code></a></h3>
+<div class="paragraph">
+<p>Maximum length of the comment of a table.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_locations_cache_capacity_mb"><a class="link" href="#kudu-master_table_locations_cache_capacity_mb"><code>--table_locations_cache_capacity_mb</code></a></h3>
+<div class="paragraph">
+<p>Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached</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">uint32</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_locations_ttl_ms"><a class="link" href="#kudu-master_table_locations_ttl_ms"><code>--table_locations_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum time in milliseconds which clients may cache table locations. New range partitions may not be visible to existing client instances until after waiting for the ttl period.</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>300000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_creation_timeout_ms"><a class="link" href="#kudu-master_tablet_creation_timeout_ms"><code>--tablet_creation_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout used by the master when attempting to create tablet replicas during table creation.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_unresponsive_ts_rpc_timeout_ms"><a class="link" href="#kudu-master_unresponsive_ts_rpc_timeout_ms"><code>--unresponsive_ts_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>After this amount of time, the master will stop attempting to contact a tablet server in order to perform operations such as deleting a tablet.</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>3600000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_notification_log_batch_size"><a class="link" href="#kudu-master_hive_metastore_notification_log_batch_size"><code>--hive_metastore_notification_log_batch_size</code></a></h3>
+<div class="paragraph">
+<p>Number of notification log entries which are retrieved from the Hive Metastore per batch when polling.</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>100</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hive_metastore_notification_log_poll_period_seconds"><a class="link" href="#kudu-master_hive_metastore_notification_log_poll_period_seconds"><code>--hive_metastore_notification_log_poll_period_seconds</code></a></h3>
+<div class="paragraph">
+<p>Amount of time the notification log listener waits between attempts to poll the Hive Metastore for catalog updates.</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">uint32</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>15</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_location_mapping_cmd"><a class="link" href="#kudu-master_location_mapping_cmd"><code>--location_mapping_cmd</code></a></h3>
+<div class="paragraph">
+<p>A Unix command which takes a single argument, the IP address or hostname of a tablet server or client, and returns the location string for the tablet server. A location string begins with a / and consists of /-separated tokens each of which contains only characters from the set [a-zA-Z0-9_-.]. If the cluster is not using location awareness features this flag should not be set.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_master_client_location_assignment_enabled"><a class="link" href="#kudu-master_master_client_location_assignment_enabled"><code>--master_client_location_assignment_enabled</code></a></h3>
+<div class="paragraph">
+<p>Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_master_support_change_config"><a class="link" href="#kudu-master_master_support_change_config"><code>--master_support_change_config</code></a></h3>
+<div class="paragraph">
+<p>Whether the master supports adding/removing master servers dynamically.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tserver_unresponsive_timeout_ms"><a class="link" href="#kudu-master_tserver_unresponsive_timeout_ms"><code>--tserver_unresponsive_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>The period of time that a Master can go without receiving a heartbeat from a tablet server before considering it unresponsive. Unresponsive servers are not selected when assigning replicas during table creation or re-replication.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_config_path"><a class="link" href="#kudu-master_ranger_config_path"><code>--ranger_config_path</code></a></h3>
+<div class="paragraph">
+<p>Path to directory containing Ranger client configuration. When set, Ranger integration is enabled, fine-grained access control is enforced, and clients are issued authorization tokens. In addition, both --ranger_java_path and --ranger_jar_path flags need to be set properly for Ranger integration to work.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_jar_path"><a class="link" href="#kudu-master_ranger_jar_path"><code>--ranger_jar_path</code></a></h3>
+<div class="paragraph">
+<p>Path to the JAR file containing the Ranger subprocess. If not specified, the default JAR file path is expected to be next to the master binary.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_java_path"><a class="link" href="#kudu-master_ranger_java_path"><code>--ranger_java_path</code></a></h3>
+<div class="paragraph">
+<p>Path where the Java binary was installed. If the value isn&#8217;t an absolute path (e.g. 'java'), it will be evaluated using the Kudu user&#8217;s PATH. If not specified, $JAVA_HOME/bin/java is used. If $JAVA_HOME is not found, Kudu will attempt to find 'java' in the Kudu user&#8217;s PATH.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_log_config_dir"><a class="link" href="#kudu-master_ranger_log_config_dir"><code>--ranger_log_config_dir</code></a></h3>
+<div class="paragraph">
+<p>Directory in which to look for a kudu-ranger-subprocess-log4j2.properties file. If empty, will use the value of --log_dir. If such a file does not exist, a properties file will be created to honor Kudu&#8217;s logging configurations.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_log_level"><a class="link" href="#kudu-master_ranger_log_level"><code>--ranger_log_level</code></a></h3>
+<div class="paragraph">
+<p>Log level to use in the Ranger Java subprocess. Supports "all", "trace", "debug", "info", "warn", "error", "fatal", and "off"</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">string</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>info</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_logtostdout"><a class="link" href="#kudu-master_ranger_logtostdout"><code>--ranger_logtostdout</code></a></h3>
+<div class="paragraph">
+<p>Whether to have the Ranger subprocess log to stdout.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_overwrite_log_config"><a class="link" href="#kudu-master_ranger_overwrite_log_config"><code>--ranger_overwrite_log_config</code></a></h3>
+<div class="paragraph">
+<p>Whether to overwrite any existing logging configuration file, if found.</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">evolving,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_receiver_fifo_dir"><a class="link" href="#kudu-master_ranger_receiver_fifo_dir"><code>--ranger_receiver_fifo_dir</code></a></h3>
+<div class="paragraph">
+<p>Directory in which to create a fifo used to receive messages from the Ranger subprocess. Existing fifos at this path will be overwritten. If not specified, a fifo will be created in the --ranger_config_path directory.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_acceptor_listen_backlog"><a class="link" href="#kudu-master_rpc_acceptor_listen_backlog"><code>--rpc_acceptor_listen_backlog</code></a></h3>
+<div class="paragraph">
+<p>Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.</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>128</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_encrypt_loopback_connections"><a class="link" href="#kudu-master_rpc_encrypt_loopback_connections"><code>--rpc_encrypt_loopback_connections</code></a></h3>
+<div class="paragraph">
+<p>Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_callback_max_cycles"><a class="link" href="#kudu-master_rpc_callback_max_cycles"><code>--rpc_callback_max_cycles</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)</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>100000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tcp_keepalive_probe_period_s"><a class="link" href="#kudu-master_tcp_keepalive_probe_period_s"><code>--tcp_keepalive_probe_period_s</code></a></h3>
+<div class="paragraph">
+<p>The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tcp_keepalive_retry_count"><a class="link" href="#kudu-master_tcp_keepalive_retry_count"><code>--tcp_keepalive_retry_count</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tcp_keepalive_retry_period_s"><a class="link" href="#kudu-master_tcp_keepalive_retry_period_s"><code>--tcp_keepalive_retry_period_s</code></a></h3>
+<div class="paragraph">
+<p>The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_remember_clients_ttl_ms"><a class="link" href="#kudu-master_remember_clients_ttl_ms"><code>--remember_clients_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.</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>3600000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_remember_responses_ttl_ms"><a class="link" href="#kudu-master_remember_responses_ttl_ms"><code>--remember_responses_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.</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>600000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_dump_all_traces"><a class="link" href="#kudu-master_rpc_dump_all_traces"><code>--rpc_dump_all_traces</code></a></h3>
+<div class="paragraph">
+<p>If true, dump all RPC traces at INFO level</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_duration_too_long_ms"><a class="link" href="#kudu-master_rpc_duration_too_long_ms"><code>--rpc_duration_too_long_ms</code></a></h3>
+<div class="paragraph">
+<p>Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_trusted_subnets"><a class="link" href="#kudu-master_trusted_subnets"><code>--trusted_subnets</code></a></h3>
+<div class="paragraph">
+<p>A trusted subnet whitelist. If set explicitly, all unauthenticated or unencrypted connections are prohibited except the ones from the specified address blocks. Otherwise, private network (127.0.0.0/8, etc.) and local subnets of all local network interfaces will be used. Set it to '0.0.0.0/0' to allow unauthenticated/unencrypted connections from all remote IP addresses. However, if network access is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized access.</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">string</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>127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_max_message_size"><a class="link" href="#kudu-master_rpc_max_message_size"><code>--rpc_max_message_size</code></a></h3>
+<div class="paragraph">
+<p>The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.</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>52428800</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_use_system_auth_to_local"><a class="link" href="#kudu-master_use_system_auth_to_local"><code>--use_system_auth_to_local</code></a></h3>
+<div class="paragraph">
+<p>When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_metrics_default_level"><a class="link" href="#kudu-master_metrics_default_level"><code>--metrics_default_level</code></a></h3>
+<div class="paragraph">
+<p>The default severity level to use when filtering the metrics. Valid choices are 'debug', 'info', and 'warn'. The levels are ordered and lower levels include the levels above them. This value can be overridden by passing the level query parameter to the '/metrics' endpoint.</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">string</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>debug</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_web_log_bytes"><a class="link" href="#kudu-master_web_log_bytes"><code>--web_log_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of bytes to display on the debug webserver&#8217;s log page</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_advertised_addresses"><a class="link" href="#kudu-master_rpc_advertised_addresses"><code>--rpc_advertised_addresses</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_num_acceptors_per_address"><a class="link" href="#kudu-master_rpc_num_acceptors_per_address"><code>--rpc_num_acceptors_per_address</code></a></h3>
+<div class="paragraph">
+<p>Number of RPC acceptor threads for each bound address</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>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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_num_service_threads"><a class="link" href="#kudu-master_rpc_num_service_threads"><code>--rpc_num_service_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of RPC worker threads to run</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_service_queue_length"><a class="link" href="#kudu-master_rpc_service_queue_length"><code>--rpc_service_queue_length</code></a></h3>
+<div class="paragraph">
+<p>Default length of queue for incoming RPC requests</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>100</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_gc_tcmalloc_memory_interval_seconds"><a class="link" href="#kudu-master_gc_tcmalloc_memory_interval_seconds"><code>--gc_tcmalloc_memory_interval_seconds</code></a></h3>
+<div class="paragraph">
+<p>Interval seconds to GC tcmalloc memory, 0 means disabled.</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">uint64</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>30</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_negotiation_threads"><a class="link" href="#kudu-master_max_negotiation_threads"><code>--max_negotiation_threads</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of connection negotiation threads.</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>50</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_min_negotiation_threads"><a class="link" href="#kudu-master_min_negotiation_threads"><code>--min_negotiation_threads</code></a></h3>
+<div class="paragraph">
+<p>Minimum number of connection negotiation threads.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_num_reactor_threads"><a class="link" href="#kudu-master_num_reactor_threads"><code>--num_reactor_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of libev reactor threads to start.</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>4</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_authentication"><a class="link" href="#kudu-master_rpc_authentication"><code>--rpc_authentication</code></a></h3>
+<div class="paragraph">
+<p>Whether to require RPC connections to authenticate. Must be one of 'disabled', 'optional', or 'required'. If 'optional', authentication will be used when the remote end supports it. If 'required', connections which are not able to authenticate (because the remote end lacks support) are rejected. Secure clusters should use 'required'.</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">string</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>optional</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_default_keepalive_time_ms"><a class="link" href="#kudu-master_rpc_default_keepalive_time_ms"><code>--rpc_default_keepalive_time_ms</code></a></h3>
+<div class="paragraph">
+<p>If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.</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>65000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_encryption"><a class="link" href="#kudu-master_rpc_encryption"><code>--rpc_encryption</code></a></h3>
+<div class="paragraph">
+<p>Whether to require RPC connections to be encrypted. Must be one of 'disabled', 'optional', or 'required'. If 'optional', encryption will be used when the remote end supports it. If 'required', connections which are not able to use encryption (because the remote end lacks support) are rejected. If 'disabled', encryption will not be used, and RPC authentication (--rpc_authentication) must also be disabled as well. Secure clusters should use 'required'.</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">string</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>optional</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_negotiation_timeout_ms"><a class="link" href="#kudu-master_rpc_negotiation_timeout_ms"><code>--rpc_negotiation_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout for negotiating an RPC connection, 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">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>3000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_private_key_password_cmd"><a class="link" href="#kudu-master_rpc_private_key_password_cmd"><code>--rpc_private_key_password_cmd</code></a></h3>
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the RPC server&#8217;s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_tls_ciphers"><a class="link" href="#kudu-master_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h3>
+<div class="paragraph">
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_tls_ciphersuites"><a class="link" href="#kudu-master_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h3>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_tls_min_protocol"><a class="link" href="#kudu-master_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h3>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</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">string</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>TLSv1</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_server_max_open_files"><a class="link" href="#kudu-master_server_max_open_files"><code>--server_max_open_files</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. 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">uint64</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_enabled"><a class="link" href="#kudu-master_webserver_enabled"><code>--webserver_enabled</code></a></h3>
+<div class="paragraph">
+<p>Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_metrics_log_interval_ms"><a class="link" href="#kudu-master_metrics_log_interval_ms"><code>--metrics_log_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_max_post_length_bytes"><a class="link" href="#kudu-master_webserver_max_post_length_bytes"><code>--webserver_max_post_length_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum length of a POST request that will be accepted by the embedded web server.</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_x_frame_options"><a class="link" href="#kudu-master_webserver_x_frame_options"><code>--webserver_x_frame_options</code></a></h3>
+<div class="paragraph">
+<p>The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.</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">string</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>DENY</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_advertised_addresses"><a class="link" href="#kudu-master_webserver_advertised_addresses"><code>--webserver_advertised_addresses</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_authentication_domain"><a class="link" href="#kudu-master_webserver_authentication_domain"><code>--webserver_authentication_domain</code></a></h3>
+<div class="paragraph">
+<p>Domain used for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_doc_root"><a class="link" href="#kudu-master_webserver_doc_root"><code>--webserver_doc_root</code></a></h3>
+<div class="paragraph">
+<p>Files under &lt;webserver_doc_root&gt; are accessible via the debug webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_enable_doc_root"><a class="link" href="#kudu-master_webserver_enable_doc_root"><code>--webserver_enable_doc_root</code></a></h3>
+<div class="paragraph">
+<p>If true, webserver may serve static files from the webserver_doc_root</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_interface"><a class="link" href="#kudu-master_webserver_interface"><code>--webserver_interface</code></a></h3>
+<div class="paragraph">
+<p>Interface to start debug webserver on. If blank, webserver binds to 0.0.0.0</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_num_worker_threads"><a class="link" href="#kudu-master_webserver_num_worker_threads"><code>--webserver_num_worker_threads</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of threads to start for handling web server requests</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>50</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_password_file"><a class="link" href="#kudu-master_webserver_password_file"><code>--webserver_password_file</code></a></h3>
+<div class="paragraph">
+<p>(Optional) Location of .htpasswd file containing user names and hashed passwords for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_tls_ciphers"><a class="link" href="#kudu-master_webserver_tls_ciphers"><code>--webserver_tls_ciphers</code></a></h3>
+<div class="paragraph">
+<p>The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_webserver_tls_min_protocol"><a class="link" href="#kudu-master_webserver_tls_min_protocol"><code>--webserver_tls_min_protocol</code></a></h3>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</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">string</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>TLSv1</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_subprocess_deadline_checking_interval_ms"><a class="link" href="#kudu-master_subprocess_deadline_checking_interval_ms"><code>--subprocess_deadline_checking_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval in milliseconds at which Kudu will check the deadlines of in-flight calls to the subprocess</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>50</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_subprocess_num_responder_threads"><a class="link" href="#kudu-master_subprocess_num_responder_threads"><code>--subprocess_num_responder_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads that will be dedicated to reading responses from the inbound queue and returning to callers</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_subprocess_queue_full_retry_ms"><a class="link" href="#kudu-master_subprocess_queue_full_retry_ms"><code>--subprocess_queue_full_retry_ms</code></a></h3>
+<div class="paragraph">
+<p>Number of milliseconds between attempts to enqueue the request to the subprocess</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>50</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_subprocess_request_queue_size_bytes"><a class="link" href="#kudu-master_subprocess_request_queue_size_bytes"><code>--subprocess_request_queue_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Maximum size in bytes of the outbound request queue. This is best effort: if a single request is larger than this, it is still added to the queue</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>4194304</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_subprocess_response_queue_size_bytes"><a class="link" href="#kudu-master_subprocess_response_queue_size_bytes"><code>--subprocess_response_queue_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Maximum size in bytes of the inbound response queue. This is best effort: if a single request is larger than this, it is still added to the queue</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>4194304</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_subprocess_timeout_secs"><a class="link" href="#kudu-master_subprocess_timeout_secs"><code>--subprocess_timeout_secs</code></a></h3>
+<div class="paragraph">
+<p>Number of seconds a call to the subprocess is allowed to take before a timeout error is returned to the calling process</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>15</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_compaction_minimum_improvement"><a class="link" href="#kudu-master_compaction_minimum_improvement"><code>--compaction_minimum_improvement</code></a></h3>
+<div class="paragraph">
+<p>The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.</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>0.0099999997764825821</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_transaction_memory_limit_mb"><a class="link" href="#kudu-master_tablet_transaction_memory_limit_mb"><code>--tablet_transaction_memory_limit_mb</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.</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>64</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_bloom_block_size"><a class="link" href="#kudu-master_tablet_bloom_block_size"><code>--tablet_bloom_block_size</code></a></h3>
+<div class="paragraph">
+<p>Block size of the bloom filters used for tablet keys.</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>4096</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_bloom_target_fp_rate"><a class="link" href="#kudu-master_tablet_bloom_target_fp_rate"><code>--tablet_bloom_target_fp_rate</code></a></h3>
+<div class="paragraph">
+<p>Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.</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>9.9999997473787516e-05</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_enable_deleted_rowset_gc"><a class="link" href="#kudu-master_enable_deleted_rowset_gc"><code>--enable_deleted_rowset_gc</code></a></h3>
+<div class="paragraph">
+<p>Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_undo_delta_block_gc_init_budget_millis"><a class="link" href="#kudu-master_undo_delta_block_gc_init_budget_millis"><code>--undo_delta_block_gc_init_budget_millis</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of milliseconds we will spend initializing UNDO delta blocks per invocation of UndoDeltaBlockGCOp. Existing delta blocks must be initialized once per process startup to determine when they can be deleted.</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,evolving</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-master_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-master_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-master_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h3>
+<div class="paragraph">
+<p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_heartbeat_interval_ms"><a class="link" href="#kudu-master_heartbeat_interval_ms"><code>--heartbeat_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval at which the TS heartbeats to the master.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_heartbeat_max_failures_before_backoff"><a class="link" href="#kudu-master_heartbeat_max_failures_before_backoff"><code>--heartbeat_max_failures_before_backoff</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_heartbeat_rpc_timeout_ms"><a class="link" href="#kudu-master_heartbeat_rpc_timeout_ms"><code>--heartbeat_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout used for the TS&#8594;Master heartbeat RPCs.</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>15000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_ttl_ms"><a class="link" href="#kudu-master_scanner_ttl_ms"><code>--scanner_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Number of milliseconds of inactivity allowed for a scannerbefore it may be expired</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_copy_begin_session_timeout_ms"><a class="link" href="#kudu-master_tablet_copy_begin_session_timeout_ms"><code>--tablet_copy_begin_session_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_copy_download_threads_nums_per_session"><a class="link" href="#kudu-master_tablet_copy_download_threads_nums_per_session"><code>--tablet_copy_download_threads_nums_per_session</code></a></h3>
+<div class="paragraph">
+<p>Number of threads per tablet copy session for downloading tablet data blocks.</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>4</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_copy_idle_timeout_sec"><a class="link" href="#kudu-master_tablet_copy_idle_timeout_sec"><code>--tablet_copy_idle_timeout_sec</code></a></h3>
+<div class="paragraph">
+<p>Amount of time without activity before a tablet copy session will expire, in seconds</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">uint64</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>600</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_batch_size_rows"><a class="link" href="#kudu-master_scanner_batch_size_rows"><code>--scanner_batch_size_rows</code></a></h3>
+<div class="paragraph">
+<p>The number of rows to batch for servicing scan requests.</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_default_batch_size_bytes"><a class="link" href="#kudu-master_scanner_default_batch_size_bytes"><code>--scanner_default_batch_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>The default size for batches of scan results</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_max_batch_size_bytes"><a class="link" href="#kudu-master_scanner_max_batch_size_bytes"><code>--scanner_max_batch_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum batch size that a client may request for scan results.</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>8388608</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_max_wait_ms"><a class="link" href="#kudu-master_scanner_max_wait_ms"><code>--scanner_max_wait_ms</code></a></h3>
+<div class="paragraph">
+<p>The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for 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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tserver_enforce_access_control"><a class="link" href="#kudu-master_tserver_enforce_access_control"><code>--tserver_enforce_access_control</code></a></h3>
+<div class="paragraph">
+<p>If set, the server will apply fine-grained access control rules to client RPCs.</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>false</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_num_tablets_to_delete_simultaneously"><a class="link" href="#kudu-master_num_tablets_to_delete_simultaneously"><code>--num_tablets_to_delete_simultaneously</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<div class="paragraph">
+<p>Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-master_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-master_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h3>
+<div class="paragraph">
+<p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_txn_commit_pool_num_threads"><a class="link" href="#kudu-master_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_update_tablet_stats_interval_ms"><a class="link" href="#kudu-master_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</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>5000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_aws_instance_id_url"><a class="link" href="#kudu-master_cloud_aws_instance_id_url"><code>--cloud_aws_instance_id_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an AWS instance</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">string</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><a href="http://169.254.169.254/latest/meta-data/instance-id" class="bare">http://169.254.169.254/latest/meta-data/instance-id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_aws_ntp_server"><a class="link" href="#kudu-master_cloud_aws_ntp_server"><code>--cloud_aws_ntp_server</code></a></h3>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within an AWS instance</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">string</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>169.254.169.123</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_azure_instance_id_url"><a class="link" href="#kudu-master_cloud_azure_instance_id_url"><code>--cloud_azure_instance_id_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an Azure instance</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">string</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><a href="http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text" class="bare">http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_gce_instance_id_url"><a class="link" href="#kudu-master_cloud_gce_instance_id_url"><code>--cloud_gce_instance_id_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch the identifier of a GCE instance</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">string</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><a href="http://metadata.google.internal/computeMetadata/v1/instance/id" class="bare">http://metadata.google.internal/computeMetadata/v1/instance/id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_gce_ntp_server"><a class="link" href="#kudu-master_cloud_gce_ntp_server"><code>--cloud_gce_ntp_server</code></a></h3>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within a GCE instance</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">string</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>metadata.google.internal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_metadata_server_request_timeout_ms"><a class="link" href="#kudu-master_cloud_metadata_server_request_timeout_ms"><code>--cloud_metadata_server_request_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout for HTTP/HTTPS requests to the instance metadata server (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">uint32</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cloud_openstack_metadata_url"><a class="link" href="#kudu-master_cloud_openstack_metadata_url"><code>--cloud_openstack_metadata_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.</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">string</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><a href="http://169.254.169.254/openstack/latest/meta_data.json" class="bare">http://169.254.169.254/openstack/latest/meta_data.json</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_env_use_fsync"><a class="link" href="#kudu-master_env_use_fsync"><code>--env_use_fsync</code></a></h3>
+<div class="paragraph">
+<p>Use fsync(2) instead of fdatasync(2) for synchronizing dirty data to disk.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_disable_core_dumps"><a class="link" href="#kudu-master_disable_core_dumps"><code>--disable_core_dumps</code></a></h3>
+<div class="paragraph">
+<p>Disable core dumps when this process crashes.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_redact"><a class="link" href="#kudu-master_redact"><code>--redact</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list that controls redaction context. Supported options are 'all','log', and 'none'. If 'all' is specified, sensitive data (sensitive configuration flags and row data) will be redacted from the web UI as well as glog and error messages. If 'log' is specified, sensitive data will only be redacted from glog and error messages. If 'none' is specified, no redaction will occur.</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">string</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>all</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_umask"><a class="link" href="#kudu-master_umask"><code>--umask</code></a></h3>
+<div class="paragraph">
+<p>The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.</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">string</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>077</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_metrics_retirement_age_ms"><a class="link" href="#kudu-master_metrics_retirement_age_ms"><code>--metrics_retirement_age_ms</code></a></h3>
+<div class="paragraph">
+<p>The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)</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>120000</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_enable_minidumps"><a class="link" href="#kudu-master_enable_minidumps"><code>--enable_minidumps</code></a></h3>
+<div class="paragraph">
+<p>Whether to enable minidump generation upon process crash or SIGUSR1. Currently only supported on Linux systems.</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">evolving,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_max_minidumps"><a class="link" href="#kudu-master_max_minidumps"><code>--max_minidumps</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of minidump files to keep per daemon. Older files are removed first. Set to 0 to keep all minidump files.</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>9</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_minidump_path"><a class="link" href="#kudu-master_minidump_path"><code>--minidump_path</code></a></h3>
+<div class="paragraph">
+<p>Directory to write minidump files to. This can be either an absolute path or a path relative to --log_dir. Each daemon will create an additional sub-directory to prevent naming conflicts and to make it easier to identify a crashing daemon. Minidump files contain crash-related information in a compressed format. Minidumps will be written when a daemon exits unexpectedly, for example on an unhandled exception or signal, or when a SIGUSR1 signal is sent to the process. Cannot be set to an empty value.</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">string</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>minidumps</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_minidump_size_limit_hint_kb"><a class="link" href="#kudu-master_minidump_size_limit_hint_kb"><code>--minidump_size_limit_hint_kb</code></a></h3>
+<div class="paragraph">
+<p>Size limit hint for minidump files in KB. If a minidump exceeds this value, then breakpad will reduce the stack memory it collects for each thread from 8KB to 2KB. However it will always include the full stack memory for the first 20 threads, including the thread that crashed.</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>20480</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_dns_resolver_cache_capacity_mb"><a class="link" href="#kudu-master_dns_resolver_cache_capacity_mb"><code>--dns_resolver_cache_capacity_mb</code></a></h3>
+<div class="paragraph">
+<p>Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.</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">uint32</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_dns_resolver_cache_ttl_sec"><a class="link" href="#kudu-master_dns_resolver_cache_ttl_sec"><code>--dns_resolver_cache_ttl_sec</code></a></h3>
+<div class="paragraph">
+<p>TTL of records in the DNS resolver cache, in seconds.</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">uint32</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>15</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_dns_resolver_max_threads_num"><a class="link" href="#kudu-master_dns_resolver_max_threads_num"><code>--dns_resolver_max_threads_num</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of threads to use for async DNS resolution</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>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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_nvm_cache_path"><a class="link" href="#kudu-master_nvm_cache_path"><code>--nvm_cache_path</code></a></h3>
+<div class="paragraph">
+<p>The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.</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">string</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>/pmem</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_nvm_cache_usage_ratio"><a class="link" href="#kudu-master_nvm_cache_usage_ratio"><code>--nvm_cache_usage_ratio</code></a></h3>
+<div class="paragraph">
+<p>A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.</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.25</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_memory_limit_soft_percentage"><a class="link" href="#kudu-master_memory_limit_soft_percentage"><code>--memory_limit_soft_percentage</code></a></h3>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher 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">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>80</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_memory_limit_warn_threshold_percentage"><a class="link" href="#kudu-master_memory_limit_warn_threshold_percentage"><code>--memory_limit_warn_threshold_percentage</code></a></h3>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.</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>98</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_memory_pressure_percentage"><a class="link" href="#kudu-master_memory_pressure_percentage"><code>--memory_pressure_percentage</code></a></h3>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tcmalloc_max_free_bytes_percentage"><a class="link" href="#kudu-master_tcmalloc_max_free_bytes_percentage"><code>--tcmalloc_max_free_bytes_percentage</code></a></h3>
+<div class="paragraph">
+<p>Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_drop_log_memory"><a class="link" href="#kudu-master_drop_log_memory"><code>--drop_log_memory</code></a></h3>
+<div class="paragraph">
+<p>Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_backtrace_at"><a class="link" href="#kudu-master_log_backtrace_at"><code>--log_backtrace_at</code></a></h3>
+<div class="paragraph">
+<p>Emit a backtrace when logging at file:linenum.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_logbuflevel"><a class="link" href="#kudu-master_logbuflevel"><code>--logbuflevel</code></a></h3>
+<div class="paragraph">
+<p>Buffer log messages logged at this level or lower (-1 means don&#8217;t buffer; 0 means buffer INFO only; &#8230;&#8203;)</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>0</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_logbufsecs"><a class="link" href="#kudu-master_logbufsecs"><code>--logbufsecs</code></a></h3>
+<div class="paragraph">
+<p>Buffer log messages for at most this many seconds</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>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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_logfile_mode"><a class="link" href="#kudu-master_logfile_mode"><code>--logfile_mode</code></a></h3>
+<div class="paragraph">
+<p>Log file mode/permissions.</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>436</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+<hr>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/kudu-master_configuration_reference_unsupported.html b/releases/1.15.0/docs/kudu-master_configuration_reference_unsupported.html
new file mode 100644
index 0000000..89935a0
--- /dev/null
+++ b/releases/1.15.0/docs/kudu-master_configuration_reference_unsupported.html
@@ -0,0 +1,7368 @@
+<!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 - kudu-master Unsupported Flags</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1><code>kudu-master</code> Unsupported Flags</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>Flags not marked <code>stable</code> or <code>evolving</code> are considered experimental and are
+<strong>unsupported</strong>. They are included here for informational purposes only and are
+subject to being changed or removed without notice.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_block_cache_type"><a class="link" href="#kudu-master_block_cache_type"><code>--block_cache_type</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.</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">string</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>DRAM</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_min_compression_ratio"><a class="link" href="#kudu-master_min_compression_ratio"><code>--min_compression_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.</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>0.90000000000000002</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_cfile_default_block_size"><a class="link" href="#kudu-master_cfile_default_block_size"><code>--cfile_default_block_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The default block size to use in cfiles</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>262144</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_cfile_default_compression_codec"><a class="link" href="#kudu-master_cfile_default_compression_codec"><code>--cfile_default_compression_codec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Default cfile block compression codec.</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">string</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>no_compression</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_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-master_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_client_use_unix_domain_sockets"><a class="link" href="#kudu-master_client_use_unix_domain_sockets"><code>--client_use_unix_domain_sockets</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.</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>false</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_show_attributes"><a class="link" href="#kudu-master_show_attributes"><code>--show_attributes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_builtin_ntp_client_bind_address"><a class="link" href="#kudu-master_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_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">string</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>0.0.0.0</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_builtin_ntp_poll_interval_ms"><a class="link" href="#kudu-master_builtin_ntp_poll_interval_ms"><code>--builtin_ntp_poll_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The time between successive polls of a single NTP server (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">uint32</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>16000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_builtin_ntp_request_timeout_ms"><a class="link" href="#kudu-master_builtin_ntp_request_timeout_ms"><code>--builtin_ntp_request_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout for requests sent to NTP servers (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">uint32</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>3000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_builtin_ntp_true_time_refresh_max_interval_s"><a class="link" href="#kudu-master_builtin_ntp_true_time_refresh_max_interval_s"><code>--builtin_ntp_true_time_refresh_max_interval_s</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum allowed time interval without refreshing computed true time estimation (in seconds)</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">uint32</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>3600</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_max_clock_sync_error_usec"><a class="link" href="#kudu-master_max_clock_sync_error_usec"><code>--max_clock_sync_error_usec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum allowed clock synchronization error as reported by NTP before the server will abort.</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>10000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_codegen_dump_functions"><a class="link" href="#kudu-master_codegen_dump_functions"><code>--codegen_dump_functions</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to print the LLVM IR for generated functions</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_codegen_dump_mc"><a class="link" href="#kudu-master_codegen_dump_mc"><code>--codegen_dump_mc</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to dump the disassembly of the machine code for generated functions.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_codegen_cache_capacity"><a class="link" href="#kudu-master_codegen_cache_capacity"><code>--codegen_cache_capacity</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of entries which may be stored in the code generation cache.</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>100</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_codegen_queue_capacity"><a class="link" href="#kudu-master_codegen_queue_capacity"><code>--codegen_queue_capacity</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of tasks which may be put in the code generation task queue.</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>100</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_codegen_time_compilation"><a class="link" href="#kudu-master_codegen_time_compilation"><code>--codegen_time_compilation</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to print time that each code generation request took.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_predicate_effectivess_enabled"><a class="link" href="#kudu-master_predicate_effectivess_enabled"><code>--predicate_effectivess_enabled</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Should ineffective predicate filtering be disabled</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_predicate_effectivess_num_skip_blocks"><a class="link" href="#kudu-master_predicate_effectivess_num_skip_blocks"><code>--predicate_effectivess_num_skip_blocks</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of blocks to skip for every predicate effectiveness check</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_predicate_effectivess_reject_ratio"><a class="link" href="#kudu-master_predicate_effectivess_reject_ratio"><code>--predicate_effectivess_reject_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Rejection ratio below which predicate filter is considered ineffective</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>0.10000000000000001</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_ranger_default_database"><a class="link" href="#kudu-master_ranger_default_database"><code>--ranger_default_database</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Name of the default database which is used in the Ranger authorization context when the database name is not specified in the table name. Ranger makes no difference between &lt;ranger_default_database&gt;.&lt;table&gt; and &lt;table&gt;, so privileges granted on &lt;table&gt; in &lt;ranger_default_database&gt; are applied toboth &lt;ranger_default_database&gt;.&lt;table&gt; and &lt;table&gt; in Kudu.</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">string</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>default</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_cmeta_force_fsync"><a class="link" href="#kudu-master_cmeta_force_fsync"><code>--cmeta_force_fsync</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether fsync() should be called when consensus metadata files are updated</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>false</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_consensus_rpc_timeout_ms"><a class="link" href="#kudu-master_consensus_rpc_timeout_ms"><code>--consensus_rpc_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout used for all consensus internal RPC communications.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_consensus_max_batch_size_bytes"><a class="link" href="#kudu-master_consensus_max_batch_size_bytes"><code>--consensus_max_batch_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum per-tablet RPC batch size when updating peers.</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>1048576</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_follower_unavailable_considered_failed_sec"><a class="link" href="#kudu-master_follower_unavailable_considered_failed_sec"><code>--follower_unavailable_considered_failed_sec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.</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>300</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_fs_wal_dir_reserved_bytes"><a class="link" href="#kudu-master_fs_wal_dir_reserved_bytes"><code>--fs_wal_dir_reserved_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_fs_wal_use_file_cache"><a class="link" href="#kudu-master_fs_wal_use_file_cache"><code>--fs_wal_use_file_cache</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to use the server-wide file cache for WAL segments and WAL index chunks.</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_group_commit_queue_size_bytes"><a class="link" href="#kudu-master_group_commit_queue_size_bytes"><code>--group_commit_queue_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum size of the group commit queue in bytes</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>4194304</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_compression_codec"><a class="link" href="#kudu-master_log_compression_codec"><code>--log_compression_codec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Codec to use for compressing WAL segments.</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">string</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>LZ4</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_log_max_segments_to_retain"><a class="link" href="#kudu-master_log_max_segments_to_retain"><code>--log_max_segments_to_retain</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum number of past log segments to keep at all times for the purposes of catching up other peers.</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>80</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_log_min_segments_to_retain"><a class="link" href="#kudu-master_log_min_segments_to_retain"><code>--log_min_segments_to_retain</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.</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>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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_global_log_cache_size_limit_mb"><a class="link" href="#kudu-master_global_log_cache_size_limit_mb"><code>--global_log_cache_size_limit_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.</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>1024</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_cache_size_limit_mb"><a class="link" href="#kudu-master_log_cache_size_limit_mb"><code>--log_cache_size_limit_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.</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>128</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_async_preallocate_segments"><a class="link" href="#kudu-master_log_async_preallocate_segments"><code>--log_async_preallocate_segments</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether the WAL segments preallocation should happen asynchronously</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_log_preallocate_segments"><a class="link" href="#kudu-master_log_preallocate_segments"><code>--log_preallocate_segments</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether the WAL should preallocate the entire segment before writing to it</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_log_segment_size_mb"><a class="link" href="#kudu-master_log_segment_size_mb"><code>--log_segment_size_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The default size for log segments, in MB</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>8</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_evict_failed_followers"><a class="link" href="#kudu-master_evict_failed_followers"><code>--evict_failed_followers</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to evict followers from the Raft config that have fallen too far behind the leader&#8217;s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_leader_failure_exp_backoff_max_delta_ms"><a class="link" href="#kudu-master_leader_failure_exp_backoff_max_delta_ms"><code>--leader_failure_exp_backoff_max_delta_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.</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>20000</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_leader_failure_max_missed_heartbeat_periods"><a class="link" href="#kudu-master_leader_failure_max_missed_heartbeat_periods"><code>--leader_failure_max_missed_heartbeat_periods</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.</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>3</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_raft_enable_pre_election"><a class="link" href="#kudu-master_raft_enable_pre_election"><code>--raft_enable_pre_election</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When enabled, candidates will call a pre-election before running a real leader election.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_raft_enable_tombstoned_voting"><a class="link" href="#kudu-master_raft_enable_tombstoned_voting"><code>--raft_enable_tombstoned_voting</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When enabled, tombstoned tablets may vote in elections.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_raft_heartbeat_interval_ms"><a class="link" href="#kudu-master_raft_heartbeat_interval_ms"><code>--raft_heartbeat_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.</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>500</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_raft_prepare_replacement_before_eviction"><a class="link" href="#kudu-master_raft_prepare_replacement_before_eviction"><code>--raft_prepare_replacement_before_eviction</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When enabled, failed replicas will only be evicted after a replacement has been prepared for them.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</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_manager_preflush_control"><a class="link" href="#kudu-master_block_manager_preflush_control"><code>--block_manager_preflush_control</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Controls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.</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">string</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>finalize</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_fs_max_thread_count_per_data_dir"><a class="link" href="#kudu-master_fs_max_thread_count_per_data_dir"><code>--fs_max_thread_count_per_data_dir</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum work thread per data directory.</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">uint64</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>8</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_block_manager"><a class="link" href="#kudu-master_block_manager"><code>--block_manager</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.</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">string</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>log</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_block_manager_delete_dead_container"><a class="link" href="#kudu-master_log_block_manager_delete_dead_container"><code>--log_block_manager_delete_dead_container</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_log_container_excess_space_before_cleanup_fraction"><a class="link" href="#kudu-master_log_container_excess_space_before_cleanup_fraction"><code>--log_container_excess_space_before_cleanup_fraction</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Additional fraction of a log container&#8217;s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.</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>0.10000000000000001</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_live_metadata_before_compact_ratio"><a class="link" href="#kudu-master_log_container_live_metadata_before_compact_ratio"><code>--log_container_live_metadata_before_compact_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Desired ratio of live block metadata in log containers. If a container&#8217;s live to total block ratio dips below this value, the container&#8217;s metadata file will be compacted at startup.</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>0.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_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">
+<p>Maximum size (soft) of a log container</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">uint64</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>10737418240</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_preallocate_bytes"><a class="link" href="#kudu-master_log_container_preallocate_bytes"><code>--log_container_preallocate_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation</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">uint64</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>33554432</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_hive_metastore_conn_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_conn_timeout_seconds"><code>--hive_metastore_conn_timeout_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Configures the socket connect timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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_hive_metastore_kerberos_principal"><a class="link" href="#kudu-master_hive_metastore_kerberos_principal"><code>--hive_metastore_kerberos_principal</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The service principal of the Hive Metastore server. Must match the primary (user) portion of hive.metastore.kerberos.principal option in the Hive Metastore configuration.</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">string</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>hive</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_hive_metastore_max_message_size_bytes"><a class="link" href="#kudu-master_hive_metastore_max_message_size_bytes"><code>--hive_metastore_max_message_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum size of Hive Metastore objects that can be received by the HMS client in bytes. Should match the metastore.server.max.message.size configuration.</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>104857600</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_hive_metastore_recv_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_recv_timeout_seconds"><code>--hive_metastore_recv_timeout_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Configures the socket receive timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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_hive_metastore_retry_count"><a class="link" href="#kudu-master_hive_metastore_retry_count"><code>--hive_metastore_retry_count</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The number of times that HMS operations will retry after encountering retriable failures, such as network errors.</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>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_hive_metastore_sasl_enabled"><a class="link" href="#kudu-master_hive_metastore_sasl_enabled"><code>--hive_metastore_sasl_enabled</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Must match the value of the hive.metastore.sasl.enabled option in the Hive Metastore configuration. When enabled, the --keytab_file flag must be provided.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_hive_metastore_send_timeout_seconds"><a class="link" href="#kudu-master_hive_metastore_send_timeout_seconds"><code>--hive_metastore_send_timeout_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Configures the socket send timeout, in seconds, for Thrift connections to the Hive Metastore.</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>60</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_hive_metastore_uris"><a class="link" href="#kudu-master_hive_metastore_uris"><code>--hive_metastore_uris</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Address of the Hive Metastore instance(s). The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. If not set, the Kudu master will not send Kudu table catalog updates to Hive. The configured value must match the Hive hive.metastore.uris configuration.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_trusted_user_acl"><a class="link" href="#kudu-master_trusted_user_acl"><code>--trusted_user_acl</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Comma-separated list of trusted users who may access the cluster without being authorized against fine-grained permissions.</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">string</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">none</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">sensitive</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_auto_rebalancing_interval_seconds"><a class="link" href="#kudu-master_auto_rebalancing_interval_seconds"><code>--auto_rebalancing_interval_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>How long to sleep in between rebalancing cycles, before checking the cluster again to see if there is skew and rebalancing to be done.</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">uint32</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>30</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_auto_rebalancing_load_imbalance_threshold"><a class="link" href="#kudu-master_auto_rebalancing_load_imbalance_threshold"><code>--auto_rebalancing_load_imbalance_threshold</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table&#8217;s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, &#8230;&#8203;) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.</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</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_auto_rebalancing_max_moves_per_server"><a class="link" href="#kudu-master_auto_rebalancing_max_moves_per_server"><code>--auto_rebalancing_max_moves_per_server</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move 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">uint32</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_auto_rebalancing_rpc_timeout_seconds"><a class="link" href="#kudu-master_auto_rebalancing_rpc_timeout_seconds"><code>--auto_rebalancing_rpc_timeout_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>RPC timeout in seconds when making RPCs to request moving tablet replicas or to check if the replica movement has completed.</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">uint32</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>60</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_auto_rebalancing_wait_for_replica_moves_seconds"><a class="link" href="#kudu-master_auto_rebalancing_wait_for_replica_moves_seconds"><code>--auto_rebalancing_wait_for_replica_moves_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>How long to wait before checking to see if the scheduled replica movement in this iteration of auto-rebalancing has completed.</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">uint32</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_auto_rebalancing_enabled"><a class="link" href="#kudu-master_auto_rebalancing_enabled"><code>--auto_rebalancing_enabled</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether auto-rebalancing is enabled.</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_catalog_manager_enable_chunked_tablet_reports"><a class="link" href="#kudu-master_catalog_manager_enable_chunked_tablet_reports"><code>--catalog_manager_enable_chunked_tablet_reports</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to split the tablet report data received from one tablet server into chunks when persisting it in the system catalog. The chunking starts at around the maximum allowed RPC size controlled by the --rpc_max_message_size flag. When the chunking is disabled, a tablet report sent by a tablet server is rejected if it would result in an oversized update on the system catalog tablet. With the default settings for --rpc_max_message_size, the latter can happen only in case of extremely high number of tablet replicas per tablet server.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_default_num_replicas"><a class="link" href="#kudu-master_default_num_replicas"><code>--default_num_replicas</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Default number of replicas for tables that do not have the num_replicas set.</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>3</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_enable_table_write_limit"><a class="link" href="#kudu-master_enable_table_write_limit"><code>--enable_table_write_limit</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Enable the table write limit. When the table&#8217;s size or row count is approaching the limit, the write may be forbidden.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_master_failover_catchup_timeout_ms"><a class="link" href="#kudu-master_master_failover_catchup_timeout_ms"><code>--master_failover_catchup_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader master to load the previous master&#8217;s metadata and become active. If this time is exceeded, the node crashes.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_master_ts_rpc_timeout_ms"><a class="link" href="#kudu-master_master_ts_rpc_timeout_ms"><code>--master_ts_rpc_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout used for the master&#8594;TS async rpc calls.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_max_column_comment_length"><a class="link" href="#kudu-master_max_column_comment_length"><code>--max_column_comment_length</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum length of the comment of a column.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_max_create_tablets_per_ts"><a class="link" href="#kudu-master_max_create_tablets_per_ts"><code>--max_create_tablets_per_ts</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The number of tablet replicas per TS that can be requested for a new table. If 0, no limit is enforced.</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>60</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_max_owner_length"><a class="link" href="#kudu-master_max_owner_length"><code>--max_owner_length</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum length of the name of a table owner.</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>128</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_max_table_comment_length"><a class="link" href="#kudu-master_max_table_comment_length"><code>--max_table_comment_length</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum length of the comment of a table.</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>256</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_table_disk_size_limit"><a class="link" href="#kudu-master_table_disk_size_limit"><code>--table_disk_size_limit</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Set the target size in bytes of a table to write. This is a system wide configuration for every newly created table.</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_table_locations_cache_capacity_mb"><a class="link" href="#kudu-master_table_locations_cache_capacity_mb"><code>--table_locations_cache_capacity_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached</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">uint32</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>0</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_table_locations_ttl_ms"><a class="link" href="#kudu-master_table_locations_ttl_ms"><code>--table_locations_ttl_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum time in milliseconds which clients may cache table locations. New range partitions may not be visible to existing client instances until after waiting for the ttl period.</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>300000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_table_row_count_limit"><a class="link" href="#kudu-master_table_row_count_limit"><code>--table_row_count_limit</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Set the target row count of a table to write. This is a system wide configuration for every newly created table.</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_table_write_limit_ratio"><a class="link" href="#kudu-master_table_write_limit_ratio"><code>--table_write_limit_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Set the ratio of how much write limit can be reached</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>0.94999999999999996</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_tablet_creation_timeout_ms"><a class="link" href="#kudu-master_tablet_creation_timeout_ms"><code>--tablet_creation_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout used by the master when attempting to create tablet replicas during table creation.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_unresponsive_ts_rpc_timeout_ms"><a class="link" href="#kudu-master_unresponsive_ts_rpc_timeout_ms"><code>--unresponsive_ts_rpc_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>After this amount of time, the master will stop attempting to contact a tablet server in order to perform operations such as deleting a tablet.</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>3600000</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_hive_metastore_notification_log_batch_size"><a class="link" href="#kudu-master_hive_metastore_notification_log_batch_size"><code>--hive_metastore_notification_log_batch_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of notification log entries which are retrieved from the Hive Metastore per batch when polling.</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>100</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_hive_metastore_notification_log_poll_period_seconds"><a class="link" href="#kudu-master_hive_metastore_notification_log_poll_period_seconds"><code>--hive_metastore_notification_log_poll_period_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Amount of time the notification log listener waits between attempts to poll the Hive Metastore for catalog updates.</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">uint32</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>15</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_authn_token_validity_seconds"><a class="link" href="#kudu-master_authn_token_validity_seconds"><code>--authn_token_validity_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Period of time for which an issued authentication token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.</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>604800</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_authz_token_validity_seconds"><a class="link" href="#kudu-master_authz_token_validity_seconds"><code>--authz_token_validity_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Period of time for which an issued authorization token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.</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>300</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_location_mapping_cmd"><a class="link" href="#kudu-master_location_mapping_cmd"><code>--location_mapping_cmd</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A Unix command which takes a single argument, the IP address or hostname of a tablet server or client, and returns the location string for the tablet server. A location string begins with a / and consists of /-separated tokens each of which contains only characters from the set [a-zA-Z0-9_-.]. If the cluster is not using location awareness features this flag should not be set.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_master_registration_rpc_timeout_ms"><a class="link" href="#kudu-master_master_registration_rpc_timeout_ms"><code>--master_registration_rpc_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout for retrieving master registration over RPC.</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>1500</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_tsk_rotation_seconds"><a class="link" href="#kudu-master_tsk_rotation_seconds"><code>--tsk_rotation_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of seconds between consecutive activations of newly generated TSKs (Token Signing Keys).</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>86400</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_ipki_ca_cert_expiration_seconds"><a class="link" href="#kudu-master_ipki_ca_cert_expiration_seconds"><code>--ipki_ca_cert_expiration_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>validity interval for self-signed root CA certifcate issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)</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>315360000</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_ipki_ca_key_size"><a class="link" href="#kudu-master_ipki_ca_key_size"><code>--ipki_ca_key_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>the number of bits for self-signed root CA cert used by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)</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>2048</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_ipki_server_cert_expiration_seconds"><a class="link" href="#kudu-master_ipki_server_cert_expiration_seconds"><code>--ipki_server_cert_expiration_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>validity interval for server certificates issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)</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>315360000</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_master_client_location_assignment_enabled"><a class="link" href="#kudu-master_master_client_location_assignment_enabled"><code>--master_client_location_assignment_enabled</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_master_support_change_config"><a class="link" href="#kudu-master_master_support_change_config"><code>--master_support_change_config</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether the master supports adding/removing master servers dynamically.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_tserver_unresponsive_timeout_ms"><a class="link" href="#kudu-master_tserver_unresponsive_timeout_ms"><code>--tserver_unresponsive_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The period of time that a Master can go without receiving a heartbeat from a tablet server before considering it unresponsive. Unresponsive servers are not selected when assigning replicas during table creation or re-replication.</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_txn_manager_lazily_initialized"><a class="link" href="#kudu-master_txn_manager_lazily_initialized"><code>--txn_manager_lazily_initialized</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to initialize TxnManager upon arrival of first request. Otherwise, TxnManager is initialized upon master&#8217;s startup.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_txn_manager_status_table_num_replicas"><a class="link" href="#kudu-master_txn_manager_status_table_num_replicas"><code>--txn_manager_status_table_num_replicas</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of replicas for transaction status table</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">uint32</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>3</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_txn_manager_status_table_range_partition_span"><a class="link" href="#kudu-master_txn_manager_status_table_range_partition_span"><code>--txn_manager_status_table_range_partition_span</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A span for a status table&#8217;s range partition. Once TxnManager detects there isn&#8217;t a backing tablet for a transaction identifier, it adds a new range partition in the transaction status table with the lower bound equal to the upper bound of the previous range and (lower bound + span) as the upper bound.</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>1000000</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_ranger_config_path"><a class="link" href="#kudu-master_ranger_config_path"><code>--ranger_config_path</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Path to directory containing Ranger client configuration. When set, Ranger integration is enabled, fine-grained access control is enforced, and clients are issued authorization tokens. In addition, both --ranger_java_path and --ranger_jar_path flags need to be set properly for Ranger integration to work.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_ranger_jar_path"><a class="link" href="#kudu-master_ranger_jar_path"><code>--ranger_jar_path</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Path to the JAR file containing the Ranger subprocess. If not specified, the default JAR file path is expected to be next to the master binary.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_ranger_java_path"><a class="link" href="#kudu-master_ranger_java_path"><code>--ranger_java_path</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Path where the Java binary was installed. If the value isn&#8217;t an absolute path (e.g. 'java'), it will be evaluated using the Kudu user&#8217;s PATH. If not specified, $JAVA_HOME/bin/java is used. If $JAVA_HOME is not found, Kudu will attempt to find 'java' in the Kudu user&#8217;s PATH.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_ranger_receiver_fifo_dir"><a class="link" href="#kudu-master_ranger_receiver_fifo_dir"><code>--ranger_receiver_fifo_dir</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Directory in which to create a fifo used to receive messages from the Ranger subprocess. Existing fifos at this path will be overwritten. If not specified, a fifo will be created in the --ranger_config_path directory.</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">string</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">none</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_rpc_acceptor_listen_backlog"><a class="link" href="#kudu-master_rpc_acceptor_listen_backlog"><code>--rpc_acceptor_listen_backlog</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.</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>128</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_rpc_encrypt_loopback_connections"><a class="link" href="#kudu-master_rpc_encrypt_loopback_connections"><code>--rpc_encrypt_loopback_connections</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.</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>false</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_rpc_trace_negotiation"><a class="link" href="#kudu-master_rpc_trace_negotiation"><code>--rpc_trace_negotiation</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If enabled, dump traces of all RPC negotiations to the log</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_rpc_callback_max_cycles"><a class="link" href="#kudu-master_rpc_callback_max_cycles"><code>--rpc_callback_max_cycles</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)</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>100000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_tcp_keepalive_probe_period_s"><a class="link" href="#kudu-master_tcp_keepalive_probe_period_s"><code>--tcp_keepalive_probe_period_s</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.</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>60</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_tcp_keepalive_retry_count"><a class="link" href="#kudu-master_tcp_keepalive_retry_count"><code>--tcp_keepalive_retry_count</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.</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_tcp_keepalive_retry_period_s"><a class="link" href="#kudu-master_tcp_keepalive_retry_period_s"><code>--tcp_keepalive_retry_period_s</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.</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>3</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_remember_clients_ttl_ms"><a class="link" href="#kudu-master_remember_clients_ttl_ms"><code>--remember_clients_ttl_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.</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>3600000</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_remember_responses_ttl_ms"><a class="link" href="#kudu-master_remember_responses_ttl_ms"><code>--remember_responses_ttl_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.</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>600000</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_rpc_dump_all_traces"><a class="link" href="#kudu-master_rpc_dump_all_traces"><code>--rpc_dump_all_traces</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If true, dump all RPC traces at INFO level</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_rpc_duration_too_long_ms"><a class="link" href="#kudu-master_rpc_duration_too_long_ms"><code>--rpc_duration_too_long_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_rpc_max_message_size"><a class="link" href="#kudu-master_rpc_max_message_size"><code>--rpc_max_message_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.</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>52428800</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_use_system_auth_to_local"><a class="link" href="#kudu-master_use_system_auth_to_local"><code>--use_system_auth_to_local</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.</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_ipki_server_key_size"><a class="link" href="#kudu-master_ipki_server_key_size"><code>--ipki_server_key_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>the number of bits for server cert&#8217;s private key. The server cert is used for TLS connections to and from clients and other 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>2048</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_tsk_num_rsa_bits"><a class="link" href="#kudu-master_tsk_num_rsa_bits"><code>--tsk_num_rsa_bits</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of bits in RSA keys used for token signing.</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>2048</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_web_log_bytes"><a class="link" href="#kudu-master_web_log_bytes"><code>--web_log_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum number of bytes to display on the debug webserver&#8217;s log page</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_diagnostics_log_stack_traces_interval_ms"><a class="link" href="#kudu-master_diagnostics_log_stack_traces_interval_ms"><code>--diagnostics_log_stack_traces_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.</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">experimental,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_rpc_advertised_addresses"><a class="link" href="#kudu-master_rpc_advertised_addresses"><code>--rpc_advertised_addresses</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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_rpc_num_acceptors_per_address"><a class="link" href="#kudu-master_rpc_num_acceptors_per_address"><code>--rpc_num_acceptors_per_address</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of RPC acceptor threads for each bound address</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>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_rpc_num_service_threads"><a class="link" href="#kudu-master_rpc_num_service_threads"><code>--rpc_num_service_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of RPC worker threads to run</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_rpc_reuseport"><a class="link" href="#kudu-master_rpc_reuseport"><code>--rpc_reuseport</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to set the SO_REUSEPORT option on listening RPC sockets.</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>false</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_rpc_service_queue_length"><a class="link" href="#kudu-master_rpc_service_queue_length"><code>--rpc_service_queue_length</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Default length of queue for incoming RPC requests</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>100</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_gc_tcmalloc_memory_interval_seconds"><a class="link" href="#kudu-master_gc_tcmalloc_memory_interval_seconds"><code>--gc_tcmalloc_memory_interval_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Interval seconds to GC tcmalloc memory, 0 means disabled.</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">uint64</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>30</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_max_negotiation_threads"><a class="link" href="#kudu-master_max_negotiation_threads"><code>--max_negotiation_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of connection negotiation threads.</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>50</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_min_negotiation_threads"><a class="link" href="#kudu-master_min_negotiation_threads"><code>--min_negotiation_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Minimum number of connection negotiation threads.</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>0</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_reactor_threads"><a class="link" href="#kudu-master_num_reactor_threads"><code>--num_reactor_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of libev reactor threads to start.</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>4</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_rpc_ca_certificate_file"><a class="link" href="#kudu-master_rpc_ca_certificate_file"><code>--rpc_ca_certificate_file</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Path to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.</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">string</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">none</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_rpc_certificate_file"><a class="link" href="#kudu-master_rpc_certificate_file"><code>--rpc_certificate_file</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Path to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.</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">string</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">none</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_rpc_default_keepalive_time_ms"><a class="link" href="#kudu-master_rpc_default_keepalive_time_ms"><code>--rpc_default_keepalive_time_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.</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>65000</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_rpc_listen_on_unix_domain_socket"><a class="link" href="#kudu-master_rpc_listen_on_unix_domain_socket"><code>--rpc_listen_on_unix_domain_socket</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.</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>false</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_rpc_negotiation_timeout_ms"><a class="link" href="#kudu-master_rpc_negotiation_timeout_ms"><code>--rpc_negotiation_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout for negotiating an RPC connection, 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">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>3000</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_rpc_private_key_file"><a class="link" href="#kudu-master_rpc_private_key_file"><code>--rpc_private_key_file</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Path to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'</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">string</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">none</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_rpc_private_key_password_cmd"><a class="link" href="#kudu-master_rpc_private_key_password_cmd"><code>--rpc_private_key_password_cmd</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the RPC server&#8217;s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_rpc_tls_ciphers"><a class="link" href="#kudu-master_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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_rpc_tls_ciphersuites"><a class="link" href="#kudu-master_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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_rpc_tls_excluded_protocols"><a class="link" href="#kudu-master_rpc_tls_excluded_protocols"><code>--rpc_tls_excluded_protocols</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.</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">string</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">none</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_rpc_tls_min_protocol"><a class="link" href="#kudu-master_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</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">string</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>TLSv1</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_server_max_open_files"><a class="link" href="#kudu-master_server_max_open_files"><code>--server_max_open_files</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. 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">uint64</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>0</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_webserver_enabled"><a class="link" href="#kudu-master_webserver_enabled"><code>--webserver_enabled</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.</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_metrics_log_interval_ms"><a class="link" href="#kudu-master_metrics_log_interval_ms"><code>--metrics_log_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.</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_webserver_max_post_length_bytes"><a class="link" href="#kudu-master_webserver_max_post_length_bytes"><code>--webserver_max_post_length_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum length of a POST request that will be accepted by the embedded web server.</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_webserver_x_frame_options"><a class="link" href="#kudu-master_webserver_x_frame_options"><code>--webserver_x_frame_options</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.</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">string</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>DENY</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_webserver_advertised_addresses"><a class="link" href="#kudu-master_webserver_advertised_addresses"><code>--webserver_advertised_addresses</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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_webserver_authentication_domain"><a class="link" href="#kudu-master_webserver_authentication_domain"><code>--webserver_authentication_domain</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Domain used for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_webserver_doc_root"><a class="link" href="#kudu-master_webserver_doc_root"><code>--webserver_doc_root</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Files under &lt;webserver_doc_root&gt; are accessible via the debug webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root</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">string</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">none</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_webserver_enable_doc_root"><a class="link" href="#kudu-master_webserver_enable_doc_root"><code>--webserver_enable_doc_root</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If true, webserver may serve static files from the webserver_doc_root</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_webserver_interface"><a class="link" href="#kudu-master_webserver_interface"><code>--webserver_interface</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Interface to start debug webserver on. If blank, webserver binds to 0.0.0.0</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">string</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">none</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_webserver_num_worker_threads"><a class="link" href="#kudu-master_webserver_num_worker_threads"><code>--webserver_num_worker_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of threads to start for handling web server requests</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>50</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_webserver_password_file"><a class="link" href="#kudu-master_webserver_password_file"><code>--webserver_password_file</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>(Optional) Location of .htpasswd file containing user names and hashed passwords for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_webserver_tls_ciphers"><a class="link" href="#kudu-master_webserver_tls_ciphers"><code>--webserver_tls_ciphers</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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_webserver_tls_min_protocol"><a class="link" href="#kudu-master_webserver_tls_min_protocol"><code>--webserver_tls_min_protocol</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</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">string</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>TLSv1</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_subprocess_deadline_checking_interval_ms"><a class="link" href="#kudu-master_subprocess_deadline_checking_interval_ms"><code>--subprocess_deadline_checking_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Interval in milliseconds at which Kudu will check the deadlines of in-flight calls to the subprocess</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>50</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_subprocess_num_responder_threads"><a class="link" href="#kudu-master_subprocess_num_responder_threads"><code>--subprocess_num_responder_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads that will be dedicated to reading responses from the inbound queue and returning to callers</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>3</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_subprocess_queue_full_retry_ms"><a class="link" href="#kudu-master_subprocess_queue_full_retry_ms"><code>--subprocess_queue_full_retry_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of milliseconds between attempts to enqueue the request to the subprocess</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>50</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_subprocess_request_queue_size_bytes"><a class="link" href="#kudu-master_subprocess_request_queue_size_bytes"><code>--subprocess_request_queue_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum size in bytes of the outbound request queue. This is best effort: if a single request is larger than this, it is still added to the queue</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>4194304</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_subprocess_response_queue_size_bytes"><a class="link" href="#kudu-master_subprocess_response_queue_size_bytes"><code>--subprocess_response_queue_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum size in bytes of the inbound response queue. This is best effort: if a single request is larger than this, it is still added to the queue</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>4194304</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_subprocess_timeout_secs"><a class="link" href="#kudu-master_subprocess_timeout_secs"><code>--subprocess_timeout_secs</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of seconds a call to the subprocess is allowed to take before a timeout error is returned to the calling process</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>15</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_budgeted_compaction_target_rowset_size"><a class="link" href="#kudu-master_budgeted_compaction_target_rowset_size"><code>--budgeted_compaction_target_rowset_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.</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>33554432</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_compaction_approximation_ratio"><a class="link" href="#kudu-master_compaction_approximation_ratio"><code>--compaction_approximation_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Approximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.</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.0499999523162842</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_compaction_minimum_improvement"><a class="link" href="#kudu-master_compaction_minimum_improvement"><code>--compaction_minimum_improvement</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.</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>0.0099999997764825821</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_deltafile_default_block_size"><a class="link" href="#kudu-master_deltafile_default_block_size"><code>--deltafile_default_block_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Block size for delta files. In the future, this may become configurable on a per-table basis.</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>32768</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_deltafile_default_compression_codec"><a class="link" href="#kudu-master_deltafile_default_compression_codec"><code>--deltafile_default_compression_codec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The compression codec used when writing deltafiles.</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">string</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>lz4</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_default_composite_key_index_block_size_bytes"><a class="link" href="#kudu-master_default_composite_key_index_block_size_bytes"><code>--default_composite_key_index_block_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Block size used for composite key indexes.</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>4096</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_rowset_metadata_store_keys"><a class="link" href="#kudu-master_rowset_metadata_store_keys"><code>--rowset_metadata_store_keys</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.</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>false</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_tablet_delta_store_major_compact_min_ratio"><a class="link" href="#kudu-master_tablet_delta_store_major_compact_min_ratio"><code>--tablet_delta_store_major_compact_min_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Minimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)</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>0.10000000149011612</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_tablet_delta_store_minor_compact_max"><a class="link" href="#kudu-master_tablet_delta_store_minor_compact_max"><code>--tablet_delta_store_minor_compact_max</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>How many delta stores are required before forcing a minor delta compaction (Advanced option)</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_tablet_transaction_memory_limit_mb"><a class="link" href="#kudu-master_tablet_transaction_memory_limit_mb"><code>--tablet_transaction_memory_limit_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.</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>64</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_compaction_small_rowset_tradeoff"><a class="link" href="#kudu-master_compaction_small_rowset_tradeoff"><code>--compaction_small_rowset_tradeoff</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.</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>0.0089999999999999993</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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_rows_writed_per_sec_for_hot_tablets"><a class="link" href="#kudu-master_rows_writed_per_sec_for_hot_tablets"><code>--rows_writed_per_sec_for_hot_tablets</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Minimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet&#8217;s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_scans_started_per_sec_for_hot_tablets"><a class="link" href="#kudu-master_scans_started_per_sec_for_hot_tablets"><code>--scans_started_per_sec_for_hot_tablets</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Minimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet&#8217;s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.</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>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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_tablet_bloom_block_size"><a class="link" href="#kudu-master_tablet_bloom_block_size"><code>--tablet_bloom_block_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Block size of the bloom filters used for tablet keys.</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>4096</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_tablet_bloom_target_fp_rate"><a class="link" href="#kudu-master_tablet_bloom_target_fp_rate"><code>--tablet_bloom_target_fp_rate</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.</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>9.9999997473787516e-05</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_tablet_compaction_budget_mb"><a class="link" href="#kudu-master_tablet_compaction_budget_mb"><code>--tablet_compaction_budget_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Budget for a single compaction</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>128</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_tablet_throttler_burst_factor"><a class="link" href="#kudu-master_tablet_throttler_burst_factor"><code>--tablet_throttler_burst_factor</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Burst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.</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</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_tablet_throttler_bytes_per_sec"><a class="link" href="#kudu-master_tablet_throttler_bytes_per_sec"><code>--tablet_throttler_bytes_per_sec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no 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>0</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_tablet_throttler_rpc_per_sec"><a class="link" href="#kudu-master_tablet_throttler_rpc_per_sec"><code>--tablet_throttler_rpc_per_sec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no 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>0</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_workload_score_upper_bound"><a class="link" href="#kudu-master_workload_score_upper_bound"><code>--workload_score_upper_bound</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Upper bound for workload score.</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</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_workload_stats_metric_collection_interval_ms"><a class="link" href="#kudu-master_workload_stats_metric_collection_interval_ms"><code>--workload_stats_metric_collection_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The interval in milliseconds at which we collect workload metrics.</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>300000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_workload_stats_rate_collection_min_interval_ms"><a class="link" href="#kudu-master_workload_stats_rate_collection_min_interval_ms"><code>--workload_stats_rate_collection_min_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The minimal interval in milliseconds at which we collect read/write rates.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_enable_deleted_rowset_gc"><a class="link" href="#kudu-master_enable_deleted_rowset_gc"><code>--enable_deleted_rowset_gc</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_enable_workload_score_for_perf_improvement_ops"><a class="link" href="#kudu-master_enable_workload_score_for_perf_improvement_ops"><code>--enable_workload_score_for_perf_improvement_ops</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_tablet_max_pending_txn_write_ops"><a class="link" href="#kudu-master_tablet_max_pending_txn_write_ops"><code>--tablet_max_pending_txn_write_ops</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction</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">uint32</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>2</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_flush_threshold_mb"><a class="link" href="#kudu-master_flush_threshold_mb"><code>--flush_threshold_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn&#8217;t flushed in a while, or if the server-wide memory limit has been reached.</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>1024</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_flush_threshold_secs"><a class="link" href="#kudu-master_flush_threshold_secs"><code>--flush_threshold_secs</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.</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>120</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_flush_upper_bound_ms"><a class="link" href="#kudu-master_flush_upper_bound_ms"><code>--flush_upper_bound_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.</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>3600000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_txn_background_rpc_timeout_ms"><a class="link" href="#kudu-master_txn_background_rpc_timeout_ms"><code>--txn_background_rpc_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Period (in milliseconds) with which transaction-related background requests are made</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">uint32</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>5000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-master_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_txn_keepalive_interval_ms"><a class="link" href="#kudu-master_txn_keepalive_interval_ms"><code>--txn_keepalive_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.</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">uint32</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_txn_staleness_tracker_interval_ms"><a class="link" href="#kudu-master_txn_staleness_tracker_interval_ms"><code>--txn_staleness_tracker_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Period (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn&#8217;t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.</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">uint32</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>10000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_txn_status_tablet_failover_catchup_timeout_ms"><a class="link" href="#kudu-master_txn_status_tablet_failover_catchup_timeout_ms"><code>--txn_status_tablet_failover_catchup_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_enable_txn_system_client_init"><a class="link" href="#kudu-master_enable_txn_system_client_init"><code>--enable_txn_system_client_init</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server&#8217;s TxnSystemClient to participate in orchestrating transactions.</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>false</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_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-master_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-master_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_heartbeat_interval_ms"><a class="link" href="#kudu-master_heartbeat_interval_ms"><code>--heartbeat_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Interval at which the TS heartbeats to the master.</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_heartbeat_max_failures_before_backoff"><a class="link" href="#kudu-master_heartbeat_max_failures_before_backoff"><code>--heartbeat_max_failures_before_backoff</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.</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>3</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_heartbeat_rpc_timeout_ms"><a class="link" href="#kudu-master_heartbeat_rpc_timeout_ms"><code>--heartbeat_rpc_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout used for the TS&#8594;Master heartbeat RPCs.</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>15000</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_scan_history_count"><a class="link" href="#kudu-master_scan_history_count"><code>--scan_history_count</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of completed scans to keep history for. Determines how many historical scans will be shown on the tablet server&#8217;s scans dashboard.</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>20</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_scanner_ttl_ms"><a class="link" href="#kudu-master_scanner_ttl_ms"><code>--scanner_ttl_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of milliseconds of inactivity allowed for a scannerbefore it may be expired</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_tablet_copy_begin_session_timeout_ms"><a class="link" href="#kudu-master_tablet_copy_begin_session_timeout_ms"><code>--tablet_copy_begin_session_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_tablet_copy_download_threads_nums_per_session"><a class="link" href="#kudu-master_tablet_copy_download_threads_nums_per_session"><code>--tablet_copy_download_threads_nums_per_session</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads per tablet copy session for downloading tablet data blocks.</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>4</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_scanner_batch_size_rows"><a class="link" href="#kudu-master_scanner_batch_size_rows"><code>--scanner_batch_size_rows</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The number of rows to batch for servicing scan requests.</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_scanner_default_batch_size_bytes"><a class="link" href="#kudu-master_scanner_default_batch_size_bytes"><code>--scanner_default_batch_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The default size for batches of scan results</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_scanner_max_batch_size_bytes"><a class="link" href="#kudu-master_scanner_max_batch_size_bytes"><code>--scanner_max_batch_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum batch size that a client may request for scan results.</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>8388608</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</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) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for 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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_tserver_enforce_access_control"><a class="link" href="#kudu-master_tserver_enforce_access_control"><code>--tserver_enforce_access_control</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If set, the server will apply fine-grained access control rules to client RPCs.</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>false</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">runtime</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_delete_simultaneously"><a class="link" href="#kudu-master_num_tablets_to_delete_simultaneously"><code>--num_tablets_to_delete_simultaneously</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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">
+<p>Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-master_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-master_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</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_txn_commit_pool_num_threads"><a class="link" href="#kudu-master_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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_txn_participant_registration_pool_num_threads"><a class="link" href="#kudu-master_txn_participant_registration_pool_num_threads"><code>--txn_participant_registration_pool_num_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_update_tablet_stats_interval_ms"><a class="link" href="#kudu-master_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</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>5000</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_cloud_aws_instance_id_url"><a class="link" href="#kudu-master_cloud_aws_instance_id_url"><code>--cloud_aws_instance_id_url</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The URL to fetch the identifier of an AWS instance</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">string</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><a href="http://169.254.169.254/latest/meta-data/instance-id" class="bare">http://169.254.169.254/latest/meta-data/instance-id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_cloud_aws_ntp_server"><a class="link" href="#kudu-master_cloud_aws_ntp_server"><code>--cloud_aws_ntp_server</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within an AWS instance</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">string</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>169.254.169.123</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_cloud_azure_instance_id_url"><a class="link" href="#kudu-master_cloud_azure_instance_id_url"><code>--cloud_azure_instance_id_url</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The URL to fetch the identifier of an Azure instance</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">string</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><a href="http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text" class="bare">http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_cloud_gce_instance_id_url"><a class="link" href="#kudu-master_cloud_gce_instance_id_url"><code>--cloud_gce_instance_id_url</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The URL to fetch the identifier of a GCE instance</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">string</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><a href="http://metadata.google.internal/computeMetadata/v1/instance/id" class="bare">http://metadata.google.internal/computeMetadata/v1/instance/id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_cloud_gce_ntp_server"><a class="link" href="#kudu-master_cloud_gce_ntp_server"><code>--cloud_gce_ntp_server</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within a GCE instance</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">string</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>metadata.google.internal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_cloud_metadata_server_request_timeout_ms"><a class="link" href="#kudu-master_cloud_metadata_server_request_timeout_ms"><code>--cloud_metadata_server_request_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout for HTTP/HTTPS requests to the instance metadata server (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">uint32</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_cloud_openstack_metadata_url"><a class="link" href="#kudu-master_cloud_openstack_metadata_url"><code>--cloud_openstack_metadata_url</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.</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">string</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><a href="http://169.254.169.254/openstack/latest/meta_data.json" class="bare">http://169.254.169.254/openstack/latest/meta_data.json</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_trace_to_console"><a class="link" href="#kudu-master_trace_to_console"><code>--trace_to_console</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Trace pattern specifying which trace events should be dumped directly to the console</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">string</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">none</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_crash_on_eio"><a class="link" href="#kudu-master_crash_on_eio"><code>--crash_on_eio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_env_use_ioctl_hole_punch_on_xfs"><a class="link" href="#kudu-master_env_use_ioctl_hole_punch_on_xfs"><code>--env_use_ioctl_hole_punch_on_xfs</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Use the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</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_heap_sample_every_n_bytes"><a class="link" href="#kudu-master_heap_sample_every_n_bytes"><code>--heap_sample_every_n_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Enable heap occupancy sampling. If this flag is set to some positive value N, a memory allocation will be sampled approximately every N bytes. Lower values of N incur larger overhead but give more accurate results. A value such as 524288 (512KB) is a reasonable choice with relatively low overhead.</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>0</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_umask"><a class="link" href="#kudu-master_umask"><code>--umask</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.</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">string</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>077</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_data_gc_min_size_mb"><a class="link" href="#kudu-master_data_gc_min_size_mb"><code>--data_gc_min_size_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.</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>0</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_data_gc_prioritization_prob"><a class="link" href="#kudu-master_data_gc_prioritization_prob"><code>--data_gc_prioritization_prob</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.</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>0.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_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">
+<p>The target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.</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>1024</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_maintenance_op_multiplier"><a class="link" href="#kudu-master_maintenance_op_multiplier"><code>--maintenance_op_multiplier</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Multiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs</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.1000000000000001</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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_max_priority_range"><a class="link" href="#kudu-master_max_priority_range"><code>--max_priority_range</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximal priority range of OPs.</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>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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_metrics_retirement_age_ms"><a class="link" href="#kudu-master_metrics_retirement_age_ms"><code>--metrics_retirement_age_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)</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>120000</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_dns_resolver_cache_capacity_mb"><a class="link" href="#kudu-master_dns_resolver_cache_capacity_mb"><code>--dns_resolver_cache_capacity_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.</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">uint32</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_dns_resolver_cache_ttl_sec"><a class="link" href="#kudu-master_dns_resolver_cache_ttl_sec"><code>--dns_resolver_cache_ttl_sec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TTL of records in the DNS resolver cache, in seconds.</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">uint32</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>15</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_dns_resolver_max_threads_num"><a class="link" href="#kudu-master_dns_resolver_max_threads_num"><code>--dns_resolver_max_threads_num</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum number of threads to use for async DNS resolution</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>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_local_ip_for_outbound_sockets"><a class="link" href="#kudu-master_local_ip_for_outbound_sockets"><code>--local_ip_for_outbound_sockets</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>IP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.</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">string</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">none</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_nvm_cache_path"><a class="link" href="#kudu-master_nvm_cache_path"><code>--nvm_cache_path</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.</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">string</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>/pmem</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_nvm_cache_usage_ratio"><a class="link" href="#kudu-master_nvm_cache_usage_ratio"><code>--nvm_cache_usage_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.</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.25</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_memory_limit_soft_percentage"><a class="link" href="#kudu-master_memory_limit_soft_percentage"><code>--memory_limit_soft_percentage</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher 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">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>80</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_memory_limit_warn_threshold_percentage"><a class="link" href="#kudu-master_memory_limit_warn_threshold_percentage"><code>--memory_limit_warn_threshold_percentage</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.</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>98</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_memory_pressure_percentage"><a class="link" href="#kudu-master_memory_pressure_percentage"><code>--memory_pressure_percentage</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.</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>60</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_tcmalloc_max_free_bytes_percentage"><a class="link" href="#kudu-master_tcmalloc_max_free_bytes_percentage"><code>--tcmalloc_max_free_bytes_percentage</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.</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_drop_log_memory"><a class="link" href="#kudu-master_drop_log_memory"><code>--drop_log_memory</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_log_backtrace_at"><a class="link" href="#kudu-master_log_backtrace_at"><code>--log_backtrace_at</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Emit a backtrace when logging at file:linenum.</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">string</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">none</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_logbuflevel"><a class="link" href="#kudu-master_logbuflevel"><code>--logbuflevel</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Buffer log messages logged at this level or lower (-1 means don&#8217;t buffer; 0 means buffer INFO only; &#8230;&#8203;)</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>0</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_logbufsecs"><a class="link" href="#kudu-master_logbufsecs"><code>--logbufsecs</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Buffer log messages for at most this many seconds</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>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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_logfile_mode"><a class="link" href="#kudu-master_logfile_mode"><code>--logfile_mode</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Log file mode/permissions.</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>436</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"></td>
+</tr>
+</tbody>
+</table>
+<hr>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/kudu-master_metrics_reference.html b/releases/1.15.0/docs/kudu-master_metrics_reference.html
new file mode 100644
index 0000000..e29bc34
--- /dev/null
+++ b/releases/1.15.0/docs/kudu-master_metrics_reference.html
@@ -0,0 +1,11749 @@
+<!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 - kudu-master Metrics</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1><code>kudu-master</code> Metrics</h1>
+      <div class="sect1">
+<h2 id="kudu-master_warn"><a class="link" href="#kudu-master_warn">Warning Metrics</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Metrics tagged as 'warn' are metrics which can often indicate operational oddities
+that may need more investigation.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cluster_replica_skew"><a class="link" href="#kudu-master_cluster_replica_skew"><code>cluster_replica_skew</code></a></h3>
+<div class="paragraph">
+<p>Cluster Replica Skew
+&#160;
+The difference between the number of replicas on the tablet server hosting the most replicas and the number of replicas on the tablet server hosting the least replicas.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_data_dirs_failed"><a class="link" href="#kudu-master_data_dirs_failed"><code>data_dirs_failed</code></a></h3>
+<div class="paragraph">
+<p>Data Directories Failed
+&#160;
+Number of data directories whose disks are currently in a failed state</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">data directories</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_data_dirs_full"><a class="link" href="#kudu-master_data_dirs_full"><code>data_dirs_full</code></a></h3>
+<div class="paragraph">
+<p>Data Directories Full
+&#160;
+Number of data directories whose disks are currently full</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">data directories</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_failed_elections_since_stable_leader"><a class="link" href="#kudu-master_failed_elections_since_stable_leader"><code>failed_elections_since_stable_leader</code></a></h3>
+<div class="paragraph">
+<p>Failed Elections Since Stable Leader
+&#160;
+Number of failed elections on this node since there was a stable leader. This number increments on each failed election and resets on each successful one.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_follower_memory_pressure_rejections"><a class="link" href="#kudu-master_follower_memory_pressure_rejections"><code>follower_memory_pressure_rejections</code></a></h3>
+<div class="paragraph">
+<p>Follower Memory Pressure Rejections
+&#160;
+Number of RPC requests rejected due to memory pressure while FOLLOWER.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_glog_error_messages"><a class="link" href="#kudu-master_glog_error_messages"><code>glog_error_messages</code></a></h3>
+<div class="paragraph">
+<p>ERROR-level Log Messages
+&#160;
+Number of ERROR-level log messages emitted by the application.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_glog_warning_messages"><a class="link" href="#kudu-master_glog_warning_messages"><code>glog_warning_messages</code></a></h3>
+<div class="paragraph">
+<p>WARNING-level Log Messages
+&#160;
+Number of WARNING-level log messages emitted by the application.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hybrid_clock_extrapolating"><a class="link" href="#kudu-master_hybrid_clock_extrapolating"><code>hybrid_clock_extrapolating</code></a></h3>
+<div class="paragraph">
+<p>Hybrid Clock Is Being Extrapolated
+&#160;
+Whether HybridClock timestamps are extrapolated because of inability to read the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">state</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hybrid_clock_extrapolation_intervals"><a class="link" href="#kudu-master_hybrid_clock_extrapolation_intervals"><code>hybrid_clock_extrapolation_intervals</code></a></h3>
+<div class="paragraph">
+<p>Intervals of Hybrid Clock Extrapolation
+&#160;
+The statistics on the duration of intervals when the underlying clock was extrapolated instead of using the direct readings</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_leader_memory_pressure_rejections"><a class="link" href="#kudu-master_leader_memory_pressure_rejections"><code>leader_memory_pressure_rejections</code></a></h3>
+<div class="paragraph">
+<p>Leader Memory Pressure Rejections
+&#160;
+Number of RPC requests rejected due to memory pressure while LEADER.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_maintenance_op_prepare_failed"><a class="link" href="#kudu-master_maintenance_op_prepare_failed"><code>maintenance_op_prepare_failed</code></a></h3>
+<div class="paragraph">
+<p>Number Of Operations With Failed Prepare()
+&#160;
+Number of times when calling Prepare() on a maintenance operation failed</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_op_apply_queue_length"><a class="link" href="#kudu-master_op_apply_queue_length"><code>op_apply_queue_length</code></a></h3>
+<div class="paragraph">
+<p>Operation Apply Queue Length
+&#160;
+Number of operations waiting to be applied to the tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tasks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_op_apply_queue_overload_rejections"><a class="link" href="#kudu-master_op_apply_queue_overload_rejections"><code>op_apply_queue_overload_rejections</code></a></h3>
+<div class="paragraph">
+<p>Number of Rejected Write Requests Due to Queue Overloaded Error
+&#160;
+Number of rejected write requests due to overloaded op apply queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_op_apply_queue_time"><a class="link" href="#kudu-master_op_apply_queue_time"><code>op_apply_queue_time</code></a></h3>
+<div class="paragraph">
+<p>Operation Apply Queue Time
+&#160;
+Time that operations spent waiting in the apply queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_op_apply_run_time"><a class="link" href="#kudu-master_op_apply_run_time"><code>op_apply_run_time</code></a></h3>
+<div class="paragraph">
+<p>Operation Apply Run Time
+&#160;
+Time that operations spent being applied to the tablet. High values may indicate that the server is under-provisioned or that operations consist of very large batches.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ops_behind_leader"><a class="link" href="#kudu-master_ops_behind_leader"><code>ops_behind_leader</code></a></h3>
+<div class="paragraph">
+<p>Operations Behind Leader
+&#160;
+Number of operations this server believes it is behind the leader.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpcs_queue_overflow"><a class="link" href="#kudu-master_rpcs_queue_overflow"><code>rpcs_queue_overflow</code></a></h3>
+<div class="paragraph">
+<p>RPC Queue Overflows
+&#160;
+Number of RPCs dropped because the service queue was full.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpcs_timed_out_in_queue"><a class="link" href="#kudu-master_rpcs_timed_out_in_queue"><code>rpcs_timed_out_in_queue</code></a></h3>
+<div class="paragraph">
+<p>RPC Queue Timeouts
+&#160;
+Number of RPCs whose timeout elapsed while waiting in the service queue, and thus were not processed.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanners_expired"><a class="link" href="#kudu-master_scanners_expired"><code>scanners_expired</code></a></h3>
+<div class="paragraph">
+<p>Scanners Expired
+&#160;
+Number of scanners that have expired due to inactivity since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_spinlock_contention_time"><a class="link" href="#kudu-master_spinlock_contention_time"><code>spinlock_contention_time</code></a></h3>
+<div class="paragraph">
+<p>Spinlock Contention Time
+&#160;
+Amount of time consumed by contention on internal spinlocks since the server started. If this increases rapidly, it may indicate a performance issue in Kudu internals triggered by a particular workload and warrant investigation.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_sys_catalog_oversized_write_requests"><a class="link" href="#kudu-master_sys_catalog_oversized_write_requests"><code>sys_catalog_oversized_write_requests</code></a></h3>
+<div class="paragraph">
+<p>System Catalog Oversized Write Requests
+&#160;
+Number of oversized write requests to the system catalog tablet rejected since start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablets_num_failed"><a class="link" href="#kudu-master_tablets_num_failed"><code>tablets_num_failed</code></a></h3>
+<div class="paragraph">
+<p>Number of Failed Tablets
+&#160;
+Number of failed tablets</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_transaction_memory_limit_rejections"><a class="link" href="#kudu-master_transaction_memory_limit_rejections"><code>transaction_memory_limit_rejections</code></a></h3>
+<div class="paragraph">
+<p>Tablet Op Memory Limit Rejections
+&#160;
+Number of ops rejected because the tablet&#8217;s op memory limit was reached.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_transaction_memory_pressure_rejections"><a class="link" href="#kudu-master_transaction_memory_pressure_rejections"><code>transaction_memory_pressure_rejections</code></a></h3>
+<div class="paragraph">
+<p>Op Memory Pressure Rejections
+&#160;
+Number of ops rejected because the tablet&#8217;s opmemory usage exceeds the op memory limit or the limitof an ancestral tracker.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_info"><a class="link" href="#kudu-master_info">Info Metrics</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Metrics tagged as 'info' are generally useful metrics that operators always want
+to have available but may not be monitored under normal circumstances.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_active_scanners"><a class="link" href="#kudu-master_active_scanners"><code>active_scanners</code></a></h3>
+<div class="paragraph">
+<p>Active Scanners
+&#160;
+Number of scanners that are currently active</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_average_diskrowset_height"><a class="link" href="#kudu-master_average_diskrowset_height"><code>average_diskrowset_height</code></a></h3>
+<div class="paragraph">
+<p>Average DiskRowSet Height
+&#160;
+Average height of the diskrowsets in this tablet replica. The larger the average height, the more uncompacted the tablet replica is.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_cache_usage"><a class="link" href="#kudu-master_block_cache_usage"><code>block_cache_usage</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Memory Usage
+&#160;
+Memory consumed by the block cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_manager_blocks_open_reading"><a class="link" href="#kudu-master_block_manager_blocks_open_reading"><code>block_manager_blocks_open_reading</code></a></h3>
+<div class="paragraph">
+<p>Data Blocks Open For Read
+&#160;
+Number of data blocks currently open for reading</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_manager_blocks_open_writing"><a class="link" href="#kudu-master_block_manager_blocks_open_writing"><code>block_manager_blocks_open_writing</code></a></h3>
+<div class="paragraph">
+<p>Data Blocks Open For Write
+&#160;
+Number of data blocks currently open for writing</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_builtin_ntp_error"><a class="link" href="#kudu-master_builtin_ntp_error"><code>builtin_ntp_error</code></a></h3>
+<div class="paragraph">
+<p>Built-in NTP Latest Maximum Time Error
+&#160;
+Latest maximum time error as tracked by built-in NTP client</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_builtin_ntp_local_clock_delta"><a class="link" href="#kudu-master_builtin_ntp_local_clock_delta"><code>builtin_ntp_local_clock_delta</code></a></h3>
+<div class="paragraph">
+<p>Local Clock vs Built-In NTP True Time Delta
+&#160;
+Delta between local clock and true time tracked by built-in NTP client; set to 2^63-1 when true time is not tracked</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_compact_rs_duration"><a class="link" href="#kudu-master_compact_rs_duration"><code>compact_rs_duration</code></a></h3>
+<div class="paragraph">
+<p>RowSet Compaction Duration
+&#160;
+Time spent compacting RowSets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cpu_stime"><a class="link" href="#kudu-master_cpu_stime"><code>cpu_stime</code></a></h3>
+<div class="paragraph">
+<p>System CPU Time
+&#160;
+Total system CPU time of the process</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_cpu_utime"><a class="link" href="#kudu-master_cpu_utime"><code>cpu_utime</code></a></h3>
+<div class="paragraph">
+<p>User CPU Time
+&#160;
+Total user CPU time of the process</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_deleted_rowset_gc_duration"><a class="link" href="#kudu-master_deleted_rowset_gc_duration"><code>deleted_rowset_gc_duration</code></a></h3>
+<div class="paragraph">
+<p>Deleted Rowset GC Duration
+&#160;
+Time spent running the maintenance operation to GC deleted rowsets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_delta_file_lookups_per_op"><a class="link" href="#kudu-master_delta_file_lookups_per_op"><code>delta_file_lookups_per_op</code></a></h3>
+<div class="paragraph">
+<p>Delta File Lookups per Operation
+&#160;
+Tracks the number of delta file lookups performed by each operation. A single operation may perform several delta file lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_delta_major_compact_rs_duration"><a class="link" href="#kudu-master_delta_major_compact_rs_duration"><code>delta_major_compact_rs_duration</code></a></h3>
+<div class="paragraph">
+<p>Major Delta Compaction Duration
+&#160;
+Seconds spent major delta compacting.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_delta_minor_compact_rs_duration"><a class="link" href="#kudu-master_delta_minor_compact_rs_duration"><code>delta_minor_compact_rs_duration</code></a></h3>
+<div class="paragraph">
+<p>Minor Delta Compaction Duration
+&#160;
+Time spent minor delta compacting.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_file_cache_usage"><a class="link" href="#kudu-master_file_cache_usage"><code>file_cache_usage</code></a></h3>
+<div class="paragraph">
+<p>File Cache Usage
+&#160;
+Number of entries in the file cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_flush_dms_duration"><a class="link" href="#kudu-master_flush_dms_duration"><code>flush_dms_duration</code></a></h3>
+<div class="paragraph">
+<p>DeltaMemStore Flush Duration
+&#160;
+Time spent flushing DeltaMemStores.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_flush_mrs_duration"><a class="link" href="#kudu-master_flush_mrs_duration"><code>flush_mrs_duration</code></a></h3>
+<div class="paragraph">
+<p>MemRowSet Flush Duration
+&#160;
+Time spent flushing MemRowSets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_generic_current_allocated_bytes"><a class="link" href="#kudu-master_generic_current_allocated_bytes"><code>generic_current_allocated_bytes</code></a></h3>
+<div class="paragraph">
+<p>Heap Memory Usage
+&#160;
+Number of bytes used by the application. This will not typically match the memory use reported by the OS, because it does not include TCMalloc overhead or memory fragmentation.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_generic_heap_size"><a class="link" href="#kudu-master_generic_heap_size"><code>generic_heap_size</code></a></h3>
+<div class="paragraph">
+<p>Reserved Heap Memory
+&#160;
+Bytes of system memory reserved by TCMalloc.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig"><code>handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.BulkChangeConfig RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.BulkChangeConfig RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_ChangeConfig"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_ChangeConfig"><code>handler_latency_kudu_consensus_ConsensusService_ChangeConfig</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.ChangeConfig RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.ChangeConfig RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_GetConsensusState"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_GetConsensusState"><code>handler_latency_kudu_consensus_ConsensusService_GetConsensusState</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetConsensusState RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.GetConsensusState RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_GetLastOpId"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_GetLastOpId"><code>handler_latency_kudu_consensus_ConsensusService_GetLastOpId</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetLastOpId RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.GetLastOpId RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_GetNodeInstance"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_GetNodeInstance"><code>handler_latency_kudu_consensus_ConsensusService_GetNodeInstance</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetNodeInstance RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.GetNodeInstance RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_LeaderStepDown"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_LeaderStepDown"><code>handler_latency_kudu_consensus_ConsensusService_LeaderStepDown</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.LeaderStepDown RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.LeaderStepDown RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote"><code>handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RequestConsensusVote RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.RequestConsensusVote RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_RunLeaderElection"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_RunLeaderElection"><code>handler_latency_kudu_consensus_ConsensusService_RunLeaderElection</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RunLeaderElection RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.RunLeaderElection RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_StartTabletCopy"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_StartTabletCopy"><code>handler_latency_kudu_consensus_ConsensusService_StartTabletCopy</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.StartTabletCopy RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.StartTabletCopy RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig"><code>handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.UnsafeChangeConfig RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_UpdateConsensus"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_UpdateConsensus"><code>handler_latency_kudu_consensus_ConsensusService_UpdateConsensus</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UpdateConsensus RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.UpdateConsensus RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_AddMaster"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_AddMaster"><code>handler_latency_kudu_master_MasterService_AddMaster</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.AddMaster RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.AddMaster RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_AlterTable"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_AlterTable"><code>handler_latency_kudu_master_MasterService_AlterTable</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.AlterTable RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.AlterTable RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_ChangeTServerState"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ChangeTServerState"><code>handler_latency_kudu_master_MasterService_ChangeTServerState</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.ChangeTServerState RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.ChangeTServerState RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_ConnectToMaster"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ConnectToMaster"><code>handler_latency_kudu_master_MasterService_ConnectToMaster</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.ConnectToMaster RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.ConnectToMaster RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_CreateTable"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_CreateTable"><code>handler_latency_kudu_master_MasterService_CreateTable</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.CreateTable RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.CreateTable RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_DeleteTable"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_DeleteTable"><code>handler_latency_kudu_master_MasterService_DeleteTable</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.DeleteTable RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.DeleteTable RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_GetMasterRegistration"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_GetMasterRegistration"><code>handler_latency_kudu_master_MasterService_GetMasterRegistration</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetMasterRegistration RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.GetMasterRegistration RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_GetTableLocations"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_GetTableLocations"><code>handler_latency_kudu_master_MasterService_GetTableLocations</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTableLocations RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.GetTableLocations RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_GetTableSchema"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_GetTableSchema"><code>handler_latency_kudu_master_MasterService_GetTableSchema</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTableSchema RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.GetTableSchema RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_GetTableStatistics"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_GetTableStatistics"><code>handler_latency_kudu_master_MasterService_GetTableStatistics</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTableStatistics RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.GetTableStatistics RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_GetTabletLocations"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_GetTabletLocations"><code>handler_latency_kudu_master_MasterService_GetTabletLocations</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTabletLocations RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.GetTabletLocations RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_IsAlterTableDone"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_IsAlterTableDone"><code>handler_latency_kudu_master_MasterService_IsAlterTableDone</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.IsAlterTableDone RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.IsAlterTableDone RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_IsCreateTableDone"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_IsCreateTableDone"><code>handler_latency_kudu_master_MasterService_IsCreateTableDone</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.IsCreateTableDone RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.IsCreateTableDone RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_ListMasters"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ListMasters"><code>handler_latency_kudu_master_MasterService_ListMasters</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.ListMasters RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.ListMasters RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_ListTables"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ListTables"><code>handler_latency_kudu_master_MasterService_ListTables</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.ListTables RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.ListTables RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_ListTabletServers"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ListTabletServers"><code>handler_latency_kudu_master_MasterService_ListTabletServers</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.ListTabletServers RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.ListTabletServers RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_Ping"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_Ping"><code>handler_latency_kudu_master_MasterService_Ping</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.Ping RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.Ping RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_RefreshAuthzCache"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_RefreshAuthzCache"><code>handler_latency_kudu_master_MasterService_RefreshAuthzCache</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.RefreshAuthzCache RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.RefreshAuthzCache RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_RemoveMaster"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_RemoveMaster"><code>handler_latency_kudu_master_MasterService_RemoveMaster</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.RemoveMaster RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.RemoveMaster RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_ReplaceTablet"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ReplaceTablet"><code>handler_latency_kudu_master_MasterService_ReplaceTablet</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.ReplaceTablet RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.ReplaceTablet RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_master_MasterService_TSHeartbeat"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_TSHeartbeat"><code>handler_latency_kudu_master_MasterService_TSHeartbeat</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.TSHeartbeat RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.TSHeartbeat RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_server_GenericService_CheckLeaks"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_CheckLeaks"><code>handler_latency_kudu_server_GenericService_CheckLeaks</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.CheckLeaks RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.CheckLeaks RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_server_GenericService_DumpMemTrackers"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_DumpMemTrackers"><code>handler_latency_kudu_server_GenericService_DumpMemTrackers</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.DumpMemTrackers RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.DumpMemTrackers RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_server_GenericService_FlushCoverage"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_FlushCoverage"><code>handler_latency_kudu_server_GenericService_FlushCoverage</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.FlushCoverage RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.FlushCoverage RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_server_GenericService_GetFlags"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_GetFlags"><code>handler_latency_kudu_server_GenericService_GetFlags</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetFlags RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.GetFlags RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_server_GenericService_GetStatus"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_GetStatus"><code>handler_latency_kudu_server_GenericService_GetStatus</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetStatus RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.GetStatus RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_server_GenericService_ServerClock"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_ServerClock"><code>handler_latency_kudu_server_GenericService_ServerClock</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.ServerClock RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.ServerClock RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_server_GenericService_SetFlag"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_SetFlag"><code>handler_latency_kudu_server_GenericService_SetFlag</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetFlag RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.SetFlag RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_server_GenericService_SetServerWallClockForTests"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_SetServerWallClockForTests"><code>handler_latency_kudu_server_GenericService_SetServerWallClockForTests</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetServerWallClockForTests RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.SetServerWallClockForTests RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_transactions_TxnManagerService_AbortTransaction"><a class="link" href="#kudu-master_handler_latency_kudu_transactions_TxnManagerService_AbortTransaction"><code>handler_latency_kudu_transactions_TxnManagerService_AbortTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.AbortTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.transactions.TxnManagerService.AbortTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_transactions_TxnManagerService_BeginTransaction"><a class="link" href="#kudu-master_handler_latency_kudu_transactions_TxnManagerService_BeginTransaction"><code>handler_latency_kudu_transactions_TxnManagerService_BeginTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.BeginTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.transactions.TxnManagerService.BeginTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_transactions_TxnManagerService_CommitTransaction"><a class="link" href="#kudu-master_handler_latency_kudu_transactions_TxnManagerService_CommitTransaction"><code>handler_latency_kudu_transactions_TxnManagerService_CommitTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.CommitTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.transactions.TxnManagerService.CommitTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_transactions_TxnManagerService_GetTransactionState"><a class="link" href="#kudu-master_handler_latency_kudu_transactions_TxnManagerService_GetTransactionState"><code>handler_latency_kudu_transactions_TxnManagerService_GetTransactionState</code></a></h3>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.GetTransactionState RPC Time
+&#160;
+Microseconds spent handling kudu.transactions.TxnManagerService.GetTransactionState RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_transactions_TxnManagerService_KeepTransactionAlive"><a class="link" href="#kudu-master_handler_latency_kudu_transactions_TxnManagerService_KeepTransactionAlive"><code>handler_latency_kudu_transactions_TxnManagerService_KeepTransactionAlive</code></a></h3>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.KeepTransactionAlive RPC Time
+&#160;
+Microseconds spent handling kudu.transactions.TxnManagerService.KeepTransactionAlive RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession"><code>handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.BeginTabletCopySession RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive"><code>handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.CheckSessionActive RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.CheckSessionActive RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession"><code>handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.EndTabletCopySession RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.EndTabletCopySession RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletCopyService_FetchData"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletCopyService_FetchData"><code>handler_latency_kudu_tserver_TabletCopyService_FetchData</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.FetchData RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.FetchData RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema"><code>handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.AlterSchema RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.AlterSchema RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><code>handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet"><code>handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CreateTablet RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.CreateTablet RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet"><code>handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.DeleteTablet RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.DeleteTablet RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><code>handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_Quiesce"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_Quiesce"><code>handler_latency_kudu_tserver_TabletServerAdminService_Quiesce</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.Quiesce RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.Quiesce RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_Checksum"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_Checksum"><code>handler_latency_kudu_tserver_TabletServerService_Checksum</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Checksum RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Checksum RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_ListTablets"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_ListTablets"><code>handler_latency_kudu_tserver_TabletServerService_ListTablets</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ListTablets RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.ListTablets RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_Ping"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_Ping"><code>handler_latency_kudu_tserver_TabletServerService_Ping</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Ping RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Ping RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_Scan"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_Scan"><code>handler_latency_kudu_tserver_TabletServerService_Scan</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Scan RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Scan RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive"><code>handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ScannerKeepAlive RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.ScannerKeepAlive RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_SplitKeyRange"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_SplitKeyRange"><code>handler_latency_kudu_tserver_TabletServerService_SplitKeyRange</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.SplitKeyRange RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.SplitKeyRange RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_Write"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_Write"><code>handler_latency_kudu_tserver_TabletServerService_Write</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Write RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Write RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hybrid_clock_error"><a class="link" href="#kudu-master_hybrid_clock_error"><code>hybrid_clock_error</code></a></h3>
+<div class="paragraph">
+<p>Hybrid Clock Error
+&#160;
+Server clock maximum error; returns 2^64-1 when unable to read the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hybrid_clock_timestamp"><a class="link" href="#kudu-master_hybrid_clock_timestamp"><code>hybrid_clock_timestamp</code></a></h3>
+<div class="paragraph">
+<p>Hybrid Clock Timestamp
+&#160;
+Hybrid clock timestamp; returns 2^64-1 when unable to read the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_involuntary_context_switches"><a class="link" href="#kudu-master_involuntary_context_switches"><code>involuntary_context_switches</code></a></h3>
+<div class="paragraph">
+<p>Involuntary Context Switches
+&#160;
+Total involuntary context switches</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">context switches</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_live_row_count"><a class="link" href="#kudu-master_live_row_count"><code>live_row_count</code></a></h3>
+<div class="paragraph">
+<p>Table Live Row count
+&#160;
+Pre-replication aggregated number of live rows in this table. Only accurate if all tablets in the table support live row counting.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_live_row_count"><a class="link" href="#kudu-master_live_row_count"><code>live_row_count</code></a></h3>
+<div class="paragraph">
+<p>Tablet Live Row Count
+&#160;
+Number of live rows in this tablet, excludes deleted rows.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_append_latency"><a class="link" href="#kudu-master_log_append_latency"><code>log_append_latency</code></a></h3>
+<div class="paragraph">
+<p>Log Append Latency
+&#160;
+Microseconds spent on appending to the log segment file</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_block_manager_blocks_under_management"><a class="link" href="#kudu-master_log_block_manager_blocks_under_management"><code>log_block_manager_blocks_under_management</code></a></h3>
+<div class="paragraph">
+<p>Blocks Under Management
+&#160;
+Number of data blocks currently under management</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_block_manager_bytes_under_management"><a class="link" href="#kudu-master_log_block_manager_bytes_under_management"><code>log_block_manager_bytes_under_management</code></a></h3>
+<div class="paragraph">
+<p>Bytes Under Management
+&#160;
+Number of bytes of data blocks currently under management</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_block_manager_containers"><a class="link" href="#kudu-master_log_block_manager_containers"><code>log_block_manager_containers</code></a></h3>
+<div class="paragraph">
+<p>Number of Block Containers
+&#160;
+Number of log block containers</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log block containers</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_block_manager_full_containers"><a class="link" href="#kudu-master_log_block_manager_full_containers"><code>log_block_manager_full_containers</code></a></h3>
+<div class="paragraph">
+<p>Number of Full Block Containers
+&#160;
+Number of full log block containers</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log block containers</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_gc_duration"><a class="link" href="#kudu-master_log_gc_duration"><code>log_gc_duration</code></a></h3>
+<div class="paragraph">
+<p>Log GC Duration
+&#160;
+Time spent garbage collecting the logs.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_gc_running"><a class="link" href="#kudu-master_log_gc_running"><code>log_gc_running</code></a></h3>
+<div class="paragraph">
+<p>Log GCs Running
+&#160;
+Number of log GC operations currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_reader_read_batch_latency"><a class="link" href="#kudu-master_log_reader_read_batch_latency"><code>log_reader_read_batch_latency</code></a></h3>
+<div class="paragraph">
+<p>Log Read Latency
+&#160;
+Microseconds spent reading log entry batches</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_sync_latency"><a class="link" href="#kudu-master_log_sync_latency"><code>log_sync_latency</code></a></h3>
+<div class="paragraph">
+<p>Log Sync Latency
+&#160;
+Microseconds spent on synchronizing the log segment file</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_logical_clock_timestamp"><a class="link" href="#kudu-master_logical_clock_timestamp"><code>logical_clock_timestamp</code></a></h3>
+<div class="paragraph">
+<p>Logical Clock Timestamp
+&#160;
+Logical clock timestamp.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_maintenance_op_find_best_candidate_duration"><a class="link" href="#kudu-master_maintenance_op_find_best_candidate_duration"><code>maintenance_op_find_best_candidate_duration</code></a></h3>
+<div class="paragraph">
+<p>Time Taken To Find Best Maintenance Operation
+&#160;
+Time spent choosing a maintenance operation with highest scores among available candidates</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_memrowset_size"><a class="link" href="#kudu-master_memrowset_size"><code>memrowset_size</code></a></h3>
+<div class="paragraph">
+<p>MemRowSet Memory Usage
+&#160;
+Size of this tablet&#8217;s memrowset</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_merged_entities_count_of_server"><a class="link" href="#kudu-master_merged_entities_count_of_server"><code>merged_entities_count_of_server</code></a></h3>
+<div class="paragraph">
+<p>Entities Count Merged From
+&#160;
+Count of entities merged together when entities are merged by common attribute value.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_merged_entities_count_of_table"><a class="link" href="#kudu-master_merged_entities_count_of_table"><code>merged_entities_count_of_table</code></a></h3>
+<div class="paragraph">
+<p>Entities Count Merged From
+&#160;
+Count of entities merged together when entities are merged by common attribute value.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_merged_entities_count_of_tablet"><a class="link" href="#kudu-master_merged_entities_count_of_tablet"><code>merged_entities_count_of_tablet</code></a></h3>
+<div class="paragraph">
+<p>Entities Count Merged From
+&#160;
+Count of entities merged together when entities are merged by common attribute value.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_num_raft_leaders"><a class="link" href="#kudu-master_num_raft_leaders"><code>num_raft_leaders</code></a></h3>
+<div class="paragraph">
+<p>Number of Raft Leaders
+&#160;
+Number of tablet replicas that are Raft leaders</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_num_rowsets_on_disk"><a class="link" href="#kudu-master_num_rowsets_on_disk"><code>num_rowsets_on_disk</code></a></h3>
+<div class="paragraph">
+<p>Tablet Number of Rowsets on Disk
+&#160;
+Number of diskrowsets in this tablet</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_on_disk_data_size"><a class="link" href="#kudu-master_on_disk_data_size"><code>on_disk_data_size</code></a></h3>
+<div class="paragraph">
+<p>Tablet Data Size On Disk
+&#160;
+Space used by this tablet&#8217;s data blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_on_disk_size"><a class="link" href="#kudu-master_on_disk_size"><code>on_disk_size</code></a></h3>
+<div class="paragraph">
+<p>Table Size On Disk
+&#160;
+Pre-replication aggregated disk space used by all tablets in this table, including metadata.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_on_disk_size"><a class="link" href="#kudu-master_on_disk_size"><code>on_disk_size</code></a></h3>
+<div class="paragraph">
+<p>Tablet Size On Disk
+&#160;
+Space used by this tablet on disk, including metadata.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_op_prepare_queue_length"><a class="link" href="#kudu-master_op_prepare_queue_length"><code>op_prepare_queue_length</code></a></h3>
+<div class="paragraph">
+<p>Operation Prepare Queue Length
+&#160;
+Number of operations waiting to be prepared within this tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tasks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_op_prepare_queue_time"><a class="link" href="#kudu-master_op_prepare_queue_time"><code>op_prepare_queue_time</code></a></h3>
+<div class="paragraph">
+<p>Operation Prepare Queue Time
+&#160;
+Time that operations spent waiting in the prepare queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_op_prepare_run_time"><a class="link" href="#kudu-master_op_prepare_run_time"><code>op_prepare_run_time</code></a></h3>
+<div class="paragraph">
+<p>Operation Prepare Run Time
+&#160;
+Time that operations spent being prepared in the tablet. High values may indicate that the server is under-provisioned or that operations are experiencing high contention with one another for locks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.BulkChangeConfig RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.BulkChangeConfig requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.ChangeConfig RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.ChangeConfig requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetConsensusState RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.GetConsensusState requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetLastOpId RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.GetLastOpId requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetNodeInstance RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.GetNodeInstance requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.LeaderStepDown RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.LeaderStepDown requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RequestConsensusVote RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.RequestConsensusVote requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RunLeaderElection RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.RunLeaderElection requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.StartTabletCopy RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.StartTabletCopy requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.UnsafeChangeConfig requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UpdateConsensus RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.UpdateConsensus requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_AddMaster"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_AddMaster"><code>queue_overflow_rejections_kudu_master_MasterService_AddMaster</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.AddMaster RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.AddMaster requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_AlterTable"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_AlterTable"><code>queue_overflow_rejections_kudu_master_MasterService_AlterTable</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.AlterTable RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.AlterTable requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ChangeTServerState"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ChangeTServerState"><code>queue_overflow_rejections_kudu_master_MasterService_ChangeTServerState</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.ChangeTServerState RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.ChangeTServerState requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ConnectToMaster"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ConnectToMaster"><code>queue_overflow_rejections_kudu_master_MasterService_ConnectToMaster</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.ConnectToMaster RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.ConnectToMaster requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_CreateTable"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_CreateTable"><code>queue_overflow_rejections_kudu_master_MasterService_CreateTable</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.CreateTable RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.CreateTable requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_DeleteTable"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_DeleteTable"><code>queue_overflow_rejections_kudu_master_MasterService_DeleteTable</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.DeleteTable RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.DeleteTable requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetMasterRegistration"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetMasterRegistration"><code>queue_overflow_rejections_kudu_master_MasterService_GetMasterRegistration</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetMasterRegistration RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.GetMasterRegistration requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTableLocations"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTableLocations"><code>queue_overflow_rejections_kudu_master_MasterService_GetTableLocations</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTableLocations RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.GetTableLocations requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTableSchema"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTableSchema"><code>queue_overflow_rejections_kudu_master_MasterService_GetTableSchema</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTableSchema RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.GetTableSchema requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTableStatistics"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTableStatistics"><code>queue_overflow_rejections_kudu_master_MasterService_GetTableStatistics</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTableStatistics RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.GetTableStatistics requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTabletLocations"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTabletLocations"><code>queue_overflow_rejections_kudu_master_MasterService_GetTabletLocations</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTabletLocations RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.GetTabletLocations requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_IsAlterTableDone"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_IsAlterTableDone"><code>queue_overflow_rejections_kudu_master_MasterService_IsAlterTableDone</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.IsAlterTableDone RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.IsAlterTableDone requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_IsCreateTableDone"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_IsCreateTableDone"><code>queue_overflow_rejections_kudu_master_MasterService_IsCreateTableDone</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.IsCreateTableDone RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.IsCreateTableDone requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ListMasters"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ListMasters"><code>queue_overflow_rejections_kudu_master_MasterService_ListMasters</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.ListMasters RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.ListMasters requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ListTables"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ListTables"><code>queue_overflow_rejections_kudu_master_MasterService_ListTables</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.ListTables RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.ListTables requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ListTabletServers"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ListTabletServers"><code>queue_overflow_rejections_kudu_master_MasterService_ListTabletServers</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.ListTabletServers RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.ListTabletServers requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_Ping"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_Ping"><code>queue_overflow_rejections_kudu_master_MasterService_Ping</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.Ping RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.Ping requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_RefreshAuthzCache"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_RefreshAuthzCache"><code>queue_overflow_rejections_kudu_master_MasterService_RefreshAuthzCache</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.RefreshAuthzCache RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.RefreshAuthzCache requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_RemoveMaster"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_RemoveMaster"><code>queue_overflow_rejections_kudu_master_MasterService_RemoveMaster</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.RemoveMaster RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.RemoveMaster requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet"><code>queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.ReplaceTablet RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.ReplaceTablet requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_TSHeartbeat"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_TSHeartbeat"><code>queue_overflow_rejections_kudu_master_MasterService_TSHeartbeat</code></a></h3>
+<div class="paragraph">
+<p>kudu.master.MasterService.TSHeartbeat RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.TSHeartbeat requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_CheckLeaks"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_CheckLeaks"><code>queue_overflow_rejections_kudu_server_GenericService_CheckLeaks</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.CheckLeaks RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.CheckLeaks requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers"><code>queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.DumpMemTrackers RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.DumpMemTrackers requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_FlushCoverage"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_FlushCoverage"><code>queue_overflow_rejections_kudu_server_GenericService_FlushCoverage</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.FlushCoverage RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.FlushCoverage requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_GetFlags"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_GetFlags"><code>queue_overflow_rejections_kudu_server_GenericService_GetFlags</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetFlags RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.GetFlags requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_GetStatus"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_GetStatus"><code>queue_overflow_rejections_kudu_server_GenericService_GetStatus</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetStatus RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.GetStatus requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_ServerClock"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_ServerClock"><code>queue_overflow_rejections_kudu_server_GenericService_ServerClock</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.ServerClock RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.ServerClock requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_SetFlag"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_SetFlag"><code>queue_overflow_rejections_kudu_server_GenericService_SetFlag</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetFlag RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.SetFlag requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests"><code>queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetServerWallClockForTests RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.SetServerWallClockForTests requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_AbortTransaction"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_AbortTransaction"><code>queue_overflow_rejections_kudu_transactions_TxnManagerService_AbortTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.AbortTransaction RPC Rejections
+&#160;
+Number of rejected kudu.transactions.TxnManagerService.AbortTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_BeginTransaction"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_BeginTransaction"><code>queue_overflow_rejections_kudu_transactions_TxnManagerService_BeginTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.BeginTransaction RPC Rejections
+&#160;
+Number of rejected kudu.transactions.TxnManagerService.BeginTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_CommitTransaction"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_CommitTransaction"><code>queue_overflow_rejections_kudu_transactions_TxnManagerService_CommitTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.CommitTransaction RPC Rejections
+&#160;
+Number of rejected kudu.transactions.TxnManagerService.CommitTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_GetTransactionState"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_GetTransactionState"><code>queue_overflow_rejections_kudu_transactions_TxnManagerService_GetTransactionState</code></a></h3>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.GetTransactionState RPC Rejections
+&#160;
+Number of rejected kudu.transactions.TxnManagerService.GetTransactionState requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_KeepTransactionAlive"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_KeepTransactionAlive"><code>queue_overflow_rejections_kudu_transactions_TxnManagerService_KeepTransactionAlive</code></a></h3>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.KeepTransactionAlive RPC Rejections
+&#160;
+Number of rejected kudu.transactions.TxnManagerService.KeepTransactionAlive requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.BeginTabletCopySession requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.CheckSessionActive RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.CheckSessionActive requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.EndTabletCopySession RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.EndTabletCopySession requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.FetchData RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.FetchData requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.AlterSchema RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.AlterSchema requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.CoordinateTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CreateTablet RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.CreateTablet requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.DeleteTablet RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.DeleteTablet requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.ParticipateInTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.Quiesce RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.Quiesce requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Checksum RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Checksum requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ListTablets RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.ListTablets requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Ping"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Ping"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Ping</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Ping RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Ping requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Scan"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Scan"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Scan</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Scan RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Scan requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ScannerKeepAlive RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.ScannerKeepAlive requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.SplitKeyRange RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.SplitKeyRange requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Write"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Write"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Write</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Write RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Write requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_server_inbound_queue_size_bytes"><a class="link" href="#kudu-master_ranger_server_inbound_queue_size_bytes"><code>ranger_server_inbound_queue_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Ranger server inbound queue size (bytes)
+&#160;
+Number of bytes in the inbound response queue of the Ranger server, recorded at the time a new response is read from the pipe and added to the inbound queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_server_inbound_queue_time_ms"><a class="link" href="#kudu-master_ranger_server_inbound_queue_time_ms"><code>ranger_server_inbound_queue_time_ms</code></a></h3>
+<div class="paragraph">
+<p>Ranger server inbound queue time (ms)
+&#160;
+Duration of time in ms spent in the Ranger server&#8217;s inbound response queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_server_outbound_queue_size_bytes"><a class="link" href="#kudu-master_ranger_server_outbound_queue_size_bytes"><code>ranger_server_outbound_queue_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Ranger server outbound queue size (bytes)
+&#160;
+Number of bytes in the outbound request queue of the Ranger server, recorded at the time a new request is added to the outbound request queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_server_outbound_queue_time_ms"><a class="link" href="#kudu-master_ranger_server_outbound_queue_time_ms"><code>ranger_server_outbound_queue_time_ms</code></a></h3>
+<div class="paragraph">
+<p>Ranger server outbound queue time (ms)
+&#160;
+Duration of time in ms spent in the Ranger server&#8217;s outbound request queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_subprocess_execution_time_ms"><a class="link" href="#kudu-master_ranger_subprocess_execution_time_ms"><code>ranger_subprocess_execution_time_ms</code></a></h3>
+<div class="paragraph">
+<p>Ranger subprocess execution time (ms)
+&#160;
+Duration of time in ms spent executing the Ranger subprocess request, excluding time spent spent in the subprocess queues</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_subprocess_inbound_queue_length"><a class="link" href="#kudu-master_ranger_subprocess_inbound_queue_length"><code>ranger_subprocess_inbound_queue_length</code></a></h3>
+<div class="paragraph">
+<p>Ranger subprocess inbound queue length
+&#160;
+Number of request messages in the Ranger subprocess' inbound request queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_subprocess_inbound_queue_time_ms"><a class="link" href="#kudu-master_ranger_subprocess_inbound_queue_time_ms"><code>ranger_subprocess_inbound_queue_time_ms</code></a></h3>
+<div class="paragraph">
+<p>Ranger subprocess inbound queue time (ms)
+&#160;
+Duration of time in ms spent in the Ranger subprocess' inbound request queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_subprocess_outbound_queue_length"><a class="link" href="#kudu-master_ranger_subprocess_outbound_queue_length"><code>ranger_subprocess_outbound_queue_length</code></a></h3>
+<div class="paragraph">
+<p>Ranger subprocess outbound queue length
+&#160;
+Number of request messages in the Ranger subprocess' outbound response queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_ranger_subprocess_outbound_queue_time_ms"><a class="link" href="#kudu-master_ranger_subprocess_outbound_queue_time_ms"><code>ranger_subprocess_outbound_queue_time_ms</code></a></h3>
+<div class="paragraph">
+<p>Ranger subprocess outbound queue time (ms)
+&#160;
+Duration of time in ms spent in the Ranger subprocess' outbound response queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_reactor_active_latency_us"><a class="link" href="#kudu-master_reactor_active_latency_us"><code>reactor_active_latency_us</code></a></h3>
+<div class="paragraph">
+<p>Reactor Thread Active Latency
+&#160;
+Histogram of the wall clock time for reactor thread wake-ups. The reactor thread is responsible for all network I/O and therefore outliers in this latency histogram directly contribute to the latency of both inbound and outbound RPCs.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_reactor_load_percent"><a class="link" href="#kudu-master_reactor_load_percent"><code>reactor_load_percent</code></a></h3>
+<div class="paragraph">
+<p>Reactor Thread Load Percentage
+&#160;
+The percentage of time that the reactor is busy (not blocked awaiting network activity). If this metric shows significant samples nears 100%, increasing the number of reactors may be beneficial.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rows_deleted"><a class="link" href="#kudu-master_rows_deleted"><code>rows_deleted</code></a></h3>
+<div class="paragraph">
+<p>Rows Deleted
+&#160;
+Number of row delete operations performed on this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rows_inserted"><a class="link" href="#kudu-master_rows_inserted"><code>rows_inserted</code></a></h3>
+<div class="paragraph">
+<p>Rows Inserted
+&#160;
+Number of rows inserted into this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rows_updated"><a class="link" href="#kudu-master_rows_updated"><code>rows_updated</code></a></h3>
+<div class="paragraph">
+<p>Rows Updated
+&#160;
+Number of row update operations performed on this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rows_upserted"><a class="link" href="#kudu-master_rows_upserted"><code>rows_upserted</code></a></h3>
+<div class="paragraph">
+<p>Rows Upserted
+&#160;
+Number of rows upserted into this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_connections_accepted"><a class="link" href="#kudu-master_rpc_connections_accepted"><code>rpc_connections_accepted</code></a></h3>
+<div class="paragraph">
+<p>RPC Connections Accepted
+&#160;
+Number of incoming TCP connections made to the RPC server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">connections</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_connections_accepted_unix_domain_socket"><a class="link" href="#kudu-master_rpc_connections_accepted_unix_domain_socket"><code>rpc_connections_accepted_unix_domain_socket</code></a></h3>
+<div class="paragraph">
+<p>RPC Connections Accepted via UNIX Domain Socket
+&#160;
+Number of incoming UNIX Domain Socket connections made to the RPC server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">connections</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_rpc_incoming_queue_time"><a class="link" href="#kudu-master_rpc_incoming_queue_time"><code>rpc_incoming_queue_time</code></a></h3>
+<div class="paragraph">
+<p>RPC Queue Time
+&#160;
+Number of microseconds incoming RPC requests spend in the worker queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_duration"><a class="link" href="#kudu-master_scanner_duration"><code>scanner_duration</code></a></h3>
+<div class="paragraph">
+<p>Scanner Duration
+&#160;
+Histogram of the duration of active scanners on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_predicates_disabled"><a class="link" href="#kudu-master_scanner_predicates_disabled"><code>scanner_predicates_disabled</code></a></h3>
+<div class="paragraph">
+<p>Scanner Column Predicates Disabled
+&#160;
+Number of column predicates disabled during scan requests. This count measures the number of disableable column predicates like Bloom filter predicate that are automatically disabled if determined to be ineffective.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_state"><a class="link" href="#kudu-master_state"><code>state</code></a></h3>
+<div class="paragraph">
+<p>Tablet State
+&#160;
+State of this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">state</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_copy_open_client_sessions"><a class="link" href="#kudu-master_tablet_copy_open_client_sessions"><code>tablet_copy_open_client_sessions</code></a></h3>
+<div class="paragraph">
+<p>Open Table Copy Client Sessions
+&#160;
+Number of currently open tablet copy client sessions on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sessions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_copy_open_source_sessions"><a class="link" href="#kudu-master_tablet_copy_open_source_sessions"><code>tablet_copy_open_source_sessions</code></a></h3>
+<div class="paragraph">
+<p>Open Table Copy Source Sessions
+&#160;
+Number of currently open tablet copy source sessions on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sessions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablets_num_bootstrapping"><a class="link" href="#kudu-master_tablets_num_bootstrapping"><code>tablets_num_bootstrapping</code></a></h3>
+<div class="paragraph">
+<p>Number of Bootstrapping Tablets
+&#160;
+Number of tablets currently bootstrapping</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablets_num_initialized"><a class="link" href="#kudu-master_tablets_num_initialized"><code>tablets_num_initialized</code></a></h3>
+<div class="paragraph">
+<p>Number of Initialized Tablets
+&#160;
+Number of tablets currently initialized</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablets_num_not_initialized"><a class="link" href="#kudu-master_tablets_num_not_initialized"><code>tablets_num_not_initialized</code></a></h3>
+<div class="paragraph">
+<p>Number of Not Initialized Tablets
+&#160;
+Number of tablets currently not initialized</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablets_num_running"><a class="link" href="#kudu-master_tablets_num_running"><code>tablets_num_running</code></a></h3>
+<div class="paragraph">
+<p>Number of Running Tablets
+&#160;
+Number of tablets currently running</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablets_num_shutdown"><a class="link" href="#kudu-master_tablets_num_shutdown"><code>tablets_num_shutdown</code></a></h3>
+<div class="paragraph">
+<p>Number of Shut Down Tablets
+&#160;
+Number of tablets currently shut down</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablets_num_stopped"><a class="link" href="#kudu-master_tablets_num_stopped"><code>tablets_num_stopped</code></a></h3>
+<div class="paragraph">
+<p>Number of Stopped Tablets
+&#160;
+Number of tablets currently stopped</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablets_num_stopping"><a class="link" href="#kudu-master_tablets_num_stopping"><code>tablets_num_stopping</code></a></h3>
+<div class="paragraph">
+<p>Number of Stopping Tablets
+&#160;
+Number of tablets currently stopping</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tcmalloc_current_total_thread_cache_bytes"><a class="link" href="#kudu-master_tcmalloc_current_total_thread_cache_bytes"><code>tcmalloc_current_total_thread_cache_bytes</code></a></h3>
+<div class="paragraph">
+<p>Thread Cache Memory Usage
+&#160;
+A measure of some of the memory TCMalloc is using (for small objects).</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tcmalloc_max_total_thread_cache_bytes"><a class="link" href="#kudu-master_tcmalloc_max_total_thread_cache_bytes"><code>tcmalloc_max_total_thread_cache_bytes</code></a></h3>
+<div class="paragraph">
+<p>Thread Cache Memory Limit
+&#160;
+A limit to how much memory TCMalloc dedicates for small objects. Higher numbers trade off more memory use for&#8201;&#8212;&#8201;in some situations&#8201;&#8212;&#8201;improved efficiency.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tcmalloc_pageheap_free_bytes"><a class="link" href="#kudu-master_tcmalloc_pageheap_free_bytes"><code>tcmalloc_pageheap_free_bytes</code></a></h3>
+<div class="paragraph">
+<p>Free Heap Memory
+&#160;
+Number of bytes in free, mapped pages in page heap. These bytes can be used to fulfill allocation requests. They always count towards virtual memory usage, and unless the underlying memory is swapped out by the OS, they also count towards physical memory usage.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tcmalloc_pageheap_unmapped_bytes"><a class="link" href="#kudu-master_tcmalloc_pageheap_unmapped_bytes"><code>tcmalloc_pageheap_unmapped_bytes</code></a></h3>
+<div class="paragraph">
+<p>Unmapped Heap Memory
+&#160;
+Number of bytes in free, unmapped pages in page heap. These are bytes that have been released back to the OS, possibly by one of the MallocExtension "Release" calls. They can be used to fulfill allocation requests, but typically incur a page fault. They always count towards virtual memory usage, and depending on the OS, typically do not count towards physical memory usage.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_threads_running"><a class="link" href="#kudu-master_threads_running"><code>threads_running</code></a></h3>
+<div class="paragraph">
+<p>Threads Running
+&#160;
+Current number of running threads</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">threads</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_undo_delta_block_gc_delete_duration"><a class="link" href="#kudu-master_undo_delta_block_gc_delete_duration"><code>undo_delta_block_gc_delete_duration</code></a></h3>
+<div class="paragraph">
+<p>Undo Delta Block GC Delete Duration
+&#160;
+Time spent deleting ancient UNDO delta blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_undo_delta_block_gc_init_duration"><a class="link" href="#kudu-master_undo_delta_block_gc_init_duration"><code>undo_delta_block_gc_init_duration</code></a></h3>
+<div class="paragraph">
+<p>Undo Delta Block GC Init Duration
+&#160;
+Time spent initializing ancient UNDO delta blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_undo_delta_block_gc_perform_duration"><a class="link" href="#kudu-master_undo_delta_block_gc_perform_duration"><code>undo_delta_block_gc_perform_duration</code></a></h3>
+<div class="paragraph">
+<p>Undo Delta Block GC Perform Duration
+&#160;
+Time spent running the maintenance operation to GC ancient UNDO delta blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_upserts_as_updates"><a class="link" href="#kudu-master_upserts_as_updates"><code>upserts_as_updates</code></a></h3>
+<div class="paragraph">
+<p>Upserts converted into updates
+&#160;
+Number of upserts which were applied as updates because the key already existed.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_uptime"><a class="link" href="#kudu-master_uptime"><code>uptime</code></a></h3>
+<div class="paragraph">
+<p>Server Uptime
+&#160;
+Time interval since the server has started</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_voluntary_context_switches"><a class="link" href="#kudu-master_voluntary_context_switches"><code>voluntary_context_switches</code></a></h3>
+<div class="paragraph">
+<p>Voluntary Context Switches
+&#160;
+Total voluntary context switches</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">context switches</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_debug"><a class="link" href="#kudu-master_debug">Debug Metrics</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Metrics tagged as 'debug' are diagnostically helpful but generally not monitored
+during normal operation.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_all_transactions_inflight"><a class="link" href="#kudu-master_all_transactions_inflight"><code>all_transactions_inflight</code></a></h3>
+<div class="paragraph">
+<p>Ops In Flight
+&#160;
+Number of ops currently in-flight, including any type.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_alter_schema_transactions_inflight"><a class="link" href="#kudu-master_alter_schema_transactions_inflight"><code>alter_schema_transactions_inflight</code></a></h3>
+<div class="paragraph">
+<p>Alter Schema Ops In Flight
+&#160;
+Number of alter schema ops currently in-flight</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_cache_evictions"><a class="link" href="#kudu-master_block_cache_evictions"><code>block_cache_evictions</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Evictions
+&#160;
+Number of blocks evicted from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_cache_hits"><a class="link" href="#kudu-master_block_cache_hits"><code>block_cache_hits</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Hits
+&#160;
+Number of lookups that found a block</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_cache_hits_caching"><a class="link" href="#kudu-master_block_cache_hits_caching"><code>block_cache_hits_caching</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Hits (Caching)
+&#160;
+Number of lookups that were expecting a block that found one.Use this number instead of cache_hits when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_cache_inserts"><a class="link" href="#kudu-master_block_cache_inserts"><code>block_cache_inserts</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Inserts
+&#160;
+Number of blocks inserted in the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_cache_lookups"><a class="link" href="#kudu-master_block_cache_lookups"><code>block_cache_lookups</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Lookups
+&#160;
+Number of blocks looked up from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_cache_misses"><a class="link" href="#kudu-master_block_cache_misses"><code>block_cache_misses</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Misses
+&#160;
+Number of lookups that didn&#8217;t yield a block</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_cache_misses_caching"><a class="link" href="#kudu-master_block_cache_misses_caching"><code>block_cache_misses_caching</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Misses (Caching)
+&#160;
+Number of lookups that were expecting a block that didn&#8217;t yield one.Use this number instead of cache_misses when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_manager_total_blocks_created"><a class="link" href="#kudu-master_block_manager_total_blocks_created"><code>block_manager_total_blocks_created</code></a></h3>
+<div class="paragraph">
+<p>Data Blocks Created
+&#160;
+Number of data blocks that were created since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_manager_total_blocks_deleted"><a class="link" href="#kudu-master_block_manager_total_blocks_deleted"><code>block_manager_total_blocks_deleted</code></a></h3>
+<div class="paragraph">
+<p>Data Blocks Deleted
+&#160;
+Number of data blocks that were deleted since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_manager_total_bytes_read"><a class="link" href="#kudu-master_block_manager_total_bytes_read"><code>block_manager_total_bytes_read</code></a></h3>
+<div class="paragraph">
+<p>Block Data Bytes Read
+&#160;
+Number of bytes of block data read since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_manager_total_bytes_written"><a class="link" href="#kudu-master_block_manager_total_bytes_written"><code>block_manager_total_bytes_written</code></a></h3>
+<div class="paragraph">
+<p>Block Data Bytes Written
+&#160;
+Number of bytes of block data written since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_manager_total_disk_sync"><a class="link" href="#kudu-master_block_manager_total_disk_sync"><code>block_manager_total_disk_sync</code></a></h3>
+<div class="paragraph">
+<p>Block Data Disk Synchronization Count
+&#160;
+Number of disk synchronizations of block data since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_manager_total_readable_blocks"><a class="link" href="#kudu-master_block_manager_total_readable_blocks"><code>block_manager_total_readable_blocks</code></a></h3>
+<div class="paragraph">
+<p>Data Blocks Opened For Read
+&#160;
+Number of data blocks opened for reading since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_block_manager_total_writable_blocks"><a class="link" href="#kudu-master_block_manager_total_writable_blocks"><code>block_manager_total_writable_blocks</code></a></h3>
+<div class="paragraph">
+<p>Data Blocks Opened For Write
+&#160;
+Number of data blocks opened for writing since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_bloom_lookups"><a class="link" href="#kudu-master_bloom_lookups"><code>bloom_lookups</code></a></h3>
+<div class="paragraph">
+<p>Bloom Filter Lookups
+&#160;
+Number of times a bloom filter was consulted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_bloom_lookups_per_op"><a class="link" href="#kudu-master_bloom_lookups_per_op"><code>bloom_lookups_per_op</code></a></h3>
+<div class="paragraph">
+<p>Bloom Lookups per Operation
+&#160;
+Tracks the number of bloom filter lookups performed by each operation. A single operation may perform several bloom filter lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_builtin_ntp_max_errors"><a class="link" href="#kudu-master_builtin_ntp_max_errors"><code>builtin_ntp_max_errors</code></a></h3>
+<div class="paragraph">
+<p>Built-In NTP Maximum Time Errors
+&#160;
+Statistics on the maximum true time error computed by built-in NTP client</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_builtin_ntp_time"><a class="link" href="#kudu-master_builtin_ntp_time"><code>builtin_ntp_time</code></a></h3>
+<div class="paragraph">
+<p>Built-in NTP Time
+&#160;
+Latest true time as tracked by built-in NTP client</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_bytes_flushed"><a class="link" href="#kudu-master_bytes_flushed"><code>bytes_flushed</code></a></h3>
+<div class="paragraph">
+<p>Bytes Flushed
+&#160;
+Amount of data that has been flushed to disk by this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_code_cache_hits"><a class="link" href="#kudu-master_code_cache_hits"><code>code_cache_hits</code></a></h3>
+<div class="paragraph">
+<p>Codegen Cache Hits
+&#160;
+Number of codegen cache hits since start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hits</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_code_cache_queries"><a class="link" href="#kudu-master_code_cache_queries"><code>code_cache_queries</code></a></h3>
+<div class="paragraph">
+<p>Codegen Cache Queries
+&#160;
+Number of codegen cache queries (hits + misses) since start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">queries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_commit_wait_duration"><a class="link" href="#kudu-master_commit_wait_duration"><code>commit_wait_duration</code></a></h3>
+<div class="paragraph">
+<p>Commit-Wait Duration
+&#160;
+Time spent waiting for COMMIT_WAIT external consistency writes for this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_compact_rs_running"><a class="link" href="#kudu-master_compact_rs_running"><code>compact_rs_running</code></a></h3>
+<div class="paragraph">
+<p>RowSet Compactions Running
+&#160;
+Number of RowSet compactions currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_delete_ignore_errors"><a class="link" href="#kudu-master_delete_ignore_errors"><code>delete_ignore_errors</code></a></h3>
+<div class="paragraph">
+<p>Delete Ignore Errors
+&#160;
+Number of delete ignore operations for this tablet which were ignored due to an error since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_deleted_rowset_estimated_retained_bytes"><a class="link" href="#kudu-master_deleted_rowset_estimated_retained_bytes"><code>deleted_rowset_estimated_retained_bytes</code></a></h3>
+<div class="paragraph">
+<p>Estimated Deletable Bytes Retained in Deleted Rowsets
+&#160;
+Estimated bytes of deletable data in deleted rowsets for this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_deleted_rowset_gc_bytes_deleted"><a class="link" href="#kudu-master_deleted_rowset_gc_bytes_deleted"><code>deleted_rowset_gc_bytes_deleted</code></a></h3>
+<div class="paragraph">
+<p>Deleted Rowsets GC Bytes Deleted
+&#160;
+Number of bytes deleted by garbage-collecting deleted rowsets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_deleted_rowset_gc_running"><a class="link" href="#kudu-master_deleted_rowset_gc_running"><code>deleted_rowset_gc_running</code></a></h3>
+<div class="paragraph">
+<p>Deleted Rowset GC Running
+&#160;
+Number of deleted rowset GC operations currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_delta_file_lookups"><a class="link" href="#kudu-master_delta_file_lookups"><code>delta_file_lookups</code></a></h3>
+<div class="paragraph">
+<p>Delta File Lookups
+&#160;
+Number of times a delta file was consulted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_delta_major_compact_rs_running"><a class="link" href="#kudu-master_delta_major_compact_rs_running"><code>delta_major_compact_rs_running</code></a></h3>
+<div class="paragraph">
+<p>Major Delta Compactions Running
+&#160;
+Number of delta major compactions currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_delta_minor_compact_rs_running"><a class="link" href="#kudu-master_delta_minor_compact_rs_running"><code>delta_minor_compact_rs_running</code></a></h3>
+<div class="paragraph">
+<p>Minor Delta Compactions Running
+&#160;
+Number of delta minor compactions currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_file_cache_evictions"><a class="link" href="#kudu-master_file_cache_evictions"><code>file_cache_evictions</code></a></h3>
+<div class="paragraph">
+<p>File Cache Evictions
+&#160;
+Number of file descriptors evicted from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_file_cache_hits"><a class="link" href="#kudu-master_file_cache_hits"><code>file_cache_hits</code></a></h3>
+<div class="paragraph">
+<p>File Cache Hits
+&#160;
+Number of lookups that found a file descriptor</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_file_cache_hits_caching"><a class="link" href="#kudu-master_file_cache_hits_caching"><code>file_cache_hits_caching</code></a></h3>
+<div class="paragraph">
+<p>File Cache Hits (Caching)
+&#160;
+Number of lookups that were expecting a file descriptor that found one. Use this number instead of cache_hits when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_file_cache_inserts"><a class="link" href="#kudu-master_file_cache_inserts"><code>file_cache_inserts</code></a></h3>
+<div class="paragraph">
+<p>File Cache Inserts
+&#160;
+Number of file descriptors inserted in the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_file_cache_lookups"><a class="link" href="#kudu-master_file_cache_lookups"><code>file_cache_lookups</code></a></h3>
+<div class="paragraph">
+<p>File Cache Lookups
+&#160;
+Number of file descriptors looked up from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_file_cache_misses"><a class="link" href="#kudu-master_file_cache_misses"><code>file_cache_misses</code></a></h3>
+<div class="paragraph">
+<p>File Cache Misses
+&#160;
+Number of lookups that didn&#8217;t yield a file descriptor</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_file_cache_misses_caching"><a class="link" href="#kudu-master_file_cache_misses_caching"><code>file_cache_misses_caching</code></a></h3>
+<div class="paragraph">
+<p>File Cache Misses (Caching)
+&#160;
+Number of lookups that were expecting a file descriptor that didn&#8217;t yield one. Use this number instead of cache_misses when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_flush_dms_running"><a class="link" href="#kudu-master_flush_dms_running"><code>flush_dms_running</code></a></h3>
+<div class="paragraph">
+<p>DeltaMemStore Flushes Running
+&#160;
+Number of delta memstore flushes currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_flush_mrs_running"><a class="link" href="#kudu-master_flush_mrs_running"><code>flush_mrs_running</code></a></h3>
+<div class="paragraph">
+<p>MemRowSet Flushes Running
+&#160;
+Number of MemRowSet flushes currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_glog_info_messages"><a class="link" href="#kudu-master_glog_info_messages"><code>glog_info_messages</code></a></h3>
+<div class="paragraph">
+<p>INFO-level Log Messages
+&#160;
+Number of INFO-level log messages emitted by the application.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_hybrid_clock_max_errors"><a class="link" href="#kudu-master_hybrid_clock_max_errors"><code>hybrid_clock_max_errors</code></a></h3>
+<div class="paragraph">
+<p>Hybrid Clock Maximum Errors
+&#160;
+The statistics on the maximum error of the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_in_progress_ops"><a class="link" href="#kudu-master_in_progress_ops"><code>in_progress_ops</code></a></h3>
+<div class="paragraph">
+<p>Operations in Progress
+&#160;
+Number of operations in the peer&#8217;s queue ack&#8217;d by a minority of peers.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_insert_ignore_errors"><a class="link" href="#kudu-master_insert_ignore_errors"><code>insert_ignore_errors</code></a></h3>
+<div class="paragraph">
+<p>Insert Ignore Errors
+&#160;
+Number of insert ignore operations for this tablet which were ignored due to an error since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_insertions_failed_dup_key"><a class="link" href="#kudu-master_insertions_failed_dup_key"><code>insertions_failed_dup_key</code></a></h3>
+<div class="paragraph">
+<p>Duplicate Key Inserts
+&#160;
+Number of inserts which failed because the key already existed</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_key_file_lookups"><a class="link" href="#kudu-master_key_file_lookups"><code>key_file_lookups</code></a></h3>
+<div class="paragraph">
+<p>Key File Lookups
+&#160;
+Number of times a key cfile was consulted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_key_file_lookups_per_op"><a class="link" href="#kudu-master_key_file_lookups_per_op"><code>key_file_lookups_per_op</code></a></h3>
+<div class="paragraph">
+<p>Key Lookups per Operation
+&#160;
+Tracks the number of key file lookups performed by each operation. A single operation may perform several key file lookups if the tablet is not fully compacted and if bloom filters are not effectively culling lookups.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_last_read_elapsed_time"><a class="link" href="#kudu-master_last_read_elapsed_time"><code>last_read_elapsed_time</code></a></h3>
+<div class="paragraph">
+<p>Seconds Since Last Read
+&#160;
+The elapsed time, in seconds, since the last read operation on this tablet, or since this Tablet object was created on current tserver if it hasn&#8217;t been read since then.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_last_write_elapsed_time"><a class="link" href="#kudu-master_last_write_elapsed_time"><code>last_write_elapsed_time</code></a></h3>
+<div class="paragraph">
+<p>Seconds Since Last Write
+&#160;
+The elapsed time, in seconds, since the last write operation on this tablet, or since this Tablet object was created on current tserver if it hasn&#8217;t been written to since then.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_location_mapping_cache_hits"><a class="link" href="#kudu-master_location_mapping_cache_hits"><code>location_mapping_cache_hits</code></a></h3>
+<div class="paragraph">
+<p>Location Mapping Cache Hits
+&#160;
+Number of times location mapping assignment used cached data</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hits</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_location_mapping_cache_queries"><a class="link" href="#kudu-master_location_mapping_cache_queries"><code>location_mapping_cache_queries</code></a></h3>
+<div class="paragraph">
+<p>Location Mapping Cache Queries
+&#160;
+Number of queries to the location mapping cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">queries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_block_manager_dead_containers_deleted"><a class="link" href="#kudu-master_log_block_manager_dead_containers_deleted"><code>log_block_manager_dead_containers_deleted</code></a></h3>
+<div class="paragraph">
+<p>Number of Dead Block Containers Deleted
+&#160;
+Number of full (but dead) block containers that were deleted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log block containers</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_block_manager_holes_punched"><a class="link" href="#kudu-master_log_block_manager_holes_punched"><code>log_block_manager_holes_punched</code></a></h3>
+<div class="paragraph">
+<p>Number of Holes Punched
+&#160;
+Number of holes punched since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">holes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_bytes_logged"><a class="link" href="#kudu-master_log_bytes_logged"><code>log_bytes_logged</code></a></h3>
+<div class="paragraph">
+<p>Bytes Written to WAL
+&#160;
+Number of bytes logged since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_cache_num_ops"><a class="link" href="#kudu-master_log_cache_num_ops"><code>log_cache_num_ops</code></a></h3>
+<div class="paragraph">
+<p>Log Cache Operation Count
+&#160;
+Number of operations in the log cache.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_cache_size"><a class="link" href="#kudu-master_log_cache_size"><code>log_cache_size</code></a></h3>
+<div class="paragraph">
+<p>Log Cache Memory Usage
+&#160;
+Amount of memory in use for caching the local log.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_entry_batches_per_group"><a class="link" href="#kudu-master_log_entry_batches_per_group"><code>log_entry_batches_per_group</code></a></h3>
+<div class="paragraph">
+<p>Log Group Commit Batch Size
+&#160;
+Number of log entry batches in a group commit group</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_group_commit_latency"><a class="link" href="#kudu-master_log_group_commit_latency"><code>log_group_commit_latency</code></a></h3>
+<div class="paragraph">
+<p>Log Group Commit Latency
+&#160;
+Microseconds spent on committing an entire group</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_reader_bytes_read"><a class="link" href="#kudu-master_log_reader_bytes_read"><code>log_reader_bytes_read</code></a></h3>
+<div class="paragraph">
+<p>Bytes Read From Log
+&#160;
+Data read from the WAL since tablet start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_reader_entries_read"><a class="link" href="#kudu-master_log_reader_entries_read"><code>log_reader_entries_read</code></a></h3>
+<div class="paragraph">
+<p>Entries Read From Log
+&#160;
+Number of entries read from the WAL since tablet start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_log_roll_latency"><a class="link" href="#kudu-master_log_roll_latency"><code>log_roll_latency</code></a></h3>
+<div class="paragraph">
+<p>Log Roll Latency
+&#160;
+Microseconds spent on rolling over to a new log segment file</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_majority_done_ops"><a class="link" href="#kudu-master_majority_done_ops"><code>majority_done_ops</code></a></h3>
+<div class="paragraph">
+<p>Leader Operations Acked by Majority
+&#160;
+Number of operations in the leader queue ack&#8217;d by a majority but not all peers. This metric is always zero for followers.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_mrs_lookups"><a class="link" href="#kudu-master_mrs_lookups"><code>mrs_lookups</code></a></h3>
+<div class="paragraph">
+<p>MemRowSet Lookups
+&#160;
+Number of times a MemRowSet was consulted.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_raft_term"><a class="link" href="#kudu-master_raft_term"><code>raft_term</code></a></h3>
+<div class="paragraph">
+<p>Current Raft Consensus Term
+&#160;
+Current Term of the Raft Consensus algorithm. This number increments each time a leader election is started.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_bytes_returned"><a class="link" href="#kudu-master_scanner_bytes_returned"><code>scanner_bytes_returned</code></a></h3>
+<div class="paragraph">
+<p>Scanner Bytes Returned
+&#160;
+Number of bytes returned by scanners to clients. This count is measured after predicates are applied and the data is decoded for consumption by clients, and thus is not a reflection of the amount of work being done by scanners.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_bytes_scanned_from_disk"><a class="link" href="#kudu-master_scanner_bytes_scanned_from_disk"><code>scanner_bytes_scanned_from_disk</code></a></h3>
+<div class="paragraph">
+<p>Scanner Bytes Scanned From Disk
+&#160;
+Number of bytes read by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual IO that has been caused by scan operations compared to the Scanner Bytes Returned metric.
+Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_cells_returned"><a class="link" href="#kudu-master_scanner_cells_returned"><code>scanner_cells_returned</code></a></h3>
+<div class="paragraph">
+<p>Scanner Cells Returned
+&#160;
+Number of table cells returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">cells</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_cells_scanned_from_disk"><a class="link" href="#kudu-master_scanner_cells_scanned_from_disk"><code>scanner_cells_scanned_from_disk</code></a></h3>
+<div class="paragraph">
+<p>Scanner Cells Scanned From Disk
+&#160;
+Number of table cells processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table cells that have been processed by scan operations compared to the Scanner Cells Returned metric.
+Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">cells</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_rows_returned"><a class="link" href="#kudu-master_scanner_rows_returned"><code>scanner_rows_returned</code></a></h3>
+<div class="paragraph">
+<p>Scanner Rows Returned
+&#160;
+Number of rows returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scanner_rows_scanned"><a class="link" href="#kudu-master_scanner_rows_scanned"><code>scanner_rows_scanned</code></a></h3>
+<div class="paragraph">
+<p>Scanner Rows Scanned
+&#160;
+Number of rows processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table rows that have been processed by scan operations compared to the Scanner Rows Returned metric.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_scans_started"><a class="link" href="#kudu-master_scans_started"><code>scans_started</code></a></h3>
+<div class="paragraph">
+<p>Scans Started
+&#160;
+Number of scanners which have been started on this tablet</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_snapshot_read_inflight_wait_duration"><a class="link" href="#kudu-master_snapshot_read_inflight_wait_duration"><code>snapshot_read_inflight_wait_duration</code></a></h3>
+<div class="paragraph">
+<p>Time Waiting For Snapshot Reads
+&#160;
+Time spent waiting for in-flight writes to complete for READ_AT_SNAPSHOT scans.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_locations_cache_evictions"><a class="link" href="#kudu-master_table_locations_cache_evictions"><code>table_locations_cache_evictions</code></a></h3>
+<div class="paragraph">
+<p>Table Locations Cache Evictions
+&#160;
+Number of entries evicted from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_locations_cache_hits"><a class="link" href="#kudu-master_table_locations_cache_hits"><code>table_locations_cache_hits</code></a></h3>
+<div class="paragraph">
+<p>Table Locations Cache Hits
+&#160;
+Number of lookups that found a cached entry</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_locations_cache_inserts"><a class="link" href="#kudu-master_table_locations_cache_inserts"><code>table_locations_cache_inserts</code></a></h3>
+<div class="paragraph">
+<p>Table Locations Cache Inserts
+&#160;
+Number of entries inserted in the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_locations_cache_lookups"><a class="link" href="#kudu-master_table_locations_cache_lookups"><code>table_locations_cache_lookups</code></a></h3>
+<div class="paragraph">
+<p>Table Locations Cache Lookups
+&#160;
+Number of entries looked up from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_locations_cache_memory_usage"><a class="link" href="#kudu-master_table_locations_cache_memory_usage"><code>table_locations_cache_memory_usage</code></a></h3>
+<div class="paragraph">
+<p>Table Locations Cache Memory Usage
+&#160;
+Memory consumed by the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_table_locations_cache_misses"><a class="link" href="#kudu-master_table_locations_cache_misses"><code>table_locations_cache_misses</code></a></h3>
+<div class="paragraph">
+<p>Table Locations Cache Misses
+&#160;
+Number of lookups that didn&#8217;t find a cached entry</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_active_scanners"><a class="link" href="#kudu-master_tablet_active_scanners"><code>tablet_active_scanners</code></a></h3>
+<div class="paragraph">
+<p>Active Scanners
+&#160;
+Number of scanners that are currently active on this tablet</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_copy_bytes_fetched"><a class="link" href="#kudu-master_tablet_copy_bytes_fetched"><code>tablet_copy_bytes_fetched</code></a></h3>
+<div class="paragraph">
+<p>Bytes Fetched By Tablet Copy
+&#160;
+Number of bytes fetched during tablet copy operations since server start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_tablet_copy_bytes_sent"><a class="link" href="#kudu-master_tablet_copy_bytes_sent"><code>tablet_copy_bytes_sent</code></a></h3>
+<div class="paragraph">
+<p>Bytes Sent For Tablet Copy
+&#160;
+Number of bytes sent during tablet copy operations since server start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_threads_started"><a class="link" href="#kudu-master_threads_started"><code>threads_started</code></a></h3>
+<div class="paragraph">
+<p>Threads Started
+&#160;
+Total number of threads started on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">threads</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_time_since_last_leader_heartbeat"><a class="link" href="#kudu-master_time_since_last_leader_heartbeat"><code>time_since_last_leader_heartbeat</code></a></h3>
+<div class="paragraph">
+<p>Time Since Last Leader Heartbeat
+&#160;
+The time elapsed since the last heartbeat from the leader in milliseconds. This metric is identically zero on a leader replica.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_undo_delta_block_estimated_retained_bytes"><a class="link" href="#kudu-master_undo_delta_block_estimated_retained_bytes"><code>undo_delta_block_estimated_retained_bytes</code></a></h3>
+<div class="paragraph">
+<p>Estimated Deletable Bytes Retained in Undo Delta Blocks
+&#160;
+Estimated bytes of deletable data in undo delta blocks for this tablet. May be an overestimate.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_undo_delta_block_gc_bytes_deleted"><a class="link" href="#kudu-master_undo_delta_block_gc_bytes_deleted"><code>undo_delta_block_gc_bytes_deleted</code></a></h3>
+<div class="paragraph">
+<p>Undo Delta Block GC Bytes Deleted
+&#160;
+Number of bytes deleted by garbage-collecting old UNDO delta blocks on this tablet since this server was restarted. Does not include bytes garbage collected during compactions.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_undo_delta_block_gc_running"><a class="link" href="#kudu-master_undo_delta_block_gc_running"><code>undo_delta_block_gc_running</code></a></h3>
+<div class="paragraph">
+<p>Undo Delta Block GC Running
+&#160;
+Number of UNDO delta block GC operations currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_update_ignore_errors"><a class="link" href="#kudu-master_update_ignore_errors"><code>update_ignore_errors</code></a></h3>
+<div class="paragraph">
+<p>Update Ignore Errors
+&#160;
+Number of update ignore operations for this tablet which were ignored due to an error since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_write_op_duration_client_propagated_consistency"><a class="link" href="#kudu-master_write_op_duration_client_propagated_consistency"><code>write_op_duration_client_propagated_consistency</code></a></h3>
+<div class="paragraph">
+<p>Write Op Duration with Propagated Consistency
+&#160;
+Duration of writes to this tablet with external consistency set to CLIENT_PROPAGATED.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_write_op_duration_commit_wait_consistency"><a class="link" href="#kudu-master_write_op_duration_commit_wait_consistency"><code>write_op_duration_commit_wait_consistency</code></a></h3>
+<div class="paragraph">
+<p>Write Op Duration with Commit-Wait Consistency
+&#160;
+Duration of writes to this tablet with external consistency set to COMMIT_WAIT.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_write_transactions_inflight"><a class="link" href="#kudu-master_write_transactions_inflight"><code>write_transactions_inflight</code></a></h3>
+<div class="paragraph">
+<p>Write Ops In Flight
+&#160;
+Number of write ops currently in-flight</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+<hr>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/kudu-tserver_configuration_reference.html b/releases/1.15.0/docs/kudu-tserver_configuration_reference.html
new file mode 100644
index 0000000..be5f9d5
--- /dev/null
+++ b/releases/1.15.0/docs/kudu-tserver_configuration_reference.html
@@ -0,0 +1,6016 @@
+<!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 - kudu-tserver Flags</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1><code>kudu-tserver</code> Flags</h1>
+      <div class="sect1">
+<h2 id="kudu-tserver_stable"><a class="link" href="#kudu-tserver_stable">Stable Flags</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Flags tagged <code>stable</code> and not <code>advanced</code> are safe to use for common
+configuration tasks.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_cache_capacity_mb"><a class="link" href="#kudu-tserver_block_cache_capacity_mb"><code>--block_cache_capacity_mb</code></a></h3>
+<div class="paragraph">
+<p>block cache capacity in MB</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>512</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_builtin_ntp_servers"><a class="link" href="#kudu-tserver_builtin_ntp_servers"><code>--builtin_ntp_servers</code></a></h3>
+<div class="paragraph">
+<p>The NTP servers used by the built-in NTP client, in format &lt;FQDN|IP&gt;[:PORT]. These will only be used if the built-in NTP client is enabled (i.e. if setting --time_source=builtin).</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">string</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>0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_time_source"><a class="link" href="#kudu-tserver_time_source"><code>--time_source</code></a></h3>
+<div class="paragraph">
+<p>The time source that HybridClock should use. Must be one of auto, builtin, system, system_unsync (toy clusters/testing only), mock (testing only). When set to auto, the system automatically picks one of the following depending on the environment: builtin, system, system_unsync, where in case of picking builtin the built-in NTP client is configured with dedicated NTP server(s) provided by the environment.</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">string</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>system</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_force_fsync_all"><a class="link" href="#kudu-tserver_log_force_fsync_all"><code>--log_force_fsync_all</code></a></h3>
+<div class="paragraph">
+<p>Whether the Log/WAL should explicitly call fsync() after each write.</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fs_data_dirs"><a class="link" href="#kudu-tserver_fs_data_dirs"><code>--fs_data_dirs</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fs_metadata_dir"><a class="link" href="#kudu-tserver_fs_metadata_dir"><code>--fs_metadata_dir</code></a></h3>
+<div class="paragraph">
+<p>Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fs_wal_dir"><a class="link" href="#kudu-tserver_fs_wal_dir"><code>--fs_wal_dir</code></a></h3>
+<div class="paragraph">
+<p>Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_keytab_file"><a class="link" href="#kudu-tserver_keytab_file"><code>--keytab_file</code></a></h3>
+<div class="paragraph">
+<p>Path to the Kerberos Keytab file for this server. Specifying a keytab file will cause the server to kinit, and enable Kerberos to be used to authenticate RPC connections.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_bind_addresses"><a class="link" href="#kudu-tserver_rpc_bind_addresses"><code>--rpc_bind_addresses</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of addresses to bind to for RPC connections. Currently, ephemeral ports (i.e. port 0) are not allowed.</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">string</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>0.0.0.0:7050</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_superuser_acl"><a class="link" href="#kudu-tserver_superuser_acl"><code>--superuser_acl</code></a></h3>
+<div class="paragraph">
+<p>The list of usernames to allow as super users, comma-separated. A '*' entry indicates that all authenticated users are allowed. If this is left unset or blank, the default behavior is that the identity of the daemon itself determines the superuser. If the daemon is logged in from a Keytab, then the local username from the Kerberos principal is used; otherwise, the local Unix username is used.</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">string</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">none</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">sensitive,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_user_acl"><a class="link" href="#kudu-tserver_user_acl"><code>--user_acl</code></a></h3>
+<div class="paragraph">
+<p>The list of usernames who may access the cluster, comma-separated. A '*' entry indicates that all authenticated users are allowed.</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">string</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>*</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">sensitive,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_certificate_file"><a class="link" href="#kudu-tserver_webserver_certificate_file"><code>--webserver_certificate_file</code></a></h3>
+<div class="paragraph">
+<p>The location of the debug webserver&#8217;s SSL certificate file, in PEM format. If empty, webserver SSL support is not enabled. If --webserver_private_key_file is set, this option must be set as well.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_port"><a class="link" href="#kudu-tserver_webserver_port"><code>--webserver_port</code></a></h3>
+<div class="paragraph">
+<p>Port to bind to for the web server</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>8050</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_private_key_file"><a class="link" href="#kudu-tserver_webserver_private_key_file"><code>--webserver_private_key_file</code></a></h3>
+<div class="paragraph">
+<p>The full path to the private key used as a counterpart to the public key contained in --webserver_certificate_file. If --webserver_certificate_file is set, this option must be set as well.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_private_key_password_cmd"><a class="link" href="#kudu-tserver_webserver_private_key_password_cmd"><code>--webserver_private_key_password_cmd</code></a></h3>
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the Webserver&#8217;s certificate private key file specified in --webserver_private_key_file. If the PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_require_spnego"><a class="link" href="#kudu-tserver_webserver_require_spnego"><code>--webserver_require_spnego</code></a></h3>
+<div class="paragraph">
+<p>Require connections to the web server to authenticate via Kerberos using SPNEGO.</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tserver_master_addrs"><a class="link" href="#kudu-tserver_tserver_master_addrs"><code>--tserver_master_addrs</code></a></h3>
+<div class="paragraph">
+<p>Comma separated addresses of the masters which the tablet server should connect to. The masters do not read this flag&#8201;&#8212;&#8201;configure the masters separately using 'rpc_bind_addresses'.</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">string</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>127.0.0.1:7051</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_filename"><a class="link" href="#kudu-tserver_log_filename"><code>--log_filename</code></a></h3>
+<div class="paragraph">
+<p>Prefix of log filename - full path is &lt;log_dir&gt;/&lt;log_filename&gt;.[INFO|WARN|ERROR|FATAL]</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_max_log_files"><a class="link" href="#kudu-tserver_max_log_files"><code>--max_log_files</code></a></h3>
+<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">stable,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_maintenance_manager_num_threads"><a class="link" href="#kudu-tserver_maintenance_manager_num_threads"><code>--maintenance_manager_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Size of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.</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>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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_memory_limit_hard_bytes"><a class="link" href="#kudu-tserver_memory_limit_hard_bytes"><code>--memory_limit_hard_bytes</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.</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>0</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_flagfile"><a class="link" href="#kudu-tserver_flagfile"><code>--flagfile</code></a></h3>
+<div class="paragraph">
+<p>load flags from file</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_help"><a class="link" href="#kudu-tserver_help"><code>--help</code></a></h3>
+<div class="paragraph">
+<p>show help on all flags [tip: all flags can have two dashes]</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_version"><a class="link" href="#kudu-tserver_version"><code>--version</code></a></h3>
+<div class="paragraph">
+<p>show version and build info and exit</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>false</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_colorlogtostderr"><a class="link" href="#kudu-tserver_colorlogtostderr"><code>--colorlogtostderr</code></a></h3>
+<div class="paragraph">
+<p>color messages logged to stderr (if supported by terminal)</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>false</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">runtime,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_dir"><a class="link" href="#kudu-tserver_log_dir"><code>--log_dir</code></a></h3>
+<div class="paragraph">
+<p>If specified, logfiles are written into this directory instead of the default logging directory.</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">string</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">none</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">stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_logtostderr"><a class="link" href="#kudu-tserver_logtostderr"><code>--logtostderr</code></a></h3>
+<div class="paragraph">
+<p>log messages go to stderr instead of logfiles</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>false</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">runtime,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_max_log_size"><a class="link" href="#kudu-tserver_max_log_size"><code>--max_log_size</code></a></h3>
+<div class="paragraph">
+<p>approx. maximum log file size (in MB). A value of 0 will be silently overridden to 1.</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>1800</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">runtime,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_stable_advanced"><a class="link" href="#kudu-tserver_stable_advanced">Stable, Advanced Flags</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Flags tagged <code>stable</code> and <code>advanced</code> are supported, but should be considered
+"expert" options and should be used carefully and after thorough testing.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_principal"><a class="link" href="#kudu-tserver_principal"><code>--principal</code></a></h3>
+<div class="paragraph">
+<p>Kerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.</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">string</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>kudu/_HOST</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_history_max_age_sec"><a class="link" href="#kudu-tserver_tablet_history_max_age_sec"><code>--tablet_history_max_age_sec</code></a></h3>
+<div class="paragraph">
+<p>Number of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.</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>604800</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_enable_process_lifetime_heap_profiling"><a class="link" href="#kudu-tserver_enable_process_lifetime_heap_profiling"><code>--enable_process_lifetime_heap_profiling</code></a></h3>
+<div class="paragraph">
+<p>Enables heap profiling for the lifetime of the process. Profile output will be stored in the directory specified by -heap_profile_path.</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_heap_profile_path"><a class="link" href="#kudu-tserver_heap_profile_path"><code>--heap_profile_path</code></a></h3>
+<div class="paragraph">
+<p>Output path to store heap profiles. If not set profiles are stored in /tmp/&lt;process-name&gt;.&lt;pid&gt;.&lt;n&gt;.heap.</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_unlock_experimental_flags"><a class="link" href="#kudu-tserver_unlock_experimental_flags"><code>--unlock_experimental_flags</code></a></h3>
+<div class="paragraph">
+<p>Unlock flags marked as 'experimental'. These flags are not guaranteed to be maintained across releases of Kudu, and may enable features or behavior known to be unstable. Use at your own risk.</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>false</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_unlock_unsafe_flags"><a class="link" href="#kudu-tserver_unlock_unsafe_flags"><code>--unlock_unsafe_flags</code></a></h3>
+<div class="paragraph">
+<p>Unlock flags marked as 'unsafe'. These flags are not guaranteed to be maintained across releases of Kudu, and enable features or behavior known to be unsafe. Use at your own risk.</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>false</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">stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fromenv"><a class="link" href="#kudu-tserver_fromenv"><code>--fromenv</code></a></h3>
+<div class="paragraph">
+<p>set flags from the environment [use 'export FLAGS_flag1=value']</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tryfromenv"><a class="link" href="#kudu-tserver_tryfromenv"><code>--tryfromenv</code></a></h3>
+<div class="paragraph">
+<p>set flags from the environment if present</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_undefok"><a class="link" href="#kudu-tserver_undefok"><code>--undefok</code></a></h3>
+<div class="paragraph">
+<p>comma-separated list of flag names that it is okay to specify on the command line even if the program does not define a flag with that name.  IMPORTANT: flags in this list that have arguments MUST use the flag=value format</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_helpmatch"><a class="link" href="#kudu-tserver_helpmatch"><code>--helpmatch</code></a></h3>
+<div class="paragraph">
+<p>show help on modules whose name contains the specified substr</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_helpon"><a class="link" href="#kudu-tserver_helpon"><code>--helpon</code></a></h3>
+<div class="paragraph">
+<p>show help on the modules named by this flag value</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_helppackage"><a class="link" href="#kudu-tserver_helppackage"><code>--helppackage</code></a></h3>
+<div class="paragraph">
+<p>show help on all modules in the main package</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_helpshort"><a class="link" href="#kudu-tserver_helpshort"><code>--helpshort</code></a></h3>
+<div class="paragraph">
+<p>show help on only the main module for this program</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_helpxml"><a class="link" href="#kudu-tserver_helpxml"><code>--helpxml</code></a></h3>
+<div class="paragraph">
+<p>produce an xml version of help</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>false</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_link"><a class="link" href="#kudu-tserver_log_link"><code>--log_link</code></a></h3>
+<div class="paragraph">
+<p>Put additional links to the log files in this directory</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_prefix"><a class="link" href="#kudu-tserver_log_prefix"><code>--log_prefix</code></a></h3>
+<div class="paragraph">
+<p>Prepend the log prefix to the start of each log line</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_minloglevel"><a class="link" href="#kudu-tserver_minloglevel"><code>--minloglevel</code></a></h3>
+<div class="paragraph">
+<p>Messages logged at a lower level than this don&#8217;t actually get logged anywhere</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>0</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_stderrthreshold"><a class="link" href="#kudu-tserver_stderrthreshold"><code>--stderrthreshold</code></a></h3>
+<div class="paragraph">
+<p>log messages at or above this level are copied to stderr in addition to logfiles.  This flag obsoletes --alsologtostderr.</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>2</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_stop_logging_if_full_disk"><a class="link" href="#kudu-tserver_stop_logging_if_full_disk"><code>--stop_logging_if_full_disk</code></a></h3>
+<div class="paragraph">
+<p>Stop attempting to log to disk if the disk is full.</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>false</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_symbolize_stacktrace"><a class="link" href="#kudu-tserver_symbolize_stacktrace"><code>--symbolize_stacktrace</code></a></h3>
+<div class="paragraph">
+<p>Symbolize the stack trace in the tombstone</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,stable,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_v"><a class="link" href="#kudu-tserver_v"><code>--v</code></a></h3>
+<div class="paragraph">
+<p>Show all VLOG(m) messages for m &#8656; this. Overridable by --vmodule.</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>0</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">runtime,stable,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_vmodule"><a class="link" href="#kudu-tserver_vmodule"><code>--vmodule</code></a></h3>
+<div class="paragraph">
+<p>per-module verbose level. Argument is a comma-separated list of &lt;module name&gt;=&lt;log level&gt;. &lt;module name&gt; is a glob pattern, matched against the filename base (that is, name ignoring .cc/.h./-inl.h). &lt;log level&gt; overrides any value given by --v.</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">string</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">none</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,stable</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_evolving"><a class="link" href="#kudu-tserver_evolving">Evolving Flags</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Flags tagged <code>evolving</code> (or not tagged with a stability tag) are not yet
+considered final, and while they may be useful for tuning, they are subject to
+being changed or removed without notice.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_cache_type"><a class="link" href="#kudu-tserver_block_cache_type"><code>--block_cache_type</code></a></h3>
+<div class="paragraph">
+<p>Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.</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">string</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>DRAM</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cfile_verify_checksums"><a class="link" href="#kudu-tserver_cfile_verify_checksums"><code>--cfile_verify_checksums</code></a></h3>
+<div class="paragraph">
+<p>Verify the checksum for each block on read if one exists</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">evolving</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cfile_default_block_size"><a class="link" href="#kudu-tserver_cfile_default_block_size"><code>--cfile_default_block_size</code></a></h3>
+<div class="paragraph">
+<p>The default block size to use in cfiles</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>262144</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cfile_default_compression_codec"><a class="link" href="#kudu-tserver_cfile_default_compression_codec"><code>--cfile_default_compression_codec</code></a></h3>
+<div class="paragraph">
+<p>Default cfile block compression codec.</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">string</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>no_compression</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cfile_write_checksums"><a class="link" href="#kudu-tserver_cfile_write_checksums"><code>--cfile_write_checksums</code></a></h3>
+<div class="paragraph">
+<p>Write CRC32 checksums for each block</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">evolving</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-tserver_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_show_attributes"><a class="link" href="#kudu-tserver_show_attributes"><code>--show_attributes</code></a></h3>
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_builtin_ntp_client_bind_address"><a class="link" href="#kudu-tserver_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h3>
+<div class="paragraph">
+<p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_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">string</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>0.0.0.0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_builtin_ntp_poll_interval_ms"><a class="link" href="#kudu-tserver_builtin_ntp_poll_interval_ms"><code>--builtin_ntp_poll_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The time between successive polls of a single NTP server (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">uint32</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>16000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_max_clock_sync_error_usec"><a class="link" href="#kudu-tserver_max_clock_sync_error_usec"><code>--max_clock_sync_error_usec</code></a></h3>
+<div class="paragraph">
+<p>Maximum allowed clock synchronization error as reported by NTP before the server will abort.</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>10000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_ntp_initial_sync_wait_secs"><a class="link" href="#kudu-tserver_ntp_initial_sync_wait_secs"><code>--ntp_initial_sync_wait_secs</code></a></h3>
+<div class="paragraph">
+<p>Amount of time in seconds to wait for clock synchronisation at startup. A value of zero means Kudu will fail to start if the clock is unsynchronized. This flag can prevent Kudu from crashing if it starts before NTP can synchronize the clock.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_predicate_effectivess_enabled"><a class="link" href="#kudu-tserver_predicate_effectivess_enabled"><code>--predicate_effectivess_enabled</code></a></h3>
+<div class="paragraph">
+<p>Should ineffective predicate filtering be disabled</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_predicate_effectivess_num_skip_blocks"><a class="link" href="#kudu-tserver_predicate_effectivess_num_skip_blocks"><code>--predicate_effectivess_num_skip_blocks</code></a></h3>
+<div class="paragraph">
+<p>Number of blocks to skip for every predicate effectiveness check</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_predicate_effectivess_reject_ratio"><a class="link" href="#kudu-tserver_predicate_effectivess_reject_ratio"><code>--predicate_effectivess_reject_ratio</code></a></h3>
+<div class="paragraph">
+<p>Rejection ratio below which predicate filter is considered ineffective</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>0.10000000000000001</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cmeta_force_fsync"><a class="link" href="#kudu-tserver_cmeta_force_fsync"><code>--cmeta_force_fsync</code></a></h3>
+<div class="paragraph">
+<p>Whether fsync() should be called when consensus metadata files are updated</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_consensus_rpc_timeout_ms"><a class="link" href="#kudu-tserver_consensus_rpc_timeout_ms"><code>--consensus_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout used for all consensus internal RPC communications.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_consensus_max_batch_size_bytes"><a class="link" href="#kudu-tserver_consensus_max_batch_size_bytes"><code>--consensus_max_batch_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum per-tablet RPC batch size when updating peers.</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>1048576</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_follower_unavailable_considered_failed_sec"><a class="link" href="#kudu-tserver_follower_unavailable_considered_failed_sec"><code>--follower_unavailable_considered_failed_sec</code></a></h3>
+<div class="paragraph">
+<p>Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.</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>300</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fs_wal_dir_reserved_bytes"><a class="link" href="#kudu-tserver_fs_wal_dir_reserved_bytes"><code>--fs_wal_dir_reserved_bytes</code></a></h3>
+<div class="paragraph">
+<p>Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fs_wal_use_file_cache"><a class="link" href="#kudu-tserver_fs_wal_use_file_cache"><code>--fs_wal_use_file_cache</code></a></h3>
+<div class="paragraph">
+<p>Whether to use the server-wide file cache for WAL segments and WAL index chunks.</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_group_commit_queue_size_bytes"><a class="link" href="#kudu-tserver_group_commit_queue_size_bytes"><code>--group_commit_queue_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>Maximum size of the group commit queue in bytes</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>4194304</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_min_segments_to_retain"><a class="link" href="#kudu-tserver_log_min_segments_to_retain"><code>--log_min_segments_to_retain</code></a></h3>
+<div class="paragraph">
+<p>The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.</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>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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_global_log_cache_size_limit_mb"><a class="link" href="#kudu-tserver_global_log_cache_size_limit_mb"><code>--global_log_cache_size_limit_mb</code></a></h3>
+<div class="paragraph">
+<p>Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.</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>1024</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_cache_size_limit_mb"><a class="link" href="#kudu-tserver_log_cache_size_limit_mb"><code>--log_cache_size_limit_mb</code></a></h3>
+<div class="paragraph">
+<p>The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.</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>128</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_async_preallocate_segments"><a class="link" href="#kudu-tserver_log_async_preallocate_segments"><code>--log_async_preallocate_segments</code></a></h3>
+<div class="paragraph">
+<p>Whether the WAL segments preallocation should happen asynchronously</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_preallocate_segments"><a class="link" href="#kudu-tserver_log_preallocate_segments"><code>--log_preallocate_segments</code></a></h3>
+<div class="paragraph">
+<p>Whether the WAL should preallocate the entire segment before writing to it</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_segment_size_mb"><a class="link" href="#kudu-tserver_log_segment_size_mb"><code>--log_segment_size_mb</code></a></h3>
+<div class="paragraph">
+<p>The default size for log segments, in MB</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>8</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_evict_failed_followers"><a class="link" href="#kudu-tserver_evict_failed_followers"><code>--evict_failed_followers</code></a></h3>
+<div class="paragraph">
+<p>Whether to evict followers from the Raft config that have fallen too far behind the leader&#8217;s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_leader_failure_max_missed_heartbeat_periods"><a class="link" href="#kudu-tserver_leader_failure_max_missed_heartbeat_periods"><code>--leader_failure_max_missed_heartbeat_periods</code></a></h3>
+<div class="paragraph">
+<p>Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_raft_heartbeat_interval_ms"><a class="link" href="#kudu-tserver_raft_heartbeat_interval_ms"><code>--raft_heartbeat_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.</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>500</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fs_data_dirs_available_space_cache_seconds"><a class="link" href="#kudu-tserver_fs_data_dirs_available_space_cache_seconds"><code>--fs_data_dirs_available_space_cache_seconds</code></a></h3>
+<div class="paragraph">
+<p>Number of seconds we cache the available disk space in the block manager.</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">evolving,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fs_data_dirs_consider_available_space"><a class="link" href="#kudu-tserver_fs_data_dirs_consider_available_space"><code>--fs_data_dirs_consider_available_space</code></a></h3>
+<div class="paragraph">
+<p>Whether to consider available space when selecting a data directory during tablet or data block creation.</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">evolving,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fs_data_dirs_reserved_bytes"><a class="link" href="#kudu-tserver_fs_data_dirs_reserved_bytes"><code>--fs_data_dirs_reserved_bytes</code></a></h3>
+<div class="paragraph">
+<p>Number of bytes to reserve on each data directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fs_max_thread_count_per_data_dir"><a class="link" href="#kudu-tserver_fs_max_thread_count_per_data_dir"><code>--fs_max_thread_count_per_data_dir</code></a></h3>
+<div class="paragraph">
+<p>Maximum work thread per data directory.</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">uint64</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>8</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_fs_target_data_dirs_per_tablet"><a class="link" href="#kudu-tserver_fs_target_data_dirs_per_tablet"><code>--fs_target_data_dirs_per_tablet</code></a></h3>
+<div class="paragraph">
+<p>Indicates the target number of data dirs to spread each tablet&#8217;s data across. If greater than the number of data dirs available, data will be striped across those available. A value of 0 indicates striping should occur across all healthy data dirs. Using fewer data dirs per tablet means a single drive failure will be less likely to affect a given tablet.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_manager"><a class="link" href="#kudu-tserver_block_manager"><code>--block_manager</code></a></h3>
+<div class="paragraph">
+<p>Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.</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">string</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>log</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_container_excess_space_before_cleanup_fraction"><a class="link" href="#kudu-tserver_log_container_excess_space_before_cleanup_fraction"><code>--log_container_excess_space_before_cleanup_fraction</code></a></h3>
+<div class="paragraph">
+<p>Additional fraction of a log container&#8217;s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.</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>0.10000000000000001</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_container_max_blocks"><a class="link" href="#kudu-tserver_log_container_max_blocks"><code>--log_container_max_blocks</code></a></h3>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_container_max_size"><a class="link" href="#kudu-tserver_log_container_max_size"><code>--log_container_max_size</code></a></h3>
+<div class="paragraph">
+<p>Maximum size (soft) of a log container</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">uint64</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>10737418240</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_container_preallocate_bytes"><a class="link" href="#kudu-tserver_log_container_preallocate_bytes"><code>--log_container_preallocate_bytes</code></a></h3>
+<div class="paragraph">
+<p>Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation</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">uint64</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>33554432</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_server_thread_pool_max_thread_count"><a class="link" href="#kudu-tserver_server_thread_pool_max_thread_count"><code>--server_thread_pool_max_thread_count</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of threads to allow in each server-wide thread pool. If -1, Kudu will automatically calculate this value. It is an error to use a value of 0.</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>-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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_acceptor_listen_backlog"><a class="link" href="#kudu-tserver_rpc_acceptor_listen_backlog"><code>--rpc_acceptor_listen_backlog</code></a></h3>
+<div class="paragraph">
+<p>Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.</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>128</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_encrypt_loopback_connections"><a class="link" href="#kudu-tserver_rpc_encrypt_loopback_connections"><code>--rpc_encrypt_loopback_connections</code></a></h3>
+<div class="paragraph">
+<p>Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_callback_max_cycles"><a class="link" href="#kudu-tserver_rpc_callback_max_cycles"><code>--rpc_callback_max_cycles</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)</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>100000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tcp_keepalive_probe_period_s"><a class="link" href="#kudu-tserver_tcp_keepalive_probe_period_s"><code>--tcp_keepalive_probe_period_s</code></a></h3>
+<div class="paragraph">
+<p>The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tcp_keepalive_retry_count"><a class="link" href="#kudu-tserver_tcp_keepalive_retry_count"><code>--tcp_keepalive_retry_count</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tcp_keepalive_retry_period_s"><a class="link" href="#kudu-tserver_tcp_keepalive_retry_period_s"><code>--tcp_keepalive_retry_period_s</code></a></h3>
+<div class="paragraph">
+<p>The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_remember_clients_ttl_ms"><a class="link" href="#kudu-tserver_remember_clients_ttl_ms"><code>--remember_clients_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.</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>3600000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_remember_responses_ttl_ms"><a class="link" href="#kudu-tserver_remember_responses_ttl_ms"><code>--remember_responses_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.</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>600000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_dump_all_traces"><a class="link" href="#kudu-tserver_rpc_dump_all_traces"><code>--rpc_dump_all_traces</code></a></h3>
+<div class="paragraph">
+<p>If true, dump all RPC traces at INFO level</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_duration_too_long_ms"><a class="link" href="#kudu-tserver_rpc_duration_too_long_ms"><code>--rpc_duration_too_long_ms</code></a></h3>
+<div class="paragraph">
+<p>Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_trusted_subnets"><a class="link" href="#kudu-tserver_trusted_subnets"><code>--trusted_subnets</code></a></h3>
+<div class="paragraph">
+<p>A trusted subnet whitelist. If set explicitly, all unauthenticated or unencrypted connections are prohibited except the ones from the specified address blocks. Otherwise, private network (127.0.0.0/8, etc.) and local subnets of all local network interfaces will be used. Set it to '0.0.0.0/0' to allow unauthenticated/unencrypted connections from all remote IP addresses. However, if network access is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized access.</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">string</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>127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_max_message_size"><a class="link" href="#kudu-tserver_rpc_max_message_size"><code>--rpc_max_message_size</code></a></h3>
+<div class="paragraph">
+<p>The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.</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>52428800</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_use_system_auth_to_local"><a class="link" href="#kudu-tserver_use_system_auth_to_local"><code>--use_system_auth_to_local</code></a></h3>
+<div class="paragraph">
+<p>When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_metrics_default_level"><a class="link" href="#kudu-tserver_metrics_default_level"><code>--metrics_default_level</code></a></h3>
+<div class="paragraph">
+<p>The default severity level to use when filtering the metrics. Valid choices are 'debug', 'info', and 'warn'. The levels are ordered and lower levels include the levels above them. This value can be overridden by passing the level query parameter to the '/metrics' endpoint.</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">string</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>debug</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_web_log_bytes"><a class="link" href="#kudu-tserver_web_log_bytes"><code>--web_log_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of bytes to display on the debug webserver&#8217;s log page</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_advertised_addresses"><a class="link" href="#kudu-tserver_rpc_advertised_addresses"><code>--rpc_advertised_addresses</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_num_acceptors_per_address"><a class="link" href="#kudu-tserver_rpc_num_acceptors_per_address"><code>--rpc_num_acceptors_per_address</code></a></h3>
+<div class="paragraph">
+<p>Number of RPC acceptor threads for each bound address</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>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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_num_service_threads"><a class="link" href="#kudu-tserver_rpc_num_service_threads"><code>--rpc_num_service_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of RPC worker threads to run</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>20</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_service_queue_length"><a class="link" href="#kudu-tserver_rpc_service_queue_length"><code>--rpc_service_queue_length</code></a></h3>
+<div class="paragraph">
+<p>Default length of queue for incoming RPC requests</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>50</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_gc_tcmalloc_memory_interval_seconds"><a class="link" href="#kudu-tserver_gc_tcmalloc_memory_interval_seconds"><code>--gc_tcmalloc_memory_interval_seconds</code></a></h3>
+<div class="paragraph">
+<p>Interval seconds to GC tcmalloc memory, 0 means disabled.</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">uint64</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>30</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_max_negotiation_threads"><a class="link" href="#kudu-tserver_max_negotiation_threads"><code>--max_negotiation_threads</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of connection negotiation threads.</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>50</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_min_negotiation_threads"><a class="link" href="#kudu-tserver_min_negotiation_threads"><code>--min_negotiation_threads</code></a></h3>
+<div class="paragraph">
+<p>Minimum number of connection negotiation threads.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_num_reactor_threads"><a class="link" href="#kudu-tserver_num_reactor_threads"><code>--num_reactor_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of libev reactor threads to start.</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>4</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_authentication"><a class="link" href="#kudu-tserver_rpc_authentication"><code>--rpc_authentication</code></a></h3>
+<div class="paragraph">
+<p>Whether to require RPC connections to authenticate. Must be one of 'disabled', 'optional', or 'required'. If 'optional', authentication will be used when the remote end supports it. If 'required', connections which are not able to authenticate (because the remote end lacks support) are rejected. Secure clusters should use 'required'.</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">string</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>optional</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_default_keepalive_time_ms"><a class="link" href="#kudu-tserver_rpc_default_keepalive_time_ms"><code>--rpc_default_keepalive_time_ms</code></a></h3>
+<div class="paragraph">
+<p>If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.</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>65000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_encryption"><a class="link" href="#kudu-tserver_rpc_encryption"><code>--rpc_encryption</code></a></h3>
+<div class="paragraph">
+<p>Whether to require RPC connections to be encrypted. Must be one of 'disabled', 'optional', or 'required'. If 'optional', encryption will be used when the remote end supports it. If 'required', connections which are not able to use encryption (because the remote end lacks support) are rejected. If 'disabled', encryption will not be used, and RPC authentication (--rpc_authentication) must also be disabled as well. Secure clusters should use 'required'.</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">string</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>optional</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_negotiation_timeout_ms"><a class="link" href="#kudu-tserver_rpc_negotiation_timeout_ms"><code>--rpc_negotiation_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout for negotiating an RPC connection, 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">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>3000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_private_key_password_cmd"><a class="link" href="#kudu-tserver_rpc_private_key_password_cmd"><code>--rpc_private_key_password_cmd</code></a></h3>
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the RPC server&#8217;s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_tls_ciphers"><a class="link" href="#kudu-tserver_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h3>
+<div class="paragraph">
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_tls_ciphersuites"><a class="link" href="#kudu-tserver_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h3>
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_tls_min_protocol"><a class="link" href="#kudu-tserver_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h3>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</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">string</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>TLSv1</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_server_max_open_files"><a class="link" href="#kudu-tserver_server_max_open_files"><code>--server_max_open_files</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. 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">uint64</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_enabled"><a class="link" href="#kudu-tserver_webserver_enabled"><code>--webserver_enabled</code></a></h3>
+<div class="paragraph">
+<p>Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_metrics_log_interval_ms"><a class="link" href="#kudu-tserver_metrics_log_interval_ms"><code>--metrics_log_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_max_post_length_bytes"><a class="link" href="#kudu-tserver_webserver_max_post_length_bytes"><code>--webserver_max_post_length_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum length of a POST request that will be accepted by the embedded web server.</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_x_frame_options"><a class="link" href="#kudu-tserver_webserver_x_frame_options"><code>--webserver_x_frame_options</code></a></h3>
+<div class="paragraph">
+<p>The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.</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">string</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>DENY</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_advertised_addresses"><a class="link" href="#kudu-tserver_webserver_advertised_addresses"><code>--webserver_advertised_addresses</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_authentication_domain"><a class="link" href="#kudu-tserver_webserver_authentication_domain"><code>--webserver_authentication_domain</code></a></h3>
+<div class="paragraph">
+<p>Domain used for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_doc_root"><a class="link" href="#kudu-tserver_webserver_doc_root"><code>--webserver_doc_root</code></a></h3>
+<div class="paragraph">
+<p>Files under &lt;webserver_doc_root&gt; are accessible via the debug webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_enable_doc_root"><a class="link" href="#kudu-tserver_webserver_enable_doc_root"><code>--webserver_enable_doc_root</code></a></h3>
+<div class="paragraph">
+<p>If true, webserver may serve static files from the webserver_doc_root</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_interface"><a class="link" href="#kudu-tserver_webserver_interface"><code>--webserver_interface</code></a></h3>
+<div class="paragraph">
+<p>Interface to start debug webserver on. If blank, webserver binds to 0.0.0.0</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_num_worker_threads"><a class="link" href="#kudu-tserver_webserver_num_worker_threads"><code>--webserver_num_worker_threads</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of threads to start for handling web server requests</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>50</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_password_file"><a class="link" href="#kudu-tserver_webserver_password_file"><code>--webserver_password_file</code></a></h3>
+<div class="paragraph">
+<p>(Optional) Location of .htpasswd file containing user names and hashed passwords for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_tls_ciphers"><a class="link" href="#kudu-tserver_webserver_tls_ciphers"><code>--webserver_tls_ciphers</code></a></h3>
+<div class="paragraph">
+<p>The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_webserver_tls_min_protocol"><a class="link" href="#kudu-tserver_webserver_tls_min_protocol"><code>--webserver_tls_min_protocol</code></a></h3>
+<div class="paragraph">
+<p>The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</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">string</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>TLSv1</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_compaction_minimum_improvement"><a class="link" href="#kudu-tserver_compaction_minimum_improvement"><code>--compaction_minimum_improvement</code></a></h3>
+<div class="paragraph">
+<p>The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.</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>0.0099999997764825821</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_transaction_memory_limit_mb"><a class="link" href="#kudu-tserver_tablet_transaction_memory_limit_mb"><code>--tablet_transaction_memory_limit_mb</code></a></h3>
+<div class="paragraph">
+<p>Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.</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>64</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_bloom_block_size"><a class="link" href="#kudu-tserver_tablet_bloom_block_size"><code>--tablet_bloom_block_size</code></a></h3>
+<div class="paragraph">
+<p>Block size of the bloom filters used for tablet keys.</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>4096</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_bloom_target_fp_rate"><a class="link" href="#kudu-tserver_tablet_bloom_target_fp_rate"><code>--tablet_bloom_target_fp_rate</code></a></h3>
+<div class="paragraph">
+<p>Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.</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>9.9999997473787516e-05</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_enable_deleted_rowset_gc"><a class="link" href="#kudu-tserver_enable_deleted_rowset_gc"><code>--enable_deleted_rowset_gc</code></a></h3>
+<div class="paragraph">
+<p>Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_undo_delta_block_gc_init_budget_millis"><a class="link" href="#kudu-tserver_undo_delta_block_gc_init_budget_millis"><code>--undo_delta_block_gc_init_budget_millis</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of milliseconds we will spend initializing UNDO delta blocks per invocation of UndoDeltaBlockGCOp. Existing delta blocks must be initialized once per process startup to determine when they can be deleted.</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,evolving</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-tserver_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-tserver_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h3>
+<div class="paragraph">
+<p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_heartbeat_interval_ms"><a class="link" href="#kudu-tserver_heartbeat_interval_ms"><code>--heartbeat_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval at which the TS heartbeats to the master.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_heartbeat_max_failures_before_backoff"><a class="link" href="#kudu-tserver_heartbeat_max_failures_before_backoff"><code>--heartbeat_max_failures_before_backoff</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.</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>3</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_heartbeat_rpc_timeout_ms"><a class="link" href="#kudu-tserver_heartbeat_rpc_timeout_ms"><code>--heartbeat_rpc_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout used for the TS&#8594;Master heartbeat RPCs.</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>15000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_ttl_ms"><a class="link" href="#kudu-tserver_scanner_ttl_ms"><code>--scanner_ttl_ms</code></a></h3>
+<div class="paragraph">
+<p>Number of milliseconds of inactivity allowed for a scannerbefore it may be expired</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_copy_begin_session_timeout_ms"><a class="link" href="#kudu-tserver_tablet_copy_begin_session_timeout_ms"><code>--tablet_copy_begin_session_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_copy_download_threads_nums_per_session"><a class="link" href="#kudu-tserver_tablet_copy_download_threads_nums_per_session"><code>--tablet_copy_download_threads_nums_per_session</code></a></h3>
+<div class="paragraph">
+<p>Number of threads per tablet copy session for downloading tablet data blocks.</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>4</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_copy_idle_timeout_sec"><a class="link" href="#kudu-tserver_tablet_copy_idle_timeout_sec"><code>--tablet_copy_idle_timeout_sec</code></a></h3>
+<div class="paragraph">
+<p>Amount of time without activity before a tablet copy session will expire, in seconds</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">uint64</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>600</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_apply_pool_overload_threshold_ms"><a class="link" href="#kudu-tserver_tablet_apply_pool_overload_threshold_ms"><code>--tablet_apply_pool_overload_threshold_ms</code></a></h3>
+<div class="paragraph">
+<p>The threshold for the queue time of the 'apply' thread pool to enter and exit overloaded state. Once the queue stalls and its queue times become longer than the specified threshold, it enters the overloaded state. Tablet server rejects incoming write requests with some probability when its apply queue is overloaded. The longer the apply queue stays overloaded, the greater the probability of the rejection. In addition, the more row operations a write request has, the greater the probablity of the rejection. The apply queue exits the overloaded state when queue times drop below the specified threshold. Set this flag to 0 to disable the behavior described above.</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">uint32</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_batch_size_rows"><a class="link" href="#kudu-tserver_scanner_batch_size_rows"><code>--scanner_batch_size_rows</code></a></h3>
+<div class="paragraph">
+<p>The number of rows to batch for servicing scan requests.</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_default_batch_size_bytes"><a class="link" href="#kudu-tserver_scanner_default_batch_size_bytes"><code>--scanner_default_batch_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>The default size for batches of scan results</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_max_batch_size_bytes"><a class="link" href="#kudu-tserver_scanner_max_batch_size_bytes"><code>--scanner_max_batch_size_bytes</code></a></h3>
+<div class="paragraph">
+<p>The maximum batch size that a client may request for scan results.</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>8388608</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_max_wait_ms"><a class="link" href="#kudu-tserver_scanner_max_wait_ms"><code>--scanner_max_wait_ms</code></a></h3>
+<div class="paragraph">
+<p>The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for 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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tserver_enforce_access_control"><a class="link" href="#kudu-tserver_tserver_enforce_access_control"><code>--tserver_enforce_access_control</code></a></h3>
+<div class="paragraph">
+<p>If set, the server will apply fine-grained access control rules to client RPCs.</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>false</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_num_tablets_to_delete_simultaneously"><a class="link" href="#kudu-tserver_num_tablets_to_delete_simultaneously"><code>--num_tablets_to_delete_simultaneously</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<div class="paragraph">
+<p>Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-tserver_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h3>
+<div class="paragraph">
+<p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_txn_commit_pool_num_threads"><a class="link" href="#kudu-tserver_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h3>
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_update_tablet_stats_interval_ms"><a class="link" href="#kudu-tserver_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h3>
+<div class="paragraph">
+<p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</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>5000</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_aws_instance_id_url"><a class="link" href="#kudu-tserver_cloud_aws_instance_id_url"><code>--cloud_aws_instance_id_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an AWS instance</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">string</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><a href="http://169.254.169.254/latest/meta-data/instance-id" class="bare">http://169.254.169.254/latest/meta-data/instance-id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_aws_ntp_server"><a class="link" href="#kudu-tserver_cloud_aws_ntp_server"><code>--cloud_aws_ntp_server</code></a></h3>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within an AWS instance</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">string</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>169.254.169.123</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_azure_instance_id_url"><a class="link" href="#kudu-tserver_cloud_azure_instance_id_url"><code>--cloud_azure_instance_id_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch the identifier of an Azure instance</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">string</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><a href="http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text" class="bare">http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_gce_instance_id_url"><a class="link" href="#kudu-tserver_cloud_gce_instance_id_url"><code>--cloud_gce_instance_id_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch the identifier of a GCE instance</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">string</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><a href="http://metadata.google.internal/computeMetadata/v1/instance/id" class="bare">http://metadata.google.internal/computeMetadata/v1/instance/id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_gce_ntp_server"><a class="link" href="#kudu-tserver_cloud_gce_ntp_server"><code>--cloud_gce_ntp_server</code></a></h3>
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within a GCE instance</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">string</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>metadata.google.internal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_metadata_server_request_timeout_ms"><a class="link" href="#kudu-tserver_cloud_metadata_server_request_timeout_ms"><code>--cloud_metadata_server_request_timeout_ms</code></a></h3>
+<div class="paragraph">
+<p>Timeout for HTTP/HTTPS requests to the instance metadata server (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">uint32</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cloud_openstack_metadata_url"><a class="link" href="#kudu-tserver_cloud_openstack_metadata_url"><code>--cloud_openstack_metadata_url</code></a></h3>
+<div class="paragraph">
+<p>The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.</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">string</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><a href="http://169.254.169.254/openstack/latest/meta_data.json" class="bare">http://169.254.169.254/openstack/latest/meta_data.json</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_env_use_fsync"><a class="link" href="#kudu-tserver_env_use_fsync"><code>--env_use_fsync</code></a></h3>
+<div class="paragraph">
+<p>Use fsync(2) instead of fdatasync(2) for synchronizing dirty data to disk.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 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></h3>
+<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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_disable_core_dumps"><a class="link" href="#kudu-tserver_disable_core_dumps"><code>--disable_core_dumps</code></a></h3>
+<div class="paragraph">
+<p>Disable core dumps when this process crashes.</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>false</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_redact"><a class="link" href="#kudu-tserver_redact"><code>--redact</code></a></h3>
+<div class="paragraph">
+<p>Comma-separated list that controls redaction context. Supported options are 'all','log', and 'none'. If 'all' is specified, sensitive data (sensitive configuration flags and row data) will be redacted from the web UI as well as glog and error messages. If 'log' is specified, sensitive data will only be redacted from glog and error messages. If 'none' is specified, no redaction will occur.</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">string</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>all</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_umask"><a class="link" href="#kudu-tserver_umask"><code>--umask</code></a></h3>
+<div class="paragraph">
+<p>The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.</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">string</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>077</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_metrics_retirement_age_ms"><a class="link" href="#kudu-tserver_metrics_retirement_age_ms"><code>--metrics_retirement_age_ms</code></a></h3>
+<div class="paragraph">
+<p>The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)</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>120000</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_enable_minidumps"><a class="link" href="#kudu-tserver_enable_minidumps"><code>--enable_minidumps</code></a></h3>
+<div class="paragraph">
+<p>Whether to enable minidump generation upon process crash or SIGUSR1. Currently only supported on Linux systems.</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">evolving,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_max_minidumps"><a class="link" href="#kudu-tserver_max_minidumps"><code>--max_minidumps</code></a></h3>
+<div class="paragraph">
+<p>Maximum number of minidump files to keep per daemon. Older files are removed first. Set to 0 to keep all minidump files.</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>9</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_minidump_path"><a class="link" href="#kudu-tserver_minidump_path"><code>--minidump_path</code></a></h3>
+<div class="paragraph">
+<p>Directory to write minidump files to. This can be either an absolute path or a path relative to --log_dir. Each daemon will create an additional sub-directory to prevent naming conflicts and to make it easier to identify a crashing daemon. Minidump files contain crash-related information in a compressed format. Minidumps will be written when a daemon exits unexpectedly, for example on an unhandled exception or signal, or when a SIGUSR1 signal is sent to the process. Cannot be set to an empty value.</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">string</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>minidumps</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</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_minidump_size_limit_hint_kb"><a class="link" href="#kudu-tserver_minidump_size_limit_hint_kb"><code>--minidump_size_limit_hint_kb</code></a></h3>
+<div class="paragraph">
+<p>Size limit hint for minidump files in KB. If a minidump exceeds this value, then breakpad will reduce the stack memory it collects for each thread from 8KB to 2KB. However it will always include the full stack memory for the first 20 threads, including the thread that crashed.</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>20480</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_dns_resolver_cache_capacity_mb"><a class="link" href="#kudu-tserver_dns_resolver_cache_capacity_mb"><code>--dns_resolver_cache_capacity_mb</code></a></h3>
+<div class="paragraph">
+<p>Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.</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">uint32</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_dns_resolver_cache_ttl_sec"><a class="link" href="#kudu-tserver_dns_resolver_cache_ttl_sec"><code>--dns_resolver_cache_ttl_sec</code></a></h3>
+<div class="paragraph">
+<p>TTL of records in the DNS resolver cache, in seconds.</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">uint32</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>15</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_dns_resolver_max_threads_num"><a class="link" href="#kudu-tserver_dns_resolver_max_threads_num"><code>--dns_resolver_max_threads_num</code></a></h3>
+<div class="paragraph">
+<p>The maximum number of threads to use for async DNS resolution</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>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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_nvm_cache_path"><a class="link" href="#kudu-tserver_nvm_cache_path"><code>--nvm_cache_path</code></a></h3>
+<div class="paragraph">
+<p>The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.</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">string</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>/pmem</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_nvm_cache_usage_ratio"><a class="link" href="#kudu-tserver_nvm_cache_usage_ratio"><code>--nvm_cache_usage_ratio</code></a></h3>
+<div class="paragraph">
+<p>A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.</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.25</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_memory_limit_soft_percentage"><a class="link" href="#kudu-tserver_memory_limit_soft_percentage"><code>--memory_limit_soft_percentage</code></a></h3>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher 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">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>80</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_memory_limit_warn_threshold_percentage"><a class="link" href="#kudu-tserver_memory_limit_warn_threshold_percentage"><code>--memory_limit_warn_threshold_percentage</code></a></h3>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.</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>98</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_memory_pressure_percentage"><a class="link" href="#kudu-tserver_memory_pressure_percentage"><code>--memory_pressure_percentage</code></a></h3>
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.</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>60</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tcmalloc_max_free_bytes_percentage"><a class="link" href="#kudu-tserver_tcmalloc_max_free_bytes_percentage"><code>--tcmalloc_max_free_bytes_percentage</code></a></h3>
+<div class="paragraph">
+<p>Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_drop_log_memory"><a class="link" href="#kudu-tserver_drop_log_memory"><code>--drop_log_memory</code></a></h3>
+<div class="paragraph">
+<p>Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_backtrace_at"><a class="link" href="#kudu-tserver_log_backtrace_at"><code>--log_backtrace_at</code></a></h3>
+<div class="paragraph">
+<p>Emit a backtrace when logging at file:linenum.</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">string</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">none</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 class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_logbuflevel"><a class="link" href="#kudu-tserver_logbuflevel"><code>--logbuflevel</code></a></h3>
+<div class="paragraph">
+<p>Buffer log messages logged at this level or lower (-1 means don&#8217;t buffer; 0 means buffer INFO only; &#8230;&#8203;)</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>0</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_logbufsecs"><a class="link" href="#kudu-tserver_logbufsecs"><code>--logbufsecs</code></a></h3>
+<div class="paragraph">
+<p>Buffer log messages for at most this many seconds</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>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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_logfile_mode"><a class="link" href="#kudu-tserver_logfile_mode"><code>--logfile_mode</code></a></h3>
+<div class="paragraph">
+<p>Log file mode/permissions.</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>436</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"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+<hr>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/kudu-tserver_configuration_reference_unsupported.html b/releases/1.15.0/docs/kudu-tserver_configuration_reference_unsupported.html
new file mode 100644
index 0000000..026bb41
--- /dev/null
+++ b/releases/1.15.0/docs/kudu-tserver_configuration_reference_unsupported.html
@@ -0,0 +1,5744 @@
+<!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 - kudu-tserver Unsupported Flags</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1><code>kudu-tserver</code> Unsupported Flags</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>Flags not marked <code>stable</code> or <code>evolving</code> are considered experimental and are
+<strong>unsupported</strong>. They are included here for informational purposes only and are
+subject to being changed or removed without notice.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_block_cache_type"><a class="link" href="#kudu-tserver_block_cache_type"><code>--block_cache_type</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.</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">string</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>DRAM</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_min_compression_ratio"><a class="link" href="#kudu-tserver_min_compression_ratio"><code>--min_compression_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.</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>0.90000000000000002</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_cfile_default_block_size"><a class="link" href="#kudu-tserver_cfile_default_block_size"><code>--cfile_default_block_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The default block size to use in cfiles</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>262144</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_cfile_default_compression_codec"><a class="link" href="#kudu-tserver_cfile_default_compression_codec"><code>--cfile_default_compression_codec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Default cfile block compression codec.</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">string</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>no_compression</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_client_tablet_locations_by_id_ttl_ms"><a class="link" href="#kudu-tserver_client_tablet_locations_by_id_ttl_ms"><code>--client_tablet_locations_by_id_ttl_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.</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>3600000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_client_use_unix_domain_sockets"><a class="link" href="#kudu-tserver_client_use_unix_domain_sockets"><code>--client_use_unix_domain_sockets</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.</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>false</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_show_attributes"><a class="link" href="#kudu-tserver_show_attributes"><code>--show_attributes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to show column attributes, including column encoding type, compression type, and default read/write value.</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>false</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_builtin_ntp_client_bind_address"><a class="link" href="#kudu-tserver_builtin_ntp_client_bind_address"><code>--builtin_ntp_client_bind_address</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_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">string</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>0.0.0.0</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_builtin_ntp_poll_interval_ms"><a class="link" href="#kudu-tserver_builtin_ntp_poll_interval_ms"><code>--builtin_ntp_poll_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The time between successive polls of a single NTP server (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">uint32</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>16000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_builtin_ntp_request_timeout_ms"><a class="link" href="#kudu-tserver_builtin_ntp_request_timeout_ms"><code>--builtin_ntp_request_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout for requests sent to NTP servers (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">uint32</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>3000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_builtin_ntp_true_time_refresh_max_interval_s"><a class="link" href="#kudu-tserver_builtin_ntp_true_time_refresh_max_interval_s"><code>--builtin_ntp_true_time_refresh_max_interval_s</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum allowed time interval without refreshing computed true time estimation (in seconds)</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">uint32</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>3600</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_max_clock_sync_error_usec"><a class="link" href="#kudu-tserver_max_clock_sync_error_usec"><code>--max_clock_sync_error_usec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum allowed clock synchronization error as reported by NTP before the server will abort.</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>10000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_codegen_dump_functions"><a class="link" href="#kudu-tserver_codegen_dump_functions"><code>--codegen_dump_functions</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to print the LLVM IR for generated functions</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_codegen_dump_mc"><a class="link" href="#kudu-tserver_codegen_dump_mc"><code>--codegen_dump_mc</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to dump the disassembly of the machine code for generated functions.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_codegen_cache_capacity"><a class="link" href="#kudu-tserver_codegen_cache_capacity"><code>--codegen_cache_capacity</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of entries which may be stored in the code generation cache.</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>100</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_codegen_queue_capacity"><a class="link" href="#kudu-tserver_codegen_queue_capacity"><code>--codegen_queue_capacity</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of tasks which may be put in the code generation task queue.</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>100</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_codegen_time_compilation"><a class="link" href="#kudu-tserver_codegen_time_compilation"><code>--codegen_time_compilation</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to print time that each code generation request took.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_predicate_effectivess_enabled"><a class="link" href="#kudu-tserver_predicate_effectivess_enabled"><code>--predicate_effectivess_enabled</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Should ineffective predicate filtering be disabled</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_predicate_effectivess_num_skip_blocks"><a class="link" href="#kudu-tserver_predicate_effectivess_num_skip_blocks"><code>--predicate_effectivess_num_skip_blocks</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of blocks to skip for every predicate effectiveness check</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_predicate_effectivess_reject_ratio"><a class="link" href="#kudu-tserver_predicate_effectivess_reject_ratio"><code>--predicate_effectivess_reject_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Rejection ratio below which predicate filter is considered ineffective</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>0.10000000000000001</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_cmeta_force_fsync"><a class="link" href="#kudu-tserver_cmeta_force_fsync"><code>--cmeta_force_fsync</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether fsync() should be called when consensus metadata files are updated</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>false</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_consensus_rpc_timeout_ms"><a class="link" href="#kudu-tserver_consensus_rpc_timeout_ms"><code>--consensus_rpc_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout used for all consensus internal RPC communications.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_consensus_max_batch_size_bytes"><a class="link" href="#kudu-tserver_consensus_max_batch_size_bytes"><code>--consensus_max_batch_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum per-tablet RPC batch size when updating peers.</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>1048576</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_follower_unavailable_considered_failed_sec"><a class="link" href="#kudu-tserver_follower_unavailable_considered_failed_sec"><code>--follower_unavailable_considered_failed_sec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.</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>300</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_fs_wal_dir_reserved_bytes"><a class="link" href="#kudu-tserver_fs_wal_dir_reserved_bytes"><code>--fs_wal_dir_reserved_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_fs_wal_use_file_cache"><a class="link" href="#kudu-tserver_fs_wal_use_file_cache"><code>--fs_wal_use_file_cache</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to use the server-wide file cache for WAL segments and WAL index chunks.</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_group_commit_queue_size_bytes"><a class="link" href="#kudu-tserver_group_commit_queue_size_bytes"><code>--group_commit_queue_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum size of the group commit queue in bytes</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>4194304</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_compression_codec"><a class="link" href="#kudu-tserver_log_compression_codec"><code>--log_compression_codec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Codec to use for compressing WAL segments.</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">string</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>LZ4</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_log_max_segments_to_retain"><a class="link" href="#kudu-tserver_log_max_segments_to_retain"><code>--log_max_segments_to_retain</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum number of past log segments to keep at all times for the purposes of catching up other peers.</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>80</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_log_min_segments_to_retain"><a class="link" href="#kudu-tserver_log_min_segments_to_retain"><code>--log_min_segments_to_retain</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.</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>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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_global_log_cache_size_limit_mb"><a class="link" href="#kudu-tserver_global_log_cache_size_limit_mb"><code>--global_log_cache_size_limit_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.</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>1024</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_cache_size_limit_mb"><a class="link" href="#kudu-tserver_log_cache_size_limit_mb"><code>--log_cache_size_limit_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.</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>128</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_async_preallocate_segments"><a class="link" href="#kudu-tserver_log_async_preallocate_segments"><code>--log_async_preallocate_segments</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether the WAL segments preallocation should happen asynchronously</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_log_preallocate_segments"><a class="link" href="#kudu-tserver_log_preallocate_segments"><code>--log_preallocate_segments</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether the WAL should preallocate the entire segment before writing to it</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_log_segment_size_mb"><a class="link" href="#kudu-tserver_log_segment_size_mb"><code>--log_segment_size_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The default size for log segments, in MB</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>8</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_evict_failed_followers"><a class="link" href="#kudu-tserver_evict_failed_followers"><code>--evict_failed_followers</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to evict followers from the Raft config that have fallen too far behind the leader&#8217;s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_leader_failure_exp_backoff_max_delta_ms"><a class="link" href="#kudu-tserver_leader_failure_exp_backoff_max_delta_ms"><code>--leader_failure_exp_backoff_max_delta_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.</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>20000</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_leader_failure_max_missed_heartbeat_periods"><a class="link" href="#kudu-tserver_leader_failure_max_missed_heartbeat_periods"><code>--leader_failure_max_missed_heartbeat_periods</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.</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>3</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_raft_enable_pre_election"><a class="link" href="#kudu-tserver_raft_enable_pre_election"><code>--raft_enable_pre_election</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When enabled, candidates will call a pre-election before running a real leader election.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_raft_enable_tombstoned_voting"><a class="link" href="#kudu-tserver_raft_enable_tombstoned_voting"><code>--raft_enable_tombstoned_voting</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When enabled, tombstoned tablets may vote in elections.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_raft_heartbeat_interval_ms"><a class="link" href="#kudu-tserver_raft_heartbeat_interval_ms"><code>--raft_heartbeat_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.</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>500</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_raft_prepare_replacement_before_eviction"><a class="link" href="#kudu-tserver_raft_prepare_replacement_before_eviction"><code>--raft_prepare_replacement_before_eviction</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When enabled, failed replicas will only be evicted after a replacement has been prepared for them.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</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_manager_preflush_control"><a class="link" href="#kudu-tserver_block_manager_preflush_control"><code>--block_manager_preflush_control</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Controls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.</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">string</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>finalize</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_fs_max_thread_count_per_data_dir"><a class="link" href="#kudu-tserver_fs_max_thread_count_per_data_dir"><code>--fs_max_thread_count_per_data_dir</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum work thread per data directory.</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">uint64</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>8</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_block_manager"><a class="link" href="#kudu-tserver_block_manager"><code>--block_manager</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.</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">string</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>log</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_block_manager_delete_dead_container"><a class="link" href="#kudu-tserver_log_block_manager_delete_dead_container"><code>--log_block_manager_delete_dead_container</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_log_container_excess_space_before_cleanup_fraction"><a class="link" href="#kudu-tserver_log_container_excess_space_before_cleanup_fraction"><code>--log_container_excess_space_before_cleanup_fraction</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Additional fraction of a log container&#8217;s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.</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>0.10000000000000001</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_live_metadata_before_compact_ratio"><a class="link" href="#kudu-tserver_log_container_live_metadata_before_compact_ratio"><code>--log_container_live_metadata_before_compact_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Desired ratio of live block metadata in log containers. If a container&#8217;s live to total block ratio dips below this value, the container&#8217;s metadata file will be compacted at startup.</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>0.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_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">
+<p>Maximum size (soft) of a log container</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">uint64</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>10737418240</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_preallocate_bytes"><a class="link" href="#kudu-tserver_log_container_preallocate_bytes"><code>--log_container_preallocate_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation</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">uint64</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>33554432</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_rpc_acceptor_listen_backlog"><a class="link" href="#kudu-tserver_rpc_acceptor_listen_backlog"><code>--rpc_acceptor_listen_backlog</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.</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>128</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_rpc_encrypt_loopback_connections"><a class="link" href="#kudu-tserver_rpc_encrypt_loopback_connections"><code>--rpc_encrypt_loopback_connections</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.</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>false</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_rpc_trace_negotiation"><a class="link" href="#kudu-tserver_rpc_trace_negotiation"><code>--rpc_trace_negotiation</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If enabled, dump traces of all RPC negotiations to the log</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_rpc_callback_max_cycles"><a class="link" href="#kudu-tserver_rpc_callback_max_cycles"><code>--rpc_callback_max_cycles</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)</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>100000000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_tcp_keepalive_probe_period_s"><a class="link" href="#kudu-tserver_tcp_keepalive_probe_period_s"><code>--tcp_keepalive_probe_period_s</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.</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>60</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_tcp_keepalive_retry_count"><a class="link" href="#kudu-tserver_tcp_keepalive_retry_count"><code>--tcp_keepalive_retry_count</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.</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_tcp_keepalive_retry_period_s"><a class="link" href="#kudu-tserver_tcp_keepalive_retry_period_s"><code>--tcp_keepalive_retry_period_s</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.</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>3</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_remember_clients_ttl_ms"><a class="link" href="#kudu-tserver_remember_clients_ttl_ms"><code>--remember_clients_ttl_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.</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>3600000</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_remember_responses_ttl_ms"><a class="link" href="#kudu-tserver_remember_responses_ttl_ms"><code>--remember_responses_ttl_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.</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>600000</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_rpc_dump_all_traces"><a class="link" href="#kudu-tserver_rpc_dump_all_traces"><code>--rpc_dump_all_traces</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If true, dump all RPC traces at INFO level</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>false</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_rpc_duration_too_long_ms"><a class="link" href="#kudu-tserver_rpc_duration_too_long_ms"><code>--rpc_duration_too_long_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_rpc_max_message_size"><a class="link" href="#kudu-tserver_rpc_max_message_size"><code>--rpc_max_message_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.</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>52428800</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_use_system_auth_to_local"><a class="link" href="#kudu-tserver_use_system_auth_to_local"><code>--use_system_auth_to_local</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.</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_ipki_server_key_size"><a class="link" href="#kudu-tserver_ipki_server_key_size"><code>--ipki_server_key_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>the number of bits for server cert&#8217;s private key. The server cert is used for TLS connections to and from clients and other 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>2048</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_web_log_bytes"><a class="link" href="#kudu-tserver_web_log_bytes"><code>--web_log_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum number of bytes to display on the debug webserver&#8217;s log page</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_diagnostics_log_stack_traces_interval_ms"><a class="link" href="#kudu-tserver_diagnostics_log_stack_traces_interval_ms"><code>--diagnostics_log_stack_traces_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.</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">experimental,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_rpc_advertised_addresses"><a class="link" href="#kudu-tserver_rpc_advertised_addresses"><code>--rpc_advertised_addresses</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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_rpc_num_acceptors_per_address"><a class="link" href="#kudu-tserver_rpc_num_acceptors_per_address"><code>--rpc_num_acceptors_per_address</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of RPC acceptor threads for each bound address</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>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_rpc_num_service_threads"><a class="link" href="#kudu-tserver_rpc_num_service_threads"><code>--rpc_num_service_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of RPC worker threads to run</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>20</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_rpc_reuseport"><a class="link" href="#kudu-tserver_rpc_reuseport"><code>--rpc_reuseport</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to set the SO_REUSEPORT option on listening RPC sockets.</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>false</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_rpc_service_queue_length"><a class="link" href="#kudu-tserver_rpc_service_queue_length"><code>--rpc_service_queue_length</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Default length of queue for incoming RPC requests</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>50</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_gc_tcmalloc_memory_interval_seconds"><a class="link" href="#kudu-tserver_gc_tcmalloc_memory_interval_seconds"><code>--gc_tcmalloc_memory_interval_seconds</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Interval seconds to GC tcmalloc memory, 0 means disabled.</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">uint64</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>30</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_max_negotiation_threads"><a class="link" href="#kudu-tserver_max_negotiation_threads"><code>--max_negotiation_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of connection negotiation threads.</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>50</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_min_negotiation_threads"><a class="link" href="#kudu-tserver_min_negotiation_threads"><code>--min_negotiation_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Minimum number of connection negotiation threads.</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>0</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_reactor_threads"><a class="link" href="#kudu-tserver_num_reactor_threads"><code>--num_reactor_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of libev reactor threads to start.</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>4</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_rpc_ca_certificate_file"><a class="link" href="#kudu-tserver_rpc_ca_certificate_file"><code>--rpc_ca_certificate_file</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Path to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.</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">string</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">none</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_rpc_certificate_file"><a class="link" href="#kudu-tserver_rpc_certificate_file"><code>--rpc_certificate_file</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Path to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.</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">string</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">none</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_rpc_default_keepalive_time_ms"><a class="link" href="#kudu-tserver_rpc_default_keepalive_time_ms"><code>--rpc_default_keepalive_time_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.</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>65000</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_rpc_listen_on_unix_domain_socket"><a class="link" href="#kudu-tserver_rpc_listen_on_unix_domain_socket"><code>--rpc_listen_on_unix_domain_socket</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.</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>false</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_rpc_negotiation_timeout_ms"><a class="link" href="#kudu-tserver_rpc_negotiation_timeout_ms"><code>--rpc_negotiation_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout for negotiating an RPC connection, 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">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>3000</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_rpc_private_key_file"><a class="link" href="#kudu-tserver_rpc_private_key_file"><code>--rpc_private_key_file</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Path to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'</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">string</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">none</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_rpc_private_key_password_cmd"><a class="link" href="#kudu-tserver_rpc_private_key_password_cmd"><code>--rpc_private_key_password_cmd</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A Unix command whose output returns the password used to decrypt the RPC server&#8217;s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_rpc_tls_ciphers"><a class="link" href="#kudu-tserver_rpc_tls_ciphers"><code>--rpc_tls_ciphers</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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_rpc_tls_ciphersuites"><a class="link" href="#kudu-tserver_rpc_tls_ciphersuites"><code>--rpc_tls_ciphersuites</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.</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">string</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>TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256</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_rpc_tls_excluded_protocols"><a class="link" href="#kudu-tserver_rpc_tls_excluded_protocols"><code>--rpc_tls_excluded_protocols</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.</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">string</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">none</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_rpc_tls_min_protocol"><a class="link" href="#kudu-tserver_rpc_tls_min_protocol"><code>--rpc_tls_min_protocol</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.</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">string</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>TLSv1</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_server_max_open_files"><a class="link" href="#kudu-tserver_server_max_open_files"><code>--server_max_open_files</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. 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">uint64</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>0</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_webserver_enabled"><a class="link" href="#kudu-tserver_webserver_enabled"><code>--webserver_enabled</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.</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_metrics_log_interval_ms"><a class="link" href="#kudu-tserver_metrics_log_interval_ms"><code>--metrics_log_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.</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_webserver_max_post_length_bytes"><a class="link" href="#kudu-tserver_webserver_max_post_length_bytes"><code>--webserver_max_post_length_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum length of a POST request that will be accepted by the embedded web server.</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_webserver_x_frame_options"><a class="link" href="#kudu-tserver_webserver_x_frame_options"><code>--webserver_x_frame_options</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.</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">string</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>DENY</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_webserver_advertised_addresses"><a class="link" href="#kudu-tserver_webserver_advertised_addresses"><code>--webserver_advertised_addresses</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.</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">string</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">none</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_webserver_authentication_domain"><a class="link" href="#kudu-tserver_webserver_authentication_domain"><code>--webserver_authentication_domain</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Domain used for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_webserver_doc_root"><a class="link" href="#kudu-tserver_webserver_doc_root"><code>--webserver_doc_root</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Files under &lt;webserver_doc_root&gt; are accessible via the debug webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root</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">string</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">none</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_webserver_enable_doc_root"><a class="link" href="#kudu-tserver_webserver_enable_doc_root"><code>--webserver_enable_doc_root</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If true, webserver may serve static files from the webserver_doc_root</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_webserver_interface"><a class="link" href="#kudu-tserver_webserver_interface"><code>--webserver_interface</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Interface to start debug webserver on. If blank, webserver binds to 0.0.0.0</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">string</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">none</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_webserver_num_worker_threads"><a class="link" href="#kudu-tserver_webserver_num_worker_threads"><code>--webserver_num_worker_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of threads to start for handling web server requests</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>50</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_webserver_password_file"><a class="link" href="#kudu-tserver_webserver_password_file"><code>--webserver_password_file</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>(Optional) Location of .htpasswd file containing user names and hashed passwords for debug webserver authentication</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">string</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">none</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_webserver_tls_ciphers"><a class="link" href="#kudu-tserver_webserver_tls_ciphers"><code>--webserver_tls_ciphers</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.</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">string</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>ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA</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_webserver_tls_min_protocol"><a class="link" href="#kudu-tserver_webserver_tls_min_protocol"><code>--webserver_tls_min_protocol</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.</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">string</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>TLSv1</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_budgeted_compaction_target_rowset_size"><a class="link" href="#kudu-tserver_budgeted_compaction_target_rowset_size"><code>--budgeted_compaction_target_rowset_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.</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>33554432</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_compaction_approximation_ratio"><a class="link" href="#kudu-tserver_compaction_approximation_ratio"><code>--compaction_approximation_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Approximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.</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.0499999523162842</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_compaction_minimum_improvement"><a class="link" href="#kudu-tserver_compaction_minimum_improvement"><code>--compaction_minimum_improvement</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.</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>0.0099999997764825821</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_deltafile_default_block_size"><a class="link" href="#kudu-tserver_deltafile_default_block_size"><code>--deltafile_default_block_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Block size for delta files. In the future, this may become configurable on a per-table basis.</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>32768</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_deltafile_default_compression_codec"><a class="link" href="#kudu-tserver_deltafile_default_compression_codec"><code>--deltafile_default_compression_codec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The compression codec used when writing deltafiles.</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">string</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>lz4</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_default_composite_key_index_block_size_bytes"><a class="link" href="#kudu-tserver_default_composite_key_index_block_size_bytes"><code>--default_composite_key_index_block_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Block size used for composite key indexes.</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>4096</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_rowset_metadata_store_keys"><a class="link" href="#kudu-tserver_rowset_metadata_store_keys"><code>--rowset_metadata_store_keys</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.</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>false</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_tablet_delta_store_major_compact_min_ratio"><a class="link" href="#kudu-tserver_tablet_delta_store_major_compact_min_ratio"><code>--tablet_delta_store_major_compact_min_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Minimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)</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>0.10000000149011612</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_tablet_delta_store_minor_compact_max"><a class="link" href="#kudu-tserver_tablet_delta_store_minor_compact_max"><code>--tablet_delta_store_minor_compact_max</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>How many delta stores are required before forcing a minor delta compaction (Advanced option)</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">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_tablet_transaction_memory_limit_mb"><a class="link" href="#kudu-tserver_tablet_transaction_memory_limit_mb"><code>--tablet_transaction_memory_limit_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.</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>64</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_compaction_small_rowset_tradeoff"><a class="link" href="#kudu-tserver_compaction_small_rowset_tradeoff"><code>--compaction_small_rowset_tradeoff</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.</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>0.0089999999999999993</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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_rows_writed_per_sec_for_hot_tablets"><a class="link" href="#kudu-tserver_rows_writed_per_sec_for_hot_tablets"><code>--rows_writed_per_sec_for_hot_tablets</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Minimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet&#8217;s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_scans_started_per_sec_for_hot_tablets"><a class="link" href="#kudu-tserver_scans_started_per_sec_for_hot_tablets"><code>--scans_started_per_sec_for_hot_tablets</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Minimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet&#8217;s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.</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>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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_tablet_bloom_block_size"><a class="link" href="#kudu-tserver_tablet_bloom_block_size"><code>--tablet_bloom_block_size</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Block size of the bloom filters used for tablet keys.</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>4096</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_tablet_bloom_target_fp_rate"><a class="link" href="#kudu-tserver_tablet_bloom_target_fp_rate"><code>--tablet_bloom_target_fp_rate</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.</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>9.9999997473787516e-05</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_tablet_compaction_budget_mb"><a class="link" href="#kudu-tserver_tablet_compaction_budget_mb"><code>--tablet_compaction_budget_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Budget for a single compaction</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>128</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_tablet_throttler_burst_factor"><a class="link" href="#kudu-tserver_tablet_throttler_burst_factor"><code>--tablet_throttler_burst_factor</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Burst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.</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</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_tablet_throttler_bytes_per_sec"><a class="link" href="#kudu-tserver_tablet_throttler_bytes_per_sec"><code>--tablet_throttler_bytes_per_sec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no 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>0</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_tablet_throttler_rpc_per_sec"><a class="link" href="#kudu-tserver_tablet_throttler_rpc_per_sec"><code>--tablet_throttler_rpc_per_sec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no 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>0</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_workload_score_upper_bound"><a class="link" href="#kudu-tserver_workload_score_upper_bound"><code>--workload_score_upper_bound</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Upper bound for workload score.</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</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_workload_stats_metric_collection_interval_ms"><a class="link" href="#kudu-tserver_workload_stats_metric_collection_interval_ms"><code>--workload_stats_metric_collection_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The interval in milliseconds at which we collect workload metrics.</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>300000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_workload_stats_rate_collection_min_interval_ms"><a class="link" href="#kudu-tserver_workload_stats_rate_collection_min_interval_ms"><code>--workload_stats_rate_collection_min_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The minimal interval in milliseconds at which we collect read/write rates.</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_enable_deleted_rowset_gc"><a class="link" href="#kudu-tserver_enable_deleted_rowset_gc"><code>--enable_deleted_rowset_gc</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_enable_workload_score_for_perf_improvement_ops"><a class="link" href="#kudu-tserver_enable_workload_score_for_perf_improvement_ops"><code>--enable_workload_score_for_perf_improvement_ops</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.</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>false</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_tablet_max_pending_txn_write_ops"><a class="link" href="#kudu-tserver_tablet_max_pending_txn_write_ops"><code>--tablet_max_pending_txn_write_ops</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction</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">uint32</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>2</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_flush_threshold_mb"><a class="link" href="#kudu-tserver_flush_threshold_mb"><code>--flush_threshold_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn&#8217;t flushed in a while, or if the server-wide memory limit has been reached.</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>1024</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_flush_threshold_secs"><a class="link" href="#kudu-tserver_flush_threshold_secs"><code>--flush_threshold_secs</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.</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>120</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_flush_upper_bound_ms"><a class="link" href="#kudu-tserver_flush_upper_bound_ms"><code>--flush_upper_bound_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.</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>3600000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_txn_background_rpc_timeout_ms"><a class="link" href="#kudu-tserver_txn_background_rpc_timeout_ms"><code>--txn_background_rpc_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Period (in milliseconds) with which transaction-related background requests are made</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">uint32</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>5000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_txn_client_initialization_timeout_ms"><a class="link" href="#kudu-tserver_txn_client_initialization_timeout_ms"><code>--txn_client_initialization_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.</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">uint32</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>10000</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">runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_txn_keepalive_interval_ms"><a class="link" href="#kudu-tserver_txn_keepalive_interval_ms"><code>--txn_keepalive_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.</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">uint32</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_txn_staleness_tracker_interval_ms"><a class="link" href="#kudu-tserver_txn_staleness_tracker_interval_ms"><code>--txn_staleness_tracker_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Period (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn&#8217;t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.</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">uint32</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>10000</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">runtime,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_txn_status_tablet_failover_catchup_timeout_ms"><a class="link" href="#kudu-tserver_txn_status_tablet_failover_catchup_timeout_ms"><code>--txn_status_tablet_failover_catchup_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_enable_txn_system_client_init"><a class="link" href="#kudu-tserver_enable_txn_system_client_init"><code>--enable_txn_system_client_init</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server&#8217;s TxnSystemClient to participate in orchestrating transactions.</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>false</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_txn_system_client_op_timeout_ms"><a class="link" href="#kudu-tserver_txn_system_client_op_timeout_ms"><code>--txn_system_client_op_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.</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>10000</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><a class="link" href="#kudu-tserver_heartbeat_incompatible_replica_management_is_fatal"><code>--heartbeat_incompatible_replica_management_is_fatal</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_heartbeat_interval_ms"><a class="link" href="#kudu-tserver_heartbeat_interval_ms"><code>--heartbeat_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Interval at which the TS heartbeats to the master.</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_heartbeat_max_failures_before_backoff"><a class="link" href="#kudu-tserver_heartbeat_max_failures_before_backoff"><code>--heartbeat_max_failures_before_backoff</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.</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>3</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_heartbeat_rpc_timeout_ms"><a class="link" href="#kudu-tserver_heartbeat_rpc_timeout_ms"><code>--heartbeat_rpc_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout used for the TS&#8594;Master heartbeat RPCs.</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>15000</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_scan_history_count"><a class="link" href="#kudu-tserver_scan_history_count"><code>--scan_history_count</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of completed scans to keep history for. Determines how many historical scans will be shown on the tablet server&#8217;s scans dashboard.</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>20</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_scanner_ttl_ms"><a class="link" href="#kudu-tserver_scanner_ttl_ms"><code>--scanner_ttl_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of milliseconds of inactivity allowed for a scannerbefore it may be expired</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_tablet_copy_begin_session_timeout_ms"><a class="link" href="#kudu-tserver_tablet_copy_begin_session_timeout_ms"><code>--tablet_copy_begin_session_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.</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">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_tablet_copy_download_threads_nums_per_session"><a class="link" href="#kudu-tserver_tablet_copy_download_threads_nums_per_session"><code>--tablet_copy_download_threads_nums_per_session</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads per tablet copy session for downloading tablet data blocks.</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>4</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_tablet_apply_pool_overload_threshold_ms"><a class="link" href="#kudu-tserver_tablet_apply_pool_overload_threshold_ms"><code>--tablet_apply_pool_overload_threshold_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The threshold for the queue time of the 'apply' thread pool to enter and exit overloaded state. Once the queue stalls and its queue times become longer than the specified threshold, it enters the overloaded state. Tablet server rejects incoming write requests with some probability when its apply queue is overloaded. The longer the apply queue stays overloaded, the greater the probability of the rejection. In addition, the more row operations a write request has, the greater the probablity of the rejection. The apply queue exits the overloaded state when queue times drop below the specified threshold. Set this flag to 0 to disable the behavior described above.</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">uint32</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>0</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_scanner_batch_size_rows"><a class="link" href="#kudu-tserver_scanner_batch_size_rows"><code>--scanner_batch_size_rows</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The number of rows to batch for servicing scan requests.</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>128</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_scanner_default_batch_size_bytes"><a class="link" href="#kudu-tserver_scanner_default_batch_size_bytes"><code>--scanner_default_batch_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The default size for batches of scan results</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>1048576</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_scanner_max_batch_size_bytes"><a class="link" href="#kudu-tserver_scanner_max_batch_size_bytes"><code>--scanner_max_batch_size_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum batch size that a client may request for scan results.</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>8388608</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</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) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for 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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_tserver_enforce_access_control"><a class="link" href="#kudu-tserver_tserver_enforce_access_control"><code>--tserver_enforce_access_control</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If set, the server will apply fine-grained access control rules to client RPCs.</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>false</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">runtime</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_delete_simultaneously"><a class="link" href="#kudu-tserver_num_tablets_to_delete_simultaneously"><code>--num_tablets_to_delete_simultaneously</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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">
+<p>Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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_txn_status_tablets_to_reload_simultaneously"><a class="link" href="#kudu-tserver_num_txn_status_tablets_to_reload_simultaneously"><code>--num_txn_status_tablets_to_reload_simultaneously</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.</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>0</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_tablet_state_walk_min_period_ms"><a class="link" href="#kudu-tserver_tablet_state_walk_min_period_ms"><code>--tablet_state_walk_min_period_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.</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_txn_commit_pool_num_threads"><a class="link" href="#kudu-tserver_txn_commit_pool_num_threads"><code>--txn_commit_pool_num_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available for transaction commit tasks.</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_txn_participant_registration_pool_num_threads"><a class="link" href="#kudu-tserver_txn_participant_registration_pool_num_threads"><code>--txn_participant_registration_pool_num_threads</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_update_tablet_stats_interval_ms"><a class="link" href="#kudu-tserver_update_tablet_stats_interval_ms"><code>--update_tablet_stats_interval_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Interval at which the tablet statistics should be updated.Should be greater than 'heartbeat_interval_ms'</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>5000</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_cloud_aws_instance_id_url"><a class="link" href="#kudu-tserver_cloud_aws_instance_id_url"><code>--cloud_aws_instance_id_url</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The URL to fetch the identifier of an AWS instance</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">string</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><a href="http://169.254.169.254/latest/meta-data/instance-id" class="bare">http://169.254.169.254/latest/meta-data/instance-id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_cloud_aws_ntp_server"><a class="link" href="#kudu-tserver_cloud_aws_ntp_server"><code>--cloud_aws_ntp_server</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within an AWS instance</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">string</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>169.254.169.123</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_cloud_azure_instance_id_url"><a class="link" href="#kudu-tserver_cloud_azure_instance_id_url"><code>--cloud_azure_instance_id_url</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The URL to fetch the identifier of an Azure instance</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">string</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><a href="http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text" class="bare">http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&amp;format=text</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_cloud_gce_instance_id_url"><a class="link" href="#kudu-tserver_cloud_gce_instance_id_url"><code>--cloud_gce_instance_id_url</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The URL to fetch the identifier of a GCE instance</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">string</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><a href="http://metadata.google.internal/computeMetadata/v1/instance/id" class="bare">http://metadata.google.internal/computeMetadata/v1/instance/id</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_cloud_gce_ntp_server"><a class="link" href="#kudu-tserver_cloud_gce_ntp_server"><code>--cloud_gce_ntp_server</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>IP address/FQDN of the internal NTP server to use from within a GCE instance</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">string</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>metadata.google.internal</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_cloud_metadata_server_request_timeout_ms"><a class="link" href="#kudu-tserver_cloud_metadata_server_request_timeout_ms"><code>--cloud_metadata_server_request_timeout_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Timeout for HTTP/HTTPS requests to the instance metadata server (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">uint32</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_cloud_openstack_metadata_url"><a class="link" href="#kudu-tserver_cloud_openstack_metadata_url"><code>--cloud_openstack_metadata_url</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.</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">string</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><a href="http://169.254.169.254/openstack/latest/meta_data.json" class="bare">http://169.254.169.254/openstack/latest/meta_data.json</a></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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_trace_to_console"><a class="link" href="#kudu-tserver_trace_to_console"><code>--trace_to_console</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Trace pattern specifying which trace events should be dumped directly to the console</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">string</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">none</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_crash_on_eio"><a class="link" href="#kudu-tserver_crash_on_eio"><code>--crash_on_eio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.</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>false</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_env_use_ioctl_hole_punch_on_xfs"><a class="link" href="#kudu-tserver_env_use_ioctl_hole_punch_on_xfs"><code>--env_use_ioctl_hole_punch_on_xfs</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Use the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</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_heap_sample_every_n_bytes"><a class="link" href="#kudu-tserver_heap_sample_every_n_bytes"><code>--heap_sample_every_n_bytes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Enable heap occupancy sampling. If this flag is set to some positive value N, a memory allocation will be sampled approximately every N bytes. Lower values of N incur larger overhead but give more accurate results. A value such as 524288 (512KB) is a reasonable choice with relatively low overhead.</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>0</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,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_umask"><a class="link" href="#kudu-tserver_umask"><code>--umask</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.</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">string</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>077</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_data_gc_min_size_mb"><a class="link" href="#kudu-tserver_data_gc_min_size_mb"><code>--data_gc_min_size_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.</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>0</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_data_gc_prioritization_prob"><a class="link" href="#kudu-tserver_data_gc_prioritization_prob"><code>--data_gc_prioritization_prob</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.</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>0.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_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">
+<p>The target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.</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>1024</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_maintenance_op_multiplier"><a class="link" href="#kudu-tserver_maintenance_op_multiplier"><code>--maintenance_op_multiplier</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Multiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs</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.1000000000000001</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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_max_priority_range"><a class="link" href="#kudu-tserver_max_priority_range"><code>--max_priority_range</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximal priority range of OPs.</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>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">runtime,advanced,experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_metrics_retirement_age_ms"><a class="link" href="#kudu-tserver_metrics_retirement_age_ms"><code>--metrics_retirement_age_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)</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>120000</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,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_dns_resolver_cache_capacity_mb"><a class="link" href="#kudu-tserver_dns_resolver_cache_capacity_mb"><code>--dns_resolver_cache_capacity_mb</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.</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">uint32</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_dns_resolver_cache_ttl_sec"><a class="link" href="#kudu-tserver_dns_resolver_cache_ttl_sec"><code>--dns_resolver_cache_ttl_sec</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TTL of records in the DNS resolver cache, in seconds.</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">uint32</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>15</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_dns_resolver_max_threads_num"><a class="link" href="#kudu-tserver_dns_resolver_max_threads_num"><code>--dns_resolver_max_threads_num</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum number of threads to use for async DNS resolution</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>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_local_ip_for_outbound_sockets"><a class="link" href="#kudu-tserver_local_ip_for_outbound_sockets"><code>--local_ip_for_outbound_sockets</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>IP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.</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">string</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">none</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_nvm_cache_path"><a class="link" href="#kudu-tserver_nvm_cache_path"><code>--nvm_cache_path</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.</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">string</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>/pmem</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"></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_nvm_cache_usage_ratio"><a class="link" href="#kudu-tserver_nvm_cache_usage_ratio"><code>--nvm_cache_usage_ratio</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.</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.25</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_memory_limit_soft_percentage"><a class="link" href="#kudu-tserver_memory_limit_soft_percentage"><code>--memory_limit_soft_percentage</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher 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">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>80</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_memory_limit_warn_threshold_percentage"><a class="link" href="#kudu-tserver_memory_limit_warn_threshold_percentage"><code>--memory_limit_warn_threshold_percentage</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.</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>98</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_memory_pressure_percentage"><a class="link" href="#kudu-tserver_memory_pressure_percentage"><code>--memory_pressure_percentage</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.</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>60</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_tcmalloc_max_free_bytes_percentage"><a class="link" href="#kudu-tserver_tcmalloc_max_free_bytes_percentage"><code>--tcmalloc_max_free_bytes_percentage</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.</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_drop_log_memory"><a class="link" href="#kudu-tserver_drop_log_memory"><code>--drop_log_memory</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_log_backtrace_at"><a class="link" href="#kudu-tserver_log_backtrace_at"><code>--log_backtrace_at</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Emit a backtrace when logging at file:linenum.</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">string</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">none</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_logbuflevel"><a class="link" href="#kudu-tserver_logbuflevel"><code>--logbuflevel</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Buffer log messages logged at this level or lower (-1 means don&#8217;t buffer; 0 means buffer INFO only; &#8230;&#8203;)</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>0</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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_logbufsecs"><a class="link" href="#kudu-tserver_logbufsecs"><code>--logbufsecs</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Buffer log messages for at most this many seconds</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>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">runtime,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_logfile_mode"><a class="link" href="#kudu-tserver_logfile_mode"><code>--logfile_mode</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Log file mode/permissions.</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>436</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"></td>
+</tr>
+</tbody>
+</table>
+<hr>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/kudu-tserver_metrics_reference.html b/releases/1.15.0/docs/kudu-tserver_metrics_reference.html
new file mode 100644
index 0000000..09fdbc3
--- /dev/null
+++ b/releases/1.15.0/docs/kudu-tserver_metrics_reference.html
@@ -0,0 +1,9159 @@
+<!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 - kudu-tserver Metrics</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1><code>kudu-tserver</code> Metrics</h1>
+      <div class="sect1">
+<h2 id="kudu-tserver_warn"><a class="link" href="#kudu-tserver_warn">Warning Metrics</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Metrics tagged as 'warn' are metrics which can often indicate operational oddities
+that may need more investigation.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_data_dirs_failed"><a class="link" href="#kudu-tserver_data_dirs_failed"><code>data_dirs_failed</code></a></h3>
+<div class="paragraph">
+<p>Data Directories Failed
+&#160;
+Number of data directories whose disks are currently in a failed state</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">data directories</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_data_dirs_full"><a class="link" href="#kudu-tserver_data_dirs_full"><code>data_dirs_full</code></a></h3>
+<div class="paragraph">
+<p>Data Directories Full
+&#160;
+Number of data directories whose disks are currently full</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">data directories</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_failed_elections_since_stable_leader"><a class="link" href="#kudu-tserver_failed_elections_since_stable_leader"><code>failed_elections_since_stable_leader</code></a></h3>
+<div class="paragraph">
+<p>Failed Elections Since Stable Leader
+&#160;
+Number of failed elections on this node since there was a stable leader. This number increments on each failed election and resets on each successful one.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_follower_memory_pressure_rejections"><a class="link" href="#kudu-tserver_follower_memory_pressure_rejections"><code>follower_memory_pressure_rejections</code></a></h3>
+<div class="paragraph">
+<p>Follower Memory Pressure Rejections
+&#160;
+Number of RPC requests rejected due to memory pressure while FOLLOWER.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_glog_error_messages"><a class="link" href="#kudu-tserver_glog_error_messages"><code>glog_error_messages</code></a></h3>
+<div class="paragraph">
+<p>ERROR-level Log Messages
+&#160;
+Number of ERROR-level log messages emitted by the application.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_glog_warning_messages"><a class="link" href="#kudu-tserver_glog_warning_messages"><code>glog_warning_messages</code></a></h3>
+<div class="paragraph">
+<p>WARNING-level Log Messages
+&#160;
+Number of WARNING-level log messages emitted by the application.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_hybrid_clock_extrapolating"><a class="link" href="#kudu-tserver_hybrid_clock_extrapolating"><code>hybrid_clock_extrapolating</code></a></h3>
+<div class="paragraph">
+<p>Hybrid Clock Is Being Extrapolated
+&#160;
+Whether HybridClock timestamps are extrapolated because of inability to read the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">state</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_hybrid_clock_extrapolation_intervals"><a class="link" href="#kudu-tserver_hybrid_clock_extrapolation_intervals"><code>hybrid_clock_extrapolation_intervals</code></a></h3>
+<div class="paragraph">
+<p>Intervals of Hybrid Clock Extrapolation
+&#160;
+The statistics on the duration of intervals when the underlying clock was extrapolated instead of using the direct readings</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_leader_memory_pressure_rejections"><a class="link" href="#kudu-tserver_leader_memory_pressure_rejections"><code>leader_memory_pressure_rejections</code></a></h3>
+<div class="paragraph">
+<p>Leader Memory Pressure Rejections
+&#160;
+Number of RPC requests rejected due to memory pressure while LEADER.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_maintenance_op_prepare_failed"><a class="link" href="#kudu-tserver_maintenance_op_prepare_failed"><code>maintenance_op_prepare_failed</code></a></h3>
+<div class="paragraph">
+<p>Number Of Operations With Failed Prepare()
+&#160;
+Number of times when calling Prepare() on a maintenance operation failed</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_op_apply_queue_length"><a class="link" href="#kudu-tserver_op_apply_queue_length"><code>op_apply_queue_length</code></a></h3>
+<div class="paragraph">
+<p>Operation Apply Queue Length
+&#160;
+Number of operations waiting to be applied to the tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tasks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_op_apply_queue_overload_rejections"><a class="link" href="#kudu-tserver_op_apply_queue_overload_rejections"><code>op_apply_queue_overload_rejections</code></a></h3>
+<div class="paragraph">
+<p>Number of Rejected Write Requests Due to Queue Overloaded Error
+&#160;
+Number of rejected write requests due to overloaded op apply queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_op_apply_queue_time"><a class="link" href="#kudu-tserver_op_apply_queue_time"><code>op_apply_queue_time</code></a></h3>
+<div class="paragraph">
+<p>Operation Apply Queue Time
+&#160;
+Time that operations spent waiting in the apply queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_op_apply_run_time"><a class="link" href="#kudu-tserver_op_apply_run_time"><code>op_apply_run_time</code></a></h3>
+<div class="paragraph">
+<p>Operation Apply Run Time
+&#160;
+Time that operations spent being applied to the tablet. High values may indicate that the server is under-provisioned or that operations consist of very large batches.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_ops_behind_leader"><a class="link" href="#kudu-tserver_ops_behind_leader"><code>ops_behind_leader</code></a></h3>
+<div class="paragraph">
+<p>Operations Behind Leader
+&#160;
+Number of operations this server believes it is behind the leader.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpcs_queue_overflow"><a class="link" href="#kudu-tserver_rpcs_queue_overflow"><code>rpcs_queue_overflow</code></a></h3>
+<div class="paragraph">
+<p>RPC Queue Overflows
+&#160;
+Number of RPCs dropped because the service queue was full.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpcs_timed_out_in_queue"><a class="link" href="#kudu-tserver_rpcs_timed_out_in_queue"><code>rpcs_timed_out_in_queue</code></a></h3>
+<div class="paragraph">
+<p>RPC Queue Timeouts
+&#160;
+Number of RPCs whose timeout elapsed while waiting in the service queue, and thus were not processed.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanners_expired"><a class="link" href="#kudu-tserver_scanners_expired"><code>scanners_expired</code></a></h3>
+<div class="paragraph">
+<p>Scanners Expired
+&#160;
+Number of scanners that have expired due to inactivity since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_spinlock_contention_time"><a class="link" href="#kudu-tserver_spinlock_contention_time"><code>spinlock_contention_time</code></a></h3>
+<div class="paragraph">
+<p>Spinlock Contention Time
+&#160;
+Amount of time consumed by contention on internal spinlocks since the server started. If this increases rapidly, it may indicate a performance issue in Kudu internals triggered by a particular workload and warrant investigation.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablets_num_failed"><a class="link" href="#kudu-tserver_tablets_num_failed"><code>tablets_num_failed</code></a></h3>
+<div class="paragraph">
+<p>Number of Failed Tablets
+&#160;
+Number of failed tablets</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_transaction_memory_limit_rejections"><a class="link" href="#kudu-tserver_transaction_memory_limit_rejections"><code>transaction_memory_limit_rejections</code></a></h3>
+<div class="paragraph">
+<p>Tablet Op Memory Limit Rejections
+&#160;
+Number of ops rejected because the tablet&#8217;s op memory limit was reached.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_transaction_memory_pressure_rejections"><a class="link" href="#kudu-tserver_transaction_memory_pressure_rejections"><code>transaction_memory_pressure_rejections</code></a></h3>
+<div class="paragraph">
+<p>Op Memory Pressure Rejections
+&#160;
+Number of ops rejected because the tablet&#8217;s opmemory usage exceeds the op memory limit or the limitof an ancestral tracker.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_info"><a class="link" href="#kudu-tserver_info">Info Metrics</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Metrics tagged as 'info' are generally useful metrics that operators always want
+to have available but may not be monitored under normal circumstances.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_active_scanners"><a class="link" href="#kudu-tserver_active_scanners"><code>active_scanners</code></a></h3>
+<div class="paragraph">
+<p>Active Scanners
+&#160;
+Number of scanners that are currently active</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_average_diskrowset_height"><a class="link" href="#kudu-tserver_average_diskrowset_height"><code>average_diskrowset_height</code></a></h3>
+<div class="paragraph">
+<p>Average DiskRowSet Height
+&#160;
+Average height of the diskrowsets in this tablet replica. The larger the average height, the more uncompacted the tablet replica is.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_cache_usage"><a class="link" href="#kudu-tserver_block_cache_usage"><code>block_cache_usage</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Memory Usage
+&#160;
+Memory consumed by the block cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_manager_blocks_open_reading"><a class="link" href="#kudu-tserver_block_manager_blocks_open_reading"><code>block_manager_blocks_open_reading</code></a></h3>
+<div class="paragraph">
+<p>Data Blocks Open For Read
+&#160;
+Number of data blocks currently open for reading</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_manager_blocks_open_writing"><a class="link" href="#kudu-tserver_block_manager_blocks_open_writing"><code>block_manager_blocks_open_writing</code></a></h3>
+<div class="paragraph">
+<p>Data Blocks Open For Write
+&#160;
+Number of data blocks currently open for writing</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_builtin_ntp_error"><a class="link" href="#kudu-tserver_builtin_ntp_error"><code>builtin_ntp_error</code></a></h3>
+<div class="paragraph">
+<p>Built-in NTP Latest Maximum Time Error
+&#160;
+Latest maximum time error as tracked by built-in NTP client</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_builtin_ntp_local_clock_delta"><a class="link" href="#kudu-tserver_builtin_ntp_local_clock_delta"><code>builtin_ntp_local_clock_delta</code></a></h3>
+<div class="paragraph">
+<p>Local Clock vs Built-In NTP True Time Delta
+&#160;
+Delta between local clock and true time tracked by built-in NTP client; set to 2^63-1 when true time is not tracked</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_compact_rs_duration"><a class="link" href="#kudu-tserver_compact_rs_duration"><code>compact_rs_duration</code></a></h3>
+<div class="paragraph">
+<p>RowSet Compaction Duration
+&#160;
+Time spent compacting RowSets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cpu_stime"><a class="link" href="#kudu-tserver_cpu_stime"><code>cpu_stime</code></a></h3>
+<div class="paragraph">
+<p>System CPU Time
+&#160;
+Total system CPU time of the process</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_cpu_utime"><a class="link" href="#kudu-tserver_cpu_utime"><code>cpu_utime</code></a></h3>
+<div class="paragraph">
+<p>User CPU Time
+&#160;
+Total user CPU time of the process</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_deleted_rowset_gc_duration"><a class="link" href="#kudu-tserver_deleted_rowset_gc_duration"><code>deleted_rowset_gc_duration</code></a></h3>
+<div class="paragraph">
+<p>Deleted Rowset GC Duration
+&#160;
+Time spent running the maintenance operation to GC deleted rowsets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_delta_file_lookups_per_op"><a class="link" href="#kudu-tserver_delta_file_lookups_per_op"><code>delta_file_lookups_per_op</code></a></h3>
+<div class="paragraph">
+<p>Delta File Lookups per Operation
+&#160;
+Tracks the number of delta file lookups performed by each operation. A single operation may perform several delta file lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_delta_major_compact_rs_duration"><a class="link" href="#kudu-tserver_delta_major_compact_rs_duration"><code>delta_major_compact_rs_duration</code></a></h3>
+<div class="paragraph">
+<p>Major Delta Compaction Duration
+&#160;
+Seconds spent major delta compacting.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_delta_minor_compact_rs_duration"><a class="link" href="#kudu-tserver_delta_minor_compact_rs_duration"><code>delta_minor_compact_rs_duration</code></a></h3>
+<div class="paragraph">
+<p>Minor Delta Compaction Duration
+&#160;
+Time spent minor delta compacting.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_file_cache_usage"><a class="link" href="#kudu-tserver_file_cache_usage"><code>file_cache_usage</code></a></h3>
+<div class="paragraph">
+<p>File Cache Usage
+&#160;
+Number of entries in the file cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_flush_dms_duration"><a class="link" href="#kudu-tserver_flush_dms_duration"><code>flush_dms_duration</code></a></h3>
+<div class="paragraph">
+<p>DeltaMemStore Flush Duration
+&#160;
+Time spent flushing DeltaMemStores.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_flush_mrs_duration"><a class="link" href="#kudu-tserver_flush_mrs_duration"><code>flush_mrs_duration</code></a></h3>
+<div class="paragraph">
+<p>MemRowSet Flush Duration
+&#160;
+Time spent flushing MemRowSets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_generic_current_allocated_bytes"><a class="link" href="#kudu-tserver_generic_current_allocated_bytes"><code>generic_current_allocated_bytes</code></a></h3>
+<div class="paragraph">
+<p>Heap Memory Usage
+&#160;
+Number of bytes used by the application. This will not typically match the memory use reported by the OS, because it does not include TCMalloc overhead or memory fragmentation.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_generic_heap_size"><a class="link" href="#kudu-tserver_generic_heap_size"><code>generic_heap_size</code></a></h3>
+<div class="paragraph">
+<p>Reserved Heap Memory
+&#160;
+Bytes of system memory reserved by TCMalloc.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig"><code>handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.BulkChangeConfig RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.BulkChangeConfig RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_ChangeConfig"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_ChangeConfig"><code>handler_latency_kudu_consensus_ConsensusService_ChangeConfig</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.ChangeConfig RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.ChangeConfig RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_GetConsensusState"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_GetConsensusState"><code>handler_latency_kudu_consensus_ConsensusService_GetConsensusState</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetConsensusState RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.GetConsensusState RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_GetLastOpId"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_GetLastOpId"><code>handler_latency_kudu_consensus_ConsensusService_GetLastOpId</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetLastOpId RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.GetLastOpId RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_GetNodeInstance"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_GetNodeInstance"><code>handler_latency_kudu_consensus_ConsensusService_GetNodeInstance</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetNodeInstance RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.GetNodeInstance RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_LeaderStepDown"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_LeaderStepDown"><code>handler_latency_kudu_consensus_ConsensusService_LeaderStepDown</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.LeaderStepDown RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.LeaderStepDown RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote"><code>handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RequestConsensusVote RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.RequestConsensusVote RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_RunLeaderElection"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_RunLeaderElection"><code>handler_latency_kudu_consensus_ConsensusService_RunLeaderElection</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RunLeaderElection RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.RunLeaderElection RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_StartTabletCopy"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_StartTabletCopy"><code>handler_latency_kudu_consensus_ConsensusService_StartTabletCopy</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.StartTabletCopy RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.StartTabletCopy RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig"><code>handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.UnsafeChangeConfig RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_UpdateConsensus"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_UpdateConsensus"><code>handler_latency_kudu_consensus_ConsensusService_UpdateConsensus</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UpdateConsensus RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.UpdateConsensus RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_server_GenericService_CheckLeaks"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_CheckLeaks"><code>handler_latency_kudu_server_GenericService_CheckLeaks</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.CheckLeaks RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.CheckLeaks RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_server_GenericService_DumpMemTrackers"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_DumpMemTrackers"><code>handler_latency_kudu_server_GenericService_DumpMemTrackers</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.DumpMemTrackers RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.DumpMemTrackers RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_server_GenericService_FlushCoverage"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_FlushCoverage"><code>handler_latency_kudu_server_GenericService_FlushCoverage</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.FlushCoverage RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.FlushCoverage RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_server_GenericService_GetFlags"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_GetFlags"><code>handler_latency_kudu_server_GenericService_GetFlags</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetFlags RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.GetFlags RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_server_GenericService_GetStatus"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_GetStatus"><code>handler_latency_kudu_server_GenericService_GetStatus</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetStatus RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.GetStatus RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_server_GenericService_ServerClock"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_ServerClock"><code>handler_latency_kudu_server_GenericService_ServerClock</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.ServerClock RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.ServerClock RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_server_GenericService_SetFlag"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_SetFlag"><code>handler_latency_kudu_server_GenericService_SetFlag</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetFlag RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.SetFlag RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_server_GenericService_SetServerWallClockForTests"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_SetServerWallClockForTests"><code>handler_latency_kudu_server_GenericService_SetServerWallClockForTests</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetServerWallClockForTests RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.SetServerWallClockForTests RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession"><code>handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.BeginTabletCopySession RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive"><code>handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.CheckSessionActive RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.CheckSessionActive RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession"><code>handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.EndTabletCopySession RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.EndTabletCopySession RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_FetchData"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_FetchData"><code>handler_latency_kudu_tserver_TabletCopyService_FetchData</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.FetchData RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.FetchData RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema"><code>handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.AlterSchema RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.AlterSchema RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><code>handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet"><code>handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CreateTablet RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.CreateTablet RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet"><code>handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.DeleteTablet RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.DeleteTablet RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><code>handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_Quiesce"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_Quiesce"><code>handler_latency_kudu_tserver_TabletServerAdminService_Quiesce</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.Quiesce RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.Quiesce RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Checksum"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Checksum"><code>handler_latency_kudu_tserver_TabletServerService_Checksum</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Checksum RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Checksum RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_ListTablets"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_ListTablets"><code>handler_latency_kudu_tserver_TabletServerService_ListTablets</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ListTablets RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.ListTablets RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Ping"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Ping"><code>handler_latency_kudu_tserver_TabletServerService_Ping</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Ping RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Ping RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Scan"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Scan"><code>handler_latency_kudu_tserver_TabletServerService_Scan</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Scan RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Scan RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive"><code>handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ScannerKeepAlive RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.ScannerKeepAlive RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_SplitKeyRange"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_SplitKeyRange"><code>handler_latency_kudu_tserver_TabletServerService_SplitKeyRange</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.SplitKeyRange RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.SplitKeyRange RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Write"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Write"><code>handler_latency_kudu_tserver_TabletServerService_Write</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Write RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Write RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_hybrid_clock_error"><a class="link" href="#kudu-tserver_hybrid_clock_error"><code>hybrid_clock_error</code></a></h3>
+<div class="paragraph">
+<p>Hybrid Clock Error
+&#160;
+Server clock maximum error; returns 2^64-1 when unable to read the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_hybrid_clock_timestamp"><a class="link" href="#kudu-tserver_hybrid_clock_timestamp"><code>hybrid_clock_timestamp</code></a></h3>
+<div class="paragraph">
+<p>Hybrid Clock Timestamp
+&#160;
+Hybrid clock timestamp; returns 2^64-1 when unable to read the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_involuntary_context_switches"><a class="link" href="#kudu-tserver_involuntary_context_switches"><code>involuntary_context_switches</code></a></h3>
+<div class="paragraph">
+<p>Involuntary Context Switches
+&#160;
+Total involuntary context switches</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">context switches</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_live_row_count"><a class="link" href="#kudu-tserver_live_row_count"><code>live_row_count</code></a></h3>
+<div class="paragraph">
+<p>Tablet Live Row Count
+&#160;
+Number of live rows in this tablet, excludes deleted rows.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_append_latency"><a class="link" href="#kudu-tserver_log_append_latency"><code>log_append_latency</code></a></h3>
+<div class="paragraph">
+<p>Log Append Latency
+&#160;
+Microseconds spent on appending to the log segment file</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_block_manager_blocks_under_management"><a class="link" href="#kudu-tserver_log_block_manager_blocks_under_management"><code>log_block_manager_blocks_under_management</code></a></h3>
+<div class="paragraph">
+<p>Blocks Under Management
+&#160;
+Number of data blocks currently under management</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_block_manager_bytes_under_management"><a class="link" href="#kudu-tserver_log_block_manager_bytes_under_management"><code>log_block_manager_bytes_under_management</code></a></h3>
+<div class="paragraph">
+<p>Bytes Under Management
+&#160;
+Number of bytes of data blocks currently under management</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_block_manager_containers"><a class="link" href="#kudu-tserver_log_block_manager_containers"><code>log_block_manager_containers</code></a></h3>
+<div class="paragraph">
+<p>Number of Block Containers
+&#160;
+Number of log block containers</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log block containers</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_block_manager_full_containers"><a class="link" href="#kudu-tserver_log_block_manager_full_containers"><code>log_block_manager_full_containers</code></a></h3>
+<div class="paragraph">
+<p>Number of Full Block Containers
+&#160;
+Number of full log block containers</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log block containers</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_gc_duration"><a class="link" href="#kudu-tserver_log_gc_duration"><code>log_gc_duration</code></a></h3>
+<div class="paragraph">
+<p>Log GC Duration
+&#160;
+Time spent garbage collecting the logs.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_gc_running"><a class="link" href="#kudu-tserver_log_gc_running"><code>log_gc_running</code></a></h3>
+<div class="paragraph">
+<p>Log GCs Running
+&#160;
+Number of log GC operations currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_reader_read_batch_latency"><a class="link" href="#kudu-tserver_log_reader_read_batch_latency"><code>log_reader_read_batch_latency</code></a></h3>
+<div class="paragraph">
+<p>Log Read Latency
+&#160;
+Microseconds spent reading log entry batches</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_sync_latency"><a class="link" href="#kudu-tserver_log_sync_latency"><code>log_sync_latency</code></a></h3>
+<div class="paragraph">
+<p>Log Sync Latency
+&#160;
+Microseconds spent on synchronizing the log segment file</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_logical_clock_timestamp"><a class="link" href="#kudu-tserver_logical_clock_timestamp"><code>logical_clock_timestamp</code></a></h3>
+<div class="paragraph">
+<p>Logical Clock Timestamp
+&#160;
+Logical clock timestamp.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_maintenance_op_find_best_candidate_duration"><a class="link" href="#kudu-tserver_maintenance_op_find_best_candidate_duration"><code>maintenance_op_find_best_candidate_duration</code></a></h3>
+<div class="paragraph">
+<p>Time Taken To Find Best Maintenance Operation
+&#160;
+Time spent choosing a maintenance operation with highest scores among available candidates</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_memrowset_size"><a class="link" href="#kudu-tserver_memrowset_size"><code>memrowset_size</code></a></h3>
+<div class="paragraph">
+<p>MemRowSet Memory Usage
+&#160;
+Size of this tablet&#8217;s memrowset</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_merged_entities_count_of_server"><a class="link" href="#kudu-tserver_merged_entities_count_of_server"><code>merged_entities_count_of_server</code></a></h3>
+<div class="paragraph">
+<p>Entities Count Merged From
+&#160;
+Count of entities merged together when entities are merged by common attribute value.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_merged_entities_count_of_tablet"><a class="link" href="#kudu-tserver_merged_entities_count_of_tablet"><code>merged_entities_count_of_tablet</code></a></h3>
+<div class="paragraph">
+<p>Entities Count Merged From
+&#160;
+Count of entities merged together when entities are merged by common attribute value.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_num_raft_leaders"><a class="link" href="#kudu-tserver_num_raft_leaders"><code>num_raft_leaders</code></a></h3>
+<div class="paragraph">
+<p>Number of Raft Leaders
+&#160;
+Number of tablet replicas that are Raft leaders</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_num_rowsets_on_disk"><a class="link" href="#kudu-tserver_num_rowsets_on_disk"><code>num_rowsets_on_disk</code></a></h3>
+<div class="paragraph">
+<p>Tablet Number of Rowsets on Disk
+&#160;
+Number of diskrowsets in this tablet</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_on_disk_data_size"><a class="link" href="#kudu-tserver_on_disk_data_size"><code>on_disk_data_size</code></a></h3>
+<div class="paragraph">
+<p>Tablet Data Size On Disk
+&#160;
+Space used by this tablet&#8217;s data blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_on_disk_size"><a class="link" href="#kudu-tserver_on_disk_size"><code>on_disk_size</code></a></h3>
+<div class="paragraph">
+<p>Tablet Size On Disk
+&#160;
+Space used by this tablet on disk, including metadata.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_op_prepare_queue_length"><a class="link" href="#kudu-tserver_op_prepare_queue_length"><code>op_prepare_queue_length</code></a></h3>
+<div class="paragraph">
+<p>Operation Prepare Queue Length
+&#160;
+Number of operations waiting to be prepared within this tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tasks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_op_prepare_queue_time"><a class="link" href="#kudu-tserver_op_prepare_queue_time"><code>op_prepare_queue_time</code></a></h3>
+<div class="paragraph">
+<p>Operation Prepare Queue Time
+&#160;
+Time that operations spent waiting in the prepare queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_op_prepare_run_time"><a class="link" href="#kudu-tserver_op_prepare_run_time"><code>op_prepare_run_time</code></a></h3>
+<div class="paragraph">
+<p>Operation Prepare Run Time
+&#160;
+Time that operations spent being prepared in the tablet. High values may indicate that the server is under-provisioned or that operations are experiencing high contention with one another for locks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.BulkChangeConfig RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.BulkChangeConfig requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.ChangeConfig RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.ChangeConfig requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetConsensusState RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.GetConsensusState requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetLastOpId RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.GetLastOpId requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetNodeInstance RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.GetNodeInstance requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.LeaderStepDown RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.LeaderStepDown requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RequestConsensusVote RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.RequestConsensusVote requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RunLeaderElection RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.RunLeaderElection requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.StartTabletCopy RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.StartTabletCopy requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.UnsafeChangeConfig requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus</code></a></h3>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UpdateConsensus RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.UpdateConsensus requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_CheckLeaks"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_CheckLeaks"><code>queue_overflow_rejections_kudu_server_GenericService_CheckLeaks</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.CheckLeaks RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.CheckLeaks requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers"><code>queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.DumpMemTrackers RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.DumpMemTrackers requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_FlushCoverage"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_FlushCoverage"><code>queue_overflow_rejections_kudu_server_GenericService_FlushCoverage</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.FlushCoverage RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.FlushCoverage requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_GetFlags"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_GetFlags"><code>queue_overflow_rejections_kudu_server_GenericService_GetFlags</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetFlags RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.GetFlags requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_GetStatus"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_GetStatus"><code>queue_overflow_rejections_kudu_server_GenericService_GetStatus</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetStatus RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.GetStatus requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_ServerClock"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_ServerClock"><code>queue_overflow_rejections_kudu_server_GenericService_ServerClock</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.ServerClock RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.ServerClock requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_SetFlag"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_SetFlag"><code>queue_overflow_rejections_kudu_server_GenericService_SetFlag</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetFlag RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.SetFlag requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests"><code>queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests</code></a></h3>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetServerWallClockForTests RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.SetServerWallClockForTests requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.BeginTabletCopySession requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.CheckSessionActive RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.CheckSessionActive requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.EndTabletCopySession RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.EndTabletCopySession requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.FetchData RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.FetchData requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.AlterSchema RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.AlterSchema requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.CoordinateTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CreateTablet RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.CreateTablet requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.DeleteTablet RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.DeleteTablet requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.ParticipateInTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.Quiesce RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.Quiesce requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Checksum RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Checksum requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ListTablets RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.ListTablets requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Ping"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Ping"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Ping</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Ping RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Ping requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Scan"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Scan"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Scan</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Scan RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Scan requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ScannerKeepAlive RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.ScannerKeepAlive requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.SplitKeyRange RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.SplitKeyRange requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Write"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Write"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Write</code></a></h3>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Write RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Write requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_reactor_active_latency_us"><a class="link" href="#kudu-tserver_reactor_active_latency_us"><code>reactor_active_latency_us</code></a></h3>
+<div class="paragraph">
+<p>Reactor Thread Active Latency
+&#160;
+Histogram of the wall clock time for reactor thread wake-ups. The reactor thread is responsible for all network I/O and therefore outliers in this latency histogram directly contribute to the latency of both inbound and outbound RPCs.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_reactor_load_percent"><a class="link" href="#kudu-tserver_reactor_load_percent"><code>reactor_load_percent</code></a></h3>
+<div class="paragraph">
+<p>Reactor Thread Load Percentage
+&#160;
+The percentage of time that the reactor is busy (not blocked awaiting network activity). If this metric shows significant samples nears 100%, increasing the number of reactors may be beneficial.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rows_deleted"><a class="link" href="#kudu-tserver_rows_deleted"><code>rows_deleted</code></a></h3>
+<div class="paragraph">
+<p>Rows Deleted
+&#160;
+Number of row delete operations performed on this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rows_inserted"><a class="link" href="#kudu-tserver_rows_inserted"><code>rows_inserted</code></a></h3>
+<div class="paragraph">
+<p>Rows Inserted
+&#160;
+Number of rows inserted into this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rows_updated"><a class="link" href="#kudu-tserver_rows_updated"><code>rows_updated</code></a></h3>
+<div class="paragraph">
+<p>Rows Updated
+&#160;
+Number of row update operations performed on this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rows_upserted"><a class="link" href="#kudu-tserver_rows_upserted"><code>rows_upserted</code></a></h3>
+<div class="paragraph">
+<p>Rows Upserted
+&#160;
+Number of rows upserted into this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_connections_accepted"><a class="link" href="#kudu-tserver_rpc_connections_accepted"><code>rpc_connections_accepted</code></a></h3>
+<div class="paragraph">
+<p>RPC Connections Accepted
+&#160;
+Number of incoming TCP connections made to the RPC server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">connections</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_connections_accepted_unix_domain_socket"><a class="link" href="#kudu-tserver_rpc_connections_accepted_unix_domain_socket"><code>rpc_connections_accepted_unix_domain_socket</code></a></h3>
+<div class="paragraph">
+<p>RPC Connections Accepted via UNIX Domain Socket
+&#160;
+Number of incoming UNIX Domain Socket connections made to the RPC server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">connections</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_rpc_incoming_queue_time"><a class="link" href="#kudu-tserver_rpc_incoming_queue_time"><code>rpc_incoming_queue_time</code></a></h3>
+<div class="paragraph">
+<p>RPC Queue Time
+&#160;
+Number of microseconds incoming RPC requests spend in the worker queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_duration"><a class="link" href="#kudu-tserver_scanner_duration"><code>scanner_duration</code></a></h3>
+<div class="paragraph">
+<p>Scanner Duration
+&#160;
+Histogram of the duration of active scanners on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_predicates_disabled"><a class="link" href="#kudu-tserver_scanner_predicates_disabled"><code>scanner_predicates_disabled</code></a></h3>
+<div class="paragraph">
+<p>Scanner Column Predicates Disabled
+&#160;
+Number of column predicates disabled during scan requests. This count measures the number of disableable column predicates like Bloom filter predicate that are automatically disabled if determined to be ineffective.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_state"><a class="link" href="#kudu-tserver_state"><code>state</code></a></h3>
+<div class="paragraph">
+<p>Tablet State
+&#160;
+State of this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">state</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_copy_open_client_sessions"><a class="link" href="#kudu-tserver_tablet_copy_open_client_sessions"><code>tablet_copy_open_client_sessions</code></a></h3>
+<div class="paragraph">
+<p>Open Table Copy Client Sessions
+&#160;
+Number of currently open tablet copy client sessions on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sessions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_copy_open_source_sessions"><a class="link" href="#kudu-tserver_tablet_copy_open_source_sessions"><code>tablet_copy_open_source_sessions</code></a></h3>
+<div class="paragraph">
+<p>Open Table Copy Source Sessions
+&#160;
+Number of currently open tablet copy source sessions on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sessions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablets_num_bootstrapping"><a class="link" href="#kudu-tserver_tablets_num_bootstrapping"><code>tablets_num_bootstrapping</code></a></h3>
+<div class="paragraph">
+<p>Number of Bootstrapping Tablets
+&#160;
+Number of tablets currently bootstrapping</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablets_num_initialized"><a class="link" href="#kudu-tserver_tablets_num_initialized"><code>tablets_num_initialized</code></a></h3>
+<div class="paragraph">
+<p>Number of Initialized Tablets
+&#160;
+Number of tablets currently initialized</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablets_num_not_initialized"><a class="link" href="#kudu-tserver_tablets_num_not_initialized"><code>tablets_num_not_initialized</code></a></h3>
+<div class="paragraph">
+<p>Number of Not Initialized Tablets
+&#160;
+Number of tablets currently not initialized</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablets_num_running"><a class="link" href="#kudu-tserver_tablets_num_running"><code>tablets_num_running</code></a></h3>
+<div class="paragraph">
+<p>Number of Running Tablets
+&#160;
+Number of tablets currently running</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablets_num_shutdown"><a class="link" href="#kudu-tserver_tablets_num_shutdown"><code>tablets_num_shutdown</code></a></h3>
+<div class="paragraph">
+<p>Number of Shut Down Tablets
+&#160;
+Number of tablets currently shut down</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablets_num_stopped"><a class="link" href="#kudu-tserver_tablets_num_stopped"><code>tablets_num_stopped</code></a></h3>
+<div class="paragraph">
+<p>Number of Stopped Tablets
+&#160;
+Number of tablets currently stopped</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablets_num_stopping"><a class="link" href="#kudu-tserver_tablets_num_stopping"><code>tablets_num_stopping</code></a></h3>
+<div class="paragraph">
+<p>Number of Stopping Tablets
+&#160;
+Number of tablets currently stopping</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tcmalloc_current_total_thread_cache_bytes"><a class="link" href="#kudu-tserver_tcmalloc_current_total_thread_cache_bytes"><code>tcmalloc_current_total_thread_cache_bytes</code></a></h3>
+<div class="paragraph">
+<p>Thread Cache Memory Usage
+&#160;
+A measure of some of the memory TCMalloc is using (for small objects).</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tcmalloc_max_total_thread_cache_bytes"><a class="link" href="#kudu-tserver_tcmalloc_max_total_thread_cache_bytes"><code>tcmalloc_max_total_thread_cache_bytes</code></a></h3>
+<div class="paragraph">
+<p>Thread Cache Memory Limit
+&#160;
+A limit to how much memory TCMalloc dedicates for small objects. Higher numbers trade off more memory use for&#8201;&#8212;&#8201;in some situations&#8201;&#8212;&#8201;improved efficiency.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tcmalloc_pageheap_free_bytes"><a class="link" href="#kudu-tserver_tcmalloc_pageheap_free_bytes"><code>tcmalloc_pageheap_free_bytes</code></a></h3>
+<div class="paragraph">
+<p>Free Heap Memory
+&#160;
+Number of bytes in free, mapped pages in page heap. These bytes can be used to fulfill allocation requests. They always count towards virtual memory usage, and unless the underlying memory is swapped out by the OS, they also count towards physical memory usage.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tcmalloc_pageheap_unmapped_bytes"><a class="link" href="#kudu-tserver_tcmalloc_pageheap_unmapped_bytes"><code>tcmalloc_pageheap_unmapped_bytes</code></a></h3>
+<div class="paragraph">
+<p>Unmapped Heap Memory
+&#160;
+Number of bytes in free, unmapped pages in page heap. These are bytes that have been released back to the OS, possibly by one of the MallocExtension "Release" calls. They can be used to fulfill allocation requests, but typically incur a page fault. They always count towards virtual memory usage, and depending on the OS, typically do not count towards physical memory usage.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_threads_running"><a class="link" href="#kudu-tserver_threads_running"><code>threads_running</code></a></h3>
+<div class="paragraph">
+<p>Threads Running
+&#160;
+Current number of running threads</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">threads</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_undo_delta_block_gc_delete_duration"><a class="link" href="#kudu-tserver_undo_delta_block_gc_delete_duration"><code>undo_delta_block_gc_delete_duration</code></a></h3>
+<div class="paragraph">
+<p>Undo Delta Block GC Delete Duration
+&#160;
+Time spent deleting ancient UNDO delta blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_undo_delta_block_gc_init_duration"><a class="link" href="#kudu-tserver_undo_delta_block_gc_init_duration"><code>undo_delta_block_gc_init_duration</code></a></h3>
+<div class="paragraph">
+<p>Undo Delta Block GC Init Duration
+&#160;
+Time spent initializing ancient UNDO delta blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_undo_delta_block_gc_perform_duration"><a class="link" href="#kudu-tserver_undo_delta_block_gc_perform_duration"><code>undo_delta_block_gc_perform_duration</code></a></h3>
+<div class="paragraph">
+<p>Undo Delta Block GC Perform Duration
+&#160;
+Time spent running the maintenance operation to GC ancient UNDO delta blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_upserts_as_updates"><a class="link" href="#kudu-tserver_upserts_as_updates"><code>upserts_as_updates</code></a></h3>
+<div class="paragraph">
+<p>Upserts converted into updates
+&#160;
+Number of upserts which were applied as updates because the key already existed.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_uptime"><a class="link" href="#kudu-tserver_uptime"><code>uptime</code></a></h3>
+<div class="paragraph">
+<p>Server Uptime
+&#160;
+Time interval since the server has started</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_voluntary_context_switches"><a class="link" href="#kudu-tserver_voluntary_context_switches"><code>voluntary_context_switches</code></a></h3>
+<div class="paragraph">
+<p>Voluntary Context Switches
+&#160;
+Total voluntary context switches</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">context switches</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_debug"><a class="link" href="#kudu-tserver_debug">Debug Metrics</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Metrics tagged as 'debug' are diagnostically helpful but generally not monitored
+during normal operation.</p>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_all_transactions_inflight"><a class="link" href="#kudu-tserver_all_transactions_inflight"><code>all_transactions_inflight</code></a></h3>
+<div class="paragraph">
+<p>Ops In Flight
+&#160;
+Number of ops currently in-flight, including any type.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_alter_schema_transactions_inflight"><a class="link" href="#kudu-tserver_alter_schema_transactions_inflight"><code>alter_schema_transactions_inflight</code></a></h3>
+<div class="paragraph">
+<p>Alter Schema Ops In Flight
+&#160;
+Number of alter schema ops currently in-flight</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_cache_evictions"><a class="link" href="#kudu-tserver_block_cache_evictions"><code>block_cache_evictions</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Evictions
+&#160;
+Number of blocks evicted from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_cache_hits"><a class="link" href="#kudu-tserver_block_cache_hits"><code>block_cache_hits</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Hits
+&#160;
+Number of lookups that found a block</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_cache_hits_caching"><a class="link" href="#kudu-tserver_block_cache_hits_caching"><code>block_cache_hits_caching</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Hits (Caching)
+&#160;
+Number of lookups that were expecting a block that found one.Use this number instead of cache_hits when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_cache_inserts"><a class="link" href="#kudu-tserver_block_cache_inserts"><code>block_cache_inserts</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Inserts
+&#160;
+Number of blocks inserted in the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_cache_lookups"><a class="link" href="#kudu-tserver_block_cache_lookups"><code>block_cache_lookups</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Lookups
+&#160;
+Number of blocks looked up from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_cache_misses"><a class="link" href="#kudu-tserver_block_cache_misses"><code>block_cache_misses</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Misses
+&#160;
+Number of lookups that didn&#8217;t yield a block</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_cache_misses_caching"><a class="link" href="#kudu-tserver_block_cache_misses_caching"><code>block_cache_misses_caching</code></a></h3>
+<div class="paragraph">
+<p>Block Cache Misses (Caching)
+&#160;
+Number of lookups that were expecting a block that didn&#8217;t yield one.Use this number instead of cache_misses when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_manager_total_blocks_created"><a class="link" href="#kudu-tserver_block_manager_total_blocks_created"><code>block_manager_total_blocks_created</code></a></h3>
+<div class="paragraph">
+<p>Data Blocks Created
+&#160;
+Number of data blocks that were created since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_manager_total_blocks_deleted"><a class="link" href="#kudu-tserver_block_manager_total_blocks_deleted"><code>block_manager_total_blocks_deleted</code></a></h3>
+<div class="paragraph">
+<p>Data Blocks Deleted
+&#160;
+Number of data blocks that were deleted since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_manager_total_bytes_read"><a class="link" href="#kudu-tserver_block_manager_total_bytes_read"><code>block_manager_total_bytes_read</code></a></h3>
+<div class="paragraph">
+<p>Block Data Bytes Read
+&#160;
+Number of bytes of block data read since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_manager_total_bytes_written"><a class="link" href="#kudu-tserver_block_manager_total_bytes_written"><code>block_manager_total_bytes_written</code></a></h3>
+<div class="paragraph">
+<p>Block Data Bytes Written
+&#160;
+Number of bytes of block data written since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_manager_total_disk_sync"><a class="link" href="#kudu-tserver_block_manager_total_disk_sync"><code>block_manager_total_disk_sync</code></a></h3>
+<div class="paragraph">
+<p>Block Data Disk Synchronization Count
+&#160;
+Number of disk synchronizations of block data since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_manager_total_readable_blocks"><a class="link" href="#kudu-tserver_block_manager_total_readable_blocks"><code>block_manager_total_readable_blocks</code></a></h3>
+<div class="paragraph">
+<p>Data Blocks Opened For Read
+&#160;
+Number of data blocks opened for reading since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_block_manager_total_writable_blocks"><a class="link" href="#kudu-tserver_block_manager_total_writable_blocks"><code>block_manager_total_writable_blocks</code></a></h3>
+<div class="paragraph">
+<p>Data Blocks Opened For Write
+&#160;
+Number of data blocks opened for writing since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_bloom_lookups"><a class="link" href="#kudu-tserver_bloom_lookups"><code>bloom_lookups</code></a></h3>
+<div class="paragraph">
+<p>Bloom Filter Lookups
+&#160;
+Number of times a bloom filter was consulted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_bloom_lookups_per_op"><a class="link" href="#kudu-tserver_bloom_lookups_per_op"><code>bloom_lookups_per_op</code></a></h3>
+<div class="paragraph">
+<p>Bloom Lookups per Operation
+&#160;
+Tracks the number of bloom filter lookups performed by each operation. A single operation may perform several bloom filter lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_builtin_ntp_max_errors"><a class="link" href="#kudu-tserver_builtin_ntp_max_errors"><code>builtin_ntp_max_errors</code></a></h3>
+<div class="paragraph">
+<p>Built-In NTP Maximum Time Errors
+&#160;
+Statistics on the maximum true time error computed by built-in NTP client</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_builtin_ntp_time"><a class="link" href="#kudu-tserver_builtin_ntp_time"><code>builtin_ntp_time</code></a></h3>
+<div class="paragraph">
+<p>Built-in NTP Time
+&#160;
+Latest true time as tracked by built-in NTP client</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_bytes_flushed"><a class="link" href="#kudu-tserver_bytes_flushed"><code>bytes_flushed</code></a></h3>
+<div class="paragraph">
+<p>Bytes Flushed
+&#160;
+Amount of data that has been flushed to disk by this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_code_cache_hits"><a class="link" href="#kudu-tserver_code_cache_hits"><code>code_cache_hits</code></a></h3>
+<div class="paragraph">
+<p>Codegen Cache Hits
+&#160;
+Number of codegen cache hits since start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hits</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_code_cache_queries"><a class="link" href="#kudu-tserver_code_cache_queries"><code>code_cache_queries</code></a></h3>
+<div class="paragraph">
+<p>Codegen Cache Queries
+&#160;
+Number of codegen cache queries (hits + misses) since start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">queries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_commit_wait_duration"><a class="link" href="#kudu-tserver_commit_wait_duration"><code>commit_wait_duration</code></a></h3>
+<div class="paragraph">
+<p>Commit-Wait Duration
+&#160;
+Time spent waiting for COMMIT_WAIT external consistency writes for this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_compact_rs_running"><a class="link" href="#kudu-tserver_compact_rs_running"><code>compact_rs_running</code></a></h3>
+<div class="paragraph">
+<p>RowSet Compactions Running
+&#160;
+Number of RowSet compactions currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_delete_ignore_errors"><a class="link" href="#kudu-tserver_delete_ignore_errors"><code>delete_ignore_errors</code></a></h3>
+<div class="paragraph">
+<p>Delete Ignore Errors
+&#160;
+Number of delete ignore operations for this tablet which were ignored due to an error since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_deleted_rowset_estimated_retained_bytes"><a class="link" href="#kudu-tserver_deleted_rowset_estimated_retained_bytes"><code>deleted_rowset_estimated_retained_bytes</code></a></h3>
+<div class="paragraph">
+<p>Estimated Deletable Bytes Retained in Deleted Rowsets
+&#160;
+Estimated bytes of deletable data in deleted rowsets for this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_deleted_rowset_gc_bytes_deleted"><a class="link" href="#kudu-tserver_deleted_rowset_gc_bytes_deleted"><code>deleted_rowset_gc_bytes_deleted</code></a></h3>
+<div class="paragraph">
+<p>Deleted Rowsets GC Bytes Deleted
+&#160;
+Number of bytes deleted by garbage-collecting deleted rowsets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_deleted_rowset_gc_running"><a class="link" href="#kudu-tserver_deleted_rowset_gc_running"><code>deleted_rowset_gc_running</code></a></h3>
+<div class="paragraph">
+<p>Deleted Rowset GC Running
+&#160;
+Number of deleted rowset GC operations currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_delta_file_lookups"><a class="link" href="#kudu-tserver_delta_file_lookups"><code>delta_file_lookups</code></a></h3>
+<div class="paragraph">
+<p>Delta File Lookups
+&#160;
+Number of times a delta file was consulted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_delta_major_compact_rs_running"><a class="link" href="#kudu-tserver_delta_major_compact_rs_running"><code>delta_major_compact_rs_running</code></a></h3>
+<div class="paragraph">
+<p>Major Delta Compactions Running
+&#160;
+Number of delta major compactions currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_delta_minor_compact_rs_running"><a class="link" href="#kudu-tserver_delta_minor_compact_rs_running"><code>delta_minor_compact_rs_running</code></a></h3>
+<div class="paragraph">
+<p>Minor Delta Compactions Running
+&#160;
+Number of delta minor compactions currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_file_cache_evictions"><a class="link" href="#kudu-tserver_file_cache_evictions"><code>file_cache_evictions</code></a></h3>
+<div class="paragraph">
+<p>File Cache Evictions
+&#160;
+Number of file descriptors evicted from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_file_cache_hits"><a class="link" href="#kudu-tserver_file_cache_hits"><code>file_cache_hits</code></a></h3>
+<div class="paragraph">
+<p>File Cache Hits
+&#160;
+Number of lookups that found a file descriptor</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_file_cache_hits_caching"><a class="link" href="#kudu-tserver_file_cache_hits_caching"><code>file_cache_hits_caching</code></a></h3>
+<div class="paragraph">
+<p>File Cache Hits (Caching)
+&#160;
+Number of lookups that were expecting a file descriptor that found one. Use this number instead of cache_hits when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_file_cache_inserts"><a class="link" href="#kudu-tserver_file_cache_inserts"><code>file_cache_inserts</code></a></h3>
+<div class="paragraph">
+<p>File Cache Inserts
+&#160;
+Number of file descriptors inserted in the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_file_cache_lookups"><a class="link" href="#kudu-tserver_file_cache_lookups"><code>file_cache_lookups</code></a></h3>
+<div class="paragraph">
+<p>File Cache Lookups
+&#160;
+Number of file descriptors looked up from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_file_cache_misses"><a class="link" href="#kudu-tserver_file_cache_misses"><code>file_cache_misses</code></a></h3>
+<div class="paragraph">
+<p>File Cache Misses
+&#160;
+Number of lookups that didn&#8217;t yield a file descriptor</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_file_cache_misses_caching"><a class="link" href="#kudu-tserver_file_cache_misses_caching"><code>file_cache_misses_caching</code></a></h3>
+<div class="paragraph">
+<p>File Cache Misses (Caching)
+&#160;
+Number of lookups that were expecting a file descriptor that didn&#8217;t yield one. Use this number instead of cache_misses when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_flush_dms_running"><a class="link" href="#kudu-tserver_flush_dms_running"><code>flush_dms_running</code></a></h3>
+<div class="paragraph">
+<p>DeltaMemStore Flushes Running
+&#160;
+Number of delta memstore flushes currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_flush_mrs_running"><a class="link" href="#kudu-tserver_flush_mrs_running"><code>flush_mrs_running</code></a></h3>
+<div class="paragraph">
+<p>MemRowSet Flushes Running
+&#160;
+Number of MemRowSet flushes currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_glog_info_messages"><a class="link" href="#kudu-tserver_glog_info_messages"><code>glog_info_messages</code></a></h3>
+<div class="paragraph">
+<p>INFO-level Log Messages
+&#160;
+Number of INFO-level log messages emitted by the application.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_hybrid_clock_max_errors"><a class="link" href="#kudu-tserver_hybrid_clock_max_errors"><code>hybrid_clock_max_errors</code></a></h3>
+<div class="paragraph">
+<p>Hybrid Clock Maximum Errors
+&#160;
+The statistics on the maximum error of the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_in_progress_ops"><a class="link" href="#kudu-tserver_in_progress_ops"><code>in_progress_ops</code></a></h3>
+<div class="paragraph">
+<p>Operations in Progress
+&#160;
+Number of operations in the peer&#8217;s queue ack&#8217;d by a minority of peers.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_insert_ignore_errors"><a class="link" href="#kudu-tserver_insert_ignore_errors"><code>insert_ignore_errors</code></a></h3>
+<div class="paragraph">
+<p>Insert Ignore Errors
+&#160;
+Number of insert ignore operations for this tablet which were ignored due to an error since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_insertions_failed_dup_key"><a class="link" href="#kudu-tserver_insertions_failed_dup_key"><code>insertions_failed_dup_key</code></a></h3>
+<div class="paragraph">
+<p>Duplicate Key Inserts
+&#160;
+Number of inserts which failed because the key already existed</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_key_file_lookups"><a class="link" href="#kudu-tserver_key_file_lookups"><code>key_file_lookups</code></a></h3>
+<div class="paragraph">
+<p>Key File Lookups
+&#160;
+Number of times a key cfile was consulted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_key_file_lookups_per_op"><a class="link" href="#kudu-tserver_key_file_lookups_per_op"><code>key_file_lookups_per_op</code></a></h3>
+<div class="paragraph">
+<p>Key Lookups per Operation
+&#160;
+Tracks the number of key file lookups performed by each operation. A single operation may perform several key file lookups if the tablet is not fully compacted and if bloom filters are not effectively culling lookups.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_last_read_elapsed_time"><a class="link" href="#kudu-tserver_last_read_elapsed_time"><code>last_read_elapsed_time</code></a></h3>
+<div class="paragraph">
+<p>Seconds Since Last Read
+&#160;
+The elapsed time, in seconds, since the last read operation on this tablet, or since this Tablet object was created on current tserver if it hasn&#8217;t been read since then.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_last_write_elapsed_time"><a class="link" href="#kudu-tserver_last_write_elapsed_time"><code>last_write_elapsed_time</code></a></h3>
+<div class="paragraph">
+<p>Seconds Since Last Write
+&#160;
+The elapsed time, in seconds, since the last write operation on this tablet, or since this Tablet object was created on current tserver if it hasn&#8217;t been written to since then.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_block_manager_dead_containers_deleted"><a class="link" href="#kudu-tserver_log_block_manager_dead_containers_deleted"><code>log_block_manager_dead_containers_deleted</code></a></h3>
+<div class="paragraph">
+<p>Number of Dead Block Containers Deleted
+&#160;
+Number of full (but dead) block containers that were deleted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log block containers</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_block_manager_holes_punched"><a class="link" href="#kudu-tserver_log_block_manager_holes_punched"><code>log_block_manager_holes_punched</code></a></h3>
+<div class="paragraph">
+<p>Number of Holes Punched
+&#160;
+Number of holes punched since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">holes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_bytes_logged"><a class="link" href="#kudu-tserver_log_bytes_logged"><code>log_bytes_logged</code></a></h3>
+<div class="paragraph">
+<p>Bytes Written to WAL
+&#160;
+Number of bytes logged since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_cache_num_ops"><a class="link" href="#kudu-tserver_log_cache_num_ops"><code>log_cache_num_ops</code></a></h3>
+<div class="paragraph">
+<p>Log Cache Operation Count
+&#160;
+Number of operations in the log cache.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_cache_size"><a class="link" href="#kudu-tserver_log_cache_size"><code>log_cache_size</code></a></h3>
+<div class="paragraph">
+<p>Log Cache Memory Usage
+&#160;
+Amount of memory in use for caching the local log.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_entry_batches_per_group"><a class="link" href="#kudu-tserver_log_entry_batches_per_group"><code>log_entry_batches_per_group</code></a></h3>
+<div class="paragraph">
+<p>Log Group Commit Batch Size
+&#160;
+Number of log entry batches in a group commit group</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_group_commit_latency"><a class="link" href="#kudu-tserver_log_group_commit_latency"><code>log_group_commit_latency</code></a></h3>
+<div class="paragraph">
+<p>Log Group Commit Latency
+&#160;
+Microseconds spent on committing an entire group</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_reader_bytes_read"><a class="link" href="#kudu-tserver_log_reader_bytes_read"><code>log_reader_bytes_read</code></a></h3>
+<div class="paragraph">
+<p>Bytes Read From Log
+&#160;
+Data read from the WAL since tablet start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_reader_entries_read"><a class="link" href="#kudu-tserver_log_reader_entries_read"><code>log_reader_entries_read</code></a></h3>
+<div class="paragraph">
+<p>Entries Read From Log
+&#160;
+Number of entries read from the WAL since tablet start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_log_roll_latency"><a class="link" href="#kudu-tserver_log_roll_latency"><code>log_roll_latency</code></a></h3>
+<div class="paragraph">
+<p>Log Roll Latency
+&#160;
+Microseconds spent on rolling over to a new log segment file</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_majority_done_ops"><a class="link" href="#kudu-tserver_majority_done_ops"><code>majority_done_ops</code></a></h3>
+<div class="paragraph">
+<p>Leader Operations Acked by Majority
+&#160;
+Number of operations in the leader queue ack&#8217;d by a majority but not all peers. This metric is always zero for followers.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_mrs_lookups"><a class="link" href="#kudu-tserver_mrs_lookups"><code>mrs_lookups</code></a></h3>
+<div class="paragraph">
+<p>MemRowSet Lookups
+&#160;
+Number of times a MemRowSet was consulted.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_raft_term"><a class="link" href="#kudu-tserver_raft_term"><code>raft_term</code></a></h3>
+<div class="paragraph">
+<p>Current Raft Consensus Term
+&#160;
+Current Term of the Raft Consensus algorithm. This number increments each time a leader election is started.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_bytes_returned"><a class="link" href="#kudu-tserver_scanner_bytes_returned"><code>scanner_bytes_returned</code></a></h3>
+<div class="paragraph">
+<p>Scanner Bytes Returned
+&#160;
+Number of bytes returned by scanners to clients. This count is measured after predicates are applied and the data is decoded for consumption by clients, and thus is not a reflection of the amount of work being done by scanners.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_bytes_scanned_from_disk"><a class="link" href="#kudu-tserver_scanner_bytes_scanned_from_disk"><code>scanner_bytes_scanned_from_disk</code></a></h3>
+<div class="paragraph">
+<p>Scanner Bytes Scanned From Disk
+&#160;
+Number of bytes read by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual IO that has been caused by scan operations compared to the Scanner Bytes Returned metric.
+Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_cells_returned"><a class="link" href="#kudu-tserver_scanner_cells_returned"><code>scanner_cells_returned</code></a></h3>
+<div class="paragraph">
+<p>Scanner Cells Returned
+&#160;
+Number of table cells returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">cells</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_cells_scanned_from_disk"><a class="link" href="#kudu-tserver_scanner_cells_scanned_from_disk"><code>scanner_cells_scanned_from_disk</code></a></h3>
+<div class="paragraph">
+<p>Scanner Cells Scanned From Disk
+&#160;
+Number of table cells processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table cells that have been processed by scan operations compared to the Scanner Cells Returned metric.
+Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">cells</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_rows_returned"><a class="link" href="#kudu-tserver_scanner_rows_returned"><code>scanner_rows_returned</code></a></h3>
+<div class="paragraph">
+<p>Scanner Rows Returned
+&#160;
+Number of rows returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scanner_rows_scanned"><a class="link" href="#kudu-tserver_scanner_rows_scanned"><code>scanner_rows_scanned</code></a></h3>
+<div class="paragraph">
+<p>Scanner Rows Scanned
+&#160;
+Number of rows processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table rows that have been processed by scan operations compared to the Scanner Rows Returned metric.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_scans_started"><a class="link" href="#kudu-tserver_scans_started"><code>scans_started</code></a></h3>
+<div class="paragraph">
+<p>Scans Started
+&#160;
+Number of scanners which have been started on this tablet</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_snapshot_read_inflight_wait_duration"><a class="link" href="#kudu-tserver_snapshot_read_inflight_wait_duration"><code>snapshot_read_inflight_wait_duration</code></a></h3>
+<div class="paragraph">
+<p>Time Waiting For Snapshot Reads
+&#160;
+Time spent waiting for in-flight writes to complete for READ_AT_SNAPSHOT scans.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_active_scanners"><a class="link" href="#kudu-tserver_tablet_active_scanners"><code>tablet_active_scanners</code></a></h3>
+<div class="paragraph">
+<p>Active Scanners
+&#160;
+Number of scanners that are currently active on this tablet</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_copy_bytes_fetched"><a class="link" href="#kudu-tserver_tablet_copy_bytes_fetched"><code>tablet_copy_bytes_fetched</code></a></h3>
+<div class="paragraph">
+<p>Bytes Fetched By Tablet Copy
+&#160;
+Number of bytes fetched during tablet copy operations since server start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_tablet_copy_bytes_sent"><a class="link" href="#kudu-tserver_tablet_copy_bytes_sent"><code>tablet_copy_bytes_sent</code></a></h3>
+<div class="paragraph">
+<p>Bytes Sent For Tablet Copy
+&#160;
+Number of bytes sent during tablet copy operations since server start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_threads_started"><a class="link" href="#kudu-tserver_threads_started"><code>threads_started</code></a></h3>
+<div class="paragraph">
+<p>Threads Started
+&#160;
+Total number of threads started on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">threads</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_time_since_last_leader_heartbeat"><a class="link" href="#kudu-tserver_time_since_last_leader_heartbeat"><code>time_since_last_leader_heartbeat</code></a></h3>
+<div class="paragraph">
+<p>Time Since Last Leader Heartbeat
+&#160;
+The time elapsed since the last heartbeat from the leader in milliseconds. This metric is identically zero on a leader replica.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_undo_delta_block_estimated_retained_bytes"><a class="link" href="#kudu-tserver_undo_delta_block_estimated_retained_bytes"><code>undo_delta_block_estimated_retained_bytes</code></a></h3>
+<div class="paragraph">
+<p>Estimated Deletable Bytes Retained in Undo Delta Blocks
+&#160;
+Estimated bytes of deletable data in undo delta blocks for this tablet. May be an overestimate.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_undo_delta_block_gc_bytes_deleted"><a class="link" href="#kudu-tserver_undo_delta_block_gc_bytes_deleted"><code>undo_delta_block_gc_bytes_deleted</code></a></h3>
+<div class="paragraph">
+<p>Undo Delta Block GC Bytes Deleted
+&#160;
+Number of bytes deleted by garbage-collecting old UNDO delta blocks on this tablet since this server was restarted. Does not include bytes garbage collected during compactions.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_undo_delta_block_gc_running"><a class="link" href="#kudu-tserver_undo_delta_block_gc_running"><code>undo_delta_block_gc_running</code></a></h3>
+<div class="paragraph">
+<p>Undo Delta Block GC Running
+&#160;
+Number of UNDO delta block GC operations currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_update_ignore_errors"><a class="link" href="#kudu-tserver_update_ignore_errors"><code>update_ignore_errors</code></a></h3>
+<div class="paragraph">
+<p>Update Ignore Errors
+&#160;
+Number of update ignore operations for this tablet which were ignored due to an error since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_write_op_duration_client_propagated_consistency"><a class="link" href="#kudu-tserver_write_op_duration_client_propagated_consistency"><code>write_op_duration_client_propagated_consistency</code></a></h3>
+<div class="paragraph">
+<p>Write Op Duration with Propagated Consistency
+&#160;
+Duration of writes to this tablet with external consistency set to CLIENT_PROPAGATED.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_write_op_duration_commit_wait_consistency"><a class="link" href="#kudu-tserver_write_op_duration_commit_wait_consistency"><code>write_op_duration_commit_wait_consistency</code></a></h3>
+<div class="paragraph">
+<p>Write Op Duration with Commit-Wait Consistency
+&#160;
+Duration of writes to this tablet with external consistency set to COMMIT_WAIT.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_write_transactions_inflight"><a class="link" href="#kudu-tserver_write_transactions_inflight"><code>write_transactions_inflight</code></a></h3>
+<div class="paragraph">
+<p>Write Ops In Flight
+&#160;
+Number of write ops currently in-flight</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+<hr>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/kudu_impala_integration.html b/releases/1.15.0/docs/kudu_impala_integration.html
new file mode 100644
index 0000000..df85bf8
--- /dev/null
+++ b/releases/1.15.0/docs/kudu_impala_integration.html
@@ -0,0 +1,1379 @@
+<!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 - Using Apache Kudu with Apache Impala</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Using Apache Kudu with Apache Impala</h1>
+      <div class="sect1">
+<h2 id="kudu_impala"><a class="link" href="#kudu_impala">Overview</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu has tight integration with Apache Impala, allowing you to use Impala
+to insert, query, update, and delete data from Kudu tablets using Impala&#8217;s SQL
+syntax, as an alternative to using the <a href="developing.html#view_api">Kudu APIs</a>
+to build a custom Kudu application. In addition, you can use JDBC or ODBC to connect
+existing or new applications written in any language, framework, or business intelligence
+tool to your Kudu data, using Impala as the broker.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_requirements"><a class="link" href="#_requirements">Requirements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>This documentation is specific to the certain versions of Impala. The syntax
+described will work only in the following releases:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>The version of Impala 2.7.0 that ships with CDH 5.10. <code>SELECT VERSION()</code> will
+report <code>impalad version 2.7.0-cdh5.10.0</code>.</p>
+</li>
+<li>
+<p>Apache Impala 2.8.0 releases compiled from source. <code>SELECT VERSION()</code> will
+report <code>impalad version 2.8.0</code>.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Older versions of Impala 2.7 (including the special <code>IMPALA_KUDU</code> releases
+previously available) have incompatible syntax. Future versions are likely to be
+compatible with this syntax, but we recommend checking that this is the latest
+available documentation corresponding to the appropriate version you have
+installed.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>This documentation does not describe Impala installation procedures. Please
+refer to the Impala documentation and be sure that you are able to run simple
+queries against Impala tables on HDFS before proceeding.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_configuration"><a class="link" href="#_configuration">Configuration</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>No configuration changes are required within Kudu to enable access from Impala.</p>
+</div>
+<div class="paragraph">
+<p>Although not strictly necessary, it is recommended to configure Impala with the
+locations of the Kudu Master servers:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Set the <code>--kudu_master_hosts=&lt;master1&gt;[:port],&lt;master2&gt;[:port],&lt;master3&gt;[:port]</code>
+flag in the Impala service configuration.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>If this flag is not set within the Impala service, it will be necessary to manually
+provide this configuration each time you create a table by specifying the
+<code>kudu.master_addresses</code> property inside a <code>TBLPROPERTIES</code> clause.</p>
+</div>
+<div class="paragraph">
+<p>The rest of this guide assumes that the configuration has been set.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_the_impala_shell"><a class="link" href="#_using_the_impala_shell">Using the Impala Shell</a></h2>
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This is only a small sub-set of Impala Shell functionality. For more details, see the
+<a href="https://impala.apache.org/docs/build/html/topics/impala_impala_shell.html">Impala Shell</a> documentation.
+</td>
+</tr>
+</table>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Start Impala Shell using the <code>impala-shell</code> command. By default, <code>impala-shell</code>
+attempts to connect to the Impala daemon on <code>localhost</code> on port 21000. To connect
+to a different host,, use the <code>-i &lt;host:port&gt;</code> option. To automatically connect to
+a specific Impala database, use the <code>-d &lt;database&gt;</code> option. For instance, if all your
+Kudu tables are in Impala in the database <code>impala_kudu</code>, use <code>-d impala_kudu</code> to use
+this database.</p>
+</li>
+<li>
+<p>To quit the Impala Shell, use the following command: <code>quit;</code></p>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="_internal_and_external_impala_tables"><a class="link" href="#_internal_and_external_impala_tables">Internal and External Impala Tables</a></h3>
+<div class="paragraph">
+<p>When creating a new Kudu table using Impala, you can create the table as an internal
+table or an external table.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Internal</dt>
+<dd>
+<p>An internal table is managed by Impala, and when you drop it from Impala,
+the data and the table truly are dropped. When you create a new table using Impala,
+it is generally a internal table.</p>
+</dd>
+<dt class="hdlist1">External</dt>
+<dd>
+<p>An external table (created by <code>CREATE EXTERNAL TABLE</code>) is not managed by
+Impala, and dropping such a table does not drop the table from its source location
+(here, Kudu). Instead, it only removes the mapping between Impala and Kudu. This is
+the mode used in the syntax provided by Kudu for mapping an existing table to Impala.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>See the
+<a href="https://impala.apache.org/docs/build/html/topics/impala_tables.html">Impala documentation</a>
+for more information about internal and external tables.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_the_hive_metastore_integration"><a class="link" href="#_using_the_hive_metastore_integration">Using the Hive Metastore Integration</a></h3>
+<div class="paragraph">
+<p>Starting from Kudu 1.10.0 and Impala 3.3.0, the Impala integration
+can take advantage of the automatic Kudu-HMS catalog synchronization enabled by
+Kudu&#8217;s Hive Metastore integration. Since there may be no one-to-one mapping
+between Kudu tables and external tables, only internal tables are automatically
+synchronized. See <a href="hive_metastore.html#hive_metastore">the HMS integration
+documentation</a> for more details on Kudu&#8217;s Hive Metastore integration.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+When Kudu&#8217;s integration with the Hive Metastore is not enabled, Impala
+will create metadata entries in the HMS on behalf of Kudu.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+When Kudu&#8217;s integration with the Hive Metastore is enabled, Impala should
+be configured to use the same Hive Metastore as Kudu.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_querying_an_existing_kudu_table_in_impala"><a class="link" href="#_querying_an_existing_kudu_table_in_impala">Querying an Existing Kudu Table In Impala</a></h3>
+<div class="paragraph">
+<p>Without the HMS integration enabled, tables created through the Kudu API or
+other integrations such as Apache Spark are not automatically visible in
+Impala. To query them, you must first create an external table within Impala to
+map the Kudu table into an Impala database:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">CREATE EXTERNAL TABLE my_mapping_table
+STORED AS KUDU
+TBLPROPERTIES (
+  'kudu.table_name' = 'my_kudu_table'
+);</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>When the Kudu-HMS integration is enabled, internal table entries will be
+created automatically in the HMS when tables are created in Kudu without
+Impala. To access these tables through Impala, run <code>invalidate metadata</code> so
+Impala picks up the latest metadata.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">INVALIDATE METADATA;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu_impala_create_table"><a class="link" href="#kudu_impala_create_table">Creating a New Kudu Table From Impala</a></h3>
+<div class="paragraph">
+<p>Creating a new table in Kudu from Impala is similar to mapping an existing Kudu table
+to an Impala table, except that you need to specify the schema and partitioning
+information yourself.</p>
+</div>
+<div class="paragraph">
+<p>Use the following example as a guideline. Impala first creates the table, then creates
+the mapping.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">CREATE TABLE my_first_table
+(
+  id BIGINT,
+  name STRING,
+  PRIMARY KEY(id)
+)
+PARTITION BY HASH PARTITIONS 16
+STORED AS KUDU;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In the <code>CREATE TABLE</code> statement, the columns that comprise the primary key must
+be listed first. Additionally, primary key columns are implicitly marked <code>NOT NULL</code>.</p>
+</div>
+<div class="paragraph">
+<p>When creating a new Kudu table, you are required to specify a distribution scheme.
+See <a href="#partitioning_tables">Partitioning Tables</a>. The table creation example above is distributed into
+16 partitions by hashing the <code>id</code> column, for simplicity. See
+<a href="#partitioning_rules_of_thumb">Partitioning Rules of Thumb</a> for guidelines on partitioning.</p>
+</div>
+<div class="paragraph">
+<p>By default, Kudu tables created through Impala use a tablet replication factor of 3.
+To specify the replication factor for a Kudu table, add a <code>TBLPROPERTIES</code> clause
+to the <code>CREATE TABLE</code> statement as shown below where n is the replication factor
+you want to use:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">TBLPROPERTIES ('kudu.num_tablet_replicas' = 'n')</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>A replication factor must be an odd number.</p>
+</div>
+<div class="paragraph">
+<p>Changing the <code>kudu.num_tablet_replicas</code> table property using ALTER TABLE currently
+has no effect.</p>
+</div>
+<div class="sect3">
+<h4 id="_create_table_as_select"><a class="link" href="#_create_table_as_select"><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 names and types of columns in <code>new_table</code>
+will determined from the columns in the result set of the <code>SELECT</code> statement. Note that you must
+additionally specify the primary key and partitioning.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">CREATE TABLE new_table
+PRIMARY KEY (ts, name)
+PARTITION BY HASH(name) PARTITIONS 8
+STORED AS KUDU
+AS SELECT ts, name, value FROM old_table;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<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 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>PARTITION BY</code> clause when creating a table using Impala:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Impala keywords, such as <code>group</code>, are enclosed by back-tick characters when
+they are not used in their keyword sense.
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">CREATE TABLE cust_behavior (
+  _id BIGINT PRIMARY KEY,
+  salary STRING,
+  edu_level INT,
+  usergender STRING,
+  `group` STRING,
+  city STRING,
+  postcode STRING,
+  last_purchase_price FLOAT,
+  last_purchase_date BIGINT,
+  category STRING,
+  sku STRING,
+  rating INT,
+  fulfilled_date BIGINT
+)
+PARTITION BY RANGE (_id)
+(
+    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 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="managed_tables"><a class="link" href="#managed_tables">Impala Databases and Kudu</a></h4>
+<div class="paragraph">
+<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>When a managed Kudu table is created from within Impala, the corresponding
+Kudu table will be named <code>impala::database_name.table_name</code>. The prefix is
+always <code>impala::</code> and the database name and table name follow, separated by a
+dot.</p>
+</div>
+<div class="paragraph">
+<p>For example if a table called <code>foo</code> is created in database <code>bar</code> in Impala and
+it&#8217;s storeed in Kudu, it will be called <code>impala::bar.foo</code> in Kudu and <code>bar.foo</code>
+in Impala.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_impala_keywords_not_supported_for_kudu_tables"><a class="link" href="#_impala_keywords_not_supported_for_kudu_tables">Impala Keywords Not Supported for Kudu Tables</a></h4>
+<div class="paragraph">
+<p>The following Impala keywords are not supported when creating Kudu tables:
+- <code>PARTITIONED</code>
+- <code>LOCATION</code>
+- <code>ROWFORMAT</code></p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<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>, '\&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>
+<div class="sect2">
+<h3 id="partitioning_tables"><a class="link" href="#partitioning_tables">Partitioning Tables</a></h3>
+<div class="paragraph">
+<p>Tables are partitioned into tablets according to a partition schema on the primary
+key columns. Each tablet is served by at least one tablet server. Ideally, a table
+should be split into tablets that are distributed across a number of tablet servers
+to maximize parallel operations. The details of the partitioning schema you use
+will depend entirely on the type of data you store and how you access it. For a full
+discussion of schema design in Kudu, see <a href="schema_design.html#schema_design">Schema Design</a>.</p>
+</div>
+<div class="paragraph">
+<p>Kudu currently has no mechanism for splitting or merging tablets after the table has
+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>PARTITION BY</code> keyword, which
+supports distribution by <code>RANGE</code> or <code>HASH</code>. The partition scheme can contain zero
+or more <code>HASH</code> definitions, followed by an optional <code>RANGE</code> definition. The <code>RANGE</code>
+definition can refer to one or more primary key columns.
+Examples of <a href="#basic_partitioning">basic</a> and <a href="#advanced_partitioning">advanced</a>
+partitioning are shown below.</p>
+</div>
+<div class="sect3">
+<h4 id="basic_partitioning"><a class="link" href="#basic_partitioning">Basic Partitioning</a></h4>
+<div class="paragraph">
+<div class="title"><code>PARTITION BY RANGE</code></div>
+<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
+following example creates 50 tablets, one per US state.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<div class="title">Monotonically Increasing Values</div>
+<div class="paragraph">
+<p>If you partition by range on a column whose values are monotonically increasing,
+the last tablet will grow much larger than the others. Additionally, all data
+being inserted will be written to a single tablet at a time, limiting the scalability
+of data ingest. In that case, consider distributing by <code>HASH</code> instead of, or in
+addition to, <code>RANGE</code>.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">CREATE TABLE customers (
+  state STRING,
+  name STRING,
+  purchase_count int,
+  PRIMARY KEY (state, name)
+)
+PARTITION BY RANGE (state)
+(
+  PARTITION VALUE = 'al',
+  PARTITION VALUE = 'ak',
+  PARTITION VALUE = 'ar',
+  -- ... etc ...
+  PARTITION VALUE = 'wv',
+  PARTITION VALUE = 'wy'
+)
+STORED AS KUDU;</code></pre>
+</div>
+</div>
+<div id="distribute_by_hash" class="paragraph">
+<div class="title"><code>PARTITION BY HASH</code></div>
+<p>Instead of distributing by an explicit range, or in combination with range distribution,
+you can distribute into a specific number of 'buckets' by hash. You specify the primary
+key columns you want to partition by, and the number of buckets you want to use. Rows are
+distributed by hashing the specified key columns. Assuming that the values being
+hashed do not themselves exhibit significant skew, this will serve to distribute
+the data evenly across buckets.</p>
+</div>
+<div class="paragraph">
+<p>You can specify multiple definitions, and you can specify definitions which
+use compound primary keys. However, one column cannot be mentioned in multiple hash
+definitions. Consider two columns, <code>a</code> and <code>b</code>:
+* <span class="icon green"><i class="fa fa-check fa-pro"></i></span> <code>HASH(a)</code>, <code>HASH(b)</code>
+* <span class="icon green"><i class="fa fa-check fa-pro"></i></span> <code>HASH(a,b)</code>
+* <span class="icon red"><i class="fa fa-times fa-pro"></i></span> <code>HASH(a), HASH(a,b)</code></p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<code>PARTITION BY HASH</code> with no column specified is a shortcut to create the desired
+number of buckets by hashing all primary key columns.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Hash partitioning is a reasonable approach if primary key values are evenly
+distributed in their domain and no data skew is apparent, such as timestamps or
+serial IDs.</p>
+</div>
+<div class="paragraph">
+<p>The following example creates 16 tablets by hashing the <code>id</code> and <code>sku</code> columns. This spreads
+writes across all 16 tablets. In this example, a query for a range of <code>sku</code> values
+is likely to need to read all 16 tablets, so this may not be the optimum schema for
+this table. See <a href="#advanced_partitioning">Advanced Partitioning</a> for an extended example.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">CREATE TABLE cust_behavior (
+  id BIGINT,
+  sku STRING,
+  salary STRING,
+  edu_level INT,
+  usergender STRING,
+  `group` STRING,
+  city STRING,
+  postcode STRING,
+  last_purchase_price FLOAT,
+  last_purchase_date BIGINT,
+  category STRING,
+  rating INT,
+  fulfilled_date BIGINT,
+  PRIMARY KEY (id, sku)
+)
+PARTITION BY HASH PARTITIONS 16
+STORED AS KUDU;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="advanced_partitioning"><a class="link" href="#advanced_partitioning">Advanced Partitioning</a></h4>
+<div class="paragraph">
+<p>You can combine <code>HASH</code> and <code>RANGE</code> partitioning to create more complex partition schemas.
+You can specify zero or more <code>HASH</code> definitions, followed by zero or one <code>RANGE</code> definitions.
+Each definition can encompass one or more columns. While enumerating every possible distribution
+schema is out of the scope of this document, a few examples illustrate some of the
+possibilities.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_partition_by_hash_and_range"><a class="link" href="#_partition_by_hash_and_range"><code>PARTITION BY HASH</code> and <code>RANGE</code></a></h4>
+<div class="paragraph">
+<p>Consider the <a href="#distribute_by_hash">simple hashing</a> example above, If you often query for a range of <code>sku</code>
+values, you can optimize the example by combining hash partitioning with range partitioning.</p>
+</div>
+<div class="paragraph">
+<p>The following example still creates 16 tablets, by first hashing the <code>id</code> column into 4
+buckets, and then applying range partitioning to split each bucket into four tablets,
+based upon the value of the <code>sku</code> string. Writes are spread across at least four tablets
+(and possibly up to 16). When you query for a contiguous range of <code>sku</code> values, you have a
+good chance of only needing to read from a quarter of the tablets to fulfill the query.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+By default, the entire primary key is hashed when you use <code>PARTITION BY HASH</code>.
+To hash on only part of the primary key, specify it by using syntax like <code>PARTITION
+BY HASH (id, sku)</code>.
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">CREATE TABLE cust_behavior (
+  id BIGINT,
+  sku STRING,
+  salary STRING,
+  edu_level INT,
+  usergender STRING,
+  `group` STRING,
+  city STRING,
+  postcode STRING,
+  last_purchase_price FLOAT,
+  last_purchase_date BIGINT,
+  category STRING,
+  rating INT,
+  fulfilled_date BIGINT,
+  PRIMARY KEY (id, sku)
+)
+PARTITION BY HASH (id) PARTITIONS 4,
+RANGE (sku)
+(
+  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">
+<div class="title">Multiple <code>PARTITION BY HASH</code> Definitions</div>
+<p>Again expanding the example above, suppose that the query pattern will be unpredictable,
+but you want to ensure that writes are spread across a large number of tablets
+You can achieve maximum distribution across the entire primary key by hashing on
+both primary key columns.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">CREATE TABLE cust_behavior (
+  id BIGINT,
+  sku STRING,
+  salary STRING,
+  edu_level INT,
+  usergender STRING,
+  `group` STRING,
+  city STRING,
+  postcode STRING,
+  last_purchase_price FLOAT,
+  last_purchase_date BIGINT,
+  category STRING,
+  rating INT,
+  fulfilled_date BIGINT,
+  PRIMARY KEY (id, sku)
+)
+PARTITION BY HASH (id) PARTITIONS 4,
+             HASH (sku) PARTITIONS 4
+STORED AS KUDU;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The example creates 16 partitions. You could also use <code>HASH (id, sku) PARTITIONS 16</code>.
+However, a scan for <code>sku</code> values would almost always impact all 16 partitions, 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>See <a href="schema_design.html#schema_design">Schema Design</a> for the caveats of non-covering partitions.</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 INT, sale_id INT, amount INT,
+  PRIMARY KEY (year, sale_id)
+)
+PARTITION BY RANGE (year) (
+  PARTITION VALUE = 2012,
+  PARTITION VALUE = 2013,
+  PARTITION VALUE = 2014,
+  PARTITION VALUE = 2015,
+  PARTITION VALUE = 2016
+)
+STORED AS KUDU;</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 as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">ALTER TABLE sales_by_year ADD RANGE PARTITION VALUE = 2017;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In use cases where a rolling window of data retention is required, range partitions
+may also be dropped. For example, if data from 2012 should no longer be retained,
+it may be deleted in bulk:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">ALTER TABLE sales_by_year DROP RANGE PARTITION VALUE = 2012;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Note that, just like dropping a table, this irrecoverably deletes all data
+stored in the dropped partition.</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>
+<div class="ulist">
+<ul>
+<li>
+<p>For large tables, such as fact tables, aim for as many tablets as you have
+cores in the cluster.</p>
+</li>
+<li>
+<p>For small tables, such as dimension tables, ensure that each tablet is at
+least 1 GB in size.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>In general, be mindful the number of tablets limits the parallelism of reads,
+in the current implementation. Increasing the number of tablets significantly
+beyond the number of cores is likely to have diminishing returns.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_inserting_data_into_kudu_tables"><a class="link" href="#_inserting_data_into_kudu_tables">Inserting Data Into Kudu Tables</a></h3>
+<div class="paragraph">
+<p>Impala allows you to use standard SQL syntax to insert data into Kudu.</p>
+</div>
+<div class="sect3">
+<h4 id="_inserting_single_values"><a class="link" href="#_inserting_single_values">Inserting Single Values</a></h4>
+<div class="paragraph">
+<p>This example inserts a single row.</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");</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This example inserts three rows using a single statement.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">INSERT INTO my_first_table VALUES (1, "john"), (2, "jane"), (3, "jim");</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu_impala_insert_bulk"><a class="link" href="#kudu_impala_insert_bulk">Inserting In Bulk</a></h4>
+<div class="paragraph">
+<p>When inserting in bulk, there are at least three common choices. Each may have advantages
+and disadvantages, depending on your data and circumstances.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Multiple single <code>INSERT</code> statements</dt>
+<dd>
+<p>This approach has the advantage of being easy to
+understand and implement. This approach is likely to be inefficient because Impala
+has a high query start-up cost compared to Kudu&#8217;s insertion performance. This will
+lead to relatively high latency and poor throughput.</p>
+</dd>
+<dt class="hdlist1">Single <code>INSERT</code> statement with multiple <code>VALUES</code></dt>
+<dd>
+<p>If you include more
+than 1024 <code>VALUES</code> statements, Impala batches them into groups of 1024 (or the value
+of <code>batch_size</code>) before sending the requests to Kudu. This approach may perform
+slightly better than multiple sequential <code>INSERT</code> statements by amortizing the query start-up
+penalties on the Impala side. To set the batch size for the current Impala
+Shell session, use the following syntax: <code>set batch_size=10000;</code></p>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Increasing the Impala batch size causes Impala to use more memory. You should
+verify the impact on your cluster and tune accordingly.
+</td>
+</tr>
+</table>
+</div>
+</dd>
+<dt class="hdlist1">Batch Insert</dt>
+<dd>
+<p>The approach that usually performs best, from the standpoint of
+both Impala and Kudu, is usually to import the data using a <code>SELECT FROM</code> statement
+in Impala.</p>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>If your data is not already in Impala, one strategy is to
+<a href="https://impala.apache.org/docs/build/html/topics/impala_txtfile.html">import it from a text file</a>,
+such as a TSV or CSV file.</p>
+</li>
+<li>
+<p><a href="#kudu_impala_create_table">Create the Kudu table</a>, being mindful that the columns
+designated as primary keys cannot have null values.</p>
+</li>
+<li>
+<p>Insert values into the Kudu table by querying the table containing the original
+data, as in the following example:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">INSERT INTO my_kudu_table
+  SELECT * FROM legacy_data_import_table;</code></pre>
+</div>
+</div>
+</li>
+</ol>
+</div>
+</dd>
+<dt class="hdlist1">Ingest using the C++ or Java API</dt>
+<dd>
+<p>In many cases, the appropriate ingest path is to
+use the C++ or Java API to insert directly into Kudu tables. Unlike other Impala tables,
+data inserted into Kudu tables via the API becomes available for query in Impala without
+the need for any <code>INVALIDATE METADATA</code> statements or other statements needed for other
+Impala storage types.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect3">
+<h4 id="insert_ignore"><a class="link" href="#insert_ignore"><code>INSERT</code> and Primary Key Uniqueness Violations</a></h4>
+<div class="paragraph">
+<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>.
+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>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");
+UPSERT INTO my_first_table VALUES (99, "zoe");
+-- the current value of the row is 'zoe'</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_updating_a_row"><a class="link" href="#_updating_a_row">Updating a Row</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">UPDATE my_first_table SET name="bob" where id = 3;</code></pre>
+</div>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+The <code>UPDATE</code> statement only works in Impala when the target table is in
+Kudu.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect3">
+<h4 id="_updating_in_bulk"><a class="link" href="#_updating_in_bulk">Updating In Bulk</a></h4>
+<div class="paragraph">
+<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 class="listingblock">
+<div class="content">
+<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>
+</div>
+<div class="sect2">
+<h3 id="_deleting_a_row"><a class="link" href="#_deleting_a_row">Deleting a Row</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">DELETE FROM my_first_table WHERE id &lt; 3;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You can also delete using more complex syntax. A comma in the <code>FROM</code> sub-clause is
+one way that Impala specifies a join query. For more information about Impala joins,
+see <a href="https://impala.apache.org/docs/build/html/topics/impala_joins.html" class="bare">https://impala.apache.org/docs/build/html/topics/impala_joins.html</a>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">DELETE c FROM my_second_table c, stock_symbols s WHERE c.name = s.symbol;</code></pre>
+</div>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+The <code>DELETE</code> statement only works in Impala when the target table is in
+Kudu.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect3">
+<h4 id="_deleting_in_bulk"><a class="link" href="#_deleting_in_bulk">Deleting In Bulk</a></h4>
+<div class="paragraph">
+<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 class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">DELETE FROM my_first_table WHERE id &lt; 3;</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="impala_insertion_caveat"><a class="link" href="#impala_insertion_caveat">Failures During <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> Operations</a></h3>
+<div class="paragraph">
+<p><code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> statements cannot be considered transactional as
+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.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_altering_table_properties"><a class="link" href="#_altering_table_properties">Altering Table Properties</a></h3>
+<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.</p>
+</div>
+<div class="listingblock">
+<div class="title">Rename an Impala Mapping Table</div>
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">ALTER TABLE my_table RENAME TO my_new_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">
+In Impala 3.2 and lower, renaming a table using the <code>ALTER TABLE &#8230;&#8203; RENAME</code> statement
+only renames the Impala mapping table, regardless of whether the table is an internal
+or external table. Starting from Impala 3.3, renaming a table also renames the underlying
+Kudu table.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<div class="title">Rename the underlying Kudu table for an internal table</div>
+<p>In Impala 2.11 and lower, the underlying Kudu table may be renamed by changing
+the <code>kudu.table_name</code> property:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">ALTER TABLE my_internal_table
+SET TBLPROPERTIES('kudu.table_name' = 'new_name')</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<div class="title">Remapping an external table to a different Kudu table</div>
+<p>If another application has renamed a Kudu table under Impala, it is possible to
+re-map an external table to point to a different Kudu table name.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">ALTER TABLE my_external_table_
+SET TBLPROPERTIES('kudu.table_name' = 'some_other_kudu_table')</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="title">Change the Kudu Master Address</div>
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">ALTER TABLE my_table
+SET TBLPROPERTIES('kudu.master_addresses' = 'kudu-new-master.example.com:7051');</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="title">Change an Internally-Managed Table to External</div>
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">ALTER TABLE my_table SET TBLPROPERTIES('EXTERNAL' = 'TRUE');</code></pre>
+</div>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+When the Hive Metastore integration is enabled, changing the table
+type is disallowed to avoid potentially introducing inconsistency between the
+Kudu and HMS catalogs.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_dropping_a_kudu_table_using_impala"><a class="link" href="#_dropping_a_kudu_table_using_impala">Dropping a Kudu Table Using Impala</a></h3>
+<div class="paragraph">
+<p>If the table was created as an internal table in Impala, using <code>CREATE TABLE</code>, the
+standard <code>DROP TABLE</code> syntax drops the underlying Kudu table and all its data. If
+the table was created as an external table, using <code>CREATE EXTERNAL TABLE</code>, the mapping
+between Impala and Kudu is dropped, but the Kudu table is left intact, with all its
+data.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">DROP TABLE my_first_table;</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_whats_next"><a class="link" href="#_whats_next">What&#8217;s Next?</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The examples above have only explored a fraction of what you can do with Impala Shell.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Learn about the <a href="http://impala.io">Impala project</a>.</p>
+</li>
+<li>
+<p>Read the <a href="https://impala.apache.org/impala-docs.html">Impala documentation</a>.</p>
+</li>
+<li>
+<p>View the <a href="https://impala.apache.org/docs/build/html/topics/impala_langref.html">Impala SQL reference</a>.</p>
+</li>
+<li>
+<p>Read about Impala internals or learn how to contribute to Impala on the <a href="https://cwiki.apache.org/confluence/display/IMPALA/Impala+Home">Impala Wiki</a>.</p>
+</li>
+<li>
+<p>Read about the native <a href="developing.html#view_api">Kudu APIs</a>.</p>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="_known_issues_and_limitations"><a class="link" href="#_known_issues_and_limitations">Known Issues and Limitations</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu tables with a name containing upper case or non-ascii characters must be
+assigned an alternate name when used as an external table in Impala.</p>
+</li>
+<li>
+<p>Kudu tables with a column name containing upper case or non-ascii characters
+may not be used as an external table in Impala. Columns may be renamed in Kudu
+to work around this issue.</p>
+</li>
+<li>
+<p>When creating a Kudu table, the <code>CREATE TABLE</code> statement must include the
+primary key columns before other columns, in primary key order.</p>
+</li>
+<li>
+<p>Impala can not create Kudu tables with <code>VARCHAR</code> or nested-typed columns.</p>
+</li>
+<li>
+<p>Impala cannot update values in primary key columns.</p>
+</li>
+<li>
+<p><code>!=</code> and <code>LIKE</code> predicates are not pushed to Kudu, and
+instead will be evaluated by the Impala scan node. This may decrease performance
+relative to other types of predicates.</p>
+</li>
+<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>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
+for large tables.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+<span class="active-toc">Using Impala with Kudu</span>
+            <ul class="sectlevel1">
+<li><a href="#kudu_impala">Overview</a></li>
+<li><a href="#_requirements">Requirements</a></li>
+<li><a href="#_configuration">Configuration</a></li>
+<li><a href="#_using_the_impala_shell">Using the Impala Shell</a>
+<ul class="sectlevel2">
+<li><a href="#_internal_and_external_impala_tables">Internal and External Impala Tables</a></li>
+<li><a href="#_using_the_hive_metastore_integration">Using the Hive Metastore Integration</a></li>
+<li><a href="#_querying_an_existing_kudu_table_in_impala">Querying an Existing Kudu Table In Impala</a></li>
+<li><a href="#kudu_impala_create_table">Creating a New Kudu Table From Impala</a></li>
+<li><a href="#_optimizing_performance_for_evaluating_sql_predicates">Optimizing Performance for Evaluating SQL Predicates</a></li>
+<li><a href="#partitioning_tables">Partitioning Tables</a></li>
+<li><a href="#_inserting_data_into_kudu_tables">Inserting Data Into Kudu Tables</a></li>
+<li><a href="#_updating_a_row">Updating a Row</a></li>
+<li><a href="#_deleting_a_row">Deleting a Row</a></li>
+<li><a href="#impala_insertion_caveat">Failures During <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> Operations</a></li>
+<li><a href="#_altering_table_properties">Altering Table Properties</a></li>
+<li><a href="#_dropping_a_kudu_table_using_impala">Dropping a Kudu Table Using Impala</a></li>
+</ul>
+</li>
+<li><a href="#_whats_next">What&#8217;s Next?</a>
+<ul class="sectlevel2">
+<li><a href="#_known_issues_and_limitations">Known Issues and Limitations</a></li>
+</ul>
+</li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/metrics_reference.html b/releases/1.15.0/docs/metrics_reference.html
new file mode 100644
index 0000000..b9532bf
--- /dev/null
+++ b/releases/1.15.0/docs/metrics_reference.html
@@ -0,0 +1,20653 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Metrics Reference</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Metrics Reference</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_metrics"><a class="link" href="#kudu-master_metrics"><code>kudu-master</code> Metrics</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="kudu-master_warn"><a class="link" href="#kudu-master_warn">Warning Metrics</a></h3>
+<div class="paragraph">
+<p>Metrics tagged as 'warn' are metrics which can often indicate operational oddities
+that may need more investigation.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cluster_replica_skew"><a class="link" href="#kudu-master_cluster_replica_skew"><code>cluster_replica_skew</code></a></h4>
+<div class="paragraph">
+<p>Cluster Replica Skew
+&#160;
+The difference between the number of replicas on the tablet server hosting the most replicas and the number of replicas on the tablet server hosting the least replicas.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_data_dirs_failed"><a class="link" href="#kudu-master_data_dirs_failed"><code>data_dirs_failed</code></a></h4>
+<div class="paragraph">
+<p>Data Directories Failed
+&#160;
+Number of data directories whose disks are currently in a failed state</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">data directories</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_data_dirs_full"><a class="link" href="#kudu-master_data_dirs_full"><code>data_dirs_full</code></a></h4>
+<div class="paragraph">
+<p>Data Directories Full
+&#160;
+Number of data directories whose disks are currently full</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">data directories</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_failed_elections_since_stable_leader"><a class="link" href="#kudu-master_failed_elections_since_stable_leader"><code>failed_elections_since_stable_leader</code></a></h4>
+<div class="paragraph">
+<p>Failed Elections Since Stable Leader
+&#160;
+Number of failed elections on this node since there was a stable leader. This number increments on each failed election and resets on each successful one.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_follower_memory_pressure_rejections"><a class="link" href="#kudu-master_follower_memory_pressure_rejections"><code>follower_memory_pressure_rejections</code></a></h4>
+<div class="paragraph">
+<p>Follower Memory Pressure Rejections
+&#160;
+Number of RPC requests rejected due to memory pressure while FOLLOWER.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_glog_error_messages"><a class="link" href="#kudu-master_glog_error_messages"><code>glog_error_messages</code></a></h4>
+<div class="paragraph">
+<p>ERROR-level Log Messages
+&#160;
+Number of ERROR-level log messages emitted by the application.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_glog_warning_messages"><a class="link" href="#kudu-master_glog_warning_messages"><code>glog_warning_messages</code></a></h4>
+<div class="paragraph">
+<p>WARNING-level Log Messages
+&#160;
+Number of WARNING-level log messages emitted by the application.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hybrid_clock_extrapolating"><a class="link" href="#kudu-master_hybrid_clock_extrapolating"><code>hybrid_clock_extrapolating</code></a></h4>
+<div class="paragraph">
+<p>Hybrid Clock Is Being Extrapolated
+&#160;
+Whether HybridClock timestamps are extrapolated because of inability to read the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">state</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hybrid_clock_extrapolation_intervals"><a class="link" href="#kudu-master_hybrid_clock_extrapolation_intervals"><code>hybrid_clock_extrapolation_intervals</code></a></h4>
+<div class="paragraph">
+<p>Intervals of Hybrid Clock Extrapolation
+&#160;
+The statistics on the duration of intervals when the underlying clock was extrapolated instead of using the direct readings</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_leader_memory_pressure_rejections"><a class="link" href="#kudu-master_leader_memory_pressure_rejections"><code>leader_memory_pressure_rejections</code></a></h4>
+<div class="paragraph">
+<p>Leader Memory Pressure Rejections
+&#160;
+Number of RPC requests rejected due to memory pressure while LEADER.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_maintenance_op_prepare_failed"><a class="link" href="#kudu-master_maintenance_op_prepare_failed"><code>maintenance_op_prepare_failed</code></a></h4>
+<div class="paragraph">
+<p>Number Of Operations With Failed Prepare()
+&#160;
+Number of times when calling Prepare() on a maintenance operation failed</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_op_apply_queue_length"><a class="link" href="#kudu-master_op_apply_queue_length"><code>op_apply_queue_length</code></a></h4>
+<div class="paragraph">
+<p>Operation Apply Queue Length
+&#160;
+Number of operations waiting to be applied to the tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tasks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_op_apply_queue_overload_rejections"><a class="link" href="#kudu-master_op_apply_queue_overload_rejections"><code>op_apply_queue_overload_rejections</code></a></h4>
+<div class="paragraph">
+<p>Number of Rejected Write Requests Due to Queue Overloaded Error
+&#160;
+Number of rejected write requests due to overloaded op apply queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_op_apply_queue_time"><a class="link" href="#kudu-master_op_apply_queue_time"><code>op_apply_queue_time</code></a></h4>
+<div class="paragraph">
+<p>Operation Apply Queue Time
+&#160;
+Time that operations spent waiting in the apply queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_op_apply_run_time"><a class="link" href="#kudu-master_op_apply_run_time"><code>op_apply_run_time</code></a></h4>
+<div class="paragraph">
+<p>Operation Apply Run Time
+&#160;
+Time that operations spent being applied to the tablet. High values may indicate that the server is under-provisioned or that operations consist of very large batches.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ops_behind_leader"><a class="link" href="#kudu-master_ops_behind_leader"><code>ops_behind_leader</code></a></h4>
+<div class="paragraph">
+<p>Operations Behind Leader
+&#160;
+Number of operations this server believes it is behind the leader.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpcs_queue_overflow"><a class="link" href="#kudu-master_rpcs_queue_overflow"><code>rpcs_queue_overflow</code></a></h4>
+<div class="paragraph">
+<p>RPC Queue Overflows
+&#160;
+Number of RPCs dropped because the service queue was full.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpcs_timed_out_in_queue"><a class="link" href="#kudu-master_rpcs_timed_out_in_queue"><code>rpcs_timed_out_in_queue</code></a></h4>
+<div class="paragraph">
+<p>RPC Queue Timeouts
+&#160;
+Number of RPCs whose timeout elapsed while waiting in the service queue, and thus were not processed.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanners_expired"><a class="link" href="#kudu-master_scanners_expired"><code>scanners_expired</code></a></h4>
+<div class="paragraph">
+<p>Scanners Expired
+&#160;
+Number of scanners that have expired due to inactivity since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_spinlock_contention_time"><a class="link" href="#kudu-master_spinlock_contention_time"><code>spinlock_contention_time</code></a></h4>
+<div class="paragraph">
+<p>Spinlock Contention Time
+&#160;
+Amount of time consumed by contention on internal spinlocks since the server started. If this increases rapidly, it may indicate a performance issue in Kudu internals triggered by a particular workload and warrant investigation.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_sys_catalog_oversized_write_requests"><a class="link" href="#kudu-master_sys_catalog_oversized_write_requests"><code>sys_catalog_oversized_write_requests</code></a></h4>
+<div class="paragraph">
+<p>System Catalog Oversized Write Requests
+&#160;
+Number of oversized write requests to the system catalog tablet rejected since start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablets_num_failed"><a class="link" href="#kudu-master_tablets_num_failed"><code>tablets_num_failed</code></a></h4>
+<div class="paragraph">
+<p>Number of Failed Tablets
+&#160;
+Number of failed tablets</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_transaction_memory_limit_rejections"><a class="link" href="#kudu-master_transaction_memory_limit_rejections"><code>transaction_memory_limit_rejections</code></a></h4>
+<div class="paragraph">
+<p>Tablet Op Memory Limit Rejections
+&#160;
+Number of ops rejected because the tablet&#8217;s op memory limit was reached.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_transaction_memory_pressure_rejections"><a class="link" href="#kudu-master_transaction_memory_pressure_rejections"><code>transaction_memory_pressure_rejections</code></a></h4>
+<div class="paragraph">
+<p>Op Memory Pressure Rejections
+&#160;
+Number of ops rejected because the tablet&#8217;s opmemory usage exceeds the op memory limit or the limitof an ancestral tracker.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_info"><a class="link" href="#kudu-master_info">Info Metrics</a></h3>
+<div class="paragraph">
+<p>Metrics tagged as 'info' are generally useful metrics that operators always want
+to have available but may not be monitored under normal circumstances.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_active_scanners"><a class="link" href="#kudu-master_active_scanners"><code>active_scanners</code></a></h4>
+<div class="paragraph">
+<p>Active Scanners
+&#160;
+Number of scanners that are currently active</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_average_diskrowset_height"><a class="link" href="#kudu-master_average_diskrowset_height"><code>average_diskrowset_height</code></a></h4>
+<div class="paragraph">
+<p>Average DiskRowSet Height
+&#160;
+Average height of the diskrowsets in this tablet replica. The larger the average height, the more uncompacted the tablet replica is.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_cache_usage"><a class="link" href="#kudu-master_block_cache_usage"><code>block_cache_usage</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Memory Usage
+&#160;
+Memory consumed by the block cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_manager_blocks_open_reading"><a class="link" href="#kudu-master_block_manager_blocks_open_reading"><code>block_manager_blocks_open_reading</code></a></h4>
+<div class="paragraph">
+<p>Data Blocks Open For Read
+&#160;
+Number of data blocks currently open for reading</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_manager_blocks_open_writing"><a class="link" href="#kudu-master_block_manager_blocks_open_writing"><code>block_manager_blocks_open_writing</code></a></h4>
+<div class="paragraph">
+<p>Data Blocks Open For Write
+&#160;
+Number of data blocks currently open for writing</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_builtin_ntp_error"><a class="link" href="#kudu-master_builtin_ntp_error"><code>builtin_ntp_error</code></a></h4>
+<div class="paragraph">
+<p>Built-in NTP Latest Maximum Time Error
+&#160;
+Latest maximum time error as tracked by built-in NTP client</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_builtin_ntp_local_clock_delta"><a class="link" href="#kudu-master_builtin_ntp_local_clock_delta"><code>builtin_ntp_local_clock_delta</code></a></h4>
+<div class="paragraph">
+<p>Local Clock vs Built-In NTP True Time Delta
+&#160;
+Delta between local clock and true time tracked by built-in NTP client; set to 2^63-1 when true time is not tracked</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_compact_rs_duration"><a class="link" href="#kudu-master_compact_rs_duration"><code>compact_rs_duration</code></a></h4>
+<div class="paragraph">
+<p>RowSet Compaction Duration
+&#160;
+Time spent compacting RowSets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cpu_stime"><a class="link" href="#kudu-master_cpu_stime"><code>cpu_stime</code></a></h4>
+<div class="paragraph">
+<p>System CPU Time
+&#160;
+Total system CPU time of the process</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_cpu_utime"><a class="link" href="#kudu-master_cpu_utime"><code>cpu_utime</code></a></h4>
+<div class="paragraph">
+<p>User CPU Time
+&#160;
+Total user CPU time of the process</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_deleted_rowset_gc_duration"><a class="link" href="#kudu-master_deleted_rowset_gc_duration"><code>deleted_rowset_gc_duration</code></a></h4>
+<div class="paragraph">
+<p>Deleted Rowset GC Duration
+&#160;
+Time spent running the maintenance operation to GC deleted rowsets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_delta_file_lookups_per_op"><a class="link" href="#kudu-master_delta_file_lookups_per_op"><code>delta_file_lookups_per_op</code></a></h4>
+<div class="paragraph">
+<p>Delta File Lookups per Operation
+&#160;
+Tracks the number of delta file lookups performed by each operation. A single operation may perform several delta file lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_delta_major_compact_rs_duration"><a class="link" href="#kudu-master_delta_major_compact_rs_duration"><code>delta_major_compact_rs_duration</code></a></h4>
+<div class="paragraph">
+<p>Major Delta Compaction Duration
+&#160;
+Seconds spent major delta compacting.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_delta_minor_compact_rs_duration"><a class="link" href="#kudu-master_delta_minor_compact_rs_duration"><code>delta_minor_compact_rs_duration</code></a></h4>
+<div class="paragraph">
+<p>Minor Delta Compaction Duration
+&#160;
+Time spent minor delta compacting.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_file_cache_usage"><a class="link" href="#kudu-master_file_cache_usage"><code>file_cache_usage</code></a></h4>
+<div class="paragraph">
+<p>File Cache Usage
+&#160;
+Number of entries in the file cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_flush_dms_duration"><a class="link" href="#kudu-master_flush_dms_duration"><code>flush_dms_duration</code></a></h4>
+<div class="paragraph">
+<p>DeltaMemStore Flush Duration
+&#160;
+Time spent flushing DeltaMemStores.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_flush_mrs_duration"><a class="link" href="#kudu-master_flush_mrs_duration"><code>flush_mrs_duration</code></a></h4>
+<div class="paragraph">
+<p>MemRowSet Flush Duration
+&#160;
+Time spent flushing MemRowSets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_generic_current_allocated_bytes"><a class="link" href="#kudu-master_generic_current_allocated_bytes"><code>generic_current_allocated_bytes</code></a></h4>
+<div class="paragraph">
+<p>Heap Memory Usage
+&#160;
+Number of bytes used by the application. This will not typically match the memory use reported by the OS, because it does not include TCMalloc overhead or memory fragmentation.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_generic_heap_size"><a class="link" href="#kudu-master_generic_heap_size"><code>generic_heap_size</code></a></h4>
+<div class="paragraph">
+<p>Reserved Heap Memory
+&#160;
+Bytes of system memory reserved by TCMalloc.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig"><code>handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.BulkChangeConfig RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.BulkChangeConfig RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_ChangeConfig"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_ChangeConfig"><code>handler_latency_kudu_consensus_ConsensusService_ChangeConfig</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.ChangeConfig RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.ChangeConfig RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_GetConsensusState"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_GetConsensusState"><code>handler_latency_kudu_consensus_ConsensusService_GetConsensusState</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetConsensusState RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.GetConsensusState RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_GetLastOpId"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_GetLastOpId"><code>handler_latency_kudu_consensus_ConsensusService_GetLastOpId</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetLastOpId RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.GetLastOpId RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_GetNodeInstance"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_GetNodeInstance"><code>handler_latency_kudu_consensus_ConsensusService_GetNodeInstance</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetNodeInstance RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.GetNodeInstance RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_LeaderStepDown"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_LeaderStepDown"><code>handler_latency_kudu_consensus_ConsensusService_LeaderStepDown</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.LeaderStepDown RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.LeaderStepDown RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote"><code>handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RequestConsensusVote RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.RequestConsensusVote RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_RunLeaderElection"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_RunLeaderElection"><code>handler_latency_kudu_consensus_ConsensusService_RunLeaderElection</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RunLeaderElection RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.RunLeaderElection RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_StartTabletCopy"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_StartTabletCopy"><code>handler_latency_kudu_consensus_ConsensusService_StartTabletCopy</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.StartTabletCopy RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.StartTabletCopy RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig"><code>handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.UnsafeChangeConfig RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_consensus_ConsensusService_UpdateConsensus"><a class="link" href="#kudu-master_handler_latency_kudu_consensus_ConsensusService_UpdateConsensus"><code>handler_latency_kudu_consensus_ConsensusService_UpdateConsensus</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UpdateConsensus RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.UpdateConsensus RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_AddMaster"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_AddMaster"><code>handler_latency_kudu_master_MasterService_AddMaster</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.AddMaster RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.AddMaster RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_AlterTable"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_AlterTable"><code>handler_latency_kudu_master_MasterService_AlterTable</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.AlterTable RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.AlterTable RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_ChangeTServerState"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ChangeTServerState"><code>handler_latency_kudu_master_MasterService_ChangeTServerState</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.ChangeTServerState RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.ChangeTServerState RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_ConnectToMaster"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ConnectToMaster"><code>handler_latency_kudu_master_MasterService_ConnectToMaster</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.ConnectToMaster RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.ConnectToMaster RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_CreateTable"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_CreateTable"><code>handler_latency_kudu_master_MasterService_CreateTable</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.CreateTable RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.CreateTable RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_DeleteTable"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_DeleteTable"><code>handler_latency_kudu_master_MasterService_DeleteTable</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.DeleteTable RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.DeleteTable RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_GetMasterRegistration"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_GetMasterRegistration"><code>handler_latency_kudu_master_MasterService_GetMasterRegistration</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetMasterRegistration RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.GetMasterRegistration RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_GetTableLocations"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_GetTableLocations"><code>handler_latency_kudu_master_MasterService_GetTableLocations</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTableLocations RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.GetTableLocations RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_GetTableSchema"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_GetTableSchema"><code>handler_latency_kudu_master_MasterService_GetTableSchema</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTableSchema RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.GetTableSchema RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_GetTableStatistics"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_GetTableStatistics"><code>handler_latency_kudu_master_MasterService_GetTableStatistics</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTableStatistics RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.GetTableStatistics RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_GetTabletLocations"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_GetTabletLocations"><code>handler_latency_kudu_master_MasterService_GetTabletLocations</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTabletLocations RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.GetTabletLocations RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_IsAlterTableDone"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_IsAlterTableDone"><code>handler_latency_kudu_master_MasterService_IsAlterTableDone</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.IsAlterTableDone RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.IsAlterTableDone RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_IsCreateTableDone"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_IsCreateTableDone"><code>handler_latency_kudu_master_MasterService_IsCreateTableDone</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.IsCreateTableDone RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.IsCreateTableDone RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_ListMasters"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ListMasters"><code>handler_latency_kudu_master_MasterService_ListMasters</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.ListMasters RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.ListMasters RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_ListTables"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ListTables"><code>handler_latency_kudu_master_MasterService_ListTables</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.ListTables RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.ListTables RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_ListTabletServers"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ListTabletServers"><code>handler_latency_kudu_master_MasterService_ListTabletServers</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.ListTabletServers RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.ListTabletServers RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_Ping"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_Ping"><code>handler_latency_kudu_master_MasterService_Ping</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.Ping RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.Ping RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_RefreshAuthzCache"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_RefreshAuthzCache"><code>handler_latency_kudu_master_MasterService_RefreshAuthzCache</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.RefreshAuthzCache RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.RefreshAuthzCache RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_RemoveMaster"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_RemoveMaster"><code>handler_latency_kudu_master_MasterService_RemoveMaster</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.RemoveMaster RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.RemoveMaster RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_ReplaceTablet"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_ReplaceTablet"><code>handler_latency_kudu_master_MasterService_ReplaceTablet</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.ReplaceTablet RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.ReplaceTablet RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_master_MasterService_TSHeartbeat"><a class="link" href="#kudu-master_handler_latency_kudu_master_MasterService_TSHeartbeat"><code>handler_latency_kudu_master_MasterService_TSHeartbeat</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.TSHeartbeat RPC Time
+&#160;
+Microseconds spent handling kudu.master.MasterService.TSHeartbeat RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_server_GenericService_CheckLeaks"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_CheckLeaks"><code>handler_latency_kudu_server_GenericService_CheckLeaks</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.CheckLeaks RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.CheckLeaks RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_server_GenericService_DumpMemTrackers"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_DumpMemTrackers"><code>handler_latency_kudu_server_GenericService_DumpMemTrackers</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.DumpMemTrackers RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.DumpMemTrackers RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_server_GenericService_FlushCoverage"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_FlushCoverage"><code>handler_latency_kudu_server_GenericService_FlushCoverage</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.FlushCoverage RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.FlushCoverage RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_server_GenericService_GetFlags"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_GetFlags"><code>handler_latency_kudu_server_GenericService_GetFlags</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetFlags RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.GetFlags RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_server_GenericService_GetStatus"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_GetStatus"><code>handler_latency_kudu_server_GenericService_GetStatus</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetStatus RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.GetStatus RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_server_GenericService_ServerClock"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_ServerClock"><code>handler_latency_kudu_server_GenericService_ServerClock</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.ServerClock RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.ServerClock RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_server_GenericService_SetFlag"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_SetFlag"><code>handler_latency_kudu_server_GenericService_SetFlag</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetFlag RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.SetFlag RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_server_GenericService_SetServerWallClockForTests"><a class="link" href="#kudu-master_handler_latency_kudu_server_GenericService_SetServerWallClockForTests"><code>handler_latency_kudu_server_GenericService_SetServerWallClockForTests</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetServerWallClockForTests RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.SetServerWallClockForTests RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_transactions_TxnManagerService_AbortTransaction"><a class="link" href="#kudu-master_handler_latency_kudu_transactions_TxnManagerService_AbortTransaction"><code>handler_latency_kudu_transactions_TxnManagerService_AbortTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.AbortTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.transactions.TxnManagerService.AbortTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_transactions_TxnManagerService_BeginTransaction"><a class="link" href="#kudu-master_handler_latency_kudu_transactions_TxnManagerService_BeginTransaction"><code>handler_latency_kudu_transactions_TxnManagerService_BeginTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.BeginTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.transactions.TxnManagerService.BeginTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_transactions_TxnManagerService_CommitTransaction"><a class="link" href="#kudu-master_handler_latency_kudu_transactions_TxnManagerService_CommitTransaction"><code>handler_latency_kudu_transactions_TxnManagerService_CommitTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.CommitTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.transactions.TxnManagerService.CommitTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_transactions_TxnManagerService_GetTransactionState"><a class="link" href="#kudu-master_handler_latency_kudu_transactions_TxnManagerService_GetTransactionState"><code>handler_latency_kudu_transactions_TxnManagerService_GetTransactionState</code></a></h4>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.GetTransactionState RPC Time
+&#160;
+Microseconds spent handling kudu.transactions.TxnManagerService.GetTransactionState RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_transactions_TxnManagerService_KeepTransactionAlive"><a class="link" href="#kudu-master_handler_latency_kudu_transactions_TxnManagerService_KeepTransactionAlive"><code>handler_latency_kudu_transactions_TxnManagerService_KeepTransactionAlive</code></a></h4>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.KeepTransactionAlive RPC Time
+&#160;
+Microseconds spent handling kudu.transactions.TxnManagerService.KeepTransactionAlive RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession"><code>handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.BeginTabletCopySession RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive"><code>handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.CheckSessionActive RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.CheckSessionActive RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession"><code>handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.EndTabletCopySession RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.EndTabletCopySession RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletCopyService_FetchData"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletCopyService_FetchData"><code>handler_latency_kudu_tserver_TabletCopyService_FetchData</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.FetchData RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.FetchData RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema"><code>handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.AlterSchema RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.AlterSchema RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><code>handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet"><code>handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CreateTablet RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.CreateTablet RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet"><code>handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.DeleteTablet RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.DeleteTablet RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><code>handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_Quiesce"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerAdminService_Quiesce"><code>handler_latency_kudu_tserver_TabletServerAdminService_Quiesce</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.Quiesce RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.Quiesce RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_Checksum"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_Checksum"><code>handler_latency_kudu_tserver_TabletServerService_Checksum</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Checksum RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Checksum RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_ListTablets"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_ListTablets"><code>handler_latency_kudu_tserver_TabletServerService_ListTablets</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ListTablets RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.ListTablets RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_Ping"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_Ping"><code>handler_latency_kudu_tserver_TabletServerService_Ping</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Ping RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Ping RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_Scan"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_Scan"><code>handler_latency_kudu_tserver_TabletServerService_Scan</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Scan RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Scan RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive"><code>handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ScannerKeepAlive RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.ScannerKeepAlive RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_SplitKeyRange"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_SplitKeyRange"><code>handler_latency_kudu_tserver_TabletServerService_SplitKeyRange</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.SplitKeyRange RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.SplitKeyRange RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_handler_latency_kudu_tserver_TabletServerService_Write"><a class="link" href="#kudu-master_handler_latency_kudu_tserver_TabletServerService_Write"><code>handler_latency_kudu_tserver_TabletServerService_Write</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Write RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Write RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hybrid_clock_error"><a class="link" href="#kudu-master_hybrid_clock_error"><code>hybrid_clock_error</code></a></h4>
+<div class="paragraph">
+<p>Hybrid Clock Error
+&#160;
+Server clock maximum error; returns 2^64-1 when unable to read the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hybrid_clock_timestamp"><a class="link" href="#kudu-master_hybrid_clock_timestamp"><code>hybrid_clock_timestamp</code></a></h4>
+<div class="paragraph">
+<p>Hybrid Clock Timestamp
+&#160;
+Hybrid clock timestamp; returns 2^64-1 when unable to read the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_involuntary_context_switches"><a class="link" href="#kudu-master_involuntary_context_switches"><code>involuntary_context_switches</code></a></h4>
+<div class="paragraph">
+<p>Involuntary Context Switches
+&#160;
+Total involuntary context switches</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">context switches</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_live_row_count"><a class="link" href="#kudu-master_live_row_count"><code>live_row_count</code></a></h4>
+<div class="paragraph">
+<p>Table Live Row count
+&#160;
+Pre-replication aggregated number of live rows in this table. Only accurate if all tablets in the table support live row counting.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_live_row_count"><a class="link" href="#kudu-master_live_row_count"><code>live_row_count</code></a></h4>
+<div class="paragraph">
+<p>Tablet Live Row Count
+&#160;
+Number of live rows in this tablet, excludes deleted rows.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_append_latency"><a class="link" href="#kudu-master_log_append_latency"><code>log_append_latency</code></a></h4>
+<div class="paragraph">
+<p>Log Append Latency
+&#160;
+Microseconds spent on appending to the log segment file</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_block_manager_blocks_under_management"><a class="link" href="#kudu-master_log_block_manager_blocks_under_management"><code>log_block_manager_blocks_under_management</code></a></h4>
+<div class="paragraph">
+<p>Blocks Under Management
+&#160;
+Number of data blocks currently under management</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_block_manager_bytes_under_management"><a class="link" href="#kudu-master_log_block_manager_bytes_under_management"><code>log_block_manager_bytes_under_management</code></a></h4>
+<div class="paragraph">
+<p>Bytes Under Management
+&#160;
+Number of bytes of data blocks currently under management</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_block_manager_containers"><a class="link" href="#kudu-master_log_block_manager_containers"><code>log_block_manager_containers</code></a></h4>
+<div class="paragraph">
+<p>Number of Block Containers
+&#160;
+Number of log block containers</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log block containers</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_block_manager_full_containers"><a class="link" href="#kudu-master_log_block_manager_full_containers"><code>log_block_manager_full_containers</code></a></h4>
+<div class="paragraph">
+<p>Number of Full Block Containers
+&#160;
+Number of full log block containers</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log block containers</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_gc_duration"><a class="link" href="#kudu-master_log_gc_duration"><code>log_gc_duration</code></a></h4>
+<div class="paragraph">
+<p>Log GC Duration
+&#160;
+Time spent garbage collecting the logs.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_gc_running"><a class="link" href="#kudu-master_log_gc_running"><code>log_gc_running</code></a></h4>
+<div class="paragraph">
+<p>Log GCs Running
+&#160;
+Number of log GC operations currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_reader_read_batch_latency"><a class="link" href="#kudu-master_log_reader_read_batch_latency"><code>log_reader_read_batch_latency</code></a></h4>
+<div class="paragraph">
+<p>Log Read Latency
+&#160;
+Microseconds spent reading log entry batches</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_sync_latency"><a class="link" href="#kudu-master_log_sync_latency"><code>log_sync_latency</code></a></h4>
+<div class="paragraph">
+<p>Log Sync Latency
+&#160;
+Microseconds spent on synchronizing the log segment file</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_logical_clock_timestamp"><a class="link" href="#kudu-master_logical_clock_timestamp"><code>logical_clock_timestamp</code></a></h4>
+<div class="paragraph">
+<p>Logical Clock Timestamp
+&#160;
+Logical clock timestamp.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_maintenance_op_find_best_candidate_duration"><a class="link" href="#kudu-master_maintenance_op_find_best_candidate_duration"><code>maintenance_op_find_best_candidate_duration</code></a></h4>
+<div class="paragraph">
+<p>Time Taken To Find Best Maintenance Operation
+&#160;
+Time spent choosing a maintenance operation with highest scores among available candidates</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_memrowset_size"><a class="link" href="#kudu-master_memrowset_size"><code>memrowset_size</code></a></h4>
+<div class="paragraph">
+<p>MemRowSet Memory Usage
+&#160;
+Size of this tablet&#8217;s memrowset</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_merged_entities_count_of_server"><a class="link" href="#kudu-master_merged_entities_count_of_server"><code>merged_entities_count_of_server</code></a></h4>
+<div class="paragraph">
+<p>Entities Count Merged From
+&#160;
+Count of entities merged together when entities are merged by common attribute value.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_merged_entities_count_of_table"><a class="link" href="#kudu-master_merged_entities_count_of_table"><code>merged_entities_count_of_table</code></a></h4>
+<div class="paragraph">
+<p>Entities Count Merged From
+&#160;
+Count of entities merged together when entities are merged by common attribute value.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_merged_entities_count_of_tablet"><a class="link" href="#kudu-master_merged_entities_count_of_tablet"><code>merged_entities_count_of_tablet</code></a></h4>
+<div class="paragraph">
+<p>Entities Count Merged From
+&#160;
+Count of entities merged together when entities are merged by common attribute value.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_num_raft_leaders"><a class="link" href="#kudu-master_num_raft_leaders"><code>num_raft_leaders</code></a></h4>
+<div class="paragraph">
+<p>Number of Raft Leaders
+&#160;
+Number of tablet replicas that are Raft leaders</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_num_rowsets_on_disk"><a class="link" href="#kudu-master_num_rowsets_on_disk"><code>num_rowsets_on_disk</code></a></h4>
+<div class="paragraph">
+<p>Tablet Number of Rowsets on Disk
+&#160;
+Number of diskrowsets in this tablet</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_on_disk_data_size"><a class="link" href="#kudu-master_on_disk_data_size"><code>on_disk_data_size</code></a></h4>
+<div class="paragraph">
+<p>Tablet Data Size On Disk
+&#160;
+Space used by this tablet&#8217;s data blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_on_disk_size"><a class="link" href="#kudu-master_on_disk_size"><code>on_disk_size</code></a></h4>
+<div class="paragraph">
+<p>Table Size On Disk
+&#160;
+Pre-replication aggregated disk space used by all tablets in this table, including metadata.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_on_disk_size"><a class="link" href="#kudu-master_on_disk_size"><code>on_disk_size</code></a></h4>
+<div class="paragraph">
+<p>Tablet Size On Disk
+&#160;
+Space used by this tablet on disk, including metadata.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_op_prepare_queue_length"><a class="link" href="#kudu-master_op_prepare_queue_length"><code>op_prepare_queue_length</code></a></h4>
+<div class="paragraph">
+<p>Operation Prepare Queue Length
+&#160;
+Number of operations waiting to be prepared within this tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tasks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_op_prepare_queue_time"><a class="link" href="#kudu-master_op_prepare_queue_time"><code>op_prepare_queue_time</code></a></h4>
+<div class="paragraph">
+<p>Operation Prepare Queue Time
+&#160;
+Time that operations spent waiting in the prepare queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_op_prepare_run_time"><a class="link" href="#kudu-master_op_prepare_run_time"><code>op_prepare_run_time</code></a></h4>
+<div class="paragraph">
+<p>Operation Prepare Run Time
+&#160;
+Time that operations spent being prepared in the tablet. High values may indicate that the server is under-provisioned or that operations are experiencing high contention with one another for locks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.BulkChangeConfig RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.BulkChangeConfig requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.ChangeConfig RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.ChangeConfig requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetConsensusState RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.GetConsensusState requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetLastOpId RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.GetLastOpId requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetNodeInstance RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.GetNodeInstance requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.LeaderStepDown RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.LeaderStepDown requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RequestConsensusVote RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.RequestConsensusVote requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RunLeaderElection RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.RunLeaderElection requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.StartTabletCopy RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.StartTabletCopy requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.UnsafeChangeConfig requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UpdateConsensus RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.UpdateConsensus requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_AddMaster"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_AddMaster"><code>queue_overflow_rejections_kudu_master_MasterService_AddMaster</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.AddMaster RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.AddMaster requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_AlterTable"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_AlterTable"><code>queue_overflow_rejections_kudu_master_MasterService_AlterTable</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.AlterTable RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.AlterTable requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ChangeTServerState"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ChangeTServerState"><code>queue_overflow_rejections_kudu_master_MasterService_ChangeTServerState</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.ChangeTServerState RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.ChangeTServerState requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ConnectToMaster"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ConnectToMaster"><code>queue_overflow_rejections_kudu_master_MasterService_ConnectToMaster</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.ConnectToMaster RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.ConnectToMaster requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_CreateTable"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_CreateTable"><code>queue_overflow_rejections_kudu_master_MasterService_CreateTable</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.CreateTable RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.CreateTable requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_DeleteTable"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_DeleteTable"><code>queue_overflow_rejections_kudu_master_MasterService_DeleteTable</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.DeleteTable RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.DeleteTable requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetMasterRegistration"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetMasterRegistration"><code>queue_overflow_rejections_kudu_master_MasterService_GetMasterRegistration</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetMasterRegistration RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.GetMasterRegistration requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTableLocations"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTableLocations"><code>queue_overflow_rejections_kudu_master_MasterService_GetTableLocations</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTableLocations RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.GetTableLocations requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTableSchema"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTableSchema"><code>queue_overflow_rejections_kudu_master_MasterService_GetTableSchema</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTableSchema RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.GetTableSchema requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTableStatistics"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTableStatistics"><code>queue_overflow_rejections_kudu_master_MasterService_GetTableStatistics</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTableStatistics RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.GetTableStatistics requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTabletLocations"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_GetTabletLocations"><code>queue_overflow_rejections_kudu_master_MasterService_GetTabletLocations</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.GetTabletLocations RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.GetTabletLocations requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_IsAlterTableDone"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_IsAlterTableDone"><code>queue_overflow_rejections_kudu_master_MasterService_IsAlterTableDone</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.IsAlterTableDone RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.IsAlterTableDone requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_IsCreateTableDone"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_IsCreateTableDone"><code>queue_overflow_rejections_kudu_master_MasterService_IsCreateTableDone</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.IsCreateTableDone RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.IsCreateTableDone requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ListMasters"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ListMasters"><code>queue_overflow_rejections_kudu_master_MasterService_ListMasters</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.ListMasters RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.ListMasters requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ListTables"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ListTables"><code>queue_overflow_rejections_kudu_master_MasterService_ListTables</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.ListTables RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.ListTables requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ListTabletServers"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ListTabletServers"><code>queue_overflow_rejections_kudu_master_MasterService_ListTabletServers</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.ListTabletServers RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.ListTabletServers requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_Ping"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_Ping"><code>queue_overflow_rejections_kudu_master_MasterService_Ping</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.Ping RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.Ping requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_RefreshAuthzCache"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_RefreshAuthzCache"><code>queue_overflow_rejections_kudu_master_MasterService_RefreshAuthzCache</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.RefreshAuthzCache RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.RefreshAuthzCache requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_RemoveMaster"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_RemoveMaster"><code>queue_overflow_rejections_kudu_master_MasterService_RemoveMaster</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.RemoveMaster RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.RemoveMaster requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet"><code>queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.ReplaceTablet RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.ReplaceTablet requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_master_MasterService_TSHeartbeat"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_master_MasterService_TSHeartbeat"><code>queue_overflow_rejections_kudu_master_MasterService_TSHeartbeat</code></a></h4>
+<div class="paragraph">
+<p>kudu.master.MasterService.TSHeartbeat RPC Rejections
+&#160;
+Number of rejected kudu.master.MasterService.TSHeartbeat requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_CheckLeaks"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_CheckLeaks"><code>queue_overflow_rejections_kudu_server_GenericService_CheckLeaks</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.CheckLeaks RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.CheckLeaks requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers"><code>queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.DumpMemTrackers RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.DumpMemTrackers requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_FlushCoverage"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_FlushCoverage"><code>queue_overflow_rejections_kudu_server_GenericService_FlushCoverage</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.FlushCoverage RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.FlushCoverage requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_GetFlags"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_GetFlags"><code>queue_overflow_rejections_kudu_server_GenericService_GetFlags</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetFlags RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.GetFlags requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_GetStatus"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_GetStatus"><code>queue_overflow_rejections_kudu_server_GenericService_GetStatus</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetStatus RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.GetStatus requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_ServerClock"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_ServerClock"><code>queue_overflow_rejections_kudu_server_GenericService_ServerClock</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.ServerClock RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.ServerClock requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_SetFlag"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_SetFlag"><code>queue_overflow_rejections_kudu_server_GenericService_SetFlag</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetFlag RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.SetFlag requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests"><code>queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetServerWallClockForTests RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.SetServerWallClockForTests requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_AbortTransaction"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_AbortTransaction"><code>queue_overflow_rejections_kudu_transactions_TxnManagerService_AbortTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.AbortTransaction RPC Rejections
+&#160;
+Number of rejected kudu.transactions.TxnManagerService.AbortTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_BeginTransaction"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_BeginTransaction"><code>queue_overflow_rejections_kudu_transactions_TxnManagerService_BeginTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.BeginTransaction RPC Rejections
+&#160;
+Number of rejected kudu.transactions.TxnManagerService.BeginTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_CommitTransaction"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_CommitTransaction"><code>queue_overflow_rejections_kudu_transactions_TxnManagerService_CommitTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.CommitTransaction RPC Rejections
+&#160;
+Number of rejected kudu.transactions.TxnManagerService.CommitTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_GetTransactionState"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_GetTransactionState"><code>queue_overflow_rejections_kudu_transactions_TxnManagerService_GetTransactionState</code></a></h4>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.GetTransactionState RPC Rejections
+&#160;
+Number of rejected kudu.transactions.TxnManagerService.GetTransactionState requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_KeepTransactionAlive"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_transactions_TxnManagerService_KeepTransactionAlive"><code>queue_overflow_rejections_kudu_transactions_TxnManagerService_KeepTransactionAlive</code></a></h4>
+<div class="paragraph">
+<p>kudu.transactions.TxnManagerService.KeepTransactionAlive RPC Rejections
+&#160;
+Number of rejected kudu.transactions.TxnManagerService.KeepTransactionAlive requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.BeginTabletCopySession requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.CheckSessionActive RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.CheckSessionActive requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.EndTabletCopySession RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.EndTabletCopySession requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.FetchData RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.FetchData requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.AlterSchema RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.AlterSchema requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.CoordinateTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CreateTablet RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.CreateTablet requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.DeleteTablet RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.DeleteTablet requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.ParticipateInTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.Quiesce RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.Quiesce requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Checksum RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Checksum requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ListTablets RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.ListTablets requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Ping"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Ping"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Ping</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Ping RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Ping requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Scan"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Scan"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Scan</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Scan RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Scan requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ScannerKeepAlive RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.ScannerKeepAlive requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.SplitKeyRange RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.SplitKeyRange requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Write"><a class="link" href="#kudu-master_queue_overflow_rejections_kudu_tserver_TabletServerService_Write"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Write</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Write RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Write requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_server_inbound_queue_size_bytes"><a class="link" href="#kudu-master_ranger_server_inbound_queue_size_bytes"><code>ranger_server_inbound_queue_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Ranger server inbound queue size (bytes)
+&#160;
+Number of bytes in the inbound response queue of the Ranger server, recorded at the time a new response is read from the pipe and added to the inbound queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_server_inbound_queue_time_ms"><a class="link" href="#kudu-master_ranger_server_inbound_queue_time_ms"><code>ranger_server_inbound_queue_time_ms</code></a></h4>
+<div class="paragraph">
+<p>Ranger server inbound queue time (ms)
+&#160;
+Duration of time in ms spent in the Ranger server&#8217;s inbound response queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_server_outbound_queue_size_bytes"><a class="link" href="#kudu-master_ranger_server_outbound_queue_size_bytes"><code>ranger_server_outbound_queue_size_bytes</code></a></h4>
+<div class="paragraph">
+<p>Ranger server outbound queue size (bytes)
+&#160;
+Number of bytes in the outbound request queue of the Ranger server, recorded at the time a new request is added to the outbound request queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_server_outbound_queue_time_ms"><a class="link" href="#kudu-master_ranger_server_outbound_queue_time_ms"><code>ranger_server_outbound_queue_time_ms</code></a></h4>
+<div class="paragraph">
+<p>Ranger server outbound queue time (ms)
+&#160;
+Duration of time in ms spent in the Ranger server&#8217;s outbound request queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_subprocess_execution_time_ms"><a class="link" href="#kudu-master_ranger_subprocess_execution_time_ms"><code>ranger_subprocess_execution_time_ms</code></a></h4>
+<div class="paragraph">
+<p>Ranger subprocess execution time (ms)
+&#160;
+Duration of time in ms spent executing the Ranger subprocess request, excluding time spent spent in the subprocess queues</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_subprocess_inbound_queue_length"><a class="link" href="#kudu-master_ranger_subprocess_inbound_queue_length"><code>ranger_subprocess_inbound_queue_length</code></a></h4>
+<div class="paragraph">
+<p>Ranger subprocess inbound queue length
+&#160;
+Number of request messages in the Ranger subprocess' inbound request queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_subprocess_inbound_queue_time_ms"><a class="link" href="#kudu-master_ranger_subprocess_inbound_queue_time_ms"><code>ranger_subprocess_inbound_queue_time_ms</code></a></h4>
+<div class="paragraph">
+<p>Ranger subprocess inbound queue time (ms)
+&#160;
+Duration of time in ms spent in the Ranger subprocess' inbound request queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_subprocess_outbound_queue_length"><a class="link" href="#kudu-master_ranger_subprocess_outbound_queue_length"><code>ranger_subprocess_outbound_queue_length</code></a></h4>
+<div class="paragraph">
+<p>Ranger subprocess outbound queue length
+&#160;
+Number of request messages in the Ranger subprocess' outbound response queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_ranger_subprocess_outbound_queue_time_ms"><a class="link" href="#kudu-master_ranger_subprocess_outbound_queue_time_ms"><code>ranger_subprocess_outbound_queue_time_ms</code></a></h4>
+<div class="paragraph">
+<p>Ranger subprocess outbound queue time (ms)
+&#160;
+Duration of time in ms spent in the Ranger subprocess' outbound response queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_reactor_active_latency_us"><a class="link" href="#kudu-master_reactor_active_latency_us"><code>reactor_active_latency_us</code></a></h4>
+<div class="paragraph">
+<p>Reactor Thread Active Latency
+&#160;
+Histogram of the wall clock time for reactor thread wake-ups. The reactor thread is responsible for all network I/O and therefore outliers in this latency histogram directly contribute to the latency of both inbound and outbound RPCs.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_reactor_load_percent"><a class="link" href="#kudu-master_reactor_load_percent"><code>reactor_load_percent</code></a></h4>
+<div class="paragraph">
+<p>Reactor Thread Load Percentage
+&#160;
+The percentage of time that the reactor is busy (not blocked awaiting network activity). If this metric shows significant samples nears 100%, increasing the number of reactors may be beneficial.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rows_deleted"><a class="link" href="#kudu-master_rows_deleted"><code>rows_deleted</code></a></h4>
+<div class="paragraph">
+<p>Rows Deleted
+&#160;
+Number of row delete operations performed on this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rows_inserted"><a class="link" href="#kudu-master_rows_inserted"><code>rows_inserted</code></a></h4>
+<div class="paragraph">
+<p>Rows Inserted
+&#160;
+Number of rows inserted into this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rows_updated"><a class="link" href="#kudu-master_rows_updated"><code>rows_updated</code></a></h4>
+<div class="paragraph">
+<p>Rows Updated
+&#160;
+Number of row update operations performed on this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rows_upserted"><a class="link" href="#kudu-master_rows_upserted"><code>rows_upserted</code></a></h4>
+<div class="paragraph">
+<p>Rows Upserted
+&#160;
+Number of rows upserted into this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_connections_accepted"><a class="link" href="#kudu-master_rpc_connections_accepted"><code>rpc_connections_accepted</code></a></h4>
+<div class="paragraph">
+<p>RPC Connections Accepted
+&#160;
+Number of incoming TCP connections made to the RPC server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">connections</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_connections_accepted_unix_domain_socket"><a class="link" href="#kudu-master_rpc_connections_accepted_unix_domain_socket"><code>rpc_connections_accepted_unix_domain_socket</code></a></h4>
+<div class="paragraph">
+<p>RPC Connections Accepted via UNIX Domain Socket
+&#160;
+Number of incoming UNIX Domain Socket connections made to the RPC server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">connections</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_rpc_incoming_queue_time"><a class="link" href="#kudu-master_rpc_incoming_queue_time"><code>rpc_incoming_queue_time</code></a></h4>
+<div class="paragraph">
+<p>RPC Queue Time
+&#160;
+Number of microseconds incoming RPC requests spend in the worker queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_duration"><a class="link" href="#kudu-master_scanner_duration"><code>scanner_duration</code></a></h4>
+<div class="paragraph">
+<p>Scanner Duration
+&#160;
+Histogram of the duration of active scanners on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_predicates_disabled"><a class="link" href="#kudu-master_scanner_predicates_disabled"><code>scanner_predicates_disabled</code></a></h4>
+<div class="paragraph">
+<p>Scanner Column Predicates Disabled
+&#160;
+Number of column predicates disabled during scan requests. This count measures the number of disableable column predicates like Bloom filter predicate that are automatically disabled if determined to be ineffective.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_state"><a class="link" href="#kudu-master_state"><code>state</code></a></h4>
+<div class="paragraph">
+<p>Tablet State
+&#160;
+State of this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">state</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_copy_open_client_sessions"><a class="link" href="#kudu-master_tablet_copy_open_client_sessions"><code>tablet_copy_open_client_sessions</code></a></h4>
+<div class="paragraph">
+<p>Open Table Copy Client Sessions
+&#160;
+Number of currently open tablet copy client sessions on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sessions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_copy_open_source_sessions"><a class="link" href="#kudu-master_tablet_copy_open_source_sessions"><code>tablet_copy_open_source_sessions</code></a></h4>
+<div class="paragraph">
+<p>Open Table Copy Source Sessions
+&#160;
+Number of currently open tablet copy source sessions on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sessions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablets_num_bootstrapping"><a class="link" href="#kudu-master_tablets_num_bootstrapping"><code>tablets_num_bootstrapping</code></a></h4>
+<div class="paragraph">
+<p>Number of Bootstrapping Tablets
+&#160;
+Number of tablets currently bootstrapping</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablets_num_initialized"><a class="link" href="#kudu-master_tablets_num_initialized"><code>tablets_num_initialized</code></a></h4>
+<div class="paragraph">
+<p>Number of Initialized Tablets
+&#160;
+Number of tablets currently initialized</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablets_num_not_initialized"><a class="link" href="#kudu-master_tablets_num_not_initialized"><code>tablets_num_not_initialized</code></a></h4>
+<div class="paragraph">
+<p>Number of Not Initialized Tablets
+&#160;
+Number of tablets currently not initialized</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablets_num_running"><a class="link" href="#kudu-master_tablets_num_running"><code>tablets_num_running</code></a></h4>
+<div class="paragraph">
+<p>Number of Running Tablets
+&#160;
+Number of tablets currently running</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablets_num_shutdown"><a class="link" href="#kudu-master_tablets_num_shutdown"><code>tablets_num_shutdown</code></a></h4>
+<div class="paragraph">
+<p>Number of Shut Down Tablets
+&#160;
+Number of tablets currently shut down</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablets_num_stopped"><a class="link" href="#kudu-master_tablets_num_stopped"><code>tablets_num_stopped</code></a></h4>
+<div class="paragraph">
+<p>Number of Stopped Tablets
+&#160;
+Number of tablets currently stopped</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablets_num_stopping"><a class="link" href="#kudu-master_tablets_num_stopping"><code>tablets_num_stopping</code></a></h4>
+<div class="paragraph">
+<p>Number of Stopping Tablets
+&#160;
+Number of tablets currently stopping</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tcmalloc_current_total_thread_cache_bytes"><a class="link" href="#kudu-master_tcmalloc_current_total_thread_cache_bytes"><code>tcmalloc_current_total_thread_cache_bytes</code></a></h4>
+<div class="paragraph">
+<p>Thread Cache Memory Usage
+&#160;
+A measure of some of the memory TCMalloc is using (for small objects).</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tcmalloc_max_total_thread_cache_bytes"><a class="link" href="#kudu-master_tcmalloc_max_total_thread_cache_bytes"><code>tcmalloc_max_total_thread_cache_bytes</code></a></h4>
+<div class="paragraph">
+<p>Thread Cache Memory Limit
+&#160;
+A limit to how much memory TCMalloc dedicates for small objects. Higher numbers trade off more memory use for&#8201;&#8212;&#8201;in some situations&#8201;&#8212;&#8201;improved efficiency.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tcmalloc_pageheap_free_bytes"><a class="link" href="#kudu-master_tcmalloc_pageheap_free_bytes"><code>tcmalloc_pageheap_free_bytes</code></a></h4>
+<div class="paragraph">
+<p>Free Heap Memory
+&#160;
+Number of bytes in free, mapped pages in page heap. These bytes can be used to fulfill allocation requests. They always count towards virtual memory usage, and unless the underlying memory is swapped out by the OS, they also count towards physical memory usage.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tcmalloc_pageheap_unmapped_bytes"><a class="link" href="#kudu-master_tcmalloc_pageheap_unmapped_bytes"><code>tcmalloc_pageheap_unmapped_bytes</code></a></h4>
+<div class="paragraph">
+<p>Unmapped Heap Memory
+&#160;
+Number of bytes in free, unmapped pages in page heap. These are bytes that have been released back to the OS, possibly by one of the MallocExtension "Release" calls. They can be used to fulfill allocation requests, but typically incur a page fault. They always count towards virtual memory usage, and depending on the OS, typically do not count towards physical memory usage.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_threads_running"><a class="link" href="#kudu-master_threads_running"><code>threads_running</code></a></h4>
+<div class="paragraph">
+<p>Threads Running
+&#160;
+Current number of running threads</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">threads</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_undo_delta_block_gc_delete_duration"><a class="link" href="#kudu-master_undo_delta_block_gc_delete_duration"><code>undo_delta_block_gc_delete_duration</code></a></h4>
+<div class="paragraph">
+<p>Undo Delta Block GC Delete Duration
+&#160;
+Time spent deleting ancient UNDO delta blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_undo_delta_block_gc_init_duration"><a class="link" href="#kudu-master_undo_delta_block_gc_init_duration"><code>undo_delta_block_gc_init_duration</code></a></h4>
+<div class="paragraph">
+<p>Undo Delta Block GC Init Duration
+&#160;
+Time spent initializing ancient UNDO delta blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_undo_delta_block_gc_perform_duration"><a class="link" href="#kudu-master_undo_delta_block_gc_perform_duration"><code>undo_delta_block_gc_perform_duration</code></a></h4>
+<div class="paragraph">
+<p>Undo Delta Block GC Perform Duration
+&#160;
+Time spent running the maintenance operation to GC ancient UNDO delta blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_upserts_as_updates"><a class="link" href="#kudu-master_upserts_as_updates"><code>upserts_as_updates</code></a></h4>
+<div class="paragraph">
+<p>Upserts converted into updates
+&#160;
+Number of upserts which were applied as updates because the key already existed.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_uptime"><a class="link" href="#kudu-master_uptime"><code>uptime</code></a></h4>
+<div class="paragraph">
+<p>Server Uptime
+&#160;
+Time interval since the server has started</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_voluntary_context_switches"><a class="link" href="#kudu-master_voluntary_context_switches"><code>voluntary_context_switches</code></a></h4>
+<div class="paragraph">
+<p>Voluntary Context Switches
+&#160;
+Total voluntary context switches</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">context switches</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-master_debug"><a class="link" href="#kudu-master_debug">Debug Metrics</a></h3>
+<div class="paragraph">
+<p>Metrics tagged as 'debug' are diagnostically helpful but generally not monitored
+during normal operation.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_all_transactions_inflight"><a class="link" href="#kudu-master_all_transactions_inflight"><code>all_transactions_inflight</code></a></h4>
+<div class="paragraph">
+<p>Ops In Flight
+&#160;
+Number of ops currently in-flight, including any type.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_alter_schema_transactions_inflight"><a class="link" href="#kudu-master_alter_schema_transactions_inflight"><code>alter_schema_transactions_inflight</code></a></h4>
+<div class="paragraph">
+<p>Alter Schema Ops In Flight
+&#160;
+Number of alter schema ops currently in-flight</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_cache_evictions"><a class="link" href="#kudu-master_block_cache_evictions"><code>block_cache_evictions</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Evictions
+&#160;
+Number of blocks evicted from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_cache_hits"><a class="link" href="#kudu-master_block_cache_hits"><code>block_cache_hits</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Hits
+&#160;
+Number of lookups that found a block</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_cache_hits_caching"><a class="link" href="#kudu-master_block_cache_hits_caching"><code>block_cache_hits_caching</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Hits (Caching)
+&#160;
+Number of lookups that were expecting a block that found one.Use this number instead of cache_hits when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_cache_inserts"><a class="link" href="#kudu-master_block_cache_inserts"><code>block_cache_inserts</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Inserts
+&#160;
+Number of blocks inserted in the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_cache_lookups"><a class="link" href="#kudu-master_block_cache_lookups"><code>block_cache_lookups</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Lookups
+&#160;
+Number of blocks looked up from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_cache_misses"><a class="link" href="#kudu-master_block_cache_misses"><code>block_cache_misses</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Misses
+&#160;
+Number of lookups that didn&#8217;t yield a block</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_cache_misses_caching"><a class="link" href="#kudu-master_block_cache_misses_caching"><code>block_cache_misses_caching</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Misses (Caching)
+&#160;
+Number of lookups that were expecting a block that didn&#8217;t yield one.Use this number instead of cache_misses when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_manager_total_blocks_created"><a class="link" href="#kudu-master_block_manager_total_blocks_created"><code>block_manager_total_blocks_created</code></a></h4>
+<div class="paragraph">
+<p>Data Blocks Created
+&#160;
+Number of data blocks that were created since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_manager_total_blocks_deleted"><a class="link" href="#kudu-master_block_manager_total_blocks_deleted"><code>block_manager_total_blocks_deleted</code></a></h4>
+<div class="paragraph">
+<p>Data Blocks Deleted
+&#160;
+Number of data blocks that were deleted since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_manager_total_bytes_read"><a class="link" href="#kudu-master_block_manager_total_bytes_read"><code>block_manager_total_bytes_read</code></a></h4>
+<div class="paragraph">
+<p>Block Data Bytes Read
+&#160;
+Number of bytes of block data read since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_manager_total_bytes_written"><a class="link" href="#kudu-master_block_manager_total_bytes_written"><code>block_manager_total_bytes_written</code></a></h4>
+<div class="paragraph">
+<p>Block Data Bytes Written
+&#160;
+Number of bytes of block data written since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_manager_total_disk_sync"><a class="link" href="#kudu-master_block_manager_total_disk_sync"><code>block_manager_total_disk_sync</code></a></h4>
+<div class="paragraph">
+<p>Block Data Disk Synchronization Count
+&#160;
+Number of disk synchronizations of block data since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_manager_total_readable_blocks"><a class="link" href="#kudu-master_block_manager_total_readable_blocks"><code>block_manager_total_readable_blocks</code></a></h4>
+<div class="paragraph">
+<p>Data Blocks Opened For Read
+&#160;
+Number of data blocks opened for reading since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_block_manager_total_writable_blocks"><a class="link" href="#kudu-master_block_manager_total_writable_blocks"><code>block_manager_total_writable_blocks</code></a></h4>
+<div class="paragraph">
+<p>Data Blocks Opened For Write
+&#160;
+Number of data blocks opened for writing since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_bloom_lookups"><a class="link" href="#kudu-master_bloom_lookups"><code>bloom_lookups</code></a></h4>
+<div class="paragraph">
+<p>Bloom Filter Lookups
+&#160;
+Number of times a bloom filter was consulted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_bloom_lookups_per_op"><a class="link" href="#kudu-master_bloom_lookups_per_op"><code>bloom_lookups_per_op</code></a></h4>
+<div class="paragraph">
+<p>Bloom Lookups per Operation
+&#160;
+Tracks the number of bloom filter lookups performed by each operation. A single operation may perform several bloom filter lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_builtin_ntp_max_errors"><a class="link" href="#kudu-master_builtin_ntp_max_errors"><code>builtin_ntp_max_errors</code></a></h4>
+<div class="paragraph">
+<p>Built-In NTP Maximum Time Errors
+&#160;
+Statistics on the maximum true time error computed by built-in NTP client</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_builtin_ntp_time"><a class="link" href="#kudu-master_builtin_ntp_time"><code>builtin_ntp_time</code></a></h4>
+<div class="paragraph">
+<p>Built-in NTP Time
+&#160;
+Latest true time as tracked by built-in NTP client</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_bytes_flushed"><a class="link" href="#kudu-master_bytes_flushed"><code>bytes_flushed</code></a></h4>
+<div class="paragraph">
+<p>Bytes Flushed
+&#160;
+Amount of data that has been flushed to disk by this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_code_cache_hits"><a class="link" href="#kudu-master_code_cache_hits"><code>code_cache_hits</code></a></h4>
+<div class="paragraph">
+<p>Codegen Cache Hits
+&#160;
+Number of codegen cache hits since start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hits</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_code_cache_queries"><a class="link" href="#kudu-master_code_cache_queries"><code>code_cache_queries</code></a></h4>
+<div class="paragraph">
+<p>Codegen Cache Queries
+&#160;
+Number of codegen cache queries (hits + misses) since start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">queries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_commit_wait_duration"><a class="link" href="#kudu-master_commit_wait_duration"><code>commit_wait_duration</code></a></h4>
+<div class="paragraph">
+<p>Commit-Wait Duration
+&#160;
+Time spent waiting for COMMIT_WAIT external consistency writes for this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_compact_rs_running"><a class="link" href="#kudu-master_compact_rs_running"><code>compact_rs_running</code></a></h4>
+<div class="paragraph">
+<p>RowSet Compactions Running
+&#160;
+Number of RowSet compactions currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_delete_ignore_errors"><a class="link" href="#kudu-master_delete_ignore_errors"><code>delete_ignore_errors</code></a></h4>
+<div class="paragraph">
+<p>Delete Ignore Errors
+&#160;
+Number of delete ignore operations for this tablet which were ignored due to an error since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_deleted_rowset_estimated_retained_bytes"><a class="link" href="#kudu-master_deleted_rowset_estimated_retained_bytes"><code>deleted_rowset_estimated_retained_bytes</code></a></h4>
+<div class="paragraph">
+<p>Estimated Deletable Bytes Retained in Deleted Rowsets
+&#160;
+Estimated bytes of deletable data in deleted rowsets for this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_deleted_rowset_gc_bytes_deleted"><a class="link" href="#kudu-master_deleted_rowset_gc_bytes_deleted"><code>deleted_rowset_gc_bytes_deleted</code></a></h4>
+<div class="paragraph">
+<p>Deleted Rowsets GC Bytes Deleted
+&#160;
+Number of bytes deleted by garbage-collecting deleted rowsets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_deleted_rowset_gc_running"><a class="link" href="#kudu-master_deleted_rowset_gc_running"><code>deleted_rowset_gc_running</code></a></h4>
+<div class="paragraph">
+<p>Deleted Rowset GC Running
+&#160;
+Number of deleted rowset GC operations currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_delta_file_lookups"><a class="link" href="#kudu-master_delta_file_lookups"><code>delta_file_lookups</code></a></h4>
+<div class="paragraph">
+<p>Delta File Lookups
+&#160;
+Number of times a delta file was consulted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_delta_major_compact_rs_running"><a class="link" href="#kudu-master_delta_major_compact_rs_running"><code>delta_major_compact_rs_running</code></a></h4>
+<div class="paragraph">
+<p>Major Delta Compactions Running
+&#160;
+Number of delta major compactions currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_delta_minor_compact_rs_running"><a class="link" href="#kudu-master_delta_minor_compact_rs_running"><code>delta_minor_compact_rs_running</code></a></h4>
+<div class="paragraph">
+<p>Minor Delta Compactions Running
+&#160;
+Number of delta minor compactions currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_file_cache_evictions"><a class="link" href="#kudu-master_file_cache_evictions"><code>file_cache_evictions</code></a></h4>
+<div class="paragraph">
+<p>File Cache Evictions
+&#160;
+Number of file descriptors evicted from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_file_cache_hits"><a class="link" href="#kudu-master_file_cache_hits"><code>file_cache_hits</code></a></h4>
+<div class="paragraph">
+<p>File Cache Hits
+&#160;
+Number of lookups that found a file descriptor</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_file_cache_hits_caching"><a class="link" href="#kudu-master_file_cache_hits_caching"><code>file_cache_hits_caching</code></a></h4>
+<div class="paragraph">
+<p>File Cache Hits (Caching)
+&#160;
+Number of lookups that were expecting a file descriptor that found one. Use this number instead of cache_hits when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_file_cache_inserts"><a class="link" href="#kudu-master_file_cache_inserts"><code>file_cache_inserts</code></a></h4>
+<div class="paragraph">
+<p>File Cache Inserts
+&#160;
+Number of file descriptors inserted in the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_file_cache_lookups"><a class="link" href="#kudu-master_file_cache_lookups"><code>file_cache_lookups</code></a></h4>
+<div class="paragraph">
+<p>File Cache Lookups
+&#160;
+Number of file descriptors looked up from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_file_cache_misses"><a class="link" href="#kudu-master_file_cache_misses"><code>file_cache_misses</code></a></h4>
+<div class="paragraph">
+<p>File Cache Misses
+&#160;
+Number of lookups that didn&#8217;t yield a file descriptor</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_file_cache_misses_caching"><a class="link" href="#kudu-master_file_cache_misses_caching"><code>file_cache_misses_caching</code></a></h4>
+<div class="paragraph">
+<p>File Cache Misses (Caching)
+&#160;
+Number of lookups that were expecting a file descriptor that didn&#8217;t yield one. Use this number instead of cache_misses when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_flush_dms_running"><a class="link" href="#kudu-master_flush_dms_running"><code>flush_dms_running</code></a></h4>
+<div class="paragraph">
+<p>DeltaMemStore Flushes Running
+&#160;
+Number of delta memstore flushes currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_flush_mrs_running"><a class="link" href="#kudu-master_flush_mrs_running"><code>flush_mrs_running</code></a></h4>
+<div class="paragraph">
+<p>MemRowSet Flushes Running
+&#160;
+Number of MemRowSet flushes currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_glog_info_messages"><a class="link" href="#kudu-master_glog_info_messages"><code>glog_info_messages</code></a></h4>
+<div class="paragraph">
+<p>INFO-level Log Messages
+&#160;
+Number of INFO-level log messages emitted by the application.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_hybrid_clock_max_errors"><a class="link" href="#kudu-master_hybrid_clock_max_errors"><code>hybrid_clock_max_errors</code></a></h4>
+<div class="paragraph">
+<p>Hybrid Clock Maximum Errors
+&#160;
+The statistics on the maximum error of the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_in_progress_ops"><a class="link" href="#kudu-master_in_progress_ops"><code>in_progress_ops</code></a></h4>
+<div class="paragraph">
+<p>Operations in Progress
+&#160;
+Number of operations in the peer&#8217;s queue ack&#8217;d by a minority of peers.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_insert_ignore_errors"><a class="link" href="#kudu-master_insert_ignore_errors"><code>insert_ignore_errors</code></a></h4>
+<div class="paragraph">
+<p>Insert Ignore Errors
+&#160;
+Number of insert ignore operations for this tablet which were ignored due to an error since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_insertions_failed_dup_key"><a class="link" href="#kudu-master_insertions_failed_dup_key"><code>insertions_failed_dup_key</code></a></h4>
+<div class="paragraph">
+<p>Duplicate Key Inserts
+&#160;
+Number of inserts which failed because the key already existed</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_key_file_lookups"><a class="link" href="#kudu-master_key_file_lookups"><code>key_file_lookups</code></a></h4>
+<div class="paragraph">
+<p>Key File Lookups
+&#160;
+Number of times a key cfile was consulted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_key_file_lookups_per_op"><a class="link" href="#kudu-master_key_file_lookups_per_op"><code>key_file_lookups_per_op</code></a></h4>
+<div class="paragraph">
+<p>Key Lookups per Operation
+&#160;
+Tracks the number of key file lookups performed by each operation. A single operation may perform several key file lookups if the tablet is not fully compacted and if bloom filters are not effectively culling lookups.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_last_read_elapsed_time"><a class="link" href="#kudu-master_last_read_elapsed_time"><code>last_read_elapsed_time</code></a></h4>
+<div class="paragraph">
+<p>Seconds Since Last Read
+&#160;
+The elapsed time, in seconds, since the last read operation on this tablet, or since this Tablet object was created on current tserver if it hasn&#8217;t been read since then.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_last_write_elapsed_time"><a class="link" href="#kudu-master_last_write_elapsed_time"><code>last_write_elapsed_time</code></a></h4>
+<div class="paragraph">
+<p>Seconds Since Last Write
+&#160;
+The elapsed time, in seconds, since the last write operation on this tablet, or since this Tablet object was created on current tserver if it hasn&#8217;t been written to since then.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_location_mapping_cache_hits"><a class="link" href="#kudu-master_location_mapping_cache_hits"><code>location_mapping_cache_hits</code></a></h4>
+<div class="paragraph">
+<p>Location Mapping Cache Hits
+&#160;
+Number of times location mapping assignment used cached data</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hits</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_location_mapping_cache_queries"><a class="link" href="#kudu-master_location_mapping_cache_queries"><code>location_mapping_cache_queries</code></a></h4>
+<div class="paragraph">
+<p>Location Mapping Cache Queries
+&#160;
+Number of queries to the location mapping cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">queries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_block_manager_dead_containers_deleted"><a class="link" href="#kudu-master_log_block_manager_dead_containers_deleted"><code>log_block_manager_dead_containers_deleted</code></a></h4>
+<div class="paragraph">
+<p>Number of Dead Block Containers Deleted
+&#160;
+Number of full (but dead) block containers that were deleted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log block containers</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_block_manager_holes_punched"><a class="link" href="#kudu-master_log_block_manager_holes_punched"><code>log_block_manager_holes_punched</code></a></h4>
+<div class="paragraph">
+<p>Number of Holes Punched
+&#160;
+Number of holes punched since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">holes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_bytes_logged"><a class="link" href="#kudu-master_log_bytes_logged"><code>log_bytes_logged</code></a></h4>
+<div class="paragraph">
+<p>Bytes Written to WAL
+&#160;
+Number of bytes logged since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_cache_num_ops"><a class="link" href="#kudu-master_log_cache_num_ops"><code>log_cache_num_ops</code></a></h4>
+<div class="paragraph">
+<p>Log Cache Operation Count
+&#160;
+Number of operations in the log cache.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_cache_size"><a class="link" href="#kudu-master_log_cache_size"><code>log_cache_size</code></a></h4>
+<div class="paragraph">
+<p>Log Cache Memory Usage
+&#160;
+Amount of memory in use for caching the local log.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_entry_batches_per_group"><a class="link" href="#kudu-master_log_entry_batches_per_group"><code>log_entry_batches_per_group</code></a></h4>
+<div class="paragraph">
+<p>Log Group Commit Batch Size
+&#160;
+Number of log entry batches in a group commit group</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_group_commit_latency"><a class="link" href="#kudu-master_log_group_commit_latency"><code>log_group_commit_latency</code></a></h4>
+<div class="paragraph">
+<p>Log Group Commit Latency
+&#160;
+Microseconds spent on committing an entire group</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_reader_bytes_read"><a class="link" href="#kudu-master_log_reader_bytes_read"><code>log_reader_bytes_read</code></a></h4>
+<div class="paragraph">
+<p>Bytes Read From Log
+&#160;
+Data read from the WAL since tablet start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_reader_entries_read"><a class="link" href="#kudu-master_log_reader_entries_read"><code>log_reader_entries_read</code></a></h4>
+<div class="paragraph">
+<p>Entries Read From Log
+&#160;
+Number of entries read from the WAL since tablet start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_log_roll_latency"><a class="link" href="#kudu-master_log_roll_latency"><code>log_roll_latency</code></a></h4>
+<div class="paragraph">
+<p>Log Roll Latency
+&#160;
+Microseconds spent on rolling over to a new log segment file</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_majority_done_ops"><a class="link" href="#kudu-master_majority_done_ops"><code>majority_done_ops</code></a></h4>
+<div class="paragraph">
+<p>Leader Operations Acked by Majority
+&#160;
+Number of operations in the leader queue ack&#8217;d by a majority but not all peers. This metric is always zero for followers.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_mrs_lookups"><a class="link" href="#kudu-master_mrs_lookups"><code>mrs_lookups</code></a></h4>
+<div class="paragraph">
+<p>MemRowSet Lookups
+&#160;
+Number of times a MemRowSet was consulted.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_raft_term"><a class="link" href="#kudu-master_raft_term"><code>raft_term</code></a></h4>
+<div class="paragraph">
+<p>Current Raft Consensus Term
+&#160;
+Current Term of the Raft Consensus algorithm. This number increments each time a leader election is started.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_bytes_returned"><a class="link" href="#kudu-master_scanner_bytes_returned"><code>scanner_bytes_returned</code></a></h4>
+<div class="paragraph">
+<p>Scanner Bytes Returned
+&#160;
+Number of bytes returned by scanners to clients. This count is measured after predicates are applied and the data is decoded for consumption by clients, and thus is not a reflection of the amount of work being done by scanners.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_bytes_scanned_from_disk"><a class="link" href="#kudu-master_scanner_bytes_scanned_from_disk"><code>scanner_bytes_scanned_from_disk</code></a></h4>
+<div class="paragraph">
+<p>Scanner Bytes Scanned From Disk
+&#160;
+Number of bytes read by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual IO that has been caused by scan operations compared to the Scanner Bytes Returned metric.
+Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_cells_returned"><a class="link" href="#kudu-master_scanner_cells_returned"><code>scanner_cells_returned</code></a></h4>
+<div class="paragraph">
+<p>Scanner Cells Returned
+&#160;
+Number of table cells returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">cells</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_cells_scanned_from_disk"><a class="link" href="#kudu-master_scanner_cells_scanned_from_disk"><code>scanner_cells_scanned_from_disk</code></a></h4>
+<div class="paragraph">
+<p>Scanner Cells Scanned From Disk
+&#160;
+Number of table cells processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table cells that have been processed by scan operations compared to the Scanner Cells Returned metric.
+Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">cells</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_rows_returned"><a class="link" href="#kudu-master_scanner_rows_returned"><code>scanner_rows_returned</code></a></h4>
+<div class="paragraph">
+<p>Scanner Rows Returned
+&#160;
+Number of rows returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scanner_rows_scanned"><a class="link" href="#kudu-master_scanner_rows_scanned"><code>scanner_rows_scanned</code></a></h4>
+<div class="paragraph">
+<p>Scanner Rows Scanned
+&#160;
+Number of rows processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table rows that have been processed by scan operations compared to the Scanner Rows Returned metric.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_scans_started"><a class="link" href="#kudu-master_scans_started"><code>scans_started</code></a></h4>
+<div class="paragraph">
+<p>Scans Started
+&#160;
+Number of scanners which have been started on this tablet</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_snapshot_read_inflight_wait_duration"><a class="link" href="#kudu-master_snapshot_read_inflight_wait_duration"><code>snapshot_read_inflight_wait_duration</code></a></h4>
+<div class="paragraph">
+<p>Time Waiting For Snapshot Reads
+&#160;
+Time spent waiting for in-flight writes to complete for READ_AT_SNAPSHOT scans.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_locations_cache_evictions"><a class="link" href="#kudu-master_table_locations_cache_evictions"><code>table_locations_cache_evictions</code></a></h4>
+<div class="paragraph">
+<p>Table Locations Cache Evictions
+&#160;
+Number of entries evicted from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_locations_cache_hits"><a class="link" href="#kudu-master_table_locations_cache_hits"><code>table_locations_cache_hits</code></a></h4>
+<div class="paragraph">
+<p>Table Locations Cache Hits
+&#160;
+Number of lookups that found a cached entry</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_locations_cache_inserts"><a class="link" href="#kudu-master_table_locations_cache_inserts"><code>table_locations_cache_inserts</code></a></h4>
+<div class="paragraph">
+<p>Table Locations Cache Inserts
+&#160;
+Number of entries inserted in the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_locations_cache_lookups"><a class="link" href="#kudu-master_table_locations_cache_lookups"><code>table_locations_cache_lookups</code></a></h4>
+<div class="paragraph">
+<p>Table Locations Cache Lookups
+&#160;
+Number of entries looked up from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_locations_cache_memory_usage"><a class="link" href="#kudu-master_table_locations_cache_memory_usage"><code>table_locations_cache_memory_usage</code></a></h4>
+<div class="paragraph">
+<p>Table Locations Cache Memory Usage
+&#160;
+Memory consumed by the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_table_locations_cache_misses"><a class="link" href="#kudu-master_table_locations_cache_misses"><code>table_locations_cache_misses</code></a></h4>
+<div class="paragraph">
+<p>Table Locations Cache Misses
+&#160;
+Number of lookups that didn&#8217;t find a cached entry</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_active_scanners"><a class="link" href="#kudu-master_tablet_active_scanners"><code>tablet_active_scanners</code></a></h4>
+<div class="paragraph">
+<p>Active Scanners
+&#160;
+Number of scanners that are currently active on this tablet</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_copy_bytes_fetched"><a class="link" href="#kudu-master_tablet_copy_bytes_fetched"><code>tablet_copy_bytes_fetched</code></a></h4>
+<div class="paragraph">
+<p>Bytes Fetched By Tablet Copy
+&#160;
+Number of bytes fetched during tablet copy operations since server start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_tablet_copy_bytes_sent"><a class="link" href="#kudu-master_tablet_copy_bytes_sent"><code>tablet_copy_bytes_sent</code></a></h4>
+<div class="paragraph">
+<p>Bytes Sent For Tablet Copy
+&#160;
+Number of bytes sent during tablet copy operations since server start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_threads_started"><a class="link" href="#kudu-master_threads_started"><code>threads_started</code></a></h4>
+<div class="paragraph">
+<p>Threads Started
+&#160;
+Total number of threads started on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">threads</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_time_since_last_leader_heartbeat"><a class="link" href="#kudu-master_time_since_last_leader_heartbeat"><code>time_since_last_leader_heartbeat</code></a></h4>
+<div class="paragraph">
+<p>Time Since Last Leader Heartbeat
+&#160;
+The time elapsed since the last heartbeat from the leader in milliseconds. This metric is identically zero on a leader replica.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_undo_delta_block_estimated_retained_bytes"><a class="link" href="#kudu-master_undo_delta_block_estimated_retained_bytes"><code>undo_delta_block_estimated_retained_bytes</code></a></h4>
+<div class="paragraph">
+<p>Estimated Deletable Bytes Retained in Undo Delta Blocks
+&#160;
+Estimated bytes of deletable data in undo delta blocks for this tablet. May be an overestimate.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_undo_delta_block_gc_bytes_deleted"><a class="link" href="#kudu-master_undo_delta_block_gc_bytes_deleted"><code>undo_delta_block_gc_bytes_deleted</code></a></h4>
+<div class="paragraph">
+<p>Undo Delta Block GC Bytes Deleted
+&#160;
+Number of bytes deleted by garbage-collecting old UNDO delta blocks on this tablet since this server was restarted. Does not include bytes garbage collected during compactions.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_undo_delta_block_gc_running"><a class="link" href="#kudu-master_undo_delta_block_gc_running"><code>undo_delta_block_gc_running</code></a></h4>
+<div class="paragraph">
+<p>Undo Delta Block GC Running
+&#160;
+Number of UNDO delta block GC operations currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_update_ignore_errors"><a class="link" href="#kudu-master_update_ignore_errors"><code>update_ignore_errors</code></a></h4>
+<div class="paragraph">
+<p>Update Ignore Errors
+&#160;
+Number of update ignore operations for this tablet which were ignored due to an error since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_write_op_duration_client_propagated_consistency"><a class="link" href="#kudu-master_write_op_duration_client_propagated_consistency"><code>write_op_duration_client_propagated_consistency</code></a></h4>
+<div class="paragraph">
+<p>Write Op Duration with Propagated Consistency
+&#160;
+Duration of writes to this tablet with external consistency set to CLIENT_PROPAGATED.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_write_op_duration_commit_wait_consistency"><a class="link" href="#kudu-master_write_op_duration_commit_wait_consistency"><code>write_op_duration_commit_wait_consistency</code></a></h4>
+<div class="paragraph">
+<p>Write Op Duration with Commit-Wait Consistency
+&#160;
+Duration of writes to this tablet with external consistency set to COMMIT_WAIT.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-master_write_transactions_inflight"><a class="link" href="#kudu-master_write_transactions_inflight"><code>write_transactions_inflight</code></a></h4>
+<div class="paragraph">
+<p>Write Ops In Flight
+&#160;
+Number of write ops currently in-flight</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+<hr>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_metrics"><a class="link" href="#kudu-tserver_metrics"><code>kudu-tserver</code> Metrics</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="kudu-tserver_warn"><a class="link" href="#kudu-tserver_warn">Warning Metrics</a></h3>
+<div class="paragraph">
+<p>Metrics tagged as 'warn' are metrics which can often indicate operational oddities
+that may need more investigation.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_data_dirs_failed"><a class="link" href="#kudu-tserver_data_dirs_failed"><code>data_dirs_failed</code></a></h4>
+<div class="paragraph">
+<p>Data Directories Failed
+&#160;
+Number of data directories whose disks are currently in a failed state</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">data directories</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_data_dirs_full"><a class="link" href="#kudu-tserver_data_dirs_full"><code>data_dirs_full</code></a></h4>
+<div class="paragraph">
+<p>Data Directories Full
+&#160;
+Number of data directories whose disks are currently full</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">data directories</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_failed_elections_since_stable_leader"><a class="link" href="#kudu-tserver_failed_elections_since_stable_leader"><code>failed_elections_since_stable_leader</code></a></h4>
+<div class="paragraph">
+<p>Failed Elections Since Stable Leader
+&#160;
+Number of failed elections on this node since there was a stable leader. This number increments on each failed election and resets on each successful one.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_follower_memory_pressure_rejections"><a class="link" href="#kudu-tserver_follower_memory_pressure_rejections"><code>follower_memory_pressure_rejections</code></a></h4>
+<div class="paragraph">
+<p>Follower Memory Pressure Rejections
+&#160;
+Number of RPC requests rejected due to memory pressure while FOLLOWER.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_glog_error_messages"><a class="link" href="#kudu-tserver_glog_error_messages"><code>glog_error_messages</code></a></h4>
+<div class="paragraph">
+<p>ERROR-level Log Messages
+&#160;
+Number of ERROR-level log messages emitted by the application.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_glog_warning_messages"><a class="link" href="#kudu-tserver_glog_warning_messages"><code>glog_warning_messages</code></a></h4>
+<div class="paragraph">
+<p>WARNING-level Log Messages
+&#160;
+Number of WARNING-level log messages emitted by the application.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_hybrid_clock_extrapolating"><a class="link" href="#kudu-tserver_hybrid_clock_extrapolating"><code>hybrid_clock_extrapolating</code></a></h4>
+<div class="paragraph">
+<p>Hybrid Clock Is Being Extrapolated
+&#160;
+Whether HybridClock timestamps are extrapolated because of inability to read the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">state</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_hybrid_clock_extrapolation_intervals"><a class="link" href="#kudu-tserver_hybrid_clock_extrapolation_intervals"><code>hybrid_clock_extrapolation_intervals</code></a></h4>
+<div class="paragraph">
+<p>Intervals of Hybrid Clock Extrapolation
+&#160;
+The statistics on the duration of intervals when the underlying clock was extrapolated instead of using the direct readings</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_leader_memory_pressure_rejections"><a class="link" href="#kudu-tserver_leader_memory_pressure_rejections"><code>leader_memory_pressure_rejections</code></a></h4>
+<div class="paragraph">
+<p>Leader Memory Pressure Rejections
+&#160;
+Number of RPC requests rejected due to memory pressure while LEADER.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_maintenance_op_prepare_failed"><a class="link" href="#kudu-tserver_maintenance_op_prepare_failed"><code>maintenance_op_prepare_failed</code></a></h4>
+<div class="paragraph">
+<p>Number Of Operations With Failed Prepare()
+&#160;
+Number of times when calling Prepare() on a maintenance operation failed</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_op_apply_queue_length"><a class="link" href="#kudu-tserver_op_apply_queue_length"><code>op_apply_queue_length</code></a></h4>
+<div class="paragraph">
+<p>Operation Apply Queue Length
+&#160;
+Number of operations waiting to be applied to the tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tasks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_op_apply_queue_overload_rejections"><a class="link" href="#kudu-tserver_op_apply_queue_overload_rejections"><code>op_apply_queue_overload_rejections</code></a></h4>
+<div class="paragraph">
+<p>Number of Rejected Write Requests Due to Queue Overloaded Error
+&#160;
+Number of rejected write requests due to overloaded op apply queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_op_apply_queue_time"><a class="link" href="#kudu-tserver_op_apply_queue_time"><code>op_apply_queue_time</code></a></h4>
+<div class="paragraph">
+<p>Operation Apply Queue Time
+&#160;
+Time that operations spent waiting in the apply queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_op_apply_run_time"><a class="link" href="#kudu-tserver_op_apply_run_time"><code>op_apply_run_time</code></a></h4>
+<div class="paragraph">
+<p>Operation Apply Run Time
+&#160;
+Time that operations spent being applied to the tablet. High values may indicate that the server is under-provisioned or that operations consist of very large batches.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_ops_behind_leader"><a class="link" href="#kudu-tserver_ops_behind_leader"><code>ops_behind_leader</code></a></h4>
+<div class="paragraph">
+<p>Operations Behind Leader
+&#160;
+Number of operations this server believes it is behind the leader.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpcs_queue_overflow"><a class="link" href="#kudu-tserver_rpcs_queue_overflow"><code>rpcs_queue_overflow</code></a></h4>
+<div class="paragraph">
+<p>RPC Queue Overflows
+&#160;
+Number of RPCs dropped because the service queue was full.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpcs_timed_out_in_queue"><a class="link" href="#kudu-tserver_rpcs_timed_out_in_queue"><code>rpcs_timed_out_in_queue</code></a></h4>
+<div class="paragraph">
+<p>RPC Queue Timeouts
+&#160;
+Number of RPCs whose timeout elapsed while waiting in the service queue, and thus were not processed.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanners_expired"><a class="link" href="#kudu-tserver_scanners_expired"><code>scanners_expired</code></a></h4>
+<div class="paragraph">
+<p>Scanners Expired
+&#160;
+Number of scanners that have expired due to inactivity since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_spinlock_contention_time"><a class="link" href="#kudu-tserver_spinlock_contention_time"><code>spinlock_contention_time</code></a></h4>
+<div class="paragraph">
+<p>Spinlock Contention Time
+&#160;
+Amount of time consumed by contention on internal spinlocks since the server started. If this increases rapidly, it may indicate a performance issue in Kudu internals triggered by a particular workload and warrant investigation.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablets_num_failed"><a class="link" href="#kudu-tserver_tablets_num_failed"><code>tablets_num_failed</code></a></h4>
+<div class="paragraph">
+<p>Number of Failed Tablets
+&#160;
+Number of failed tablets</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_transaction_memory_limit_rejections"><a class="link" href="#kudu-tserver_transaction_memory_limit_rejections"><code>transaction_memory_limit_rejections</code></a></h4>
+<div class="paragraph">
+<p>Tablet Op Memory Limit Rejections
+&#160;
+Number of ops rejected because the tablet&#8217;s op memory limit was reached.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_transaction_memory_pressure_rejections"><a class="link" href="#kudu-tserver_transaction_memory_pressure_rejections"><code>transaction_memory_pressure_rejections</code></a></h4>
+<div class="paragraph">
+<p>Op Memory Pressure Rejections
+&#160;
+Number of ops rejected because the tablet&#8217;s opmemory usage exceeds the op memory limit or the limitof an ancestral tracker.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warn</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_info"><a class="link" href="#kudu-tserver_info">Info Metrics</a></h3>
+<div class="paragraph">
+<p>Metrics tagged as 'info' are generally useful metrics that operators always want
+to have available but may not be monitored under normal circumstances.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_active_scanners"><a class="link" href="#kudu-tserver_active_scanners"><code>active_scanners</code></a></h4>
+<div class="paragraph">
+<p>Active Scanners
+&#160;
+Number of scanners that are currently active</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_average_diskrowset_height"><a class="link" href="#kudu-tserver_average_diskrowset_height"><code>average_diskrowset_height</code></a></h4>
+<div class="paragraph">
+<p>Average DiskRowSet Height
+&#160;
+Average height of the diskrowsets in this tablet replica. The larger the average height, the more uncompacted the tablet replica is.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_cache_usage"><a class="link" href="#kudu-tserver_block_cache_usage"><code>block_cache_usage</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Memory Usage
+&#160;
+Memory consumed by the block cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_manager_blocks_open_reading"><a class="link" href="#kudu-tserver_block_manager_blocks_open_reading"><code>block_manager_blocks_open_reading</code></a></h4>
+<div class="paragraph">
+<p>Data Blocks Open For Read
+&#160;
+Number of data blocks currently open for reading</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_manager_blocks_open_writing"><a class="link" href="#kudu-tserver_block_manager_blocks_open_writing"><code>block_manager_blocks_open_writing</code></a></h4>
+<div class="paragraph">
+<p>Data Blocks Open For Write
+&#160;
+Number of data blocks currently open for writing</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_builtin_ntp_error"><a class="link" href="#kudu-tserver_builtin_ntp_error"><code>builtin_ntp_error</code></a></h4>
+<div class="paragraph">
+<p>Built-in NTP Latest Maximum Time Error
+&#160;
+Latest maximum time error as tracked by built-in NTP client</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_builtin_ntp_local_clock_delta"><a class="link" href="#kudu-tserver_builtin_ntp_local_clock_delta"><code>builtin_ntp_local_clock_delta</code></a></h4>
+<div class="paragraph">
+<p>Local Clock vs Built-In NTP True Time Delta
+&#160;
+Delta between local clock and true time tracked by built-in NTP client; set to 2^63-1 when true time is not tracked</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_compact_rs_duration"><a class="link" href="#kudu-tserver_compact_rs_duration"><code>compact_rs_duration</code></a></h4>
+<div class="paragraph">
+<p>RowSet Compaction Duration
+&#160;
+Time spent compacting RowSets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cpu_stime"><a class="link" href="#kudu-tserver_cpu_stime"><code>cpu_stime</code></a></h4>
+<div class="paragraph">
+<p>System CPU Time
+&#160;
+Total system CPU time of the process</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_cpu_utime"><a class="link" href="#kudu-tserver_cpu_utime"><code>cpu_utime</code></a></h4>
+<div class="paragraph">
+<p>User CPU Time
+&#160;
+Total user CPU time of the process</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_deleted_rowset_gc_duration"><a class="link" href="#kudu-tserver_deleted_rowset_gc_duration"><code>deleted_rowset_gc_duration</code></a></h4>
+<div class="paragraph">
+<p>Deleted Rowset GC Duration
+&#160;
+Time spent running the maintenance operation to GC deleted rowsets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_delta_file_lookups_per_op"><a class="link" href="#kudu-tserver_delta_file_lookups_per_op"><code>delta_file_lookups_per_op</code></a></h4>
+<div class="paragraph">
+<p>Delta File Lookups per Operation
+&#160;
+Tracks the number of delta file lookups performed by each operation. A single operation may perform several delta file lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_delta_major_compact_rs_duration"><a class="link" href="#kudu-tserver_delta_major_compact_rs_duration"><code>delta_major_compact_rs_duration</code></a></h4>
+<div class="paragraph">
+<p>Major Delta Compaction Duration
+&#160;
+Seconds spent major delta compacting.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_delta_minor_compact_rs_duration"><a class="link" href="#kudu-tserver_delta_minor_compact_rs_duration"><code>delta_minor_compact_rs_duration</code></a></h4>
+<div class="paragraph">
+<p>Minor Delta Compaction Duration
+&#160;
+Time spent minor delta compacting.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_file_cache_usage"><a class="link" href="#kudu-tserver_file_cache_usage"><code>file_cache_usage</code></a></h4>
+<div class="paragraph">
+<p>File Cache Usage
+&#160;
+Number of entries in the file cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_flush_dms_duration"><a class="link" href="#kudu-tserver_flush_dms_duration"><code>flush_dms_duration</code></a></h4>
+<div class="paragraph">
+<p>DeltaMemStore Flush Duration
+&#160;
+Time spent flushing DeltaMemStores.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_flush_mrs_duration"><a class="link" href="#kudu-tserver_flush_mrs_duration"><code>flush_mrs_duration</code></a></h4>
+<div class="paragraph">
+<p>MemRowSet Flush Duration
+&#160;
+Time spent flushing MemRowSets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_generic_current_allocated_bytes"><a class="link" href="#kudu-tserver_generic_current_allocated_bytes"><code>generic_current_allocated_bytes</code></a></h4>
+<div class="paragraph">
+<p>Heap Memory Usage
+&#160;
+Number of bytes used by the application. This will not typically match the memory use reported by the OS, because it does not include TCMalloc overhead or memory fragmentation.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_generic_heap_size"><a class="link" href="#kudu-tserver_generic_heap_size"><code>generic_heap_size</code></a></h4>
+<div class="paragraph">
+<p>Reserved Heap Memory
+&#160;
+Bytes of system memory reserved by TCMalloc.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig"><code>handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.BulkChangeConfig RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.BulkChangeConfig RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_ChangeConfig"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_ChangeConfig"><code>handler_latency_kudu_consensus_ConsensusService_ChangeConfig</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.ChangeConfig RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.ChangeConfig RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_GetConsensusState"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_GetConsensusState"><code>handler_latency_kudu_consensus_ConsensusService_GetConsensusState</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetConsensusState RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.GetConsensusState RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_GetLastOpId"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_GetLastOpId"><code>handler_latency_kudu_consensus_ConsensusService_GetLastOpId</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetLastOpId RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.GetLastOpId RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_GetNodeInstance"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_GetNodeInstance"><code>handler_latency_kudu_consensus_ConsensusService_GetNodeInstance</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetNodeInstance RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.GetNodeInstance RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_LeaderStepDown"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_LeaderStepDown"><code>handler_latency_kudu_consensus_ConsensusService_LeaderStepDown</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.LeaderStepDown RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.LeaderStepDown RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote"><code>handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RequestConsensusVote RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.RequestConsensusVote RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_RunLeaderElection"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_RunLeaderElection"><code>handler_latency_kudu_consensus_ConsensusService_RunLeaderElection</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RunLeaderElection RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.RunLeaderElection RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_StartTabletCopy"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_StartTabletCopy"><code>handler_latency_kudu_consensus_ConsensusService_StartTabletCopy</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.StartTabletCopy RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.StartTabletCopy RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig"><code>handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.UnsafeChangeConfig RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_consensus_ConsensusService_UpdateConsensus"><a class="link" href="#kudu-tserver_handler_latency_kudu_consensus_ConsensusService_UpdateConsensus"><code>handler_latency_kudu_consensus_ConsensusService_UpdateConsensus</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UpdateConsensus RPC Time
+&#160;
+Microseconds spent handling kudu.consensus.ConsensusService.UpdateConsensus RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_server_GenericService_CheckLeaks"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_CheckLeaks"><code>handler_latency_kudu_server_GenericService_CheckLeaks</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.CheckLeaks RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.CheckLeaks RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_server_GenericService_DumpMemTrackers"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_DumpMemTrackers"><code>handler_latency_kudu_server_GenericService_DumpMemTrackers</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.DumpMemTrackers RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.DumpMemTrackers RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_server_GenericService_FlushCoverage"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_FlushCoverage"><code>handler_latency_kudu_server_GenericService_FlushCoverage</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.FlushCoverage RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.FlushCoverage RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_server_GenericService_GetFlags"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_GetFlags"><code>handler_latency_kudu_server_GenericService_GetFlags</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetFlags RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.GetFlags RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_server_GenericService_GetStatus"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_GetStatus"><code>handler_latency_kudu_server_GenericService_GetStatus</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetStatus RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.GetStatus RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_server_GenericService_ServerClock"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_ServerClock"><code>handler_latency_kudu_server_GenericService_ServerClock</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.ServerClock RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.ServerClock RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_server_GenericService_SetFlag"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_SetFlag"><code>handler_latency_kudu_server_GenericService_SetFlag</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetFlag RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.SetFlag RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_server_GenericService_SetServerWallClockForTests"><a class="link" href="#kudu-tserver_handler_latency_kudu_server_GenericService_SetServerWallClockForTests"><code>handler_latency_kudu_server_GenericService_SetServerWallClockForTests</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetServerWallClockForTests RPC Time
+&#160;
+Microseconds spent handling kudu.server.GenericService.SetServerWallClockForTests RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession"><code>handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.BeginTabletCopySession RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive"><code>handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.CheckSessionActive RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.CheckSessionActive RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession"><code>handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.EndTabletCopySession RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.EndTabletCopySession RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_FetchData"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletCopyService_FetchData"><code>handler_latency_kudu_tserver_TabletCopyService_FetchData</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.FetchData RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletCopyService.FetchData RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema"><code>handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.AlterSchema RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.AlterSchema RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><code>handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet"><code>handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CreateTablet RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.CreateTablet RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet"><code>handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.DeleteTablet RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.DeleteTablet RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><code>handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_Quiesce"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerAdminService_Quiesce"><code>handler_latency_kudu_tserver_TabletServerAdminService_Quiesce</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.Quiesce RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerAdminService.Quiesce RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Checksum"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Checksum"><code>handler_latency_kudu_tserver_TabletServerService_Checksum</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Checksum RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Checksum RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_ListTablets"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_ListTablets"><code>handler_latency_kudu_tserver_TabletServerService_ListTablets</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ListTablets RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.ListTablets RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Ping"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Ping"><code>handler_latency_kudu_tserver_TabletServerService_Ping</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Ping RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Ping RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Scan"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Scan"><code>handler_latency_kudu_tserver_TabletServerService_Scan</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Scan RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Scan RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive"><code>handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ScannerKeepAlive RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.ScannerKeepAlive RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_SplitKeyRange"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_SplitKeyRange"><code>handler_latency_kudu_tserver_TabletServerService_SplitKeyRange</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.SplitKeyRange RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.SplitKeyRange RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Write"><a class="link" href="#kudu-tserver_handler_latency_kudu_tserver_TabletServerService_Write"><code>handler_latency_kudu_tserver_TabletServerService_Write</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Write RPC Time
+&#160;
+Microseconds spent handling kudu.tserver.TabletServerService.Write RPC requests</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_hybrid_clock_error"><a class="link" href="#kudu-tserver_hybrid_clock_error"><code>hybrid_clock_error</code></a></h4>
+<div class="paragraph">
+<p>Hybrid Clock Error
+&#160;
+Server clock maximum error; returns 2^64-1 when unable to read the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_hybrid_clock_timestamp"><a class="link" href="#kudu-tserver_hybrid_clock_timestamp"><code>hybrid_clock_timestamp</code></a></h4>
+<div class="paragraph">
+<p>Hybrid Clock Timestamp
+&#160;
+Hybrid clock timestamp; returns 2^64-1 when unable to read the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_involuntary_context_switches"><a class="link" href="#kudu-tserver_involuntary_context_switches"><code>involuntary_context_switches</code></a></h4>
+<div class="paragraph">
+<p>Involuntary Context Switches
+&#160;
+Total involuntary context switches</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">context switches</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_live_row_count"><a class="link" href="#kudu-tserver_live_row_count"><code>live_row_count</code></a></h4>
+<div class="paragraph">
+<p>Tablet Live Row Count
+&#160;
+Number of live rows in this tablet, excludes deleted rows.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_append_latency"><a class="link" href="#kudu-tserver_log_append_latency"><code>log_append_latency</code></a></h4>
+<div class="paragraph">
+<p>Log Append Latency
+&#160;
+Microseconds spent on appending to the log segment file</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_block_manager_blocks_under_management"><a class="link" href="#kudu-tserver_log_block_manager_blocks_under_management"><code>log_block_manager_blocks_under_management</code></a></h4>
+<div class="paragraph">
+<p>Blocks Under Management
+&#160;
+Number of data blocks currently under management</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_block_manager_bytes_under_management"><a class="link" href="#kudu-tserver_log_block_manager_bytes_under_management"><code>log_block_manager_bytes_under_management</code></a></h4>
+<div class="paragraph">
+<p>Bytes Under Management
+&#160;
+Number of bytes of data blocks currently under management</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_block_manager_containers"><a class="link" href="#kudu-tserver_log_block_manager_containers"><code>log_block_manager_containers</code></a></h4>
+<div class="paragraph">
+<p>Number of Block Containers
+&#160;
+Number of log block containers</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log block containers</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_block_manager_full_containers"><a class="link" href="#kudu-tserver_log_block_manager_full_containers"><code>log_block_manager_full_containers</code></a></h4>
+<div class="paragraph">
+<p>Number of Full Block Containers
+&#160;
+Number of full log block containers</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log block containers</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_gc_duration"><a class="link" href="#kudu-tserver_log_gc_duration"><code>log_gc_duration</code></a></h4>
+<div class="paragraph">
+<p>Log GC Duration
+&#160;
+Time spent garbage collecting the logs.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_gc_running"><a class="link" href="#kudu-tserver_log_gc_running"><code>log_gc_running</code></a></h4>
+<div class="paragraph">
+<p>Log GCs Running
+&#160;
+Number of log GC operations currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_reader_read_batch_latency"><a class="link" href="#kudu-tserver_log_reader_read_batch_latency"><code>log_reader_read_batch_latency</code></a></h4>
+<div class="paragraph">
+<p>Log Read Latency
+&#160;
+Microseconds spent reading log entry batches</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_sync_latency"><a class="link" href="#kudu-tserver_log_sync_latency"><code>log_sync_latency</code></a></h4>
+<div class="paragraph">
+<p>Log Sync Latency
+&#160;
+Microseconds spent on synchronizing the log segment file</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_logical_clock_timestamp"><a class="link" href="#kudu-tserver_logical_clock_timestamp"><code>logical_clock_timestamp</code></a></h4>
+<div class="paragraph">
+<p>Logical Clock Timestamp
+&#160;
+Logical clock timestamp.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_maintenance_op_find_best_candidate_duration"><a class="link" href="#kudu-tserver_maintenance_op_find_best_candidate_duration"><code>maintenance_op_find_best_candidate_duration</code></a></h4>
+<div class="paragraph">
+<p>Time Taken To Find Best Maintenance Operation
+&#160;
+Time spent choosing a maintenance operation with highest scores among available candidates</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_memrowset_size"><a class="link" href="#kudu-tserver_memrowset_size"><code>memrowset_size</code></a></h4>
+<div class="paragraph">
+<p>MemRowSet Memory Usage
+&#160;
+Size of this tablet&#8217;s memrowset</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_merged_entities_count_of_server"><a class="link" href="#kudu-tserver_merged_entities_count_of_server"><code>merged_entities_count_of_server</code></a></h4>
+<div class="paragraph">
+<p>Entities Count Merged From
+&#160;
+Count of entities merged together when entities are merged by common attribute value.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_merged_entities_count_of_tablet"><a class="link" href="#kudu-tserver_merged_entities_count_of_tablet"><code>merged_entities_count_of_tablet</code></a></h4>
+<div class="paragraph">
+<p>Entities Count Merged From
+&#160;
+Count of entities merged together when entities are merged by common attribute value.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_num_raft_leaders"><a class="link" href="#kudu-tserver_num_raft_leaders"><code>num_raft_leaders</code></a></h4>
+<div class="paragraph">
+<p>Number of Raft Leaders
+&#160;
+Number of tablet replicas that are Raft leaders</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_num_rowsets_on_disk"><a class="link" href="#kudu-tserver_num_rowsets_on_disk"><code>num_rowsets_on_disk</code></a></h4>
+<div class="paragraph">
+<p>Tablet Number of Rowsets on Disk
+&#160;
+Number of diskrowsets in this tablet</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_on_disk_data_size"><a class="link" href="#kudu-tserver_on_disk_data_size"><code>on_disk_data_size</code></a></h4>
+<div class="paragraph">
+<p>Tablet Data Size On Disk
+&#160;
+Space used by this tablet&#8217;s data blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_on_disk_size"><a class="link" href="#kudu-tserver_on_disk_size"><code>on_disk_size</code></a></h4>
+<div class="paragraph">
+<p>Tablet Size On Disk
+&#160;
+Space used by this tablet on disk, including metadata.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_op_prepare_queue_length"><a class="link" href="#kudu-tserver_op_prepare_queue_length"><code>op_prepare_queue_length</code></a></h4>
+<div class="paragraph">
+<p>Operation Prepare Queue Length
+&#160;
+Number of operations waiting to be prepared within this tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tasks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_op_prepare_queue_time"><a class="link" href="#kudu-tserver_op_prepare_queue_time"><code>op_prepare_queue_time</code></a></h4>
+<div class="paragraph">
+<p>Operation Prepare Queue Time
+&#160;
+Time that operations spent waiting in the prepare queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_op_prepare_run_time"><a class="link" href="#kudu-tserver_op_prepare_run_time"><code>op_prepare_run_time</code></a></h4>
+<div class="paragraph">
+<p>Operation Prepare Run Time
+&#160;
+Time that operations spent being prepared in the tablet. High values may indicate that the server is under-provisioned or that operations are experiencing high contention with one another for locks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.BulkChangeConfig RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.BulkChangeConfig requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.ChangeConfig RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.ChangeConfig requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetConsensusState RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.GetConsensusState requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetLastOpId RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.GetLastOpId requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.GetNodeInstance RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.GetNodeInstance requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.LeaderStepDown RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.LeaderStepDown requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RequestConsensusVote RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.RequestConsensusVote requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.RunLeaderElection RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.RunLeaderElection requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.StartTabletCopy RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.StartTabletCopy requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.UnsafeChangeConfig requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus"><code>queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus</code></a></h4>
+<div class="paragraph">
+<p>kudu.consensus.ConsensusService.UpdateConsensus RPC Rejections
+&#160;
+Number of rejected kudu.consensus.ConsensusService.UpdateConsensus requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_CheckLeaks"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_CheckLeaks"><code>queue_overflow_rejections_kudu_server_GenericService_CheckLeaks</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.CheckLeaks RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.CheckLeaks requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers"><code>queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.DumpMemTrackers RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.DumpMemTrackers requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_FlushCoverage"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_FlushCoverage"><code>queue_overflow_rejections_kudu_server_GenericService_FlushCoverage</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.FlushCoverage RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.FlushCoverage requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_GetFlags"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_GetFlags"><code>queue_overflow_rejections_kudu_server_GenericService_GetFlags</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetFlags RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.GetFlags requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_GetStatus"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_GetStatus"><code>queue_overflow_rejections_kudu_server_GenericService_GetStatus</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.GetStatus RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.GetStatus requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_ServerClock"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_ServerClock"><code>queue_overflow_rejections_kudu_server_GenericService_ServerClock</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.ServerClock RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.ServerClock requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_SetFlag"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_SetFlag"><code>queue_overflow_rejections_kudu_server_GenericService_SetFlag</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetFlag RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.SetFlag requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests"><code>queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests</code></a></h4>
+<div class="paragraph">
+<p>kudu.server.GenericService.SetServerWallClockForTests RPC Rejections
+&#160;
+Number of rejected kudu.server.GenericService.SetServerWallClockForTests requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.BeginTabletCopySession requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.CheckSessionActive RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.CheckSessionActive requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.EndTabletCopySession RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.EndTabletCopySession requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData"><code>queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletCopyService.FetchData RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletCopyService.FetchData requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.AlterSchema RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.AlterSchema requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.CoordinateTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.CreateTablet RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.CreateTablet requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.DeleteTablet RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.DeleteTablet requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.ParticipateInTransaction requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce"><code>queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerAdminService.Quiesce RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerAdminService.Quiesce requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Checksum RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Checksum requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ListTablets RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.ListTablets requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Ping"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Ping"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Ping</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Ping RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Ping requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Scan"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Scan"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Scan</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Scan RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Scan requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.ScannerKeepAlive RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.ScannerKeepAlive requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.SplitKeyRange RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.SplitKeyRange requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Write"><a class="link" href="#kudu-tserver_queue_overflow_rejections_kudu_tserver_TabletServerService_Write"><code>queue_overflow_rejections_kudu_tserver_TabletServerService_Write</code></a></h4>
+<div class="paragraph">
+<p>kudu.tserver.TabletServerService.Write RPC Rejections
+&#160;
+Number of rejected kudu.tserver.TabletServerService.Write requests due to RPC queue overflow</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_reactor_active_latency_us"><a class="link" href="#kudu-tserver_reactor_active_latency_us"><code>reactor_active_latency_us</code></a></h4>
+<div class="paragraph">
+<p>Reactor Thread Active Latency
+&#160;
+Histogram of the wall clock time for reactor thread wake-ups. The reactor thread is responsible for all network I/O and therefore outliers in this latency histogram directly contribute to the latency of both inbound and outbound RPCs.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_reactor_load_percent"><a class="link" href="#kudu-tserver_reactor_load_percent"><code>reactor_load_percent</code></a></h4>
+<div class="paragraph">
+<p>Reactor Thread Load Percentage
+&#160;
+The percentage of time that the reactor is busy (not blocked awaiting network activity). If this metric shows significant samples nears 100%, increasing the number of reactors may be beneficial.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rows_deleted"><a class="link" href="#kudu-tserver_rows_deleted"><code>rows_deleted</code></a></h4>
+<div class="paragraph">
+<p>Rows Deleted
+&#160;
+Number of row delete operations performed on this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rows_inserted"><a class="link" href="#kudu-tserver_rows_inserted"><code>rows_inserted</code></a></h4>
+<div class="paragraph">
+<p>Rows Inserted
+&#160;
+Number of rows inserted into this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rows_updated"><a class="link" href="#kudu-tserver_rows_updated"><code>rows_updated</code></a></h4>
+<div class="paragraph">
+<p>Rows Updated
+&#160;
+Number of row update operations performed on this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rows_upserted"><a class="link" href="#kudu-tserver_rows_upserted"><code>rows_upserted</code></a></h4>
+<div class="paragraph">
+<p>Rows Upserted
+&#160;
+Number of rows upserted into this tablet since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_connections_accepted"><a class="link" href="#kudu-tserver_rpc_connections_accepted"><code>rpc_connections_accepted</code></a></h4>
+<div class="paragraph">
+<p>RPC Connections Accepted
+&#160;
+Number of incoming TCP connections made to the RPC server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">connections</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_connections_accepted_unix_domain_socket"><a class="link" href="#kudu-tserver_rpc_connections_accepted_unix_domain_socket"><code>rpc_connections_accepted_unix_domain_socket</code></a></h4>
+<div class="paragraph">
+<p>RPC Connections Accepted via UNIX Domain Socket
+&#160;
+Number of incoming UNIX Domain Socket connections made to the RPC server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">connections</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_rpc_incoming_queue_time"><a class="link" href="#kudu-tserver_rpc_incoming_queue_time"><code>rpc_incoming_queue_time</code></a></h4>
+<div class="paragraph">
+<p>RPC Queue Time
+&#160;
+Number of microseconds incoming RPC requests spend in the worker queue</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_duration"><a class="link" href="#kudu-tserver_scanner_duration"><code>scanner_duration</code></a></h4>
+<div class="paragraph">
+<p>Scanner Duration
+&#160;
+Histogram of the duration of active scanners on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_predicates_disabled"><a class="link" href="#kudu-tserver_scanner_predicates_disabled"><code>scanner_predicates_disabled</code></a></h4>
+<div class="paragraph">
+<p>Scanner Column Predicates Disabled
+&#160;
+Number of column predicates disabled during scan requests. This count measures the number of disableable column predicates like Bloom filter predicate that are automatically disabled if determined to be ineffective.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_state"><a class="link" href="#kudu-tserver_state"><code>state</code></a></h4>
+<div class="paragraph">
+<p>Tablet State
+&#160;
+State of this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">state</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_copy_open_client_sessions"><a class="link" href="#kudu-tserver_tablet_copy_open_client_sessions"><code>tablet_copy_open_client_sessions</code></a></h4>
+<div class="paragraph">
+<p>Open Table Copy Client Sessions
+&#160;
+Number of currently open tablet copy client sessions on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sessions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_copy_open_source_sessions"><a class="link" href="#kudu-tserver_tablet_copy_open_source_sessions"><code>tablet_copy_open_source_sessions</code></a></h4>
+<div class="paragraph">
+<p>Open Table Copy Source Sessions
+&#160;
+Number of currently open tablet copy source sessions on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sessions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablets_num_bootstrapping"><a class="link" href="#kudu-tserver_tablets_num_bootstrapping"><code>tablets_num_bootstrapping</code></a></h4>
+<div class="paragraph">
+<p>Number of Bootstrapping Tablets
+&#160;
+Number of tablets currently bootstrapping</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablets_num_initialized"><a class="link" href="#kudu-tserver_tablets_num_initialized"><code>tablets_num_initialized</code></a></h4>
+<div class="paragraph">
+<p>Number of Initialized Tablets
+&#160;
+Number of tablets currently initialized</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablets_num_not_initialized"><a class="link" href="#kudu-tserver_tablets_num_not_initialized"><code>tablets_num_not_initialized</code></a></h4>
+<div class="paragraph">
+<p>Number of Not Initialized Tablets
+&#160;
+Number of tablets currently not initialized</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablets_num_running"><a class="link" href="#kudu-tserver_tablets_num_running"><code>tablets_num_running</code></a></h4>
+<div class="paragraph">
+<p>Number of Running Tablets
+&#160;
+Number of tablets currently running</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablets_num_shutdown"><a class="link" href="#kudu-tserver_tablets_num_shutdown"><code>tablets_num_shutdown</code></a></h4>
+<div class="paragraph">
+<p>Number of Shut Down Tablets
+&#160;
+Number of tablets currently shut down</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablets_num_stopped"><a class="link" href="#kudu-tserver_tablets_num_stopped"><code>tablets_num_stopped</code></a></h4>
+<div class="paragraph">
+<p>Number of Stopped Tablets
+&#160;
+Number of tablets currently stopped</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablets_num_stopping"><a class="link" href="#kudu-tserver_tablets_num_stopping"><code>tablets_num_stopping</code></a></h4>
+<div class="paragraph">
+<p>Number of Stopping Tablets
+&#160;
+Number of tablets currently stopping</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablets</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tcmalloc_current_total_thread_cache_bytes"><a class="link" href="#kudu-tserver_tcmalloc_current_total_thread_cache_bytes"><code>tcmalloc_current_total_thread_cache_bytes</code></a></h4>
+<div class="paragraph">
+<p>Thread Cache Memory Usage
+&#160;
+A measure of some of the memory TCMalloc is using (for small objects).</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tcmalloc_max_total_thread_cache_bytes"><a class="link" href="#kudu-tserver_tcmalloc_max_total_thread_cache_bytes"><code>tcmalloc_max_total_thread_cache_bytes</code></a></h4>
+<div class="paragraph">
+<p>Thread Cache Memory Limit
+&#160;
+A limit to how much memory TCMalloc dedicates for small objects. Higher numbers trade off more memory use for&#8201;&#8212;&#8201;in some situations&#8201;&#8212;&#8201;improved efficiency.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tcmalloc_pageheap_free_bytes"><a class="link" href="#kudu-tserver_tcmalloc_pageheap_free_bytes"><code>tcmalloc_pageheap_free_bytes</code></a></h4>
+<div class="paragraph">
+<p>Free Heap Memory
+&#160;
+Number of bytes in free, mapped pages in page heap. These bytes can be used to fulfill allocation requests. They always count towards virtual memory usage, and unless the underlying memory is swapped out by the OS, they also count towards physical memory usage.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tcmalloc_pageheap_unmapped_bytes"><a class="link" href="#kudu-tserver_tcmalloc_pageheap_unmapped_bytes"><code>tcmalloc_pageheap_unmapped_bytes</code></a></h4>
+<div class="paragraph">
+<p>Unmapped Heap Memory
+&#160;
+Number of bytes in free, unmapped pages in page heap. These are bytes that have been released back to the OS, possibly by one of the MallocExtension "Release" calls. They can be used to fulfill allocation requests, but typically incur a page fault. They always count towards virtual memory usage, and depending on the OS, typically do not count towards physical memory usage.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_threads_running"><a class="link" href="#kudu-tserver_threads_running"><code>threads_running</code></a></h4>
+<div class="paragraph">
+<p>Threads Running
+&#160;
+Current number of running threads</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">threads</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_undo_delta_block_gc_delete_duration"><a class="link" href="#kudu-tserver_undo_delta_block_gc_delete_duration"><code>undo_delta_block_gc_delete_duration</code></a></h4>
+<div class="paragraph">
+<p>Undo Delta Block GC Delete Duration
+&#160;
+Time spent deleting ancient UNDO delta blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_undo_delta_block_gc_init_duration"><a class="link" href="#kudu-tserver_undo_delta_block_gc_init_duration"><code>undo_delta_block_gc_init_duration</code></a></h4>
+<div class="paragraph">
+<p>Undo Delta Block GC Init Duration
+&#160;
+Time spent initializing ancient UNDO delta blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_undo_delta_block_gc_perform_duration"><a class="link" href="#kudu-tserver_undo_delta_block_gc_perform_duration"><code>undo_delta_block_gc_perform_duration</code></a></h4>
+<div class="paragraph">
+<p>Undo Delta Block GC Perform Duration
+&#160;
+Time spent running the maintenance operation to GC ancient UNDO delta blocks.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_upserts_as_updates"><a class="link" href="#kudu-tserver_upserts_as_updates"><code>upserts_as_updates</code></a></h4>
+<div class="paragraph">
+<p>Upserts converted into updates
+&#160;
+Number of upserts which were applied as updates because the key already existed.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_uptime"><a class="link" href="#kudu-tserver_uptime"><code>uptime</code></a></h4>
+<div class="paragraph">
+<p>Server Uptime
+&#160;
+Time interval since the server has started</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_voluntary_context_switches"><a class="link" href="#kudu-tserver_voluntary_context_switches"><code>voluntary_context_switches</code></a></h4>
+<div class="paragraph">
+<p>Voluntary Context Switches
+&#160;
+Total voluntary context switches</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">context switches</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">info</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="kudu-tserver_debug"><a class="link" href="#kudu-tserver_debug">Debug Metrics</a></h3>
+<div class="paragraph">
+<p>Metrics tagged as 'debug' are diagnostically helpful but generally not monitored
+during normal operation.</p>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_all_transactions_inflight"><a class="link" href="#kudu-tserver_all_transactions_inflight"><code>all_transactions_inflight</code></a></h4>
+<div class="paragraph">
+<p>Ops In Flight
+&#160;
+Number of ops currently in-flight, including any type.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_alter_schema_transactions_inflight"><a class="link" href="#kudu-tserver_alter_schema_transactions_inflight"><code>alter_schema_transactions_inflight</code></a></h4>
+<div class="paragraph">
+<p>Alter Schema Ops In Flight
+&#160;
+Number of alter schema ops currently in-flight</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_cache_evictions"><a class="link" href="#kudu-tserver_block_cache_evictions"><code>block_cache_evictions</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Evictions
+&#160;
+Number of blocks evicted from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_cache_hits"><a class="link" href="#kudu-tserver_block_cache_hits"><code>block_cache_hits</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Hits
+&#160;
+Number of lookups that found a block</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_cache_hits_caching"><a class="link" href="#kudu-tserver_block_cache_hits_caching"><code>block_cache_hits_caching</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Hits (Caching)
+&#160;
+Number of lookups that were expecting a block that found one.Use this number instead of cache_hits when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_cache_inserts"><a class="link" href="#kudu-tserver_block_cache_inserts"><code>block_cache_inserts</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Inserts
+&#160;
+Number of blocks inserted in the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_cache_lookups"><a class="link" href="#kudu-tserver_block_cache_lookups"><code>block_cache_lookups</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Lookups
+&#160;
+Number of blocks looked up from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_cache_misses"><a class="link" href="#kudu-tserver_block_cache_misses"><code>block_cache_misses</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Misses
+&#160;
+Number of lookups that didn&#8217;t yield a block</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_cache_misses_caching"><a class="link" href="#kudu-tserver_block_cache_misses_caching"><code>block_cache_misses_caching</code></a></h4>
+<div class="paragraph">
+<p>Block Cache Misses (Caching)
+&#160;
+Number of lookups that were expecting a block that didn&#8217;t yield one.Use this number instead of cache_misses when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_manager_total_blocks_created"><a class="link" href="#kudu-tserver_block_manager_total_blocks_created"><code>block_manager_total_blocks_created</code></a></h4>
+<div class="paragraph">
+<p>Data Blocks Created
+&#160;
+Number of data blocks that were created since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_manager_total_blocks_deleted"><a class="link" href="#kudu-tserver_block_manager_total_blocks_deleted"><code>block_manager_total_blocks_deleted</code></a></h4>
+<div class="paragraph">
+<p>Data Blocks Deleted
+&#160;
+Number of data blocks that were deleted since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_manager_total_bytes_read"><a class="link" href="#kudu-tserver_block_manager_total_bytes_read"><code>block_manager_total_bytes_read</code></a></h4>
+<div class="paragraph">
+<p>Block Data Bytes Read
+&#160;
+Number of bytes of block data read since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_manager_total_bytes_written"><a class="link" href="#kudu-tserver_block_manager_total_bytes_written"><code>block_manager_total_bytes_written</code></a></h4>
+<div class="paragraph">
+<p>Block Data Bytes Written
+&#160;
+Number of bytes of block data written since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_manager_total_disk_sync"><a class="link" href="#kudu-tserver_block_manager_total_disk_sync"><code>block_manager_total_disk_sync</code></a></h4>
+<div class="paragraph">
+<p>Block Data Disk Synchronization Count
+&#160;
+Number of disk synchronizations of block data since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_manager_total_readable_blocks"><a class="link" href="#kudu-tserver_block_manager_total_readable_blocks"><code>block_manager_total_readable_blocks</code></a></h4>
+<div class="paragraph">
+<p>Data Blocks Opened For Read
+&#160;
+Number of data blocks opened for reading since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_block_manager_total_writable_blocks"><a class="link" href="#kudu-tserver_block_manager_total_writable_blocks"><code>block_manager_total_writable_blocks</code></a></h4>
+<div class="paragraph">
+<p>Data Blocks Opened For Write
+&#160;
+Number of data blocks opened for writing since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">blocks</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_bloom_lookups"><a class="link" href="#kudu-tserver_bloom_lookups"><code>bloom_lookups</code></a></h4>
+<div class="paragraph">
+<p>Bloom Filter Lookups
+&#160;
+Number of times a bloom filter was consulted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_bloom_lookups_per_op"><a class="link" href="#kudu-tserver_bloom_lookups_per_op"><code>bloom_lookups_per_op</code></a></h4>
+<div class="paragraph">
+<p>Bloom Lookups per Operation
+&#160;
+Tracks the number of bloom filter lookups performed by each operation. A single operation may perform several bloom filter lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_builtin_ntp_max_errors"><a class="link" href="#kudu-tserver_builtin_ntp_max_errors"><code>builtin_ntp_max_errors</code></a></h4>
+<div class="paragraph">
+<p>Built-In NTP Maximum Time Errors
+&#160;
+Statistics on the maximum true time error computed by built-in NTP client</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_builtin_ntp_time"><a class="link" href="#kudu-tserver_builtin_ntp_time"><code>builtin_ntp_time</code></a></h4>
+<div class="paragraph">
+<p>Built-in NTP Time
+&#160;
+Latest true time as tracked by built-in NTP client</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_bytes_flushed"><a class="link" href="#kudu-tserver_bytes_flushed"><code>bytes_flushed</code></a></h4>
+<div class="paragraph">
+<p>Bytes Flushed
+&#160;
+Amount of data that has been flushed to disk by this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_code_cache_hits"><a class="link" href="#kudu-tserver_code_cache_hits"><code>code_cache_hits</code></a></h4>
+<div class="paragraph">
+<p>Codegen Cache Hits
+&#160;
+Number of codegen cache hits since start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hits</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_code_cache_queries"><a class="link" href="#kudu-tserver_code_cache_queries"><code>code_cache_queries</code></a></h4>
+<div class="paragraph">
+<p>Codegen Cache Queries
+&#160;
+Number of codegen cache queries (hits + misses) since start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">queries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_commit_wait_duration"><a class="link" href="#kudu-tserver_commit_wait_duration"><code>commit_wait_duration</code></a></h4>
+<div class="paragraph">
+<p>Commit-Wait Duration
+&#160;
+Time spent waiting for COMMIT_WAIT external consistency writes for this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_compact_rs_running"><a class="link" href="#kudu-tserver_compact_rs_running"><code>compact_rs_running</code></a></h4>
+<div class="paragraph">
+<p>RowSet Compactions Running
+&#160;
+Number of RowSet compactions currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_delete_ignore_errors"><a class="link" href="#kudu-tserver_delete_ignore_errors"><code>delete_ignore_errors</code></a></h4>
+<div class="paragraph">
+<p>Delete Ignore Errors
+&#160;
+Number of delete ignore operations for this tablet which were ignored due to an error since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_deleted_rowset_estimated_retained_bytes"><a class="link" href="#kudu-tserver_deleted_rowset_estimated_retained_bytes"><code>deleted_rowset_estimated_retained_bytes</code></a></h4>
+<div class="paragraph">
+<p>Estimated Deletable Bytes Retained in Deleted Rowsets
+&#160;
+Estimated bytes of deletable data in deleted rowsets for this tablet.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_deleted_rowset_gc_bytes_deleted"><a class="link" href="#kudu-tserver_deleted_rowset_gc_bytes_deleted"><code>deleted_rowset_gc_bytes_deleted</code></a></h4>
+<div class="paragraph">
+<p>Deleted Rowsets GC Bytes Deleted
+&#160;
+Number of bytes deleted by garbage-collecting deleted rowsets.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_deleted_rowset_gc_running"><a class="link" href="#kudu-tserver_deleted_rowset_gc_running"><code>deleted_rowset_gc_running</code></a></h4>
+<div class="paragraph">
+<p>Deleted Rowset GC Running
+&#160;
+Number of deleted rowset GC operations currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_delta_file_lookups"><a class="link" href="#kudu-tserver_delta_file_lookups"><code>delta_file_lookups</code></a></h4>
+<div class="paragraph">
+<p>Delta File Lookups
+&#160;
+Number of times a delta file was consulted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_delta_major_compact_rs_running"><a class="link" href="#kudu-tserver_delta_major_compact_rs_running"><code>delta_major_compact_rs_running</code></a></h4>
+<div class="paragraph">
+<p>Major Delta Compactions Running
+&#160;
+Number of delta major compactions currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_delta_minor_compact_rs_running"><a class="link" href="#kudu-tserver_delta_minor_compact_rs_running"><code>delta_minor_compact_rs_running</code></a></h4>
+<div class="paragraph">
+<p>Minor Delta Compactions Running
+&#160;
+Number of delta minor compactions currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_file_cache_evictions"><a class="link" href="#kudu-tserver_file_cache_evictions"><code>file_cache_evictions</code></a></h4>
+<div class="paragraph">
+<p>File Cache Evictions
+&#160;
+Number of file descriptors evicted from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_file_cache_hits"><a class="link" href="#kudu-tserver_file_cache_hits"><code>file_cache_hits</code></a></h4>
+<div class="paragraph">
+<p>File Cache Hits
+&#160;
+Number of lookups that found a file descriptor</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_file_cache_hits_caching"><a class="link" href="#kudu-tserver_file_cache_hits_caching"><code>file_cache_hits_caching</code></a></h4>
+<div class="paragraph">
+<p>File Cache Hits (Caching)
+&#160;
+Number of lookups that were expecting a file descriptor that found one. Use this number instead of cache_hits when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_file_cache_inserts"><a class="link" href="#kudu-tserver_file_cache_inserts"><code>file_cache_inserts</code></a></h4>
+<div class="paragraph">
+<p>File Cache Inserts
+&#160;
+Number of file descriptors inserted in the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_file_cache_lookups"><a class="link" href="#kudu-tserver_file_cache_lookups"><code>file_cache_lookups</code></a></h4>
+<div class="paragraph">
+<p>File Cache Lookups
+&#160;
+Number of file descriptors looked up from the cache</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_file_cache_misses"><a class="link" href="#kudu-tserver_file_cache_misses"><code>file_cache_misses</code></a></h4>
+<div class="paragraph">
+<p>File Cache Misses
+&#160;
+Number of lookups that didn&#8217;t yield a file descriptor</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_file_cache_misses_caching"><a class="link" href="#kudu-tserver_file_cache_misses_caching"><code>file_cache_misses_caching</code></a></h4>
+<div class="paragraph">
+<p>File Cache Misses (Caching)
+&#160;
+Number of lookups that were expecting a file descriptor that didn&#8217;t yield one. Use this number instead of cache_misses when trying to determine how efficient the cache is</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_flush_dms_running"><a class="link" href="#kudu-tserver_flush_dms_running"><code>flush_dms_running</code></a></h4>
+<div class="paragraph">
+<p>DeltaMemStore Flushes Running
+&#160;
+Number of delta memstore flushes currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_flush_mrs_running"><a class="link" href="#kudu-tserver_flush_mrs_running"><code>flush_mrs_running</code></a></h4>
+<div class="paragraph">
+<p>MemRowSet Flushes Running
+&#160;
+Number of MemRowSet flushes currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_glog_info_messages"><a class="link" href="#kudu-tserver_glog_info_messages"><code>glog_info_messages</code></a></h4>
+<div class="paragraph">
+<p>INFO-level Log Messages
+&#160;
+Number of INFO-level log messages emitted by the application.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">messages</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_hybrid_clock_max_errors"><a class="link" href="#kudu-tserver_hybrid_clock_max_errors"><code>hybrid_clock_max_errors</code></a></h4>
+<div class="paragraph">
+<p>Hybrid Clock Maximum Errors
+&#160;
+The statistics on the maximum error of the underlying clock</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_in_progress_ops"><a class="link" href="#kudu-tserver_in_progress_ops"><code>in_progress_ops</code></a></h4>
+<div class="paragraph">
+<p>Operations in Progress
+&#160;
+Number of operations in the peer&#8217;s queue ack&#8217;d by a minority of peers.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_insert_ignore_errors"><a class="link" href="#kudu-tserver_insert_ignore_errors"><code>insert_ignore_errors</code></a></h4>
+<div class="paragraph">
+<p>Insert Ignore Errors
+&#160;
+Number of insert ignore operations for this tablet which were ignored due to an error since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_insertions_failed_dup_key"><a class="link" href="#kudu-tserver_insertions_failed_dup_key"><code>insertions_failed_dup_key</code></a></h4>
+<div class="paragraph">
+<p>Duplicate Key Inserts
+&#160;
+Number of inserts which failed because the key already existed</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_key_file_lookups"><a class="link" href="#kudu-tserver_key_file_lookups"><code>key_file_lookups</code></a></h4>
+<div class="paragraph">
+<p>Key File Lookups
+&#160;
+Number of times a key cfile was consulted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_key_file_lookups_per_op"><a class="link" href="#kudu-tserver_key_file_lookups_per_op"><code>key_file_lookups_per_op</code></a></h4>
+<div class="paragraph">
+<p>Key Lookups per Operation
+&#160;
+Tracks the number of key file lookups performed by each operation. A single operation may perform several key file lookups if the tablet is not fully compacted and if bloom filters are not effectively culling lookups.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_last_read_elapsed_time"><a class="link" href="#kudu-tserver_last_read_elapsed_time"><code>last_read_elapsed_time</code></a></h4>
+<div class="paragraph">
+<p>Seconds Since Last Read
+&#160;
+The elapsed time, in seconds, since the last read operation on this tablet, or since this Tablet object was created on current tserver if it hasn&#8217;t been read since then.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_last_write_elapsed_time"><a class="link" href="#kudu-tserver_last_write_elapsed_time"><code>last_write_elapsed_time</code></a></h4>
+<div class="paragraph">
+<p>Seconds Since Last Write
+&#160;
+The elapsed time, in seconds, since the last write operation on this tablet, or since this Tablet object was created on current tserver if it hasn&#8217;t been written to since then.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">seconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_block_manager_dead_containers_deleted"><a class="link" href="#kudu-tserver_log_block_manager_dead_containers_deleted"><code>log_block_manager_dead_containers_deleted</code></a></h4>
+<div class="paragraph">
+<p>Number of Dead Block Containers Deleted
+&#160;
+Number of full (but dead) block containers that were deleted</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">log block containers</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_block_manager_holes_punched"><a class="link" href="#kudu-tserver_log_block_manager_holes_punched"><code>log_block_manager_holes_punched</code></a></h4>
+<div class="paragraph">
+<p>Number of Holes Punched
+&#160;
+Number of holes punched since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">holes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_bytes_logged"><a class="link" href="#kudu-tserver_log_bytes_logged"><code>log_bytes_logged</code></a></h4>
+<div class="paragraph">
+<p>Bytes Written to WAL
+&#160;
+Number of bytes logged since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_cache_num_ops"><a class="link" href="#kudu-tserver_log_cache_num_ops"><code>log_cache_num_ops</code></a></h4>
+<div class="paragraph">
+<p>Log Cache Operation Count
+&#160;
+Number of operations in the log cache.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_cache_size"><a class="link" href="#kudu-tserver_log_cache_size"><code>log_cache_size</code></a></h4>
+<div class="paragraph">
+<p>Log Cache Memory Usage
+&#160;
+Amount of memory in use for caching the local log.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_entry_batches_per_group"><a class="link" href="#kudu-tserver_log_entry_batches_per_group"><code>log_entry_batches_per_group</code></a></h4>
+<div class="paragraph">
+<p>Log Group Commit Batch Size
+&#160;
+Number of log entry batches in a group commit group</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requests</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_group_commit_latency"><a class="link" href="#kudu-tserver_log_group_commit_latency"><code>log_group_commit_latency</code></a></h4>
+<div class="paragraph">
+<p>Log Group Commit Latency
+&#160;
+Microseconds spent on committing an entire group</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_reader_bytes_read"><a class="link" href="#kudu-tserver_log_reader_bytes_read"><code>log_reader_bytes_read</code></a></h4>
+<div class="paragraph">
+<p>Bytes Read From Log
+&#160;
+Data read from the WAL since tablet start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_reader_entries_read"><a class="link" href="#kudu-tserver_log_reader_entries_read"><code>log_reader_entries_read</code></a></h4>
+<div class="paragraph">
+<p>Entries Read From Log
+&#160;
+Number of entries read from the WAL since tablet start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">entries</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_log_roll_latency"><a class="link" href="#kudu-tserver_log_roll_latency"><code>log_roll_latency</code></a></h4>
+<div class="paragraph">
+<p>Log Roll Latency
+&#160;
+Microseconds spent on rolling over to a new log segment file</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_majority_done_ops"><a class="link" href="#kudu-tserver_majority_done_ops"><code>majority_done_ops</code></a></h4>
+<div class="paragraph">
+<p>Leader Operations Acked by Majority
+&#160;
+Number of operations in the leader queue ack&#8217;d by a majority but not all peers. This metric is always zero for followers.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_mrs_lookups"><a class="link" href="#kudu-tserver_mrs_lookups"><code>mrs_lookups</code></a></h4>
+<div class="paragraph">
+<p>MemRowSet Lookups
+&#160;
+Number of times a MemRowSet was consulted.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">probes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_raft_term"><a class="link" href="#kudu-tserver_raft_term"><code>raft_term</code></a></h4>
+<div class="paragraph">
+<p>Current Raft Consensus Term
+&#160;
+Current Term of the Raft Consensus algorithm. This number increments each time a leader election is started.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">units</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_bytes_returned"><a class="link" href="#kudu-tserver_scanner_bytes_returned"><code>scanner_bytes_returned</code></a></h4>
+<div class="paragraph">
+<p>Scanner Bytes Returned
+&#160;
+Number of bytes returned by scanners to clients. This count is measured after predicates are applied and the data is decoded for consumption by clients, and thus is not a reflection of the amount of work being done by scanners.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_bytes_scanned_from_disk"><a class="link" href="#kudu-tserver_scanner_bytes_scanned_from_disk"><code>scanner_bytes_scanned_from_disk</code></a></h4>
+<div class="paragraph">
+<p>Scanner Bytes Scanned From Disk
+&#160;
+Number of bytes read by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual IO that has been caused by scan operations compared to the Scanner Bytes Returned metric.
+Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_cells_returned"><a class="link" href="#kudu-tserver_scanner_cells_returned"><code>scanner_cells_returned</code></a></h4>
+<div class="paragraph">
+<p>Scanner Cells Returned
+&#160;
+Number of table cells returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">cells</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_cells_scanned_from_disk"><a class="link" href="#kudu-tserver_scanner_cells_scanned_from_disk"><code>scanner_cells_scanned_from_disk</code></a></h4>
+<div class="paragraph">
+<p>Scanner Cells Scanned From Disk
+&#160;
+Number of table cells processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table cells that have been processed by scan operations compared to the Scanner Cells Returned metric.
+Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">cells</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_rows_returned"><a class="link" href="#kudu-tserver_scanner_rows_returned"><code>scanner_rows_returned</code></a></h4>
+<div class="paragraph">
+<p>Scanner Rows Returned
+&#160;
+Number of rows returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scanner_rows_scanned"><a class="link" href="#kudu-tserver_scanner_rows_scanned"><code>scanner_rows_scanned</code></a></h4>
+<div class="paragraph">
+<p>Scanner Rows Scanned
+&#160;
+Number of rows processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table rows that have been processed by scan operations compared to the Scanner Rows Returned metric.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_scans_started"><a class="link" href="#kudu-tserver_scans_started"><code>scans_started</code></a></h4>
+<div class="paragraph">
+<p>Scans Started
+&#160;
+Number of scanners which have been started on this tablet</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_snapshot_read_inflight_wait_duration"><a class="link" href="#kudu-tserver_snapshot_read_inflight_wait_duration"><code>snapshot_read_inflight_wait_duration</code></a></h4>
+<div class="paragraph">
+<p>Time Waiting For Snapshot Reads
+&#160;
+Time spent waiting for in-flight writes to complete for READ_AT_SNAPSHOT scans.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_active_scanners"><a class="link" href="#kudu-tserver_tablet_active_scanners"><code>tablet_active_scanners</code></a></h4>
+<div class="paragraph">
+<p>Active Scanners
+&#160;
+Number of scanners that are currently active on this tablet</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scanners</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_copy_bytes_fetched"><a class="link" href="#kudu-tserver_tablet_copy_bytes_fetched"><code>tablet_copy_bytes_fetched</code></a></h4>
+<div class="paragraph">
+<p>Bytes Fetched By Tablet Copy
+&#160;
+Number of bytes fetched during tablet copy operations since server start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_tablet_copy_bytes_sent"><a class="link" href="#kudu-tserver_tablet_copy_bytes_sent"><code>tablet_copy_bytes_sent</code></a></h4>
+<div class="paragraph">
+<p>Bytes Sent For Tablet Copy
+&#160;
+Number of bytes sent during tablet copy operations since server start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_threads_started"><a class="link" href="#kudu-tserver_threads_started"><code>threads_started</code></a></h4>
+<div class="paragraph">
+<p>Threads Started
+&#160;
+Total number of threads started on this server</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">threads</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_time_since_last_leader_heartbeat"><a class="link" href="#kudu-tserver_time_since_last_leader_heartbeat"><code>time_since_last_leader_heartbeat</code></a></h4>
+<div class="paragraph">
+<p>Time Since Last Leader Heartbeat
+&#160;
+The time elapsed since the last heartbeat from the leader in milliseconds. This metric is identically zero on a leader replica.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">milliseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_undo_delta_block_estimated_retained_bytes"><a class="link" href="#kudu-tserver_undo_delta_block_estimated_retained_bytes"><code>undo_delta_block_estimated_retained_bytes</code></a></h4>
+<div class="paragraph">
+<p>Estimated Deletable Bytes Retained in Undo Delta Blocks
+&#160;
+Estimated bytes of deletable data in undo delta blocks for this tablet. May be an overestimate.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_undo_delta_block_gc_bytes_deleted"><a class="link" href="#kudu-tserver_undo_delta_block_gc_bytes_deleted"><code>undo_delta_block_gc_bytes_deleted</code></a></h4>
+<div class="paragraph">
+<p>Undo Delta Block GC Bytes Deleted
+&#160;
+Number of bytes deleted by garbage-collecting old UNDO delta blocks on this tablet since this server was restarted. Does not include bytes garbage collected during compactions.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bytes</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_undo_delta_block_gc_running"><a class="link" href="#kudu-tserver_undo_delta_block_gc_running"><code>undo_delta_block_gc_running</code></a></h4>
+<div class="paragraph">
+<p>Undo Delta Block GC Running
+&#160;
+Number of UNDO delta block GC operations currently running.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">operations</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_update_ignore_errors"><a class="link" href="#kudu-tserver_update_ignore_errors"><code>update_ignore_errors</code></a></h4>
+<div class="paragraph">
+<p>Update Ignore Errors
+&#160;
+Number of update ignore operations for this tablet which were ignored due to an error since service start</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">rows</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_write_op_duration_client_propagated_consistency"><a class="link" href="#kudu-tserver_write_op_duration_client_propagated_consistency"><code>write_op_duration_client_propagated_consistency</code></a></h4>
+<div class="paragraph">
+<p>Write Op Duration with Propagated Consistency
+&#160;
+Duration of writes to this tablet with external consistency set to CLIENT_PROPAGATED.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_write_op_duration_commit_wait_consistency"><a class="link" href="#kudu-tserver_write_op_duration_commit_wait_consistency"><code>write_op_duration_commit_wait_consistency</code></a></h4>
+<div class="paragraph">
+<p>Write Op Duration with Commit-Wait Consistency
+&#160;
+Duration of writes to this tablet with external consistency set to COMMIT_WAIT.</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">microseconds</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">histogram</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="kudu-tserver_write_transactions_inflight"><a class="link" href="#kudu-tserver_write_transactions_inflight"><code>write_transactions_inflight</code></a></h4>
+<div class="paragraph">
+<p>Write Ops In Flight
+&#160;
+Number of write ops currently in-flight</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">Entity Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">tablet</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Unit</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">transactions</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">gauge</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Level</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">debug</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>&#160;</p>
+</div>
+<hr>
+</div>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+<span class="active-toc">Kudu Metrics Reference</span>
+            <ul class="sectlevel1">
+<li><a href="#kudu-master_metrics"><code>kudu-master</code> Metrics</a></li>
+<li><a href="#kudu-tserver_metrics"><code>kudu-tserver</code> Metrics</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/prior_release_notes.html b/releases/1.15.0/docs/prior_release_notes.html
new file mode 100644
index 0000000..6ea7caf
--- /dev/null
+++ b/releases/1.15.0/docs/prior_release_notes.html
@@ -0,0 +1,6136 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Prior Version Release Notes</title>
+    <!-- Bootstrap core CSS -->
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
+          integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
+          crossorigin="anonymous">
+
+    <!-- Custom styles for this template -->
+    <link href="/css/kudu.css" rel="stylesheet"/>
+    <link href="/css/asciidoc.css" rel="stylesheet"/>
+    <link rel="shortcut icon" href="/img/logo-favicon.ico" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css" />
+
+    
+
+    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+    <!--[if lt IE 9]>
+        <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+        <![endif]-->
+  </head>
+  <body>
+    <div class="kudu-site container-fluid">
+      <!-- Static navbar -->
+        <nav class="navbar navbar-default">
+          <div class="container-fluid">
+            <div class="navbar-header">
+              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+              </button>
+              
+              <a class="logo" href="/"><img
+                src="//d3dr9sfxru4sde.cloudfront.net/i/k/apachekudu_logo_0716_80px.png"
+                srcset="//d3dr9sfxru4sde.cloudfront.net/i/k/apachekudu_logo_0716_80px.png 1x, //d3dr9sfxru4sde.cloudfront.net/i/k/apachekudu_logo_0716_160px.png 2x"
+                alt="Apache Kudu"/></a>
+              
+            </div>
+            <div id="navbar" class="collapse navbar-collapse">
+              <ul class="nav navbar-nav navbar-right">
+                <li >
+                  <a href="/">Home</a>
+                </li>
+                <li >
+                  <a href="/overview.html">Overview</a>
+                </li>
+                <li class="active">
+                  <a href="/docs/">Documentation</a>
+                </li>
+                <li >
+                  <a href="/releases/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Prior Version Release Notes</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>This section reproduces the release notes for new features and incompatible
+changes in prior releases of Apache Kudu.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The list of known issues and limitations for prior releases are not
+reproduced on this page. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a>
+for a list of known issues and limitations.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<h1 id="rn_1.14.0" class="sect0"><a class="link" href="#rn_1.14.0">Apache Kudu 1.14.0 Release Notes</a></h1>
+<div class="sect1">
+<h2 id="rn_1.14.0_upgrade_notes"><a class="link" href="#rn_1.14.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_obsoletions"><a class="link" href="#rn_1.14.0_obsoletions">Obsoletions</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for CentOS 6/RHEL 6, Ubuntu 14, Ubuntu 16, and Debian 8 platforms has been dropped
+given they are at or near end-of-life. We will no longer validate these platforms as a
+part of the release process, though patches will still be accepted going forward.</p>
+</li>
+<li>
+<p>Developer support for OS X 10.10 Yosemite, OS X 10.11 El Capitan, and OS X 10.12 Sierra
+has been dropped. We will no longer validate these versions as a part of the release
+process, though patches will still be accepted going forward.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_deprecations"><a class="link" href="#rn_1.14.0_deprecations">Deprecations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for Python 2.x and Python 3.4 and earlier is deprecated and may be
+removed in the next minor release.</p>
+</li>
+<li>
+<p>The <code>kudu-mapreduce</code> integration has been deprecated and may be removed in the
+next minor release. Similar functionality and capabilities now exist via the
+Apache Spark, Apache Hive, Apache Impala, and Apache NiFi integrations.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_new_features"><a class="link" href="#rn_1.14.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Full support for <code>INSERT_IGNORE</code>, <code>UPDATE_IGNORE</code>, and <code>DELETE_IGNORE</code> operations
+was added. The <code>INSERT_IGNORE</code> operation will insert a row if one matching the key
+does not exist and ignore the operation if one already exists. The <code>UPDATE_IGNORE</code>
+operation will update the row if one matching the key exists and ignore the operation
+if one does not exist. The <code>DELETE_IGNORE</code> operation will delete the row if one matching
+the key exists and ignore the operation if one does not exist. These operations are
+particularly useful in situations where retries or duplicate operations could occur and
+you do not want to handle the errors that could result manually or you do not want to cause
+unnecessary writes and compaction work as a result of using the <code>UPSERT</code> operation.
+The Java client can check if the cluster it is communicating with supports these operations
+by calling the <code>supportsIgnoreOperations()</code> method on the KuduClient. See
+<a href="https://issues.apache.org/jira/browse/KUDU-1563">KUDU-1563</a> for more details.</p>
+</li>
+<li>
+<p>Spark 3 compatible JARs compiled for Scala 2.12 are now published for the Kudu Spark integration.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3202">KUDU-3202</a> for more details.</p>
+</li>
+<li>
+<p>Every Kudu cluster now has an automatically generated cluster Id that can be used to uniquely
+identify a cluster. The cluster Id is shown in the masters web-UI, the <code>kudu master list</code> tool,
+and in master server logs. See <a href="https://issues.apache.org/jira/browse/KUDU-2574">KUDU-2574</a>
+for more details.</p>
+</li>
+<li>
+<p>It is now possible to enforce that OpenSSL is initialized in FIPS approved mode in the servers
+and the C++ client by setting the KUDU_REQUIRE_FIPS_MODE environment variable to “1”, “yes” or
+“true”. See <a href="https://issues.apache.org/jira/browse/KUDU-3210">KUDU-3210</a> for more details.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_improvements"><a class="link" href="#rn_1.14.0_improvements">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Downloading the WAL data and data blocks when copying tablets to another tablet server is now
+parallelized, resulting in much faster tablet copy operations. These operations occur when
+recovering from a down tablet server or when running the cluster rebalancer. See
+<a href="https://issues.apache.org/jira/browse/KUDU-1728">KUDU-1728</a> and
+<a href="https://issues.apache.org/jira/browse/KUDU-3214">KUDU-3214</a> for more details.</p>
+</li>
+<li>
+<p>The HMS integration now supports multiple Kudu clusters associated with a single HMS
+including Kudu clusters that do not have HMS synchronization enabled. This is possible,
+because the Kudu master will now leverage the cluster Id to ignore notifications from
+tables in a different cluster. Additionally, the HMS plugin will check if the Kudu cluster
+associated with a table has HMS synchronization enabled.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3192">KUDU-3192</a> and
+<a href="https://issues.apache.org/jira/browse/KUDU-3187">KUDU-3187</a> for more details.</p>
+</li>
+<li>
+<p>The HMS integration now supports gzipped HMS notifications. This is important in order to
+support Hive 4 where the default encoder was changed to be the GzipJSONMessageEncoder. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3201">KUDU-3201</a> for more details.</p>
+</li>
+<li>
+<p>Kudu will now fail tablet replicas that have been corrupted due to KUDU-2233 instead of
+crashing the tablet server. If a healthy majority still exists, a new replica will be created
+and the failed replica will be evicted and deleted. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3191">KUDU-3191</a> and
+<a href="https://issues.apache.org/jira/browse/KUDU-2233">KUDU-2233</a> for more details.</p>
+</li>
+<li>
+<p>DeltaMemStores will now be flushed as long as any DMS in a tablet is older than the point
+defined by <code>--flush_threshold_secs</code>, rather than flushing once every <code>--flush_threshold_secs</code>
+period. This can reduce memory pressure under update- or delete-heavy workloads, and lower tablet
+server restart times following such workloads. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3195">KUDU-3195</a> for more details.</p>
+</li>
+<li>
+<p>The <code>kudu perf loadgen</code> CLI tool now supports <code>UPSERT</code> for storing the generated data into
+the table. To switch to <code>UPSERT</code> for row operations (instead of default <code>INSERT</code>), add the
+<code>--use_upsert</code> command-line flag.</p>
+</li>
+<li>
+<p>Users can now specify the level of parallelization when copying a tablet using the
+<code>kudu local_replica copy_from_remote</code> CLI tool by passing the
+<code>--tablet_copy_download_threads_nums_per_session</code> argument.</p>
+</li>
+<li>
+<p>The Kudu Masters now discriminate between overlapped and exact duplicate key ranges when adding
+new partitions, returning <code>Status::AlreadyPresent()</code> for exact range duplicates and
+<code>Status::InvalidArgument()</code> for otherwise overlapped ones. In prior releases, the master
+returned <code>Status::InvalidArgument()</code> both in case of duplicate and otherwise overlapped ranges.</p>
+</li>
+<li>
+<p>The handling of an empty list of master addresses in Kudu C++ client has improved. In prior
+releases, <code>KuduClientBuilder::Build()</code> would hang in <code>ConnectToCluster()</code> if no master addresses
+were provided. Now, <code>KuduClientBuilder::Build()</code> instantly returns <code>Status::InvalidArgument()</code>
+in such a case.</p>
+</li>
+<li>
+<p>The connection negotiation timeout for Kudu C client is now programmatically configurable.
+To customize the connection negotiation timeout, use the newly introduced
+`KuduClientBuilder::connection_negotiation_timeout()` method in the Kudu C client API.</p>
+</li>
+<li>
+<p>All RPC-related <code>kudu</code> CLI tools now have <code>--negotiation_timeout_ms</code> command line flag to
+control the client-side connection negotiation timeout. The default value for the new flag is
+set to 3000 milliseconds for backward compatibility. Keep in mind that the total RPC timeout
+includes the connection negotiation time, so in general it makes sense to bump <code>--timeout_ms</code>
+along with <code>--negotiation_timeout_ms</code> by the same delta.</p>
+</li>
+<li>
+<p>Kudu now reports on slow SASL calls (i.e. calls taking more than 250  milliseconds to complete)
+when connecting to a server. This is to help diagnose issues like described in
+<a href="https://issues.apache.org/jira/browse/KUDU-3217">KUDU-3217</a>.</p>
+</li>
+<li>
+<p>MaintenanceManager now has a new histogram-based <code>maintenance_op_find_best_candidate_duration</code>
+metric to capture the stats on how long it takes (in microseconds) to find the best maintenance
+operation among available candidates. The newly introduced metric can help in diagnosing
+conditions where MaintenanceManager seems lagging behind the rate of write operations in a busy
+Kudu cluster with many replicas per tablet server.</p>
+</li>
+<li>
+<p>The KuduScanToken Java API has been extended with a <code>deserializeIntoScannerBuilder()</code> method that
+can be used to further customize generated tokens.</p>
+</li>
+<li>
+<p>Logging of the error message produced when applying an op while a Java KuduSession is closed
+has been throttled. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3012">KUDU-3012</a> for more details.</p>
+</li>
+<li>
+<p>Added a new <code>uptime</code> metric for a Kudu server. The metric&#8217;s value is reported as the length of
+the time interval passed from the start of the server, in microseconds. Knowing the server&#8217;s
+uptime, it&#8217;s easier to interpret and compare metrics reported by different Kudu servers.</p>
+</li>
+<li>
+<p>Documentation for Kudu’s metrics are now automatically generated for each release and can be seen
+<a href="https://kudu.apache.org/docs/metrics_reference.html">here</a>.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_fixed_issues"><a class="link" href="#rn_1.14.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Fixed lock contention between MaintenanceManager op registration and the scheduling of new
+maintenance ops. On particularly dense tablet servers, this contention was previously shown to
+significantly slow down startup times. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3149">KUDU-3149</a> for more details.</p>
+</li>
+<li>
+<p>Fixed lock contention between MaintenanceManager’s threads performing already scheduled
+operations and the scheduler thread itself. This benefits clusters with heavy ingest/update
+workloads that have many replicas per tablet server. See
+<a href="https://issues.apache.org/jira/browse/KUDU-1954">KUDU-1954</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a bug in the merge iterator that could result in a crash. This could surface as a crash
+when performing ordered or differential scans, particularly when the underlying data contained
+deletes and reinserts. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3108">KUDU-3108</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a heap-use-after-free bug in Kudu C++ client that might manifest itself when altering a
+table to update the partitioning schema. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3238">KUDU-3238</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a bug where building scan tokens would result in a NullPointerException if a tablet not
+found error occurred before generating the token. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3205">KUDU-3205</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a bug where a delete operation would fail if the row being deleted contained exactly
+64 columns and all values were set on the row. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3198">KUDU-3198</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a bug where Slf4j classes were shaded into the Spark integration JARs. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3157">KUDU-3157</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a bug where the 'kudu hms fix' tool mistakenly reports non-matching master addresses
+when the addresses are in-fact canonically the same. See
+<a href="https://issues.apache.org/jira/browse/KUDU-2884">KUDU-2884</a> for more details.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_wire_compatibility"><a class="link" href="#rn_1.14.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.14.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.14 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.13 and Kudu 1.14 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.14 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.14 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.14 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.14 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_incompatible_changes"><a class="link" href="#rn_1.14.0_incompatible_changes">Incompatible Changes in Kudu 1.14.0</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="rn_1.14.0_client_compatibility"><a class="link" href="#rn_1.14.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.14 Java client library is API- and ABI-compatible with Kudu 1.13. Applications
+written against Kudu 1.13 will compile and run against the Kudu 1.14 client library and
+vice-versa.</p>
+</li>
+<li>
+<p>The Kudu 1.14 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.13.
+Applications written and compiled against the Kudu 1.13 client library will run without
+modification against the Kudu 1.14 client library. Applications written and compiled
+against the Kudu 1.14 client library will run without modification against the Kudu 1.13
+client library.</p>
+</li>
+<li>
+<p>The Kudu 1.14 Python client is API-compatible with Kudu 1.13. Applications
+written against Kudu 1.13 will continue to run against the Kudu 1.14 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_known_issues"><a class="link" href="#rn_1.14.0_known_issues">Known Issues and Limitations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Please refer to the <a href="known_issues.html">Known Issues and Limitations</a> section of the
+documentation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.14.0_contributors"><a class="link" href="#rn_1.14.0_contributors">Contributors</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.14.0 includes contributions from 12 people, including 1 first-time
+contributors:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>liguohao</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Thank you for your contributions!</p>
+</div>
+</div>
+</div>
+<h1 id="rn_1.13.0" class="sect0"><a class="link" href="#rn_1.13.0">Apache Kudu 1.13.0 Release Notes</a></h1>
+<div class="sect1">
+<h2 id="rn_1.13.0_upgrade_notes"><a class="link" href="#rn_1.13.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The Sentry integration has been removed and the Ranger integration should now
+be used in its place for fine-grained authorization.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.13.0_deprecations"><a class="link" href="#rn_1.13.0_deprecations">Deprecations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for Python 2.x and Python 3.4 and earlier is deprecated and may be
+removed in the next minor release.</p>
+</li>
+<li>
+<p>The <code>kudu-mapreduce</code> integration has been deprecated and may be removed in the
+next minor release. Similar functionality and capabilities now exist via the
+Apache Spark, Apache Hive, Apache Impala, and Apache NiFi integrations.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.13.0_new_features"><a class="link" href="#rn_1.13.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Added table ownership support. All newly created tables are automatically
+owned by the user creating them. It is also possible to change the owner by
+altering the table. You can also assign privileges to table owners via Apache
+Ranger (see <a href="https://issues.apache.org/jira/browse/KUDU-3090">KUDU-3090</a>).</p>
+</li>
+<li>
+<p>An experimental feature is added to Kudu that allows it to automatically
+rebalance tablet replicas among tablet servers. The background task can be
+enabled by setting the <code>--auto_rebalancing_enabled</code> flag on the Kudu masters.
+Before starting auto-rebalancing on an existing cluster, the CLI rebalancer
+tool should be run first (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2780">KUDU-2780</a>).</p>
+</li>
+<li>
+<p>Bloom filter column predicate pushdown has been added to allow optimized
+execution of filters which match on a set of column values with a
+false-positive rate. Support for Impala queries utilizing Bloom filter
+predicate is available yielding performance improvements of 19% to 30% in TPC-H
+benchmarks and around 41% improvement for distributed joins across large
+tables. Support for Spark is not yet available. (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2483">KUDU-2483</a>).</p>
+</li>
+<li>
+<p>AArch64-based (ARM) architectures are now supported including published Docker
+images.</p>
+</li>
+<li>
+<p>The Java client now supports the columnar row format returned from the server
+transparently. Using this format can reduce the server CPU and size of the
+request over the network for scans. The columnar format can be enabled via the
+setRowDataFormat() method on the KuduScanner.</p>
+</li>
+<li>
+<p>An experimental feature that can be enabled by setting the
+<code>--enable_workload_score_for_perf_improvement_ops</code> prioritizes flushing and
+compacting hot tablets.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.13.0_improvements"><a class="link" href="#rn_1.13.0_improvements">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Hive metastore synchronization now supports Hive 3 and later.</p>
+</li>
+<li>
+<p>The Spark KuduContext accumulator metrics now track operation counts per table
+instead of cumulatively for all tables.</p>
+</li>
+<li>
+<p>The <code>kudu local_replica delete</code> CLI tool now accepts multiple tablet
+identifiers. Along with the newly added <code>--ignore_nonexistent</code> flag, this
+helps with scripting scenarios when removing multiple tablet replicas from a
+particular Tablet Server.</p>
+</li>
+<li>
+<p>Both Master’s and Tablet Server’s web UI now displays the name for a service
+thread pool group at the <code>/threadz</code> page</p>
+</li>
+<li>
+<p>Introduced <code>queue_overflow_rejections_</code> metrics for both Masters and Tablet
+Servers: number of RPC requests of a particular type dropped due to RPC
+service queue overflow.</p>
+</li>
+<li>
+<p>Introduced a CoDel-like queue control mechanism for the apply queue. This
+helps to avoid accumulating too many write requests and timing them out in
+case of seek-bound workloads (e.g., uniform random inserts). The newly
+introduced queue control mechanism is disabled by default. To enable it, set
+the <code>--tablet_apply_pool_overload_threshold_ms</code> Tablet Server’s flag to
+appropriate value, e.g. 250 (see
+<a href="https://issues.apache.org/jira/browse/KUDU-1587">KUDU-1587</a>).</p>
+</li>
+<li>
+<p>Java client’s error collector can be resized (see
+<a href="https://issues.apache.org/jira/browse/KUDU-1422">KUDU-1422</a>).</p>
+</li>
+<li>
+<p>Calls to the Kudu master server are now drastically reduced when using scan
+tokens. Previously deserializing a scan token would result in a GetTableSchema
+request and potentially a GetTableLocations request. Now the table schema and
+location information is serialized into the scan token itself avoiding the
+need for any requests to the master when processing them.</p>
+</li>
+<li>
+<p>The default size of Master’s RPC queue is now 100 (it was 50 in earlier
+releases). This is to optimize for use cases where a Kudu cluster has many
+clients working concurrently.</p>
+</li>
+<li>
+<p>Masters now have an option to cache table location responses. This is
+targeted for Kudu clusters which have many clients working concurrently. By
+default, the caching of table location responses is disabled. To enable table
+location caching, set the proper capacity of the table location cache using
+Master’s <code>--table_locations_cache_capacity_mb</code> flag (setting to 0 disables the
+caching). Up to 17% of improvement is observed in GetTableLocations request
+rate when enabling the caching.</p>
+</li>
+<li>
+<p>Removed lock contention on Raft consensus lock in Tablet Servers while
+processing a write request. This helps to avoid RPC queue overflows when
+handling concurrent write requests to the same tablet from multiple clients
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2727">KUDU-2727</a>).</p>
+</li>
+<li>
+<p>Master’s performance for handling concurrent GetTableSchema requests has been
+improved. End-to-end tests indicated up to 15% improvement in sustained
+request rate for high concurrency scenarios.</p>
+</li>
+<li>
+<p>Kudu servers now use protobuf Arena objects to perform all RPC
+request/response-related memory allocations. This gives a boost for overall
+RPC performance, and with further optimization the result request rate
+was increased significantly for certain methods. For example, the result request
+rate increased up to 25% for Master’s GetTabletLocations() RPC in case of
+highly concurrent scenarios (see
+<a href="https://issues.apache.org/jira/browse/KUDU-636">KUDU-636</a>).</p>
+</li>
+<li>
+<p>Tablet Servers now use protobuf Arena for allocating Raft-related runtime
+structures. This results in substantial reduction of CPU cycles used and
+increases write throughput (see
+<a href="https://issues.apache.org/jira/browse/KUDU-636">KUDU-636</a>).</p>
+</li>
+<li>
+<p>Tablet Servers now use protobuf Arena for allocating EncodedKeys to reduce
+allocator contention and improve memory locality (see
+<a href="https://issues.apache.org/jira/browse/KUDU-636">KUDU-636</a>).</p>
+</li>
+<li>
+<p>Bloom filter predicate evaluation for scans can be computationally expensive.
+A heuristic has been added that verifies rejection rate of the supplied Bloom
+filter predicate below which the Bloom filter predicate is automatically
+disabled. This helped reduce regression observed with Bloom filter predicate
+in TPC-H benchmark query #9 (see
+<a href="https://issues.apache.org/jira/browse/KUDU-3140">KUDU-3140</a>).</p>
+</li>
+<li>
+<p>Improved scan performance of dictionary and plain-encoded string columns by
+avoiding copying them (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2844">KUDU-2844</a>).</p>
+</li>
+<li>
+<p>Improved maintenance manager&#8217;s heuristics to prioritize larger memstores
+(see <a href="https://issues.apache.org/jira/browse/KUDU-3180">KUDU-3180</a>).</p>
+</li>
+<li>
+<p>Spark client&#8217;s KuduReadOptions now supports setting a snapshot timestamp for
+repeatable reads with READ_AT_SNAPSHOT consistency mode (see
+<a href="https://issues.apache.org/jira/browse/KUDU-3177">KUDU-3177</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.13.0_fixed_issues"><a class="link" href="#rn_1.13.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu scans now honor location assignments when multiple tablet servers are
+co-located with the client.</p>
+</li>
+<li>
+<p>Fixed a bug that caused IllegalArgumentException to be thrown when trying to
+create a predicate for a DATE column in Kudu Java client (see
+<a href="https://issues.apache.org/jira/browse/KUDU-3152">KUDU-3152</a>).</p>
+</li>
+<li>
+<p>Fixed a potential race when multiple RPCs work on the same scanner object.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.13.0_wire_compatibility"><a class="link" href="#rn_1.13.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.13.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.13 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.12 and Kudu 1.13 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.13 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.13 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.13 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.13 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.13.0_incompatible_changes"><a class="link" href="#rn_1.13.0_incompatible_changes">Incompatible Changes in Kudu 1.13.0</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="rn_1.13.0_client_compatibility"><a class="link" href="#rn_1.13.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.13 Java client library is API- and ABI-compatible with Kudu 1.12. Applications
+written against Kudu 1.12 will compile and run against the Kudu 1.13 client library and
+vice-versa.</p>
+</li>
+<li>
+<p>The Kudu 1.13 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.12.
+Applications written and compiled against the Kudu 1.12 client library will run without
+modification against the Kudu 1.13 client library. Applications written and compiled
+against the Kudu 1.13 client library will run without modification against the Kudu 1.12
+client library.</p>
+</li>
+<li>
+<p>The Kudu 1.13 Python client is API-compatible with Kudu 1.12. Applications
+written against Kudu 1.12 will continue to run against the Kudu 1.13 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.13.0_known_issues"><a class="link" href="#rn_1.13.0_known_issues">Known Issues and Limitations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Please refer to the <a href="known_issues.html">Known Issues and Limitations</a> section of the
+documentation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.13.0_contributors"><a class="link" href="#rn_1.13.0_contributors">Contributors</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.13.0 includes contributions from 22 people, including 9 first-time
+contributors:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Jim Apple</p>
+</li>
+<li>
+<p>Kevin J McCarthy</p>
+</li>
+<li>
+<p>Li Zhiming</p>
+</li>
+<li>
+<p>Mahesh Reddy</p>
+</li>
+<li>
+<p>Romain Rigaux</p>
+</li>
+<li>
+<p>RuiChen</p>
+</li>
+<li>
+<p>Shuping Zhou</p>
+</li>
+<li>
+<p>ningw</p>
+</li>
+<li>
+<p>wenjie</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<h1 id="rn_1.12.0" class="sect0"><a class="link" href="#rn_1.12.0">Apache Kudu 1.12.0 Release Notes</a></h1>
+<div class="sect1">
+<h2 id="rn_1.12.0_upgrade_notes"><a class="link" href="#rn_1.12.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.12.0_obsoletions"><a class="link" href="#rn_1.12.0_obsoletions">Obsoletions</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The Flume sink has been migrated to the Apache Flume project and removed
+from Kudu. Users depending on the Flume integration can use the old
+<code>kudu-flume</code> jars or migrate to the Flume jars containing the Kudu sink.</p>
+</li>
+<li>
+<p>Support for Apache Sentry authorization has been deprecated and may be
+removed in the next minor release. Users depending on the Sentry integration
+should migrate to the Apache Ranger integration for fine-grained authorization.</p>
+</li>
+<li>
+<p>Support for Python 2 has been deprecated and may be removed in the next minor
+release.</p>
+</li>
+<li>
+<p>Support for CentOS/RHEL 6, Debian 8, Ubuntu 14 has been deprecated and may
+be removed in the next minor release.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.12.0_deprecations"><a class="link" href="#rn_1.12.0_deprecations">Deprecations</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.12.0_new_features"><a class="link" href="#rn_1.12.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu now supports native fine-grained authorization via integration with
+Apache Ranger. Kudu may now enforce access control policies defined for
+Kudu tables and columns stored in Ranger. See the
+<a href="security.html#fine_grained_authz">authorization documentation</a>
+for more details.</p>
+</li>
+<li>
+<p>Kudu’s web UI now supports proxying via Apache Knox. Kudu may be deployed
+in a firewalled state behind a Knox Gateway which will forward HTTP requests
+and responses between clients and the Kudu web UI.</p>
+</li>
+<li>
+<p>Kudu’s web UI now supports HTTP keep-alive. Operations that access multiple
+URLs will now reuse a single HTTP connection, improving their performance.</p>
+</li>
+<li>
+<p>The <code>kudu tserver quiesce</code> tool is added to quiesce tablet servers. While a
+tablet server is quiescing, it will stop hosting tablet leaders and stop
+serving new scan requests. This can be used to orchestrate a rolling restart
+without stopping on-going Kudu workloads.</p>
+</li>
+<li>
+<p>Introduced <code>auto</code> time source for HybridClock timestamps. With
+<code>--time_source=auto</code> in AWS and GCE cloud environments, Kudu masters and
+tablet servers use the built-in NTP client synchronized with dedicated NTP
+servers available via host-only networks. With <code>--time_source=auto</code> in
+environments other than AWS/GCE, Kudu masters and tablet servers rely on
+their local machine&#8217;s clock synchronized by NTP. The default setting for
+the HybridClock time source (<code>--time_source=system</code>) is backward-compatible,
+requiring the local machine&#8217;s clock to be synchronized by the kernel&#8217;s NTP
+discipline.</p>
+</li>
+<li>
+<p>The <code>kudu cluster rebalance</code> tool now supports moving replicas away from
+specific tablet servers by supplying the <code>--ignored_tservers</code> and
+<code>--move_replicas_from_ignored_tservers</code> arguments (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2914">KUDU-2914</a> for more
+details).</p>
+</li>
+<li>
+<p>The <code>kudu table create</code> tool is added to allow users to specify table
+creation options using JSON.</p>
+</li>
+<li>
+<p>Kudu now supports DATE and VARCHAR data types. See the
+<a href="http://kudu.apache.org/docs/schema_design.html">schema design documentation</a>
+for more details.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.12.0_improvements"><a class="link" href="#rn_1.12.0_improvements">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Write Ahead Log file segments and index chunks are now managed by Kudu’s file
+cache. With that, all long-lived file descriptors used by Kudu are managed by
+the file cache, and there’s no longer a need for capacity planning of file
+descriptor usage.</p>
+</li>
+<li>
+<p>Kudu no longer requires the running of <code>kudu fs update_dirs</code> to change a
+directory configuration or recover from a disk failure
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2993">KUDU-2993</a>).</p>
+</li>
+<li>
+<p>Kudu tablet servers and masters now expose a tablet-level metric
+<code>num_raft_leaders</code> for the number of Raft leaders hosted on the server.</p>
+</li>
+<li>
+<p>Kudu&#8217;s maintenance operation scheduling has been updated to prioritize
+reducing WAL retention under memory pressure. Kudu would previously prioritize
+operations that yielded high-memory reduction, which could result in high WAL
+disk usage in workloads that contained updates
+(see <a href="https://issues.apache.org/jira/browse/KUDU-3002">KUDU-3002</a>).</p>
+</li>
+<li>
+<p>A new maintenance operation is introduced to remove rowsets that have had all
+of their rows deleted and whose newest delete operations are considered
+ancient (see <a href="https://issues.apache.org/jira/browse/KUDU-1625">KUDU-1625</a>).</p>
+</li>
+<li>
+<p>The built-in NTP client is now fully supported as the time source for Kudu&#8217;s
+HybridTime clock, i.e. it&#8217;s no longer marked as experimental. To switch the
+time source from the existing <code>system</code> time source (which is the default)
+to the built-in NTP client, use <code>--time_source=builtin</code>.</p>
+</li>
+<li>
+<p>Introduced additional metrics for the built-in NTP client
+(see <a href="https://issues.apache.org/jira/browse/KUDU-3048">KUDU-3048</a>).</p>
+</li>
+<li>
+<p>Updated <code>/config</code> page of masters' and tablet servers' web UI to display
+configured and effective time source. In addition, the effective list of
+reference servers for the built-in NTP client is shown there as well,
+if applicable.</p>
+</li>
+<li>
+<p><code>chronyd</code> (version 3.4 and newer) is now supported as NTP server for
+synchronizing the local machine&#8217;s clock in a Kudu cluster. It&#8217;s important to
+have the <code>rtcsync</code> option enabled in the configuration of the <code>chronyd</code> NTP
+daemon (see <a href="https://issues.apache.org/jira/browse/KUDU-2573">KUDU-2573</a>).</p>
+</li>
+<li>
+<p>Kudu now supports building and running on RHEL/CentOS 8. This has been tested
+with CentOS 8.1.</p>
+</li>
+<li>
+<p>The processing of Raft consensus vote requests has been improved to be more
+robust during high contention scenarios like election storms.</p>
+</li>
+<li>
+<p>Added a validator to enforce consistency between the maximum size of an RPC
+and the maximum size of tablet transaction memory, controlled by
+<code>--rpc_max_message_size</code> and <code>--tablet_transaction_memory</code> flags
+correspondingly.  In prior releases, if the limit on the size of RPC requests
+is increased and the limit on tablet transaction memory size is kept with the
+default setting, certain Raft transactions could be committed but not applied
+(see <a href="https://issues.apache.org/jira/browse/KUDU-3023">KUDU-3023</a>).</p>
+</li>
+<li>
+<p>The metrics endpoint now supports filtering metrics by a metric severity level.
+See the <a href="https://kudu.apache.org/docs/administration.html#_collecting_metrics_via_http">documentation</a>
+for more details.</p>
+</li>
+<li>
+<p>Many <code>kudu local_replica</code> tools are updated to not open the block manager,
+which significantly reduces the amount of IO done when running them (see
+<a href="https://issues.apache.org/jira/browse/KUDU-3070">KUDU-3070</a> for more
+details).</p>
+</li>
+<li>
+<p>The Kudu Java client now exposes a way to get the resource metrics associated
+with a given scanner (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2162">KUDU-2162</a> for more
+details).</p>
+</li>
+<li>
+<p>Scan predicates are pushed down to RLE decoders, improving
+predicate-evaluation-efficiency in some workloads (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2852">KUDU-2852</a> for more
+details).</p>
+</li>
+<li>
+<p>The log block manager will now attempt to use multiple threads to open blocks
+in each data directory, in some tests reducing startup time by up to 20% (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2977">KUDU-2977</a> and
+<a href="https://issues.apache.org/jira/browse/KUDU-3001">KUDU-3001</a> for more
+details).</p>
+</li>
+<li>
+<p>Kudu&#8217;s tablet server web UI scans page is updated to show the number of round
+trips per scanner.</p>
+</li>
+<li>
+<p>Kudu&#8217;s master and tablet server web UIs are updated to show critical
+partition information, including tablet count and on-disk size.</p>
+</li>
+<li>
+<p>Kudu servers now expose the <code>last_read_elapsed_seconds</code> and
+<code>last_write_elapsed_seconds</code> tablet-level metrics that indicate how long ago
+the most recent read and write operations to a given tablet were.</p>
+</li>
+<li>
+<p>Kudu servers now expose the <code>transaction_memory_limit_rejections</code>
+tablet-level metric that tracks the number of transactions rejected because a
+given tablet&#8217;s transactional memory limit was reached (see
+<a href="https://issues.apache.org/jira/browse/KUDU-3021">KUDU-3021</a> for more
+details).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.12.0_fixed_issues"><a class="link" href="#rn_1.12.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Fixed a bug in which Kudu would not schedule compactions if a server were
+under memory pressure
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2929">KUDU-2929</a>).</p>
+</li>
+<li>
+<p>Fixed a bug where DDL operations like ALTER TABLE on tables with huge
+number of partitions might result in a DoS situation for Kudu masters
+(see <a href="https://issues.apache.org/jira/browse/KUDU-3036">KUDU-3036</a>).</p>
+</li>
+<li>
+<p>Fixed a bug where Kudu Java client cannot negotiate a secure connection
+with Kudu masters and tablet servers if using BouncyCastle JCE provider
+(see <a href="https://issues.apache.org/jira/browse/KUDU-3106">KUDU-3106</a>).</p>
+</li>
+<li>
+<p>Kudu masters will now crash immediately upon hitting a disk failure (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2904">KUDU-2904</a> for more details).</p>
+</li>
+<li>
+<p>Fixed an issue in the Kudu master in which delays in receiving tablet server
+heartbeats could result in an excess amount of RPC traffic between the
+masters and tablet servers (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2992">KUDU-2992</a> for more
+details).</p>
+</li>
+<li>
+<p>Fixed an issue with Kudu&#8217;s location placement policy that would place all
+replicas in one location when two locations were available (see
+<a href="https://issues.apache.org/jira/browse/KUDU-3008">KUDU-3008</a> for more
+details).</p>
+</li>
+<li>
+<p>The Java client will now correctly propagate timestamps when sending write
+batches (see <a href="https://issues.apache.org/jira/browse/KUDU-3035">KUDU-3035</a>
+for more detail).</p>
+</li>
+<li>
+<p>Fixed an issue with the Kudu backup Spark jobs in which Kudu would return
+with a non-zero exit if the job succeeded but backed up no rows (see
+<a href="https://issues.apache.org/jira/browse/KUDU-3099">KUDU-3099</a> for more
+details).</p>
+</li>
+<li>
+<p>The <code>raft_term</code> and <code>time_since_last_leader_heartbeat</code> aggregated table
+metrics will now return the maximum metric reported instead of the sum.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.12.0_wire_compatibility"><a class="link" href="#rn_1.12.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.12.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.12 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.11 and Kudu 1.12 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.12 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.12 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.12 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.12 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.12.0_incompatible_changes"><a class="link" href="#rn_1.12.0_incompatible_changes">Incompatible Changes in Kudu 1.12.0</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="rn_1.12.0_client_compatibility"><a class="link" href="#rn_1.12.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.12 Java client library is API- and ABI-compatible with Kudu 1.11. Applications
+written against Kudu 1.11 will compile and run against the Kudu 1.12 client library and
+vice-versa.</p>
+</li>
+<li>
+<p>The Kudu 1.12 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.11.
+Applications written and compiled against the Kudu 1.11 client library will run without
+modification against the Kudu 1.12 client library. Applications written and compiled
+against the Kudu 1.12 client library will run without modification against the Kudu 1.11
+client library.</p>
+</li>
+<li>
+<p>The Kudu 1.12 Python client is API-compatible with Kudu 1.11. Applications
+written against Kudu 1.11 will continue to run against the Kudu 1.12 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.12.0_known_issues"><a class="link" href="#rn_1.12.0_known_issues">Known Issues and Limitations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Please refer to the <a href="known_issues.html">Known Issues and Limitations</a> section of the
+documentation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.12.0_contributors"><a class="link" href="#rn_1.12.0_contributors">Contributors</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.12 includes contributions from 33 people, including 8 first-time
+contributors:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Andy Singer</p>
+</li>
+<li>
+<p>Michele Milesi</p>
+</li>
+<li>
+<p>Ning Wang</p>
+</li>
+<li>
+<p>Renhai Zhao</p>
+</li>
+<li>
+<p>Sheng Liu</p>
+</li>
+<li>
+<p>Thomas D&#8217;Silva</p>
+</li>
+<li>
+<p>Tianhua Huang</p>
+</li>
+<li>
+<p>Waleed Fateem</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Thank you for your help in making Kudu even better!</p>
+</div>
+<div id="rn_1.11.1" class="paragraph">
+<p>Apache Kudu 1.11.1 is a bug-fix release which fixes one critical licensing
+issue in Kudu 1.11.0.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.11.1_upgrade_notes"><a class="link" href="#rn_1.11.1_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When upgrading from earlier versions of Kudu, if support for Kudu&#8217;s NVM
+(non-volatile memory) block cache is desired, install the <code>memkind</code> library
+of version 1.8.0 or newer as documented in <a href="installation.html">Kudu
+Installation</a> for corresponding platform. This is a mandatory step for existing
+users of the NVM block cache (i.e. those who set <code>--block_cache_type=NVM</code>
+for <code>kudu-master</code> and <code>kudu-tserver</code>): they must install <code>memkind</code>, otherwise
+their Kudu processes will crash at startup.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.11.1_fixed_issues"><a class="link" href="#rn_1.11.1_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Fixed an issue with distributing <code>libnuma</code> dynamic library with <code>kudu-binary</code>
+JAR artifact. Also, fixed the issue of statically compiling in <code>libnuma.a</code>
+into <code>kudu-master</code> and <code>kudu-tserver</code> binaries when building Kudu
+from source in release mode. The fix removes both <code>numactl</code> and <code>memkind</code>
+projects from Kudu&#8217;s thirdparty dependencies and makes the dependency on the
+<code>libmemkind</code> library optional, opening the library using <code>dlopen()</code> and
+resolving required symbols via <code>dlsym()</code>
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2990">KUDU-2990</a>).</p>
+</li>
+<li>
+<p>Fixed an issue with <code>kudu cluster rebalancer</code> CLI tool crashing when running
+against a location-aware cluster if a tablet server in one location doesn&#8217;t
+contain a single tablet replica
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2987">KUDU-2987</a>).</p>
+</li>
+<li>
+<p>Fixed an issue with connection negotiation using SASL mechanism when server
+FQDN is longer than 64 characters
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2989">KUDU-2989</a>).</p>
+</li>
+<li>
+<p>Fixed an issue in the test harness of the kudu-binary JAR artifact. With this
+fix, <code>kudu-master</code> and <code>kudu-tserver</code> processes of the mini-cluster&#8217;s test
+harness no longer rely on the test NTP server to synchronize their built-in
+NTP client. Instead, the test harness relies on the local machine clock
+synchronized by the system NTP daemon
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2994">KUDU-2994</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<h1 id="rn_1.11.0" class="sect0"><a class="link" href="#rn_1.11.0">Apache Kudu 1.11.0 Release Notes</a></h1>
+<div class="sect1">
+<h2 id="rn_1.11.0_upgrade_notes"><a class="link" href="#rn_1.11.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Since <a href="https://issues.apache.org/jira/browse/KUDU-2625">KUDU-2625</a> is
+addressed, tablet servers now reject individual write operations which
+violate schema constraints in a batch of write operations. In prior versions
+the behavior was to reject the whole batch of write operations if a violation
+of the schema constraints is detected even for a single row. It&#8217;s recommended
+to revise applications which relied on the behavior mentioned above
+upon upgrading to Kudu 1.11.0.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.11.0_deprecations"><a class="link" href="#rn_1.11.0_deprecations">Deprecations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu Flume integration is deprecated and may be removed in the
+next minor release. The integration will be moved to the Apache Flume
+project going forward
+(see <a href="https://issues.apache.org/jira/browse/FLUME-3345">FLUME-3345</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.11.0_new_features"><a class="link" href="#rn_1.11.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu now supports putting tablet servers into maintenance. While in this
+mode, the tablet server&#8217;s replicas will not be re-replicated if it fails.
+Only upon exiting maintenance will re-replication be triggered for any
+remaining under-replicated tablets. The <code>kudu tserver state enter_maintenance</code>
+and <code>kudu tserver state exit_maintenance</code> tools are added to orchestrate
+tablet server maintenance, and the <code>kudu tserver list</code> tool is amended with
+a "state" column option to display current state of each tablet server
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2069">KUDU-2069</a>).</p>
+</li>
+<li>
+<p>Kudu now has a built-in NTP client which maintains the internal wallclock
+time used for generation of HybridTime timestamps. When enabled, system clock
+synchronization for nodes running Kudu is no longer necessary. This is useful
+for containerized deployments and in other cases when it&#8217;s troublesome
+to maintain properly configured system NTP service at each node of a Kudu
+cluster. The list of NTP servers to synchronize against is specified with the
+<code>--builtin_ntp_servers</code> flag. By default, Kudu masters and tablet servers use
+public servers hosted by the NTP Pool project. To use the built-in NTP
+client, set <code>--time_source=builtin</code> and reconfigure <code>--builtin_ntp_servers</code>
+if necessary
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2935">KUDU-2935</a>).</p>
+</li>
+<li>
+<p>Aggregated table statistics are now available to Kudu clients via
+<code>KuduClient.getTableStatistics()</code> and <code>KuduTable.getTableStatistics()</code>
+methods in the Kudu Java client and <code>KuduClient.GetTableStatistics()</code>
+in the Kudu C&#43;&#43; client. This allows for various query optimizations.
+For example, Spark now uses it to perform join optimizations.
+The statistics are available via the API of both C&#43;&#43; and Java Kudu clients.
+In addition, per-table statistics are available via <code>kudu table statistics</code>
+CLI tool. The statistics are also available via master&#8217;s Web UI at
+<code>master:8051/metrics</code> and <code>master:8051/table?id=&lt;uuid&gt;</code> URIs
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2797">KUDU-2797</a> and
+ <a href="https://issues.apache.org/jira/browse/KUDU-2921">KUDU-2921</a>).</p>
+</li>
+<li>
+<p>The <code>kudu</code> CLI tool now supports altering table columns. Use the newly
+introduced sub-commands such as <code>kudu table column_set_default</code>,
+<code>kudu table column_remove_default</code>, <code>kudu table column_set_compression</code>,
+<code>kudu table column_set_encoding</code>, and <code>kudu table column_set_block_size</code>
+to alter a column of the specified table.</p>
+</li>
+<li>
+<p>The <code>kudu</code> CLI tool now supports dropping table columns. Use the newly
+introduced <code>kudu table delete_column</code> sub-command to drop a column of the
+specified table.</p>
+</li>
+<li>
+<p>The <code>kudu</code> CLI tool now supports getting and setting extra
+configuration properties for a table. Use <code>kudu table get_extra_configs</code>
+and <code>kudu table set_extra_config</code> sub-commands to perform the corresponding
+operations
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2514">KUDU-2514</a>).</p>
+</li>
+<li>
+<p>The <code>kudu</code> CLI tool now supports creating and dropping range partitions
+for a table. Use <code>kudu table add_range_partition</code> and
+<code>kudu table drop_range_partition</code> sub-commands to perform the corresponding
+operations
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2881">KUDU-2881</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.11.0_improvements"><a class="link" href="#rn_1.11.0_improvements">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The <code>kudu fs dump uuid</code> CLI tool is now significantly faster and consumes
+significantly less IO.</p>
+</li>
+<li>
+<p>The memory consumed by CFileReaders and BloomFileReaders is factored out and
+accounted separately by the tablet server memory tracking. The stats are
+available via Web UI as "CFileReaders" and "BloomFileReaders" entries.</p>
+</li>
+<li>
+<p><code>KuduScanBatch::const_iterator</code> in Kudu C&#43;&#43; client now supports
+<code>operator&#8594;()</code>
+(see <a href="https://issues.apache.org/jira/browse/KUDU-1561">KUDU-1561</a>).</p>
+</li>
+<li>
+<p>Master server Web UI now supports sorting the list of tables by the columns
+of "Table Name", "Create Time", and "Last Alter Time".</p>
+</li>
+<li>
+<p>Tablet servers now expand a tablet&#8217;s data directory group with available
+healthy directories when all directories of the group are full
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2907">KUDU-2907</a>).</p>
+</li>
+<li>
+<p>For scan operations run with <code>CLOSEST_REPLICA</code> selection mode, the Kudu Java
+client now picks a random available replica in case no replica is located at
+the same node with the client that initiated the scan operation. This helps
+to spread the load generated by multiple scan requests to the same tablet
+among all available replicas. In prior releases, all such scan requests might
+end up fetching data from the same tablet replica
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2348">KUDU-2348</a>).</p>
+</li>
+<li>
+<p>The serialization of in-memory rows to Kudu&#8217;s wire format has been optimized
+to be more CPU efficient
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2847">KUDU-2847</a>).</p>
+</li>
+<li>
+<p>Tablet servers and masters can now aggregate metrics by the same attribute.
+For example, it&#8217;s now possible to fetch aggregated metrics from a tablet
+server by retrieving data from URLs of form
+<code><a href="http://&lt;host&gt;:&lt;port&gt;/metrics?merge_rules=tablet|table|table_name" class="bare">http://&lt;host&gt;:&lt;port&gt;/metrics?merge_rules=tablet|table|table_name</a></code></p>
+</li>
+<li>
+<p>Introduced Docker image for Python Kudu client
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2849">KUDU-2849</a>).</p>
+</li>
+<li>
+<p>Tablet servers now consider available disk space when choosing a set of data
+directories for a tablet&#8217;s data directory group, and when deciding in which
+data directory a new block should be written
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2901">KUDU-2901</a>).</p>
+</li>
+<li>
+<p>Added a quick-start example of using Apache Spark to load, query, and modify
+a real data set stored in Kudu.</p>
+</li>
+<li>
+<p>Added a quick-start example of using Apache Nifi to ingest data into Kudu.</p>
+</li>
+<li>
+<p>Tablet servers now reject individual write operations which violate schema
+constraints in a batch of write operations received from a client. The
+previous behavior was to reject the whole batch of write operations
+if a violation of the schema constraints is detected even for a single row
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2625">KUDU-2625</a>).</p>
+</li>
+<li>
+<p>Tablet replicas can now be optionally placed in accordance with a
+dimension-based placement policy. To specify a dimension label for a table,
+use the <code>KuduTableCreator::dimension_label()</code> and
+<code>CreateTableOptions.setDimensionLabel()</code> methods of the C&#43;&#43; and Java Kudu
+clients. To add a partition with a dimension label, use the
+<code>KuduTableAlterer::AddRangePartitionWithDimension()</code> and
+<code>AlterTableOptions.addRangePartition()</code> methods of the C&#43;&#43; and Java Kudu
+clients
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2823">KUDU-2823</a>).</p>
+</li>
+<li>
+<p>Kudu RPC now enables TCP keepalive for all outbound connections for faster
+detection of no-longer-reachable nodes
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2192">KUDU-2192</a>).</p>
+</li>
+<li>
+<p>The <code>kudu table scan</code> and <code>kudu table copy</code> CLI tools now fail gracefully
+rather than crashing upon hitting an error
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2851">KUDU-2851</a>).</p>
+</li>
+<li>
+<p>Optimized decoding of deltas' timestamps
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2867">KUDU-2867</a>).</p>
+</li>
+<li>
+<p>Optimized the initialization of DeltaMemStore for the case when no matching
+deltas are present
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2381">KUDU-2381</a>).</p>
+</li>
+<li>
+<p>Improved the rehydration of scan tokens. Now a scan token created
+before renaming a column can be used even after the column has been renamed.</p>
+</li>
+<li>
+<p>The memory reserved by tcmalloc is now released to OS periodically to avoid
+potential OOM issues in the case of read-only workloads
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2836">KUDU-2836</a>).</p>
+</li>
+<li>
+<p>Optimized evaluation of predicates on columns of primitive types and
+<code>NULL</code>/<code>NOT NULL</code> predicates to leverage SIMD instructions
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2846">KUDU-2846</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.11.0_fixed_issues"><a class="link" href="#rn_1.11.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Fixed an issue of fault-tolerant scan operation failing for a projection
+with key columns specified in other than the table schema&#8217;s order
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2980">KUDU-2980</a>).</p>
+</li>
+<li>
+<p>Fixed an issue that would cause frequent leader elections in case when
+persisting Raft transactions to the WAL took longer than the leader
+election timeout. The issue was contributing to election storms
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2947">KUDU-2947</a>).</p>
+</li>
+<li>
+<p>Fixed a tablet server crash in cases where blocks were not removed due to IO
+error. This issue may have surfaced after recovering from a disk failure
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2635">KUDU-2635</a>).</p>
+</li>
+<li>
+<p>Fixed a crash in master and tablet server by validating the size of default
+values when de-serializing <code>ColumnSchemaPB</code>
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2622">KUDU-2622</a>).</p>
+</li>
+<li>
+<p>Fixed RPC negotiation failure in the case when TLS v1.3 is supported at
+both the client and the server side. This is a temporary workaround before
+the connection negotiation code is properly updated to support 1.5-RTT
+handshake used in TLS v1.3. The issue affected Linux distributions shipped
+or updated with OpenSSL version 1.0.2 and newer
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2871">KUDU-2871</a>).</p>
+</li>
+<li>
+<p>Fixed a race between <code>GetTabletLocations()</code> and tablet report processing.
+The race could crash the Kudu master
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2842">KUDU-2842</a>).</p>
+</li>
+<li>
+<p>Fixed a bug in <code>AlterSchemaTransactionState::ToString()</code> that led to a crash
+of tablet server when removing a tablet replica with a pending <code>AlterSchema</code>
+transaction.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.11.0_wire_compatibility"><a class="link" href="#rn_1.11.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.11.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.11 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.10 and Kudu 1.11 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.11 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.11 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.11 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.11 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="rn_1.11.0_client_compatibility"><a class="link" href="#rn_1.11.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.11 Java client library is API- and ABI-compatible with Kudu 1.10. Applications
+written against Kudu 1.10 will compile and run against the Kudu 1.11 client library and
+vice-versa.</p>
+</li>
+<li>
+<p>The Kudu 1.11 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.10.
+Applications written and compiled against the Kudu 1.10 client library will run without
+modification against the Kudu 1.11 client library. Applications written and compiled
+against the Kudu 1.11 client library will run without modification against the Kudu 1.10
+client library.</p>
+</li>
+<li>
+<p>The Kudu 1.11 Python client is API-compatible with Kudu 1.10. Applications
+written against Kudu 1.10 will continue to run against the Kudu 1.11 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.11.0_known_issues"><a class="link" href="#rn_1.11.0_known_issues">Known Issues and Limitations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Please refer to the <a href="known_issues.html">Known Issues and Limitations</a> section of the
+documentation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.11.0_contributors"><a class="link" href="#rn_1.11.0_contributors">Contributors</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.11 includes contributions from 24 people, including 8 first-time
+contributors:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Hannah Nguyen</p>
+</li>
+<li>
+<p>lingbin</p>
+</li>
+<li>
+<p>Ritwik Yadav</p>
+</li>
+<li>
+<p>Scott Reynolds</p>
+</li>
+<li>
+<p>Volodymyr Verovkin</p>
+</li>
+<li>
+<p>Xiaokai Wang</p>
+</li>
+<li>
+<p>Xin He</p>
+</li>
+<li>
+<p>Yao Wang</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Thank you for your help in making Kudu even better!</p>
+</div>
+<div id="rn_1.10.1" class="paragraph">
+<p>Apache Kudu 1.10.1 is a bug-fix release which fixes one critical licensing
+issue in Kudu 1.10.0.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.1_upgrade_notes"><a class="link" href="#rn_1.10.1_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When upgrading from earlier versions of Kudu, if support for Kudu&#8217;s NVM
+(non-volatile memory) block cache is desired, install the <code>memkind</code> library
+of version 1.6.0 or newer as documented in <a href="installation.html">Kudu
+Installation</a> for corresponding platform. This is a mandatory step for existing
+users of the NVM block cache (i.e. those who set <code>--block_cache_type=NVM</code>
+for <code>kudu-master</code> and <code>kudu-tserver</code>): they must install <code>memkind</code>, otherwise
+their Kudu processes will crash at startup.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.1_fixed_issues"><a class="link" href="#rn_1.10.1_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Fixed an issue with distributing <code>libnuma</code> dynamic library with <code>kudu-binary</code>
+JAR artifact. Also, fixed the issue of statically compiling in <code>libnuma.a</code>
+into <code>kudu-master</code> and <code>kudu-tserver</code> binaries when building Kudu
+from source in release mode. The fix removes both <code>numactl</code> and <code>memkind</code>
+projects from Kudu&#8217;s thirdparty dependencies and makes the dependency on the
+<code>libmemkind</code> library optional, opening the library using <code>dlopen()</code> and
+resolving required symbols via <code>dlsym()</code>
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2990">KUDU-2990</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.0"><a class="link" href="#rn_1.10.0">Release Notes Specific to 1.10.0</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.0_upgrade_notes"><a class="link" href="#rn_1.10.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The default tablet history retention time has been raised from 15 minutes to
+7 days to better support touchless incremental backups
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2677">KUDU-2677</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.0_obsoletions"><a class="link" href="#rn_1.10.0_obsoletions">Obsoletions</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.0_deprecations"><a class="link" href="#rn_1.10.0_deprecations">Deprecations</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.0_new_features"><a class="link" href="#rn_1.10.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu now supports both full and incremental table backups via a job
+implemented using Apache Spark. Additionally it supports restoring
+tables from full and incremental backups via a restore job implemented using
+Apache Spark. See the <a href="administration.html#backup">backup documentation</a>
+for more details.</p>
+</li>
+<li>
+<p>Kudu can now synchronize its internal catalog with the Apache Hive Metastore,
+automatically updating Hive Metastore table entries upon table creation,
+deletion, and alterations in Kudu. See the
+<a href="hive_metastore.html#metadata_sync">HMS synchronization documentation</a>
+for more details.</p>
+</li>
+<li>
+<p>Kudu now supports native fine-grained authorization via integration with
+Apache Sentry. Kudu may now enforce access control policies defined for Kudu
+tables and columns, as well as policies defined on Hive servers and databases
+that may store Kudu tables. See the
+<a href="security.html#fine_grained_authz">authorization documentation</a> for more
+details.</p>
+</li>
+<li>
+<p>Kudu’s web UI now supports SPNEGO, a protocol for securing HTTP requests with
+Kerberos by passing negotiation through HTTP headers. To enable, set the
+<code>--webserver_require_spnego</code> command line flag.</p>
+</li>
+<li>
+<p>Column comments can now be stored in Kudu tables, and can be updated using
+the AlterTable API
+(see <a href="https://issues.apache.org/jira/browse/KUDU-1711">KUDU-1711</a>).</p>
+</li>
+<li>
+<p>The Java scan token builder can now create multiple tokens per tablet.
+To use this functionality, call <code>setSplitSizeBytes()</code> to specify how many bytes
+of data each token should scan. The same API is also available in Kudu’s
+Spark integration, where it can be used to spawn multiple Spark tasks per
+scanned tablet
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2670">KUDU-2670</a>).</p>
+</li>
+<li>
+<p>Experimental Kudu Docker images are now published on
+<a href="https://hub.docker.com/r/apache/kudu">Docker Hub</a>.</p>
+</li>
+<li>
+<p>Kudu now has an experimental Kubernetes StatefulSet manifest and Helm chart,
+which can be used to define and provision Kudu clusters using Kubernetes
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2398">KUDU-2398</a>).</p>
+</li>
+<li>
+<p>The Kudu CLI now has rudimentary YAML-based configuration file support,
+which can be used to provide cluster connection information via cluster name
+instead of keying in comma-separated lists of master addresses.
+See the <a href="https://kudu.apache.org/docs/administration.html#using_cluster_names_in_kudu_tool">cluster name documentation</a>
+for more details.</p>
+</li>
+<li>
+<p><code>kudu perf table_scan</code> scans a table and displays a table’s row count as well
+as the time it took to run the scan.</p>
+</li>
+<li>
+<p><code>kudu table copy</code> copies data from one table to another, within the same
+cluster or across clusters. Note, this implementation leverages a single client,
+therefore it may not be suitable for large tables.</p>
+</li>
+<li>
+<p>Tablet history retention time can now be configured on a table-by-table basis.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2514">KUDU-2514</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.0_improvements"><a class="link" href="#rn_1.10.0_improvements">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The performance of mutations (i.e. UPDATE, DELETE, and re-INSERT) to
+not-yet-flushed Kudu data has been significantly optimized
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2826">KUDU-2826</a> and
+<a href="https://github.com/apache/kudu/commit/f9f9526d3">f9f9526d3</a>).</p>
+</li>
+<li>
+<p>Predicate performance for primitive columns has been optimized
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2846">KUDU-2846</a>).</p>
+</li>
+<li>
+<p>IS NULL and IS NOT NULL predicate performance has been optimized
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2846">KUDU-2846</a>).</p>
+</li>
+<li>
+<p>Optimized the performance of fetching tablet locations from the master for
+tables with large numbers of partitions. This can improve the performance of
+short-running Spark or Impala queries as well as user applications which make
+use of short-lived client instances
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2711">KUDU-2711</a>).</p>
+</li>
+<li>
+<p>The <code>tableExists()</code> (Java) and <code>TableExists()</code> (C++) APIs are now more performant
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2802">KUDU-2802</a>).</p>
+</li>
+<li>
+<p>Fault tolerant scans are now much more performant and consume far less memory
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2466">KUDU-2466</a>).</p>
+</li>
+<li>
+<p><code>kudu cluster ksck</code> now sends more requests in parallel, which should result
+in a speed-up when running against clusters with many tables or when there’s
+high latency between the node running the CLI and the cluster nodes.</p>
+</li>
+<li>
+<p>Kudu’s block manager now deletes spent block containers when needed instead of
+just at server startup. This should reduce server startup times somewhat
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2636">KUDU-2636</a>).</p>
+</li>
+<li>
+<p>DNS resolutions are now cached by Kudu masters, tablet servers, and
+Kudu C++ clients. The TTL for a resolved DNS entry in the cache is 15 seconds
+by default
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2791">KUDU-2791</a>).</p>
+</li>
+<li>
+<p>Tables created in Kudu 1.10.0 or later will show their creation time as well
+as their last alteration time in the web UI
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2750">KUDU-2750</a>).</p>
+</li>
+<li>
+<p>The Kudu CLI and C++ client now support overriding the local username using
+the ‘KUDU_USER_NAME’ environment variable. This allows operating against a
+Kudu cluster using an identity which differs from the local Unix user on the
+client. Note that this has no effect on secure clusters, where client identity
+is determined by Kerberos authentication
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2717">KUDU-2717</a>).</p>
+</li>
+<li>
+<p>Kudu C++ client now performs stricter verification on the input data of
+INSERT and UPSERT operations w.r.t. table schema constraints. This helps
+spotting schema violations before sending the data to a tablet server.</p>
+</li>
+<li>
+<p>The <code>KuduScanner</code> in the Java client is now iterable. Additionally the
+<code>KuduScannerIterator</code> will automatically make scanner keep alive calls to
+ensure scanners do not time out while iterating.</p>
+</li>
+<li>
+<p>A <code>KuduPartitioner</code> API was added to the Java client. The <code>KuduPartitioner</code>
+API allows a client to determine which partition a row falls into without
+actually writing that row. For example, the <code>KuduPartitioner</code> is used in the
+Spark integration to optionally repartition and pre-sort the data before
+writing to Kudu
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2674">KUDU-2674</a> and
+<a href="https://issues.apache.org/jira/browse/KUDU-2672">KUDU-2672</a>).</p>
+</li>
+<li>
+<p>The <code>PartialRow</code> and <code>RowResult</code> Java API have new methods that accept and return
+Java Objects. These methods are useful when you don&#8217;t care about autoboxing
+and your existing type handling logic is based on Java types. See the javadoc
+for more details.</p>
+</li>
+<li>
+<p>The Kudu Java client now logs RPC trace summaries instead of full RPC traces when
+the log level is <code>INFO</code> or higher. This reduces log noise and makes RPC issues
+more visible in a more compact format
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2830">KUDU-2830</a>).</p>
+</li>
+<li>
+<p>Kudu servers now display the time at which they were started in their web UIs.</p>
+</li>
+<li>
+<p>Kudu tablet servers now display a table’s total column count in the web UI.</p>
+</li>
+<li>
+<p>The <code>/metrics</code> web UI endpoint now supports filtering on entity types,
+entity IDs, entity attributes, and metric names. This can be used to more
+efficiently collect important metrics when there is a large number of tablets
+on a tablet server.</p>
+</li>
+<li>
+<p>The Kudu rebalancer now accepts the <code>--ignored_tservers</code> command line
+argument, which can be used to ignore the health status of specific tablet
+servers (i.e. if they are down) when deciding whether or not it’s safe to
+rebalance the cluster.</p>
+</li>
+<li>
+<p><code>kudu master list</code> now displays the Raft consensus role of each master in the
+cluster (i.e. LEADER or FOLLOWER)
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2825">KUDU-2825</a>).</p>
+</li>
+<li>
+<p><code>kudu table scan</code> no longer interleaves its output, and now projects all
+columns without having to manually list the column names.</p>
+</li>
+<li>
+<p><code>kudu perf loadgen</code> now supports creating empty tables. The semantics of the
+special value of 0 for <code>--num_rows_per_thread</code> flag has changed. A value of 0
+now indicates that no rows should be generated, and a value of -1 indicates
+there should be no limit to the number of rows generated.</p>
+</li>
+<li>
+<p>Running <code>make install</code> after building Kudu from source will now install the
+Kudu binaries into appropriate locations.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-1344">KUDU-1344</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.0_fixed_issues"><a class="link" href="#rn_1.10.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Fixed an issue where the Java client would fail scans that took a very long
+time to return a single block of rows, such as highly selective scans over a
+large amount of data
+(see <a href="https://issues.apache.org/jira/browse/KUDU-1868">KUDU-1868</a>).</p>
+</li>
+<li>
+<p>Fixed the handling of SERVICE_UNAVAILABLE errors that caused the Java client
+to do unnecessary master lookups.</p>
+</li>
+<li>
+<p>Kudu scan tokens now work correctly when the target table is renamed between
+when the scan token is created and when it is rehydrated into a scanner.</p>
+</li>
+<li>
+<p>Kudu’s “NTP synchronization wait” behavior at startup now works properly when
+Kudu is run in a containerized environment.</p>
+</li>
+<li>
+<p>Fixed a crash when a flush or compaction overlapped with another compaction
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2807">KUDU-2807</a>).</p>
+</li>
+<li>
+<p>Fixed a rare race at startup where the leader master would fruitlessly try to
+tablet copy to a healthy follower master, causing the cluster to operate as if
+it had two masters until master leadership changed
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2748">KUDU-2748</a>).</p>
+</li>
+<li>
+<p>Under rare circumstances, it was possible for Kudu to crash in libkrb5 when
+negotiating multiple TLS connections concurrently. This crash has been fixed
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2706">KUDU-2706</a>).</p>
+</li>
+<li>
+<p>Kudu no longer crashes at startup on machines with disabled CPUs
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2721">KUDU-2721</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.0_wire_compatibility"><a class="link" href="#rn_1.10.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.10.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.10 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.9 and Kudu 1.10 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.10 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.10 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.10 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.10 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.0_incompatible_changes"><a class="link" href="#rn_1.10.0_incompatible_changes">Incompatible Changes in Kudu 1.10.0</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for building and running with Java 7 has been dropped in this release.
+It had been deprecated since Kudu 1.5.0.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2099">KUDU-2099</a>).</p>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="rn_1.10.0_client_compatibility"><a class="link" href="#rn_1.10.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.10 Java client library is API- and ABI-compatible with Kudu 1.9. Applications
+written against Kudu 1.9 will compile and run against the Kudu 1.10 client library and
+vice-versa.</p>
+</li>
+<li>
+<p>The Kudu 1.10 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.9.
+Applications written and compiled against the Kudu 1.9 client library will run without
+modification against the Kudu 1.10 client library. Applications written and compiled
+against the Kudu 1.10 client library will run without modification against the Kudu 1.9
+client library.</p>
+</li>
+<li>
+<p>The Kudu 1.10 Python client is API-compatible with Kudu 1.9. Applications
+written against Kudu 1.9 will continue to run against the Kudu 1.10 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.0_known_issues"><a class="link" href="#rn_1.10.0_known_issues">Known Issues and Limitations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Please refer to the <a href="known_issues.html">Known Issues and Limitations</a> section of the
+documentation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.10.0_contributors"><a class="link" href="#rn_1.10.0_contributors">Contributors</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.10 includes contributions from 27 people, including 6 first-time contributors:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Csaba Fulop</p>
+</li>
+<li>
+<p>Florentino Sainz</p>
+</li>
+<li>
+<p>Guangchao Deng</p>
+</li>
+<li>
+<p>Jia Hongchao</p>
+</li>
+<li>
+<p>Ye Yuqiang</p>
+</li>
+<li>
+<p>Yifan Zhang</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Thank you for your help in making Kudu even better!</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.9.0"><a class="link" href="#rn_1.9.0">Release Notes Specific to 1.9.0</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.9.0_upgrade_notes"><a class="link" href="#rn_1.9.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Flume 1.8+ requires Java 8 at runtime even though the Kudu Flume integration
+is Java 7 compatible. Flume 1.9 is the default dependency version as of
+Kudu 1.9.0.</p>
+</li>
+<li>
+<p>Hadoop 3.0+ requires Java 8 at runtime even though the Kudu Hadoop integration
+is Java 7 compatible. Hadoop 3.2 is the default dependency version as of
+Kudu 1.9.0.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.9.0_obsoletions"><a class="link" href="#rn_1.9.0_obsoletions">Obsoletions</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.9.0_deprecations"><a class="link" href="#rn_1.9.0_deprecations">Deprecations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for Java 7 has been deprecated since Kudu 1.5.0 and may be removed in
+the next major release.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.9.0_new_features"><a class="link" href="#rn_1.9.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu now supports location awareness. When configured, Kudu will make a best
+effort to avoid placing a majority of replicas for a given tablet at the same
+location. The <code>kudu cluster rebalance</code> tool has been updated to act in
+accordance with the placement policy of a location-aware Kudu. The
+<a href="https://kudu.apache.org/releases/1.9.0/docs/administration.html#rack_awareness">administrative
+documentation</a> has been updated to detail the usage of this feature.</p>
+</li>
+<li>
+<p>Docker scripts have been introduced to build and run Kudu on various operating
+systems. See the <code>/docker</code> subdirectory of the source repository for more
+details. An <a href="https://hub.docker.com/r/apache/kudu">official repository</a> has
+been created for Apache Kudu Docker artifacts.</p>
+</li>
+<li>
+<p>Developers integrating with Kudu can now write Java tests that start a Kudu
+mini cluster without having to first locally build and install Kudu. This is
+made possible by the Kudu team providing platform-specific binaries available
+to Gradle or Maven for download and install at test time. More information on
+this feature can be found <a href="developing.html">here</a>. This binary test
+artifact is currently considered to be experimental.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.9.0_improvements"><a class="link" href="#rn_1.9.0_improvements">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>When creating a table, the master now enforces a restriction on the total
+number of replicas rather than the total number of partitions. If manually
+overriding <code>--max_create_tablets_per_ts</code>, the maximum size of a new table
+has effectively been cut by a factor of its replication factor. Note that
+partitions can still be added after table creation.</p>
+</li>
+<li>
+<p>The compaction policy has been updated to favor reducing the number of
+rowsets. This can lead to faster scans and lower bootup times, particularly
+in the face of a “trickling inserts” workload, where rows are inserted slowly
+in primary key order (see
+<a href="https://issues.apache.org/jira/browse/KUDU-1400">KUDU-1400</a>).</p>
+</li>
+<li>
+<p>A tablet-level metric <code>average_diskrowset_height</code> has been added to indicate
+how much a replica needs to be compacted, as indicated by the average number
+of rowsets per unit of keyspace.</p>
+</li>
+<li>
+<p>Scans which read multiple columns of tables undergoing a heavy <code>UPDATE</code>
+workload are now more CPU efficient. In some cases, scan performance of such
+tables may be several times faster upon upgrading to this release.</p>
+</li>
+<li>
+<p>Kudu-Spark users can now provide the short “kudu” format alias to Spark. This
+enables using <code>.format(“kudu”)</code> in places where you would have needed to
+provide the fully qualified name like <code>.format(“org.apache.kudu.spark.kudu")</code>
+or imported <code>org.apache.kudu.spark.kudu._</code> and used the implicit <code>.kudu</code>
+functions. The
+<a href="https://kudu.apache.org/releases/1.9.0/docs/developing.html#_kudu_integration_with_spark">Spark
+integration documentation</a> has been updated to reflect this improvement.</p>
+</li>
+<li>
+<p>The <code>KuduSink</code> class has been added to the Spark integration as a
+<code>StreamSinkProvider</code>, allowing structured streaming writes into Kudu (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2640">KUDU-2640</a>).</p>
+</li>
+<li>
+<p>The amount of server-side logging has been greatly reduced for Kudu&#8217;s
+consensus implementation and background processes. This logging was determined
+to be not useful and unnecessarily verbose.</p>
+</li>
+<li>
+<p>The web UI now more obviously depicts which columns are a part of the primary
+key (see <a href="https://issues.apache.org/jira/browse/KUDU-2477">KUDU-2477</a>).</p>
+</li>
+<li>
+<p>The <code>kudu table describe</code> tool has been added to support describing table
+attributes, including schema, partitioning, replication factor, column
+encodings, compressions, and default values.</p>
+</li>
+<li>
+<p>The <code>kudu table scan</code> tool has been added to scan rows from a table,
+supporting comparison, in-list, and is-null predicates.</p>
+</li>
+<li>
+<p>The <code>kudu locate_row</code> tool has been added to allow users to determine what
+tablet a given primary key belongs to, and whether a row exists for that
+primary key.</p>
+</li>
+<li>
+<p>The <code>kudu diagnose dump_mem_trackers</code> tool is added to allow users to output
+the contents of the <code>/mem-trackers</code> web UI page in a CSV format.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.9.0_fixed_issues"><a class="link" href="#rn_1.9.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>To avoid glitches and undefined behavior, the Kudu Python client now
+detects and reports on conflicting/incorrect initialization of the OpenSSL
+library.</p>
+</li>
+<li>
+<p>Fixed a crash caused by a race between altering tablet schemas and deleting
+tablet replicas (see
+<a href="https://issues.apache.org/jira/browse/KUDU-1678">KUDU-1678</a>).</p>
+</li>
+<li>
+<p>Fixed an issue that would prevent the <code>kudu fs update_dirs</code> tool from
+removing directories in the presence of tablet tombstones (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2680">KUDU-2680</a>).</p>
+</li>
+<li>
+<p>The <code>--cmeta_force_fsync</code> flag may be used to fsync Kudu&#8217;s consensus
+metadata more aggressively. Setting this to <code>true</code> may decrease Kudu&#8217;s
+performance, but improve its durability in the face of power failures and
+forced shutdowns (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2195">KUDU-2195</a>).</p>
+</li>
+<li>
+<p>Fixed an issue that would cause an excessive amount of RPC traffic from Kudu
+masters if the tablet servers were configured with duplicated master addresses
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2684">KUDU-2684</a>).</p>
+</li>
+<li>
+<p>Fixed an issue that would cause the <code>kudu cluster rebalance</code> tool to run
+indefinitely in the case of tables with a replication factor of 2 (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2688">KUDU-2688</a>).</p>
+</li>
+<li>
+<p>Fixed an issue that could lead to a failure to bootstrap tablet replicas
+that were a part of workloads with many alter table operations
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2690">KUDU-2690</a>).</p>
+</li>
+<li>
+<p>Fixed an issue with the Java scanner&#8217;s <code>keepAlive</code> that could lead to a
+permanent hang in the scanner (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2710">KUDU-2710</a>).</p>
+</li>
+<li>
+<p>Fixed an issue that would cause undefined behavior upon connecting to a
+secure cluster concurrently from multiple C++ clients (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2706">KUDU-2706</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.9.0_wire_compatibility"><a class="link" href="#rn_1.9.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.9.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.9 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.8 and Kudu 1.9 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.9 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.9 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.9 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.9 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.9.0_incompatible_changes"><a class="link" href="#rn_1.9.0_incompatible_changes">Incompatible Changes in Kudu 1.9.0</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="rn_1.9.0_client_compatibility"><a class="link" href="#rn_1.9.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.9 Java client library is API- and ABI-compatible with Kudu 1.8. Applications
+written against Kudu 1.8 will compile and run against the Kudu 1.9 client library and
+vice-versa.</p>
+</li>
+<li>
+<p>The Kudu 1.9 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.8.
+Applications written and compiled against the Kudu 1.8 client library will run without
+modification against the Kudu 1.9 client library. Applications written and compiled
+against the Kudu 1.9 client library will run without modification against the Kudu 1.8
+client library.</p>
+</li>
+<li>
+<p>The Kudu 1.9 Python client is API-compatible with Kudu 1.8. Applications
+written against Kudu 1.8 will continue to run against the Kudu 1.9 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.9.0_known_issues"><a class="link" href="#rn_1.9.0_known_issues">Known Issues and Limitations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Please refer to the <a href="known_issues.html">Known Issues and Limitations</a> section of the
+documentation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.9.0_contributors"><a class="link" href="#rn_1.9.0_contributors">Contributors</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.9 includes contributions from 24 people, including 5 first-time contributors:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Bankim Bhavsar</p>
+</li>
+<li>
+<p>Mike Parker</p>
+</li>
+<li>
+<p>Mitch Barnett</p>
+</li>
+<li>
+<p>Tim Armstrong</p>
+</li>
+<li>
+<p>Yingchun Lai</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Thank you for your help in making Kudu even better!</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.8.0"><a class="link" href="#rn_1.8.0">Release Notes Specific to 1.8.0</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.8.0_upgrade_notes"><a class="link" href="#rn_1.8.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Upgrading directly from Kudu 1.7.0 is supported and no special upgrade steps are
+required. A rolling upgrade may work, however it has not been tested. When upgrading
+Kudu, it is recommended to first shut down all Kudu processes across the cluster, then
+upgrade the software on all servers, then restart the Kudu processes on all servers in
+the cluster.</p>
+</li>
+<li>
+<p>Kudu Flume Sink released with Kudu 1.8.0 is compiled against Apache Flume 1.8 and might
+not function with earlier versions of Flume. Note that Flume 1.8 requires Java 1.8 or
+higher.</p>
+</li>
+<li>
+<p>Hadoop 3.0+ requires Java 8 at runtime even though the Kudu Hadoop integration is Java 7
+compatible. Hadoop 3.1 is the default dependency version as of Kudu 1.8.0, used by
+certain features in the Java client.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.8.0_obsoletions"><a class="link" href="#rn_1.8.0_obsoletions">Obsoletions</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The <code>-table_num_buckets</code> configuration option of the <code>kudu perf loadgen</code> tool is now
+removed in favor of <code>-table_num_hash_partitions</code> and <code>-table_num_range_partitions</code>
+(see <a href="https://issues.apache.org/jira/browse/KUDU-1861">KUDU-1861</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.8.0_deprecations"><a class="link" href="#rn_1.8.0_deprecations">Deprecations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for Java 7 has been deprecated since Kudu 1.5.0 and may be removed in the next
+major release.</p>
+</li>
+<li>
+<p>The <code>producer.skipMissingColumn</code>, <code>producer.skipBadColumnValue</code>, and
+<code>producer.warnUnmatchedRows</code> Kudu Flume sink configuration parameters have been
+deprecated in favor of <code>producer.missingColumnPolicy</code>, <code>producer.badColumnValuePolicy</code>,
+and <code>producer.unmatchedRowPolicy</code> respectively (see
+<a href="https://issues.apache.org/jira/browse/KUDU-1882">KUDU-1882</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.8.0_new_features"><a class="link" href="#rn_1.8.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Examples showcasing functionality in C&#43;&#43;, Java, and Python, previously
+hosted in a separate repository have been added. They can be found in the
+<code><a href="https://github.com/apache/kudu/tree/master/examples">examples/</a></code>
+top-level subdirectory.</p>
+</li>
+<li>
+<p>Added <code>kudu diagnose parse_stacks</code>, a tool to parse sampled stack traces out of a
+diagnostics log (see <a href="https://issues.apache.org/jira/browse/KUDU-2353">KUDU-2353</a>).</p>
+</li>
+<li>
+<p>Added support for <code>IS NULL</code> and <code>IS NOT NULL</code> predicates to the Kudu Python client (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2399">KUDU-2399</a>).</p>
+</li>
+<li>
+<p>Introduced <a href="administration.html#rebalancer_tool">manual data rebalancer</a> into the kudu
+CLI tool. The rebalancer can be used to redistribute table replicas among tablet
+servers. The rebalancer can be run via <code>kudu cluster rebalance</code> sub-command. Using the
+new tool, it&#8217;s possible to rebalance Kudu clusters of version 1.4.0 and newer.</p>
+</li>
+<li>
+<p>Added <code>kudu tserver get_flags</code> and <code>kudu master get_flags</code>, two tools that allow
+superusers to retrieve all the values of command line flags from remote Kudu processes.
+The <code>get_flags</code> tools support filtering the returned flags by tag, and by default will
+return only flags that were explicitly set.</p>
+</li>
+<li>
+<p>Added <code>kudu tablet unsafe_replace_tablet</code>, a tool to replace a tablet with a new one.
+This tool is meant to be used to recover a table when one of its tablets has permanently
+lost all replicas. The data in the tablet that is replaced is lost, so this tool should
+only be used as a last resort (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2290">KUDU-2290</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.8.0_improvements"><a class="link" href="#rn_1.8.0_improvements">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>There is a new metric for each tablet replica tracking the number of election failures
+since the last successful election attempt and the time since the last heartbeat from
+the leader (see <a href="https://issues.apache.org/jira/browse/KUDU-2287">KUDU-2287</a>).</p>
+</li>
+<li>
+<p>Kudu now supports building and running on Ubuntu 18.04 (“Bionic Beaver”) (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2427">KUDU-2427</a>).</p>
+</li>
+<li>
+<p>Kudu now supports building and running against OpenSSL 1.1 (see
+<a href="https://issues.apache.org/jira/browse/KUDU-1889">KUDU-1889</a>).</p>
+</li>
+<li>
+<p>Added Kerberos support to the Kudu Flume sink (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2012">KUDU-2012</a>).</p>
+</li>
+<li>
+<p>The Kudu Spark connector now supports Spark Streaming DataFrames (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2539">KUDU-2539</a>).</p>
+</li>
+<li>
+<p>Added <code>-tables</code> filtering argument to <code>kudu table list</code> (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2529">KUDU-2529</a>).</p>
+</li>
+<li>
+<p>Clients now support setting a limit on the number of returned rows in scans (see
+<a href="https://issues.apache.org/jira/browse/KUDU-16">KUDU-16</a>).</p>
+</li>
+<li>
+<p>Added Pandas support to the Python client (see
+<a href="https://issues.apache.org/jira/browse/KUDU-1276">KUDU-1276</a>).</p>
+</li>
+<li>
+<p>Enabled configuration of mutation buffer in the Python client (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2441">KUDU-2441</a>).</p>
+</li>
+<li>
+<p>Added a <code>keepAlive</code> API call to the <code>KuduScanner</code> and <code>AsyncKuduScanner</code> in the Java
+client.  This API can be used to keep the scanners alive on the server when processing
+of messages will take longer than the scanner TTL (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2095">KUDU-2095</a>).</p>
+</li>
+<li>
+<p>The Kudu Spark integration now uses the keepAlive API when reading data. By default it
+will call keepAlive on a scanner with a period of 15 seconds. This will ensure that
+Spark jobs with large batch sizes or slow processing times do not fail with scanner not
+found errors (see <a href="https://issues.apache.org/jira/browse/KUDU-2563">KUDU-2563</a>).</p>
+</li>
+<li>
+<p>Number of reactor threads in the C&#43;&#43; client is now configurable (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2368">KUDU-2368</a>).</p>
+</li>
+<li>
+<p>Added an optimization to reduce CPU consumption when performing hot metadata lookups in
+the C&#43;&#43; client (see <a href="https://issues.apache.org/jira/browse/KUDU-1977">KUDU-1977</a>).</p>
+</li>
+<li>
+<p>Added an optimization to avoid bottlenecks on <code>getpwuid_r()</code> in libnss during a Raft
+leader election storm (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2395">KUDU-2395</a>).</p>
+</li>
+<li>
+<p>Improved rowset tree pruning making scans with open-ended intervals on primary key (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2566">KUDU-2566</a>).</p>
+</li>
+<li>
+<p>The <code>kudu perf loadgen</code> tool now supports generating range-partitioned tables. The
+<code>-table_num_buckets</code> configuration is now removed in favor of
+<code>-table_num_hash_partitions</code> and <code>-table_num_range_partitions</code> (see
+<a href="https://issues.apache.org/jira/browse/KUDU-1861">KUDU-1861</a>).</p>
+</li>
+<li>
+<p>CFile checksum failures will now cause the affected tablet replicas to be failed and
+re-replicated elsewhere (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2469">KUDU-2469</a>).</p>
+</li>
+<li>
+<p>Servers are now able to start up with data directories missing on disk (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2359">KUDU-2359</a>).</p>
+</li>
+<li>
+<p>The <code>kudu perf loadgen</code> tool now creates tables with a period-separated database name,
+for example <code>default.loadgen_auto_abc123</code>. This new behavior does not take effect if the
+<code>--table</code> flag is provided. The database of the table can be changed using a new
+<code>--auto_database</code> flag. This change is made in anticipation of an eventual Kudu/HMS
+integration (see <a href="https://jira.apache.org/jira/browse/KUDU-2191">KUDU-2191</a>).</p>
+</li>
+<li>
+<p>Introduced <code>FAILED_UNRECOVERABLE</code> replica health status. This is to mark replicas which
+are not able to catch up with the leader due to GC-collected segments of WAL and other
+unrecoverable cases like disk failure. With that, the replica management scheme becomes
+hybrid: the system evicts replicas with <code>FAILED_UNRECOVERABLE</code> health status before
+adding a replacement if it anticipates that it can commit the transaction, while in
+other cases it first adds a non-voter replica and removes the failed one only after
+promoting a newly added replica to voter role.</p>
+</li>
+<li>
+<p>Two additional configuration parameters, <code>socketReadTimeoutMs</code>  and <code>scanRequestTimeout</code>
+have been added to the Spark connector to allow better tuning to avoid scan timeouts
+under high load.</p>
+</li>
+<li>
+<p>The <code>kudu table</code> tool now supports two new options to rename tables and columns,
+<code>rename_table</code> and <code>rename_column</code> respectively.</p>
+</li>
+<li>
+<p>Kudu will now wait for the clock to become synchronized at startup, controlled by a new
+flag <code>-ntp_initial_sync_wait_secs</code> (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2242">KUDU-2242</a>).</p>
+</li>
+<li>
+<p>Tablet deletions are now throttled, which will help Kudu clusters remain stable even
+when many tablets are deleted at once. The number of tablets that a tablet server will
+delete at once is controlled by the new flag <code>-num_tablets_to_delete_simultaneously</code>
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2289">KUDU-2289</a>).</p>
+</li>
+<li>
+<p>The <code>kudu cluster ksck</code> tool has been significantly enhanced. It now checks master
+health and consensus status, displays any unsafe or hidden flags set in the cluster, and
+produces a summary of the Kudu versions running on the master and tablet servers. In
+addition, it now supports JSON output, both in pretty-printed and compact form. The
+output format is controlled by the <code>-ksck_format</code> flag.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.8.0_fixed_issues"><a class="link" href="#rn_1.8.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>When a tablet server was wiped and recreated with the same RPC address, <code>ksck</code> listed it
+twice, both as healthy, even though only one of them was there. This bug is now fixed by
+verifying the UUID of the server (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2364">KUDU-2364</a>).</p>
+</li>
+<li>
+<p>Fixed an issue preventing Kudu from starting when using Vormetric&#8217;s encrypted filesystem
+(secfs2) on ext4 (see <a href="https://issues.apache.org/jira/browse/KUDU-2406">KUDU-2406</a>).</p>
+</li>
+<li>
+<p>Fixed an issue where Kudu&#8217;s block cache memory tracking (as seen on the <code>/mem-trackers</code>
+web UI page) wasn’t accounting for all of the overhead of the cache itself (see
+<a href="https://issues.apache.org/jira/browse/KUDU-972">KUDU-972</a>).</p>
+</li>
+<li>
+<p>Fixed an issue where the C&#43;&#43; client would fail to reopen an expired scanner; instead,
+the client would retry in a tight loop and eventually timeout (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2414">KUDU-2414</a>).</p>
+</li>
+<li>
+<p>When a tablet is deleted, its write-ahead log recovery directory is also deleted, if it
+exists (see <a href="https://issues.apache.org/jira/browse/KUDU-1038">KUDU-1038</a>).</p>
+</li>
+<li>
+<p>Fixed a tablet server crash when a tablet is scanned with two predicates on its primary
+key and the predicates do not overlap (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2447">KUDU-2447</a>).</p>
+</li>
+<li>
+<p>Fixed an issue where the Kudu MapReduce connector&#8217;s <code>KuduTableInputFormat</code> may exhaust
+its scan too early (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2525">KUDU-2525</a>).</p>
+</li>
+<li>
+<p>Fixed an issue with failed tablet copies that would cause subsequent tablet copies to
+crash the tablet server (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2293">KUDU-2293</a>).</p>
+</li>
+<li>
+<p>Fixed a bug in which incorrect results would be returned in scans following a
+server restart (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2463">KUDU-2463</a>).</p>
+</li>
+<li>
+<p>Fixed a bug causing a tablet server crash when a write batch request from a client
+failed coarse-grained authorization (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2540">KUDU-2540</a>).</p>
+</li>
+<li>
+<p>Fixed use-after-free in case of WAL replay error (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2509">KUDU-2509</a>).</p>
+</li>
+<li>
+<p>Fixed authentication token reacquisition in the C&#43;&#43; client (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2580">KUDU-2580</a>).</p>
+</li>
+<li>
+<p>Fixed a bug where leader logged excessively when the followers fell behind (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2322">KUDU-2322</a>).</p>
+</li>
+<li>
+<p>Fixed reporting of leader health during lifecycle transitions (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2335">KUDU-2335</a>).</p>
+</li>
+<li>
+<p>Fixed moving single-replica tablets (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2443">KUDU-2443</a>).</p>
+</li>
+<li>
+<p>Fixed an error that would cause the kudu CLI tool to unexpectedly exit when the
+connection to the master or tserver was abruptly closed.</p>
+</li>
+<li>
+<p>Fixed a rare issue where system failure could leave unexpected null bytes at the end of
+metadata files, causing Kudu to be unable to restart (see
+<a href="https://issues.apache.org/jira/browse/KUDU-2260">KUDU-2260</a>).</p>
+</li>
+<li>
+<p>Fixed an issue where <code>kudu cluster ksck</code> running a snapshot checksum scan would use a
+single snapshot timestamp for all tablets. This caused the checksum process to fail if
+the checksum process took a long time and the number of tablets was sufficiently large.
+The tool should now be able to checksum tables even if the process takes many hours.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2179">KUDU-2179</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.8.0_wire_compatibility"><a class="link" href="#rn_1.8.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.8.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.8 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.8 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations on wire
+compatibility between Kudu 1.8 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.8 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.8 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.8.0_incompatible_changes"><a class="link" href="#rn_1.8.0_incompatible_changes">Incompatible Changes in Kudu 1.8.0</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="rn_1.8.0_client_compatibility"><a class="link" href="#rn_1.8.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.8 Java client library is API- and ABI-compatible with Kudu 1.7. Applications
+written against Kudu 1.7 will compile and run against the Kudu 1.8 client library and
+vice-versa.</p>
+</li>
+<li>
+<p>The Kudu 1.8 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.7.
+Applications written and compiled against the Kudu 1.7 client library will run without
+modification against the Kudu 1.8 client library. Applications written and compiled
+against the Kudu 1.8 client library will run without modification against the Kudu 1.7
+client library.</p>
+</li>
+<li>
+<p>The Kudu 1.8 Python client is API-compatible with Kudu 1.7. Applications written against
+Kudu 1.7 will continue to run against the Kudu 1.8 client and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.8.0_known_issues"><a class="link" href="#rn_1.8.0_known_issues">Known Issues and Limitations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Please refer to the <a href="known_issues.html">Known Issues and Limitations</a> section of the
+documentation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.8.0_contributors"><a class="link" href="#rn_1.8.0_contributors">Contributors</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.8 includes contributions from 40 people, including 15 first-time contributors:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Anupama Gupta</p>
+</li>
+<li>
+<p>Attila Piros</p>
+</li>
+<li>
+<p>Brian McDevitt</p>
+</li>
+<li>
+<p>Fengling Wang</p>
+</li>
+<li>
+<p>Ferenc Szabó</p>
+</li>
+<li>
+<p>Greg Solovyev</p>
+</li>
+<li>
+<p>Kiyoshi Mizumaru</p>
+</li>
+<li>
+<p>Shriya Gupta</p>
+</li>
+<li>
+<p>Thomas Tauber-Marshall</p>
+</li>
+<li>
+<p>Tigerquoll</p>
+</li>
+<li>
+<p>Yao Xu</p>
+</li>
+<li>
+<p>ZhangYao</p>
+</li>
+<li>
+<p>helifu</p>
+</li>
+<li>
+<p>jinxing64</p>
+</li>
+<li>
+<p>qqchang2nd</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Thank you for helping to make Kudu even better!</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.7.1"><a class="link" href="#rn_1.7.1">Release Notes Specific to 1.7.1</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.7.1_fixed_issues"><a class="link" href="#rn_1.7.1_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Apache Kudu 1.7.1 is a bug-fix release which fixes critical issues in Kudu 1.7.0.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fixed and issue where a leader replica could report a follower&#8217;s health status
+as FAILED instead of FAILED_UNRECOVERABLE. In configurations where the tablet
+replication factor equals to the total number of tablet servers in the cluster,
+that lead to situations where the tablet could not be automatically recovered
+until a new leader was elected or corresponding tablet servers were restarted.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2367">KUDU-2367</a>).</p>
+</li>
+<li>
+<p>Fixed an issue where Kudu would fail to start if RLIMIT_NPROC was set to -1.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2377">KUDU-2377</a>).</p>
+</li>
+<li>
+<p>Fixed an issue where <code>kudu-spark</code> was unable to connect to secure clusters.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2379">KUDU-2379</a>).</p>
+</li>
+<li>
+<p>Fixed an issue where the <code>kudu-python</code> client would not compile in environments
+where <code>__int128</code> is not supported. This was most commonly el6 environments.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2412">KUDU-2412</a>).</p>
+</li>
+<li>
+<p>Fixed an issue where unaligned loads of <code>__int128</code> integers could result
+in a crash.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2378">KUDU-2378</a>).</p>
+</li>
+<li>
+<p>Fixed a bug in <code>PartialRow.setMin</code> that could lead to incorrect partition
+pruning when a <code>decimal</code> column is part of the tables range partition but
+not a part of the query predicate.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2416">KUDU-2416</a>).</p>
+</li>
+<li>
+<p>Fixed an equality check on <code>decimal</code> column predicates that could result
+in pruning that is too conservative.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.7.0"><a class="link" href="#rn_1.7.0">Release notes specific to 1.7.0</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.7.0_upgrade_notes"><a class="link" href="#rn_1.7.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Upgrading directly from Kudu 1.6.0 is supported and no special upgrade steps
+are required. A rolling upgrade of the server side will <em>not</em> work because
+the default replica management scheme changed, and running masters and tablet
+servers with different replica management schemes is not supported, see
+<a href="#rn_1.7.0_incompatible_changes">Incompatible Changes in Kudu 1.7.0</a> for details. However, mixing client and
+server sides of different versions is not a problem. You can still
+update your clients before your servers or vice versa.
+When upgrading to Kudu 1.7, it is required to first shut down all Kudu processes
+across the cluster, then upgrade the software on all servers, then restart
+the Kudu processes on all servers in the cluster.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.7.0_obsoletions"><a class="link" href="#rn_1.7.0_obsoletions">Obsoletions</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The <code>tcmalloc_contention_time</code> metric, which previously tracked the amount
+of time spent in memory allocator lock contention, has been removed.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.7.0_deprecations"><a class="link" href="#rn_1.7.0_deprecations">Deprecations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for Java 7 has been deprecated since Kudu 1.5.0 and may be removed in
+the next major release.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.7.0_new_features"><a class="link" href="#rn_1.7.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu now supports the decimal column type. The decimal type is a numeric data type
+with fixed scale and precision suitable for financial and other arithmetic
+calculations where the imprecise representation and rounding behavior of float and
+double make those types impractical. The decimal type is also useful for integers
+larger than int64 and cases with fractional values in a primary key.
+See <a href="schema_design.html#decimal">Decimal Type</a> for more details.</p>
+</li>
+<li>
+<p>The strategy Kudu uses for automatically healing tablets which have lost a
+replica due to server or disk failures has been improved. The new re-replication
+strategy, or replica management scheme, first adds a replacement tablet replica
+before evicting the failed one. With the previous replica management scheme,
+the system first evicts the failed replica and then adds a replacement. The new
+replica management scheme allows for much faster recovery of tablets in
+scenarios where one tablet server goes down and then returns back shortly after
+5 minutes or so. The new scheme also provides substantially better overall
+stability on clusters with frequent server failures.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-1097">KUDU-1097</a>).</p>
+</li>
+<li>
+<p>The <code>kudu fs update_dirs</code> tool now supports removing directories. Unless the
+<code>--force</code> flag is specified, Kudu will not allow the removal of a directory
+across which tablets are configured to spread data. If specified, all tablet
+replicas configured to use that directory will fail upon starting up and be
+replicated elsewhere, provided a majority exists elsewhere.</p>
+</li>
+<li>
+<p>Users can use the new <code>--fs_metadata_dir</code> to specify the directory in which
+to place tablet-specific metadata. It is recommended, although not
+necessary, that this be placed on a high-performance drive with high
+bandwidth and low latency, e.g. a solid-state drive. If not specified,
+metadata will be placed in the directory specified by <code>--fs_wal_dir</code>, or in
+the directory specified by the first entry of <code>--fs_data_dirs</code> if metadata
+already exists there from a pre-Kudu 1.7 deployment. Kudu will not
+automatically move existing metadata based on this configuration.</p>
+</li>
+<li>
+<p>Kudu 1.7 introduces a new scan read mode READ_YOUR_WRITES. Users can specify
+READ_YOUR_WRITES when creating a new scanner in C++, Java and Python clients.
+If this mode is used, the client will perform a read such that it follows all
+previously known writes and reads from this client. Reads in this mode ensure
+read-your-writes and read-your-reads session guarantees, while minimizing
+latency caused by waiting for outstanding write transactions to complete.
+Note that this is still an experimental feature which may be stabilized in
+future releases.</p>
+</li>
+<li>
+<p>The tablet server web UI scans dashboard (/scans) has been improved with
+several new features, including: showing the most recently completed scans,
+a pseudo-SQL scan descriptor that concisely shows the selected columns and
+applied predicates, and more complete and better documented scan statistics.</p>
+</li>
+<li>
+<p>Kudu daemons now expose a web page <code>/stacks</code> which dumps the current stack
+trace of every thread running in the server. This information can be helpful
+when diagnosing performance issues.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_optimizations_and_improvements"><a class="link" href="#_optimizations_and_improvements">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>By default, each tablet replica will now stripe data blocks across 3 data
+directories instead of all data directories. This decreases the likelihood
+that any given tablet will be affected in the event of a single disk failure.
+No substantial performance impact is expected due to this feature based on
+<a href="https://github.com/apache/kudu/commit/60276c54a221d554287c6645df7df542fe6d6443">performance testing</a>.
+This change only affects new replicas created after upgrading to Kudu 1.7.</p>
+</li>
+<li>
+<p>Kudu servers previously offered the ability to enable a separate metrics log
+which stores periodic snapshots of all metrics available on a server. This
+functionality is now available as part of a more general “diagnostics log”
+which is enabled by default. The diagnostics log includes periodic dumps of
+server metrics as well as collections of thread stack traces. The default
+configuration ensures that no more than 640MB of diagnostics logs are retained,
+and typically the space consumption is significantly less due to compression.
+The format and contents of this log file are documented in the
+<a href="administration.html">Administration guide</a>.</p>
+</li>
+<li>
+<p>The handling of errors in the synchronous Java client has been improved so that,
+when an exception is thrown, the stack trace indicates the correct location
+where the client function was invoked rather than a call stack of an internal
+worker thread. The original call stack from the worker thread is available as
+a “suppressed exception”.</p>
+</li>
+<li>
+<p>The logging of errors in the Java client has been improved to exclude exception
+stack traces for expected scenarios such as failure to connect to a server in a
+cluster. Instead, only a single line informational message will be logged in
+such cases to aid in debugging.</p>
+</li>
+<li>
+<p>The Java client now uses a predefined prioritized list of TLS ciphers when
+establishing an encrypted connection to Kudu servers. This cipher list matches
+the list of ciphers preferred for server-to-server communication and ensures
+that the most efficient and secure ciphers are preferred. When the Kudu client
+is running on Java 8 or newer, this provides a substantial speed-up to read
+and write performance.</p>
+</li>
+<li>
+<p>Reporting for the <code>kudu cluster ksck</code> tool has been updated so tablets and
+tables with on-going tablet copies are shown as "recovering". Additional
+reporting changes have been made to make various common scenarios,
+particularly tablet copies, less alarming.</p>
+</li>
+<li>
+<p>The performance of inserting rows containing many string or binary columns has
+been improved, especially in the case of highly concurrent write workloads.</p>
+</li>
+<li>
+<p>By default, Spark tasks that scan Kudu will now be able to scan non-leader
+replicas. This allows Spark to more easily schedule kudu-spark tasks local to
+the data. Users can disable this behavior by passing 'leader_only' to the
+'kudu.scanLocality' option."</p>
+</li>
+<li>
+<p>The number of OS threads used in the steady state and during bursts of
+activity (such as in Raft leader elections triggered by a node failure) has
+been drastically reduced and should no longer exceed the value of <code>ulimit -u</code>.
+As such, it should no longer be necessary to increase the value of <code>ulimit -u</code>
+(or of /proc/sys/kernel/threads-max) in order to run a Kudu tablet server in
+most cases.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-1913">KUDU-1913</a>).</p>
+</li>
+<li>
+<p>An issue where sparse column predicates could cause excessive data-block reads
+has been fixed. Previously in certain scans with sparsely matching predicates
+on multiple columns, Kudu would read and decode the same data blocks many times.
+The improvement typically results in a 5-10x performance increase for the
+affected scans.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2231">KUDU-2231</a>).</p>
+</li>
+<li>
+<p>The efficiency and on-disk size of large updated values has been improved.
+This will improve update-heavy workloads which overwrite large (1KiB+) values.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2253">KUDU-2253</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.7.0_fixed_issues"><a class="link" href="#rn_1.7.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Fixed a scenario where the on-disk data of a tablet server was completely
+erased and and a new tablet server was started on the same host. This issue
+could prevent tablet replicas previously hosted on the server from being
+evicted and re-replicated.
+Tablets now immediately evict replicas that respond with a different server
+UUID than expected.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-1613">KUDU-1613</a>).</p>
+</li>
+<li>
+<p>Fixed a rare race condition when connecting to masters during their
+startup which might cause a client to get a response without a CA certificate
+and/or authentication token. This would cause the client to fail to authenticate
+with other servers in the cluster. The leader master now always sends a CA
+certificate and an authentication token (when applicable) to a Kudu client
+with a successful ConnectToMaster response.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-1927">KUDU-1927</a>).</p>
+</li>
+<li>
+<p>The Kudu Java client now will retry a connection if no master is discovered as a
+leader, and the user has a valid authentication token. This avoids failure
+in recoverable cases when masters are in the process of the very first leader
+election after starting up.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2262">KUDU-2262</a>).</p>
+</li>
+<li>
+<p>The Java client will now automatically attempt to re-acquire Kerberos
+credentials from the ticket cache when the prior credentials are about to
+expire. This allows client instances to persist longer than the expiration
+time of a single Kerberos ticket so long as some other process renews the
+credentials in the ticket cache. Documentation on interacting with Kerberos
+authentication has been added to the Javadoc for the <code>AsyncKuduClient</code> class.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2264">KUDU-2264</a>).</p>
+</li>
+<li>
+<p>Follower masters are now able to verify authentication tokens even if they have never
+been a leader. Prior to this fix, if a follower master had never been a leader,
+clients would be unable to authenticate to that master, resulting in spurious
+error messages being logged.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2265">KUDU-2265</a>).</p>
+</li>
+<li>
+<p>Fixed a tablet server crash when a tablet replica is deleted during a scan.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2295">KUDU-2295</a>).</p>
+</li>
+<li>
+<p>The evaluation order of predicates in scans with multiple predicates has been
+made deterministic. Due to a bug, this was not necessarily the case previously.
+Predicates are applied in most to least selective order, with ties broken by
+column index. The evaluation order may change in the future, particularly when
+better column statistics are made available internally.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2312">KUDU-2312</a>).</p>
+</li>
+<li>
+<p>Previously, the <code>kudu tablet change_config move_replica</code> tool required all
+tablet servers in the cluster to be available when performing a move. This
+restriction has been relaxed: only the tablet server that will receive a replica
+of the tablet being moved and the hosts of the tablet&#8217;s existing replicas need to be
+available for the move to occur.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2331">KUDU-2331</a>).</p>
+</li>
+<li>
+<p>Fixed a bug in the Java client which prevented the client from locating the
+new leader master after a leader failover in the case that the previous leader
+either remained online or restarted quickly. This bug resulted in the client
+timing out operations with errors indicating that there was no leader master.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2343">KUDU-2343</a>).</p>
+</li>
+<li>
+<p>The Unix process username of the client is now included inside the exported
+security credentials, so that the effective username of clients who import
+credentials and subsequently use unauthenticated (SASL PLAIN) connections
+matches the client who exported the security credentials. For example, this is
+useful to let the Spark executors know which username to use if the Spark
+driver has no authentication token. This change only affects clusters with
+encryption disabled using <code>--rpc_encryption=disabled</code>.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2259">KUDU-2259</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.7.0_wire_compatibility"><a class="link" href="#rn_1.7.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.7.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.7 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.6 and Kudu 1.7 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.7 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.7 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.7 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.7 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.7.0_incompatible_changes"><a class="link" href="#rn_1.7.0_incompatible_changes">Incompatible Changes in Kudu 1.7.0</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The newly introduced replica management scheme is not compatible with the
+old scheme, so it&#8217;s not possible to run pre-1.7 Kudu masters with
+1.7 Kudu tablet servers or vice versa. This is a server-side
+incompatibility only and it does not affect client compatibility. In other words,
+Kudu clients of prior versions are compatible with upgraded Kudu clusters.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu masters of 1.7 version will not register Kudu tablet servers of 1.6
+and prior versions.</p>
+</li>
+<li>
+<p>Kudu tablet servers of 1.7 version will not work with Kudu masters of 1.6
+and prior versions.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>The format of the previously-optional metrics log has changed to include a
+human-readable timestamp on each line. The path of the log file has also
+changed with the word “diagnostics” replacing the word “metrics” in the file
+name. The metrics log has been optimized to only include those metrics which
+have changed in between successive samples, and to not include entity attributes
+such as tablet partition information in the log.
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2297">KUDU-2297</a>).</p>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="rn_1.7.0_client_compatibility"><a class="link" href="#rn_1.7.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.7 Java client library is API- and ABI-compatible with Kudu 1.6. Applications
+written against Kudu 1.6 will compile and run against the Kudu 1.7 client library and
+vice-versa.</p>
+</li>
+<li>
+<p>The Kudu 1.7 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.6.
+Applications written and compiled against the Kudu 1.6 client library will run without
+modification against the Kudu 1.7 client library. Applications written and compiled
+against the Kudu 1.7 client library will run without modification against the Kudu 1.6
+client library.</p>
+</li>
+<li>
+<p>The Kudu 1.7 Python client is API-compatible with Kudu 1.6. Applications
+written against Kudu 1.6 will continue to run against the Kudu 1.7 client
+and vice-versa.</p>
+</li>
+<li>
+<p>Kudu 1.7 clients that attempt to create a table with a decimal column on a
+target server running Kudu 1.6 or earlier will receive an error response.
+Similarly Kudu clients running Kudu 1.6 or earlier will result in an error
+when attempting to access any table containing containing a decimal
+column.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.6.0"><a class="link" href="#rn_1.6.0">Release Notes Specific to 1.6.0</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.6.0_upgrade_notes"><a class="link" href="#rn_1.6.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Upgrading directly from Kudu 1.5.0 is supported and no special upgrade steps
+are required. A rolling upgrade may work, however it has not been tested.
+When upgrading Kudu, it is recommended to first shut down all Kudu processes
+across the cluster, then upgrade the software on all servers, then restart
+the Kudu processes on all servers in the cluster.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.6.0_obsoletions"><a class="link" href="#rn_1.6.0_obsoletions">Obsoletions</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for Spark 1 (kudu-spark_2.10) has been <strong>removed</strong> in Kudu 1.6.0 and
+now only Spark 2 is supported. Spark 1 support was deprecated in Kudu 1.5.0.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.6.0_deprecations"><a class="link" href="#rn_1.6.0_deprecations">Deprecations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for Java 7 has been deprecated since Kudu 1.5.0 and may be removed in
+the next major release.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.6.0_new_features"><a class="link" href="#rn_1.6.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Tablet servers' tolerance of disk failures is now enabled by default and has
+been extended to handle data directory failures at runtime. In the event of
+a disk failure at runtime, any tablets with data on a failed disk will be
+shut down and restarted on another tablet server. There is a configurable
+tradeoff between a newly added tablet&#8217;s tolerance to disk failures and its
+ability to parallelize reads via the experimental
+<code>--fs_target_data_dirs_per_tablet</code> flag. Tablets that are spread across fewer
+disks are less likely to be affected by a disk failure, at the cost of
+reduced parallelism. By default, tablets are striped across all available
+disks. Note that the first configured data directory and the WAL directory
+cannot currently tolerate disk failures. This will be further improved in
+future Kudu releases.</p>
+</li>
+<li>
+<p>Kudu servers can now adopt new data directories via the new
+<code>kudu fs update_dirs</code> tool. The new directory will be used by new tablet
+replicas only. Note that removing directories is not yet supported
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2202">KUDU-2202</a>).</p>
+</li>
+<li>
+<p>Kudu servers have two new flags to control webui TLS/HTTPS
+settings: <code>--webserver_tls_ciphers</code> and <code>--webserver_tls_min_protocol</code>.
+These flags allow the advertised TLS ciphers and TLS protocol versions to be
+configured. Additionally, the webserver now excludes insecure legacy ciphers
+by default
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2190">KUDU-2190</a>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_optimizations_and_improvements_2"><a class="link" href="#_optimizations_and_improvements_2">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu servers can now tolerate short interruptions in NTP clock
+synchronization. NTP synchronization is still required when any Kudu daemon
+starts up. If NTP synchronization is not available, diagnostic information
+is now logged to help pinpoint the issue
+(see <a href="https://issues.apache.org/jira/browse/KUDU-1578">KUDU-1578</a>).</p>
+</li>
+<li>
+<p>Tablet server startup time has been improved significantly on servers
+containing large numbers of blocks.</p>
+</li>
+<li>
+<p>The log block manager now performs disk data deletion in batches. This
+optimization can significantly reduce the time taken to delete data on a tablet.</p>
+</li>
+<li>
+<p>The usage of sensitive data redaction flag has been slightly changed. By
+setting <code>--redact=log</code> flag, redaction will be disabled in the web UI but
+retained for server logs. Alternatively, <code>--redact=none</code> can be used to
+disable redaction completely.</p>
+</li>
+<li>
+<p>The Spark DataSource integration now can take advantage of scan locality
+for better scan performance, the scan will take place at the closest replica
+instead of going to the leader.</p>
+</li>
+<li>
+<p>Various optimizations were made to reduce the 99th percentile latency of
+writes on the tablet server. This can also improve throughput on certain
+write workloads, particularly on larger clusters.</p>
+</li>
+<li>
+<p>Kudu may now be configured to ignore system-wide auth_to_local mappings
+configured in /etc/krb5.conf by setting the configuration flag
+<code>--use_system_auth_to_local=false</code>
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2198">KUDU-2198</a>).</p>
+</li>
+<li>
+<p>The performance of the compaction scheduler has been improved. In
+previous versions, certain types of time series workloads were found to
+cause compaction scheduling to take tens of seconds. These workloads now
+schedule compactions an order of magnitude more efficiently.</p>
+</li>
+<li>
+<p>The compaction scheduler has been improved to avoid running a compaction
+when the benefit of that compaction is extremely small.</p>
+</li>
+<li>
+<p>Tablet servers now consider the health of all replicas of a tablet before
+deciding to evict one. This can improve stability of the Kudu cluster after
+experiencing multiple simultaneous daemon failures
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2048">KUDU-2048</a>).</p>
+</li>
+<li>
+<p>Several performance improvements have been made to the Kudu master,
+particularly in concurrency of clients opening tables. This should improve
+performance in highly concurrent workloads.</p>
+</li>
+<li>
+<p>The on-disk size metric for a tablet now includes all data and metadata.
+Previously, it excluded WAL segments and consensus metadata
+(see <a href="https://issues.apache.org/jira/browse/KUDU-1755">KUDU-1755</a>).</p>
+</li>
+<li>
+<p>Added verbose mode for the 'kudu cluster ksck' command to enable output
+of detailed information on the cluster&#8217;s metadata, even when no errors are
+detected.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.6.0_fixed_issues"><a class="link" href="#rn_1.6.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>HybridTime timestamp propagation now works in the Java client when using scan
+tokens (see <a href="https://issues.apache.org/jira/browse/KUDU-1411">KUDU-1411</a>).</p>
+</li>
+<li>
+<p>Fixed an error message commonly found in tablet server logs indicating that
+operations were being read "from the future"
+(see <a href="https://issues.apache.org/jira/browse/KUDU-1078">KUDU-1078</a>).</p>
+</li>
+<li>
+<p>Tombstoned tablets no longer report metrics
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2044">KUDU-2044</a>).</p>
+</li>
+<li>
+<p>Fixed a bug in the C++ client which could cause tablets to be erroneously
+pruned, or skipped, during certain scans, resulting in fewer results than
+expected being returned from queries. The bug only affected tables whose range
+partition columns are a proper prefix of the primary key
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2173">KUDU-2173</a>).</p>
+</li>
+<li>
+<p>Published Kudu Java artifacts are now fully compatible with JRE 7 and JRE 8.
+There was previously a bug in the release process which made them compatible
+only with JRE 8
+(see <a href="https://issues.apache.org/jira/browse/KUDU-2188">KUDU-2188</a>).</p>
+</li>
+<li>
+<p>Fixed a typo in the list of default TLS ciphers used by Kudu servers. As a
+result, two additional cipher suites are now available:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128)  Mac=SHA256</p>
+</li>
+<li>
+<p>AES256-GCM-SHA384       TLSv1.2 Kx=RSA  Au=RSA Enc=AESGCM(256) Mac=AEAD</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.6.0_wire_compatibility"><a class="link" href="#rn_1.6.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.6.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.6 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.5 and Kudu 1.6 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.6 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.6 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.6 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.6 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.6.0_incompatible_changes"><a class="link" href="#rn_1.6.0_incompatible_changes">Incompatible Changes in Kudu 1.6.0</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="rn_1.6.0_client_compatibility"><a class="link" href="#rn_1.6.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.6 Java client library is API- and ABI-compatible with Kudu 1.5. Applications
+written against Kudu 1.5 will compile and run against the Kudu 1.6 client library and
+vice-versa.</p>
+</li>
+<li>
+<p>The Kudu 1.6 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.5.
+Applications written and compiled against the Kudu 1.5 client library will run without
+modification against the Kudu 1.6 client library. Applications written and compiled
+against the Kudu 1.6 client library will run without modification against the Kudu 1.5
+client library.</p>
+</li>
+<li>
+<p>The Kudu 1.6 Python client is API-compatible with Kudu 1.5. Applications
+written against Kudu 1.5 will continue to run against the Kudu 1.6 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.5.0"><a class="link" href="#rn_1.5.0">Release notes specific to 1.5.0</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.5.0_upgrade_notes"><a class="link" href="#rn_1.5.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.5 now enables the optional ability to compute, store, and verify
+checksums on all pieces of data stored on a server by default. Due to
+storage format changes, downgrading to versions 1.3 or earlier is not
+supported and will result in an error.</p>
+</li>
+<li>
+<p>Spark 2.2+ requires Java 8 at runtime even though Kudu Spark 2.x integration
+is Java 7 compatible. Spark 2.2 is the default dependency version as of
+Kudu 1.5.0.</p>
+</li>
+<li>
+<p>The kudu-spark-tools module has been renamed to kudu-spark2-tools_2.11 in
+order to include the Spark and Scala base versions. This matches the pattern
+used in the kudu-spark module and artifacts.</p>
+</li>
+<li>
+<p>To improve security, world-readable Kerberos keytab files are no longer
+accepted by default. Set <code>--allow_world_readable_credentials=true</code> to override
+this behavior. See
+<a href="https://issues.apache.org/jira/browse/KUDU-1955">KUDU-1955</a> for additional
+details.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.5.0_deprecations"><a class="link" href="#rn_1.5.0_deprecations">Deprecations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for Java 7 is deprecated as of Kudu 1.5.0 and may be removed in the
+next major release.</p>
+</li>
+<li>
+<p>Support for Spark 1 (kudu-spark_2.10) is deprecated as of Kudu 1.5.0 and may
+be removed in the next minor release.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.5.0_new_features"><a class="link" href="#rn_1.5.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Tablet servers are now optionally able to tolerate disk failures at
+startup. This feature is experimental; by default, Kudu will crash if it
+experiences a disk failure. When enabled, tablets with any data on the failed
+disk will not be opened and will be replicated as needed. To enable this, set
+the <code>--crash_on_eio</code> flag to <code>false</code>. Additionally, there is a configurable
+tradeoff between a newly added tablet&#8217;s tolerance to disk failures and its
+parallelization of I/O via the <code>--fs_target_data_dirs_per_tablet</code> flag.
+Tablets that are spread across fewer disks are less likely to be affected by a
+disk failure, at the cost of reduced parallelism. Note that the first
+configured data directory and the WAL directory cannot currently tolerate disk
+failures, and disk failures during run-time are still fatal.</p>
+</li>
+<li>
+<p>Kudu server web UIs have a new configuration dashboard (/config) which
+provides a high level summary of important security configuration values, such
+as whether RPC authentication is required, or web server HTTPS encryption is
+enabled. Other types of configuration will be added in future releases.</p>
+</li>
+<li>
+<p>The <code>kudu</code> command line tool has two new features: <code>kudu tablet change_config
+move_replica</code> and <code>kudu local_replica data_size</code>. The 'tablet change_config
+move_replica' tool moves a tablet replica from one tablet server to another,
+under the condition that the tablet is healthy. An operator can use this tool to
+rebalance tablet replicas between tablet servers. The 'local_replica data size'
+tool summarizes the space usage of a tablet, breaking it down by type of file,
+column, and rowset.</p>
+</li>
+<li>
+<p>kudu-client-tools now supports exporting CSV files and importing
+Apache Parquet files. This feature is unstable and may change APIs and
+functionality in future releases.</p>
+</li>
+<li>
+<p>kudu-spark-tools now supports importing and exporting CSV, Apache Avro and
+Apache Parquet files. This feature is unstable and may change APIs and
+functionality in future releases.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.5.0_optimizations_improvements"><a class="link" href="#rn_1.5.0_optimizations_improvements">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The log block manager now performs disk synchronization in batches.
+This optimization can significantly reduce the time taken to copy tablet data
+from one server to another; in one case tablet copy time is reduced by 35%.
+It also improves the general performance of flushes and compactions.</p>
+</li>
+<li>
+<p>A new feature referred to as "tombstoned voting" is added to the Raft
+consensus subsystem to allow tablet replicas in the <code>TABLET_DATA_TOMBSTONED</code>
+state to vote in tablet leader elections. This feature increases Kudu&#8217;s
+stability and availability by improving the likelihood that Kudu will be able
+to self-heal in more edge-case scenarios, such as when tablet copy operations
+fail. See <a href="https://issues.apache.org/jira/browse/KUDU-871">KUDU-871</a> for
+details.</p>
+</li>
+<li>
+<p>The tablet on-disk size metric has been made more accurate. Previously, the
+metric included only REDO deltas; it now counts all deltas. Additionally, the
+metric includes the size of bloomfiles, ad hoc indexes, and the tablet
+superblock. WAL segments and consensus metadata are still not counted. The
+latter is very small compared to the size of data, but the former may be
+significant depending on the workload (this will be resolved in a future
+release).</p>
+</li>
+<li>
+<p>The number of threads used by the Kudu tablet server has been further reduced.
+Previously, each follower tablet replica used a dedicated thread to detect
+leader tablet replica failures, and each leader replica used one dedicated
+thread per follower to send Raft heartbeats to that follower. The work
+performed by these dedicated threads has been reassigned to other threads.
+Other improvements were made to facilitate better thread sharing by tablets.
+For the purpose of capacity planning, expect the Kudu tablet server to create
+one thread for every five "cold" (i.e. those not servicing writes) tablets,
+and an additional three threads for every "hot" tablet. This will be further
+improved upon in future Kudu releases.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.5.0_fixed_issues"><a class="link" href="#rn_1.5.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The Java Kudu client now automatically requests new authentication tokens
+after expiration. As a result, long-lived Java clients are now supported. See
+<a href="https://issues.apache.org/jira/browse/KUDU-2013">KUDU-2013</a> for more
+details.</p>
+</li>
+<li>
+<p>Multiple Kerberos compatibility bugs have been fixed, including support
+for environments with disabled reverse DNS, FreeIPA compatibility, principal
+names including uppercase characters, and hosts without a FQDN.</p>
+</li>
+<li>
+<p>A bug in the binary prefix decoder which could cause a tablet server 'check'
+assertion crash has been fixed. The crash could only be triggered in very
+specific scenarios; see
+<a href="https://issues.apache.org/jira/browse/KUDU-2085">KUDU-2085</a> for additional
+details.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.5.0_wire_compatibility"><a class="link" href="#rn_1.5.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.5.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.5 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.4 and Kudu 1.5 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.5 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.5 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.5 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.5 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.5.0_incompatible_changes"><a class="link" href="#rn_1.5.0_incompatible_changes">Incompatible Changes in Kudu 1.5.0</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="rn_1.5.0_client_compatibility"><a class="link" href="#rn_1.5.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.5 Java client library is API- and ABI-compatible with Kudu 1.4. Applications
+written against Kudu 1.4 will compile and run against the Kudu 1.5 client library and
+vice-versa, unless one of the following newly added APIs is used:</p>
+</li>
+<li>
+<p>The Kudu 1.5 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.4.
+Applications written and compiled against the Kudu 1.4 client library will run without
+modification against the Kudu 1.5 client library. Applications written and compiled
+against the Kudu 1.5 client library will run without modification against the Kudu 1.4
+client library.</p>
+</li>
+<li>
+<p>The Kudu 1.5 Python client is API-compatible with Kudu 1.4. Applications
+written against Kudu 1.4 will continue to run against the Kudu 1.5 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.4.0"><a class="link" href="#rn_1.4.0">Release notes specific to 1.4.0</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.4.0_upgrade_notes"><a class="link" href="#rn_1.4.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The Maintenance Manager now fully uses the threads it&#8217;s given (see the improvements
+described further below), so it&#8217;s now able to generate a lot more IO by flushing and
+compacting more often. Generally, the recommended ratio of MM threads to data
+directories is 1:3; operators of clusters above that ratio should be mindful of
+this when upgrading.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.4.0_new_features"><a class="link" href="#rn_1.4.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The C++ and Java client libraries now support the ability to alter the
+storage attributes (e.g. encoding and compression) and default value
+of existing columns. Additionally, it is now possible to rename
+a column which is part of a table&#8217;s primary key.</p>
+</li>
+<li>
+<p>The C++ client library now includes an experimental <code>KuduPartitioner</code> API which may
+be used to efficiently map rows to their associated partitions and hosts.
+This may be used to achieve better locality or distribution of writes
+in client applications.</p>
+</li>
+<li>
+<p>The Java client library now supports enabling fault tolerance on scanners.
+Fault tolerant scanners are able to transparently recover from concurrent
+server crashes at the cost of some performance overhead. See the Java
+API documentation for more details on usage.</p>
+</li>
+<li>
+<p>The <code>kudu</code> command line tool now includes a new advanced administrative
+command <code>kudu remote_replica unsafe_change_config</code>. This command may be used
+to force a tablet to perform an unsafe change of its Raft replication
+configuration. This can be used to recover from scenarios such as a loss
+of a majority of replicas, at the risk of losing edits.</p>
+</li>
+<li>
+<p>The <code>kudu</code> command line tool now includes the <code>kudu fs check</code> command
+which performs various offline consistency checks on the local on-disk
+storage of a Kudu Tablet Server or Master. In addition to detecting
+various inconsistencies or corruptions, it can also detect and remove
+data blocks that are no longer referenced by any tablet but were not
+fully removed from disk due to a crash or a bug in prior versions of Kudu.</p>
+</li>
+<li>
+<p>The <code>kudu</code> command line tool can now be used to list the addresses and
+identifiers of the servers in the cluster using either <code>kudu master list</code>
+or <code>kudu tserver list</code>.</p>
+</li>
+<li>
+<p>Kudu 1.4 now includes the optional ability to compute, store, and verify
+checksums on all pieces of data stored on a server. Prior versions only
+performed checksums on certain portions of the stored data. This feature
+is not enabled by default since it makes a backward-incompatible change
+to the on-disk formats and thus prevent downgrades. Kudu 1.5 will enable
+the feature by default.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_optimizations_and_improvements_3"><a class="link" href="#_optimizations_and_improvements_3">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><code>kudu cluster ksck</code> now detects and reports new classes of
+inconsistencies and issues. In particular, it is better able to
+detect cases where a configuration change such as a replica eviction
+or addition is pending but is unable to be committed. It also now
+properly detects and reports cases where a tablet has no elected
+leader.</p>
+</li>
+<li>
+<p>The default size for Write Ahead Log (WAL) segments has been reduced
+from 64MB to 8MB. Additionally, in the case that all replicas of a
+tablet are fully up to date and data has been flushed from memory,
+servers will now retain only a single WAL segment rather than
+two. These changes are expected to reduce the average consumption of
+disk space on the configured WAL disk by 16x, as well as improve the
+startup speed of tablet servers by reducing the number and size of
+WAL segments that need to be re-read.</p>
+</li>
+<li>
+<p>The default on-disk storage system used by Kudu servers (Log Block Manager)
+has been improved to compact its metadata and remove dead containers.
+This compaction and garbage collection occurs only at startup. Thus, the
+first startup after upgrade is expected to be longer than usual, and
+subsequent restarts should be shorter.</p>
+</li>
+<li>
+<p>The usability of the Kudu web interfaces has been improved,
+particularly for the case where a server hosts many tablets or a
+table has many partitions. Pages that list tablets now include
+a top-level summary of tablet status and show the complete list
+under a toggleable section.</p>
+</li>
+<li>
+<p>The Maintenance Manager has been improved to improve utilization of the
+configured maintenance threads. Previously, maintenance work would
+only be scheduled a maximum of 4 times per second, but now maintenance
+work will be scheduled immediately whenever any configured thread is
+available. This can improve the throughput of write-heavy workloads.</p>
+</li>
+<li>
+<p>The Maintenance Manager will now aggressively schedule flushes of
+in-memory data when memory consumption crosses 60% of the configured
+process-wide memory limit. The backpressure mechanism which begins
+to throttle client writes has been accordingly adjusted to not begin
+throttling until reaching 80% of the configured limit. These two
+changes together result in improved write throughput, more consistent
+latency, and fewer timeouts due to memory exhaustion.</p>
+</li>
+<li>
+<p>Many performance improvements were made to write performance. Applications
+which send large batches of writes to Kudu should see substantially
+improved throughput in Kudu 1.4.</p>
+</li>
+<li>
+<p>Several improvements were made to reduce the memory consumption of
+Kudu Tablet Servers which hold large volumes of data. The specific
+amount of memory saved varies depending on workload, but the expectation
+is that approximately 350MB of excess peak memory usage has been eliminated
+per TB of data stored.</p>
+</li>
+<li>
+<p>The number of threads used by the Kudu Tablet Server has been reduced.
+Previously, each tablet used a dedicated thread to append to its WAL.
+Those threads now automatically stop running if there is no activity
+on a given tablet for a short period of time.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.4.0_fixed_issues"><a class="link" href="#rn_1.4.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-2020">KUDU-2020</a>
+Fixed an issue where re-replication after a failure would proceed
+significantly slower than expected. This bug caused many tablets
+to be unnecessarily copied multiple times before successfully
+being considered re-replicated, resulting in significantly more
+network and IO bandwidth usage than expected. Mean time to recovery
+on clusters with large amounts of data is improved by up to 10x by this
+fix.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1982">KUDU-1982</a>
+Fixed an issue where the Java client would call <code>NetworkInterface.getByInetAddress</code>
+very often, causing performance problems particularly on Windows
+where this function can be quite slow.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1755">KUDU-1755</a>
+Improved the accuracy of the <code>on_disk_size</code> replica metrics to
+include the size consumed by bloom filters, primary key indexes,
+and superblock metadata, and delta files. Note that, because the size
+metric is now more accurate, the reported values are expected to
+increase after upgrading to Kudu 1.4. This does not indicate that
+replicas are using more space after the upgrade; rather, it is
+now accurately reporting the amount of space that has always been
+used.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1192">KUDU-1192</a>
+Kudu servers will now periodically flush their log messages to disk
+even if no <code>WARNING</code>-level messages have been logged. This makes it
+easier to tail the logs to see progress output during normal startup.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1999">KUDU-1999</a>
+Fixed the ability to run Spark jobs in "cluster" mode against
+Kudu clusters secured by Kerberos.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.4.0_wire_compatibility"><a class="link" href="#rn_1.4.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.4.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.4 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.4 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.3 and Kudu 1.4 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.4 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.4 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.4 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.4.0_incompatible_changes"><a class="link" href="#rn_1.4.0_incompatible_changes">Incompatible Changes in Kudu 1.4.0</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu servers, by default, will now only allow unencrypted or unauthenticated connections
+from trusted subnets, which are private networks (127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,
+192.168.0.0/16,169.254.0.0/16) and local subnets of all local network interfaces.
+Unencrypted or unauthenticated connections from publicly routable IPs will be rejected,
+even if encryption and authentication are not configured.</p>
+<div class="paragraph">
+<p>The trusted subnets can be configured using the <code>--trusted_subnets</code> flag, which can be set
+   to IP blocks represented in CIDR notation separated by comma. Set it to '0.0.0.0/0' to
+   allow unauthenticated connections from all remote IP addresses. However, if network access
+   is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized
+   access. This can be mitigated if authentication and encryption are configured to be
+   required.</p>
+</div>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="rn_1.4.0_client_compatibility"><a class="link" href="#rn_1.4.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.4 Java client library is API- and ABI-compatible with Kudu 1.3. Applications
+written against Kudu 1.3 will compile and run against the Kudu 1.4 client library and
+vice-versa, unless one of the following newly added APIs is used:</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>[Async]KuduScannerBuilder.setFaultTolerant(&#8230;&#8203;)</code></p>
+</li>
+<li>
+<p>New methods in <code>AlterTableOptions</code>: <code>removeDefault</code>, <code>changeDefault</code>, <code>changeDesiredBlockSize</code>,
+<code>changeEncoding</code>, <code>changeCompressionAlgorithm</code></p>
+</li>
+<li>
+<p><code>KuduClient.updateLastPropagatedTimestamp</code></p>
+</li>
+<li>
+<p><code>KuduClient.getLastPropagatedTimestamp</code></p>
+</li>
+<li>
+<p>New getters in <code>PartialRow</code>: <code>getBoolean</code>, <code>getByte</code>, <code>getShort</code>, <code>getInt</code>, <code>getLong</code>,
+<code>getFloat</code>, <code>getDouble</code>, <code>getString</code>, <code>getBinaryCopy</code>, <code>getBinary</code>, <code>isNull</code>,
+<code>isSet</code>.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>The Kudu 1.4 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.3.
+Applications written and compiled against the Kudu 1.3 client library will run without
+modification against the Kudu 1.4 client library. Applications written and compiled
+against the Kudu 1.4 client library will run without modification against the Kudu 1.3
+client library unless they use one of the following new APIs:</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>KuduPartitionerBuilder</code></p>
+</li>
+<li>
+<p>`KuduPartitioner</p>
+</li>
+<li>
+<p><code>KuduScanner::SetRowFormatFlags</code> (unstable API)</p>
+</li>
+<li>
+<p><code>KuduScanBatch::direct_data</code>, <code>KuduScanBatch::indirect_data</code> (unstable API)</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>The Kudu 1.4 Python client is API-compatible with Kudu 1.3. Applications
+written against Kudu 1.3 will continue to run against the Kudu 1.4 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.3.0"><a class="link" href="#rn_1.3.0">Release notes specific to 1.3.0</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.3.0_new_features"><a class="link" href="#rn_1.3.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.3 adds support for strong authentication based on Kerberos. This optional feature
+allows users to authenticate themselves using Kerberos tickets, and also provides
+mutual authentication of servers using Kerberos credentials stored in keytabs. This
+feature is optional, but recommended for deployments requiring security.</p>
+</li>
+<li>
+<p>Kudu 1.3 adds support for encryption of data on the network using Transport Layer Security
+(TLS). Kudu will now use TLS to encrypt all network traffic between clients and servers as
+well as any internal traffic among servers, with the exception of traffic determined to
+be within a localhost network connection. Encryption is enabled by default whenever it can
+be determined that both the client and server support the feature.</p>
+</li>
+<li>
+<p>Kudu 1.3 adds coarse-grained service-level authorization of access to the cluster.
+The operator may set up lists of permitted users who may act as administrators and
+as clients of the cluster. Combined with the strong authentication feature described
+above, this can enable a secure environment for some use cases. Note that fine-grained
+access control (e.g. table-level or column-level) is not yet supported.</p>
+</li>
+<li>
+<p>Kudu 1.3 adds a background task to tablet servers which removes historical versions of
+data which have fallen behind the configured data retention time. This reduces disk space
+usage in all workloads, but particularly in those with a higher volume of updates or
+upserts.</p>
+</li>
+<li>
+<p>Kudu now incorporates Google Breakpad, a library which writes crash reports in
+the case of a server crash. These reports can be found within the configured log directory,
+and can be useful during bug diagnosis.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_optimizations_and_improvements_4"><a class="link" href="#_optimizations_and_improvements_4">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu servers will now change the file permissions of data directories and contained
+data files based on a new configuration flag <code>--umask</code>. As a result, after upgrading,
+permissions on disk may be more restrictive than in previous versions. The new default
+configuration improves data security.</p>
+</li>
+<li>
+<p>Kudu&#8217;s web UI will now redact strings which may include sensitive user data. For example,
+the monitoring page which shows in-progress scans no longer includes the scanner predicate
+values. The tracing and RPC diagnostics endpoints no longer include contents of RPCs which
+may include table data.</p>
+</li>
+<li>
+<p>By default, Kudu now reserves 1% of each configured data volume as free space. If a volume
+is seen to have less than 1% of disk space free, Kudu will stop writing to that volume
+to avoid completely filling up the disk.</p>
+</li>
+<li>
+<p>The default encoding for numeric columns (int, float, and double) has been changed
+to <code>BIT_SHUFFLE</code>. The default encoding for binary and string columns has been
+changed to <code>DICT_ENCODING</code>. Dictionary encoding automatically falls back to the old
+default (<code>PLAIN</code>) when cardinality is too high to be effectively encoded.</p>
+<div class="paragraph">
+<p>These new defaults match the default behavior of other storage mechanisms such as
+  Apache Parquet and are likely to perform better out of the box.</p>
+</div>
+</li>
+<li>
+<p>Kudu now uses <code>LZ4</code> compression when writing its Write Ahead Log (WAL). This improves
+write performance and stability for many use cases.</p>
+</li>
+<li>
+<p>Kudu now uses <code>LZ4</code> compression when writing delta files. This can improve both
+read and write performance as well as save substantial disk usage, especially
+for workloads involving a high number of updates or upserts containing compressible
+data.</p>
+</li>
+<li>
+<p>The Kudu API now supports the ability to express <code>IS NULL</code> and <code>IS NOT NULL</code> predicates
+on scanners. The Spark DataSource integration will take advantage of these new
+predicates when possible.</p>
+</li>
+<li>
+<p>Both C&#43;&#43; and Java clients have been optimized to prune partitions more effectively
+when performing scans using the <code>IN (&#8230;&#8203;)</code> predicate.</p>
+</li>
+<li>
+<p>The exception messages produced by the Java client are now truncated to a maximum length
+of 32KB.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.3.0_fixed_issues"><a class="link" href="#rn_1.3.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1893">KUDU-1893</a>
+Fixed a critical bug in which wrong results would be returned when evaluating
+predicates applied to columns added using the <code>ALTER TABLE</code> operation.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1905">KUDU-1905</a>
+Fixed a crash after inserting a row sharing a primary key with a recently-deleted
+row in tables where the primary key is comprised of all of the columns.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1899">KUDU-1899</a>
+Fixed a crash after inserting a row with an empty string as the single-column
+primary key.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1904">KUDU-1904</a>
+Fixed a potential crash when performing random reads against a column using RLE
+encoding and containing long runs of NULL values.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1853">KUDU-1853</a>
+Fixed an issue where disk space could be leaked on servers which experienced an error
+during the process of copying tablet data from another server.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1856">KUDU-1856</a>
+Fixed an issue in which disk space could be leaked by Kudu servers storing data on
+partitions using the XFS file system. Any leaked disk space will be automatically
+recovered upon upgrade.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1888">KUDU-1888</a>,
+<a href="https://issues.apache.org/jira/browse/KUDU-1906">KUDU-1906</a>
+Fixed multiple issues in the Java client where operation callbacks would never be
+triggered, causing the client to hang.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.3.0_wire_compatibility"><a class="link" href="#rn_1.3.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.3.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.3 clients may connect to servers running Kudu 1.0. If the client uses features
+that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.3 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.2 and Kudu 1.3 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features newly introduced in Kudu 1.3 place the following limitations
+on wire compatibility with older versions:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.3 cluster is configured with authentication or encryption set to "required",
+older clients will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.3 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.3.0_incompatible_changes"><a class="link" href="#rn_1.3.0_incompatible_changes">Incompatible Changes in Kudu 1.3.0</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Due to storage format changes in Kudu 1.3, downgrade from Kudu 1.3 to earlier versions
+is not supported. After upgrading to Kudu 1.3, attempting to restart with an earlier
+version will result in an error.</p>
+</li>
+<li>
+<p>In order to support running MapReduce and Spark jobs on secure clusters, these
+frameworks now connect to the cluster at job submission time to retrieve authentication
+credentials which can later be used by the tasks to be spawned. This means that
+the process submitting jobs to Kudu clusters must have direct access to that cluster.</p>
+</li>
+<li>
+<p>The embedded web servers in Kudu processes now specify the <code>X-Frame-Options: DENY</code> HTTP
+header which prevents embedding Kudu web pages in HTML <code>iframe</code> elements.</p>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="rn_1.3.0_client_compatibility"><a class="link" href="#rn_1.3.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.3 Java client library is API- and ABI-compatible with Kudu 1.2. Applications
+written against Kudu 1.2 will compile and run against the Kudu 1.3 client library and
+vice-versa, unless one of the following newly added APIs is used:</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>[Async]KuduClient.exportAuthenticationCredentials(&#8230;&#8203;)</code> (unstable API)</p>
+</li>
+<li>
+<p><code>[Async]KuduClient.importAuthenticationCredentials(&#8230;&#8203;)</code> (unstable API)</p>
+</li>
+<li>
+<p><code>[Async]KuduClient.getMasterAddressesAsString()</code></p>
+</li>
+<li>
+<p><code>KuduPredicate.newIsNotNullPredicate()</code></p>
+</li>
+<li>
+<p><code>KuduPredicate.newIsNullPredicate()</code></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>The Kudu 1.3 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.2.
+Applications written and compiled against the Kudu 1.2 client library will run without
+modification against the Kudu 1.3 client library. Applications written and compiled
+against the Kudu 1.3 client library will run without modification against the Kudu 1.2
+client library unless they use one of the following new APIs:</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>kudu::DisableOpenSSLInitialization()</code></p>
+</li>
+<li>
+<p><code>KuduClientBuilder::import_authentication_credentials(&#8230;&#8203;)</code></p>
+</li>
+<li>
+<p><code>KuduClient::ExportAuthenticationCredentials(&#8230;&#8203;)</code></p>
+</li>
+<li>
+<p><code>KuduClient::NewIsNotNullPredicate(&#8230;&#8203;)</code></p>
+</li>
+<li>
+<p><code>KuduClient::NewIsNullPredicate(&#8230;&#8203;)</code></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>The Kudu 1.3 Python client is API-compatible with Kudu 1.2. Applications
+written against Kudu 1.2 will continue to run against the Kudu 1.3 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.2.0"><a class="link" href="#rn_1.2.0">Release notes specific to 1.2.0</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.2.0_new_features"><a class="link" href="#rn_1.2.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu clients and servers now redact user data such as cell values
+from log messages, Java exception messages, and <code>Status</code> strings.
+User metadata such as table names, column names, and partition
+bounds are not redacted.</p>
+<div class="paragraph">
+<p>Redaction is enabled by default, but may be disabled by setting the new
+<code>log_redact_user_data</code> flag to <code>false</code>.</p>
+</div>
+</li>
+<li>
+<p>Kudu&#8217;s ability to provide consistency guarantees has been substantially
+improved:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Replicas now correctly track their "safe timestamp". This timestamp
+is the maximum timestamp at which reads are guaranteed to be
+repeatable.</p>
+</li>
+<li>
+<p>A scan created using the <code>SCAN_AT_SNAPSHOT</code> mode will now
+either wait for the requested snapshot to be "safe" at the replica
+being scanned, or be re-routed to a replica where the requested
+snapshot is "safe". This ensures that all such scans are repeatable.</p>
+</li>
+<li>
+<p>Kudu Tablet Servers now properly retain historical data when a row
+with a given primary key is inserted and deleted, followed by the
+insertion of a new row with the same key. Previous versions of Kudu
+would not retain history in such situations. This allows the server
+to return correct results for snapshot scans with a timestamp in the
+past, even in the presence of such "reinsertion" scenarios.</p>
+</li>
+<li>
+<p>The Kudu clients now automatically retain the timestamp of their latest
+successful read or write operation. Scans using the <code>READ_AT_SNAPSHOT</code> mode
+without a client-provided timestamp automatically assign a timestamp
+higher than the timestamp of their most recent write. Writes also propagate
+the timestamp, ensuring that sequences of operations with causal dependencies
+between them are assigned increasing timestamps. Together, these changes
+allow clients to achieve read-your-writes consistency, and also ensure
+that snapshot scans performed by other clients return causally-consistent
+results.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Kudu servers now automatically limit the number of log files.
+The number of log files retained can be configured using the
+<code>max_log_files</code> flag. By default, 10 log files will be retained
+at each severity level.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_optimizations_and_improvements_5"><a class="link" href="#_optimizations_and_improvements_5">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The logging in the Java and C&#43;&#43; clients has been substantially quieted.
+Clients no longer log messages in normal operation unless there
+is some kind of error.</p>
+</li>
+<li>
+<p>The C&#43;&#43; client now includes a <code>KuduSession::SetErrorBufferSpace</code>
+API which can limit the amount of memory used to buffer
+errors from asynchronous operations.</p>
+</li>
+<li>
+<p>The Java client now fetches tablet locations from the Kudu Master
+in batches of 1000, increased from batches of 10 in prior versions.
+This can substantially improve the performance of Spark and Impala
+queries running against Kudu tables with large numbers of tablets.</p>
+</li>
+<li>
+<p>Table metadata lock contention in the Kudu Master was substantially
+reduced. This improves the performance of tablet location lookups on
+large clusters with a high degree of concurrency.</p>
+</li>
+<li>
+<p>Lock contention in the Kudu Tablet Server during high-concurrency
+write workloads was also reduced. This can reduce CPU consumption and
+improve performance when a large number of concurrent clients are writing
+to a smaller number of a servers.</p>
+</li>
+<li>
+<p>Lock contention when writing log messages has been substantially reduced.
+This source of contention could cause high tail latencies on requests,
+and when under high load could contribute to cluster instability
+such as election storms and request timeouts.</p>
+</li>
+<li>
+<p>The <code>BITSHUFFLE</code> column encoding has been optimized to use the <code>AVX2</code>
+instruction set present on processors including Intel&#174; Sandy Bridge
+and later. Scans on <code>BITSHUFFLE</code>-encoded columns are now up to 30% faster.</p>
+</li>
+<li>
+<p>The <code>kudu</code> tool now accepts hyphens as an alternative to underscores
+when specifying actions. For example, <code>kudu local-replica copy-from-remote</code>
+may be used as an alternative to <code>kudu local_replica copy_from_remote</code>.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.2.0_fixed_issues"><a class="link" href="#rn_1.2.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1508">KUDU-1508</a>
+Fixed a long-standing issue in which running Kudu on <code>ext4</code> file systems
+could cause file system corruption.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1399">KUDU-1399</a>
+Implemented an LRU cache for open files, which prevents running out of
+file descriptors on long-lived Kudu clusters. By default, Kudu will
+limit its file descriptor usage to half of its configured <code>ulimit</code>.</p>
+</li>
+<li>
+<p><a href="http://gerrit.cloudera.org:8080/5192">Gerrit #5192</a>
+Fixed an issue which caused data corruption and crashes in the case that
+a table had a non-composite (single-column) primary key, and that column
+was specified to use <code>DICT_ENCODING</code> or <code>BITSHUFFLE</code> encodings. If a
+table with an affected schema was written in previous versions of Kudu,
+the corruption will not be automatically repaired; users are encouraged
+to re-insert such tables after upgrading to Kudu 1.2 or later.</p>
+</li>
+<li>
+<p><a href="http://gerrit.cloudera.org:8080/5541">Gerrit #5541</a>
+Fixed a bug in the Spark <code>KuduRDD</code> implementation which could cause
+rows in the result set to be silently skipped in some cases.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1551">KUDU-1551</a>
+Fixed an issue in which the tablet server would crash on restart in the
+case that it had previously crashed during the process of allocating
+a new WAL segment.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1764">KUDU-1764</a>
+Fixed an issue where Kudu servers would leak approximately 16-32MB of disk
+space for every 10GB of data written to disk. After upgrading to Kudu
+1.2 or later, any disk space leaked in previous versions will be
+automatically recovered on startup.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1750">KUDU-1750</a>
+Fixed an issue where the API to drop a range partition would drop any
+partition with a matching lower <em>or</em> upper bound, rather than any partition
+with matching lower <em>and</em> upper bound.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1766">KUDU-1766</a>
+Fixed an issue in the Java client where equality predicates which compared
+an integer column to its maximum possible value (e.g. <code>Integer.MAX_VALUE</code>)
+would return incorrect results.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1780">KUDU-1780</a>
+Fixed the <code>kudu-client</code> Java artifact to properly shade classes in the
+<code>com.google.thirdparty</code> namespace. The lack of proper shading in prior
+releases could cause conflicts with certain versions of Google Guava.</p>
+</li>
+<li>
+<p><a href="http://gerrit.cloudera.org:8080/5327">Gerrit #5327</a>
+Fixed shading issues in the <code>kudu-flume-sink</code> Java artifact. The sink
+now expects that Hadoop dependencies are provided by Flume, and properly
+shades the Kudu client&#8217;s dependencies.</p>
+</li>
+<li>
+<p>Fixed a few issues using the Python client library from Python 3.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.2.0_wire_compatibility"><a class="link" href="#rn_1.2.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.2.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.2 clients may connect to servers running Kudu 1.0. If the client uses features
+that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.2 without limitations.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.1 and Kudu 1.2 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.2.0_incompatible_changes"><a class="link" href="#rn_1.2.0_incompatible_changes">Incompatible Changes in Kudu 1.2.0</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The replication factor of tables is now limited to a maximum of 7. In addition,
+it is no longer allowed to create a table with an even replication factor.</p>
+</li>
+<li>
+<p>The <code>GROUP_VARINT</code> encoding is now deprecated. Kudu servers have never supported
+this encoding, and now the client-side constant has been deprecated to match the
+server&#8217;s capabilities.</p>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="_new_restrictions_on_data_schemas_and_identifiers"><a class="link" href="#_new_restrictions_on_data_schemas_and_identifiers">New Restrictions on Data, Schemas, and Identifiers</a></h3>
+<div class="paragraph">
+<p>Kudu 1.2.0 introduces several new restrictions on schemas, cell size, and identifiers:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Number of Columns</dt>
+<dd>
+<p>By default, Kudu will not permit the creation of tables with
+more than 300 columns. We recommend schema designs that use fewer columns for best
+performance.</p>
+</dd>
+<dt class="hdlist1">Size of Cells</dt>
+<dd>
+<p>No individual cell may be larger than 64KB. The cells making up a
+a composite key are limited to a total of 16KB after the internal composite-key encoding
+done by Kudu. Inserting rows not conforming to these limitations will result in errors
+being returned to the client.</p>
+</dd>
+<dt class="hdlist1">Valid Identifiers</dt>
+<dd>
+<p>Identifiers such as column and table names are now restricted to
+be valid UTF-8 strings. Additionally, a maximum length of 256 characters is enforced.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_1.2.0_client_compatibility"><a class="link" href="#rn_1.2.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.2 Java client is API- and ABI-compatible with Kudu 1.1. Applications
+written against Kudu 1.1 will compile and run against the Kudu 1.2 client and
+vice-versa.</p>
+</li>
+<li>
+<p>The Kudu 1.2 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.1.
+Applications written and compiled against the Kudu 1.1 client will run without
+modification against the Kudu 1.2 client. Applications written and compiled
+against the Kudu 1.2 client will run without modification against the Kudu 1.1
+client unless they use one of the following new APIs:</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>kudu::DisableSaslInitialization()</code></p>
+</li>
+<li>
+<p><code>KuduSession::SetErrorBufferSpace(&#8230;&#8203;)</code></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>The Kudu 1.2 Python client is API-compatible with Kudu 1.1. Applications
+written against Kudu 1.1 will continue to run against the Kudu 1.2 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.1.0"><a class="link" href="#rn_1.1.0">Release notes specific to 1.1.0</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.1.0_new_features"><a class="link" href="#rn_1.1.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The Python client has been brought up to feature parity with the Java and C&#43;&#43; clients
+and as such the package version will be brought to 1.1 with this release (from 0.3). A
+list of the highlights can be found below.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Improved Partial Row semantics</p>
+</li>
+<li>
+<p>Range partition support</p>
+</li>
+<li>
+<p>Scan Token API</p>
+</li>
+<li>
+<p>Enhanced predicate support</p>
+</li>
+<li>
+<p>Support for all Kudu data types (including a mapping of Python&#8217;s <code>datetime.datetime</code> to
+<code>UNIXTIME_MICROS</code>)</p>
+</li>
+<li>
+<p>Alter table support</p>
+</li>
+<li>
+<p>Enabled Read at Snapshot for Scanners</p>
+</li>
+<li>
+<p>Enabled Scanner Replica Selection</p>
+</li>
+<li>
+<p>A few bug fixes for Python 3 in addition to various other improvements.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>IN LIST predicate pushdown support was added to allow optimized execution of filters which
+match on a set of column values. Support for Spark, Map Reduce and Impala queries utilizing
+IN LIST pushdown is not yet complete.</p>
+</li>
+<li>
+<p>The Java client now features client-side request tracing in order to help troubleshoot timeouts.
+Error messages are now augmented with traces that show which servers were contacted before the
+timeout occurred instead of just the last error. The traces also contain RPCs that were
+required to fulfill the client&#8217;s request, such as contacting the master to discover a tablet&#8217;s
+location. Note that the traces are not available for successful requests and are not
+programmatically queryable.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_optimizations_and_improvements_6"><a class="link" href="#_optimizations_and_improvements_6">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu now publishes JAR files for Spark 2.0 compiled with Scala 2.11 along with the
+existing Spark 1.6 JAR compiled with Scala 2.10.</p>
+</li>
+<li>
+<p>The Java client now allows configuring scanners to read from the closest replica instead of
+the known leader replica. The default remains the latter. Use the relevant <code>ReplicaSelection</code>
+enum with the scanner&#8217;s builder to change this behavior.</p>
+</li>
+<li>
+<p>Tablet servers use a new policy for retaining write-ahead log (WAL) segments.
+Previously, servers used the 'log_min_segments_to_retain' flag to prioritize
+any flushes which were retaining log segments past the configured value (default 2).
+This policy caused servers to flush in-memory data more frequently than necessary,
+limiting write performance.</p>
+<div class="paragraph">
+<p>The new policy introduces a new flag 'log_target_replay_size_mb' which
+  determines the threshold at which write-ahead log retention will prioritize flushes.
+  The new flag is considered experimental and users should not need to modify
+  its value.</p>
+</div>
+<div class="paragraph">
+<p>The improved policy has been seen to improve write performance in some use cases
+  by a factor of 2x relative to the old policy.</p>
+</div>
+</li>
+<li>
+<p>Kudu&#8217;s implementation of the Raft consensus algorithm has been improved to include
+a "pre-election" phase. This can improve the stability of tablet leader election
+in high-load scenarios, especially if each server hosts a high number of tablets.</p>
+</li>
+<li>
+<p>Tablet server start-up time has been substantially improved in the case that
+the server contains a high number of tombstoned tablet replicas.</p>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="_command_line_tools"><a class="link" href="#_command_line_tools">Command line tools</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The tool <code>kudu tablet leader_step_down</code> has been added to manually force a leader to step down.</p>
+</li>
+<li>
+<p>The tool <code>kudu remote_replica copy</code> has been added to manually copy a replica from
+one running tablet server to another.</p>
+</li>
+<li>
+<p>The tool <code>kudu local_replica delete</code> has been added to delete a replica of a tablet.</p>
+</li>
+<li>
+<p>The <code>kudu test loadgen</code> tool has been added to replace the obsoleted
+<code>insert-generated-rows</code> standalone binary. The new tool is enriched with
+additional functionality and can be used to run load generation tests against
+a Kudu cluster.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_wire_protocol_compatibility"><a class="link" href="#_wire_protocol_compatibility">Wire protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.1.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.1 clients may connect to servers running Kudu 1.0. If the client uses the new
+'IN LIST' predicate type, an error will be returned.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.1 without limitations.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.0 and Kudu 1.1 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.1.0_incompatible_changes"><a class="link" href="#rn_1.1.0_incompatible_changes">Incompatible changes in Kudu 1.1.0</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_client_apis_cjavapython"><a class="link" href="#_client_apis_cjavapython">Client APIs (C&#43;&#43;/Java/Python)</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The C&#43;&#43; client no longer requires the
+<a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html">old gcc5 ABI</a>.
+Which ABI is actually used depends on the compiler configuration. Some new distros
+(e.g. Ubuntu 16.04) will use the new ABI. Your application must use the same ABI as is
+used by the client library; an easy way to guarantee this is to use the same compiler
+to build both.</p>
+</li>
+<li>
+<p>The C&#43;&#43; client&#8217;s <code>KuduSession::CountBufferedOperations()</code> method is
+deprecated. Its behavior is inconsistent unless the session runs in the
+<code>MANUAL_FLUSH</code> mode. Instead, to get number of buffered operations, count
+invocations of the <code>KuduSession::Apply()</code> method since last
+<code>KuduSession::Flush()</code> call or, if using asynchronous flushing, since last
+invocation of the callback passed into <code>KuduSession::FlushAsync()</code>.</p>
+</li>
+<li>
+<p>The Java client&#8217;s <code>OperationResponse.getWriteTimestamp</code> method was renamed to <code>getWriteTimestampRaw</code>
+to emphasize that it doesn&#8217;t return milliseconds, unlike what its Javadoc indicated. The renamed
+method was also hidden from the public APIs and should not be used.</p>
+</li>
+<li>
+<p>The Java client&#8217;s sync API (<code>KuduClient</code>, <code>KuduSession</code>, <code>KuduScanner</code>) used to throw either
+a <code>NonRecoverableException</code> or a <code>TimeoutException</code> for a timeout, and now it&#8217;s only possible for the
+client to throw the former.</p>
+</li>
+<li>
+<p>The Java client&#8217;s handling of errors in <code>KuduSession</code> was modified so that subclasses of
+<code>KuduException</code> are converted into RowErrors instead of being thrown.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.0.1"><a class="link" href="#rn_1.0.1">Release notes specific to 1.0.1</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Apache Kudu 1.0.1 is a bug fix release, with no new features or backwards
+incompatible changes.</p>
+</div>
+<div class="sect2">
+<h3 id="rn_1.0.1_fixed_issues"><a class="link" href="#rn_1.0.1_fixed_issues">Fixed Issues</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1681">KUDU-1681</a> Fixed a bug in
+the tablet server which could cause a crash when the DNS lookup during master
+heartbeat failed.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1660">KUDU-1660</a>: Fixed a bug
+which would cause the Kudu master and tablet server to fail to start on single
+CPU systems.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1651">KUDU-1652</a>: Fixed a bug
+that would cause the C++ client, tablet server, and Java client to crash or
+throw an exception when attempting to scan a table with a predicate which
+simplifies to <code>IS NOT NULL</code> on a non-nullable column. For instance, setting a
+<code>&#8656; 127</code> predicate on an <code>INT8</code> column could trigger this bug, since the
+predicate only filters null values.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1651">KUDU-1651</a>: Fixed a bug
+that would cause the tablet server to crash when evaluating a scan with
+predicates over a dictionary encoded column containing an entire block of null
+values.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1623">KUDU-1623</a>: Fixed a bug
+that would cause the tablet server to crash when handling UPSERT operations
+that only set values for the primary key columns.</p>
+</li>
+<li>
+<p><a href="http://gerrit.cloudera.org:8080/4488">Gerrit #4488</a> Fixed a bug in the
+Java client&#8217;s KuduException class which could cause an unexpected
+NullPointerException to be thrown when the exception did not have an
+associated message.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1090">KUDU-1090</a> Fixed a bug in
+the memory tracker which could cause a rare crash during tablet server
+startup.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.0.0"><a class="link" href="#rn_1.0.0">Release notes specific to 1.0.0</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>After approximately a year of beta releases, Apache Kudu has reached version 1.0.
+This version number signifies that the development team feels that Kudu is stable
+enough for usage in production environments.</p>
+</div>
+<div class="paragraph">
+<p>If you are new to Kudu, check out its list of <a href="index.html">features and benefits</a>.</p>
+</div>
+<div class="sect2">
+<h3 id="rn_1.0.0_new_features"><a class="link" href="#rn_1.0.0_new_features">New features</a></h3>
+<div class="paragraph">
+<p>Kudu 1.0.0 delivers a number of new features, bug fixes, and optimizations.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Removal of multiversion concurrency control (MVCC) history is now supported.
+This is known as tablet history GC. This allows Kudu to reclaim disk space,
+where previously Kudu would keep a full history of all changes made to a
+given table since the beginning of time. Previously, the only way to reclaim
+disk space was to drop a table.</p>
+<div class="paragraph">
+<p>Kudu will still keep historical data, and the amount of history retained is
+  controlled by setting the configuration flag <code>--tablet_history_max_age_sec</code>,
+  which defaults to 15 minutes (expressed in seconds). The timestamp
+  represented by the current time minus <code>tablet_history_max_age_sec</code> is known
+  as the ancient history mark (AHM). When a compaction or flush occurs, Kudu
+  will remove the history of changes made prior to the ancient history mark.
+  This only affects historical data; currently-visible data will not be
+  removed. A specialized maintenance manager background task to remove existing
+  "cold" historical data that is not in a row affected by the normal compaction
+  process will be added in a future release.</p>
+</div>
+</li>
+<li>
+<p>Most of Kudu&#8217;s command line tools have been consolidated under a new
+top-level <code>kudu</code> tool. This reduces the number of large binaries distributed
+with Kudu and also includes much-improved help output.</p>
+</li>
+<li>
+<p>The Kudu Flume Sink now supports processing events containing Avro-encoded
+records, using the new <code>AvroKuduOperationsProducer</code>.</p>
+</li>
+<li>
+<p>Administrative tools including <code>kudu cluster ksck</code> now support running
+against multi-master Kudu clusters.</p>
+</li>
+<li>
+<p>The output of the <code>ksck</code> tool is now colorized and much easier to read.</p>
+</li>
+<li>
+<p>The C&#43;&#43; client API now supports writing data in <code>AUTO_FLUSH_BACKGROUND</code> mode.
+This can provide higher throughput for ingest workloads.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_optimizations_and_improvements_7"><a class="link" href="#_optimizations_and_improvements_7">Optimizations and improvements</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The performance of comparison predicates on dictionary-encoded columns has
+been substantially optimized. Users are encouraged to use dictionary encoding
+on any string or binary columns with low cardinality, especially if these
+columns will be filtered with predicates.</p>
+</li>
+<li>
+<p>The Java client is now able to prune partitions from scanners based on the
+provided predicates. For example, an equality predicate on a hash-partitioned
+column will now only access those tablets that could possibly contain matching
+data. This is expected to improve performance for the Spark integration as well
+as applications using the Java client API.</p>
+</li>
+<li>
+<p>The performance of compaction selection in the tablet server has been
+substantially improved. This can increase the efficiency of the background
+maintenance threads and improve overall throughput of heavy write workloads.</p>
+</li>
+<li>
+<p>The policy by which the tablet server retains write-ahead log (WAL) files has
+been improved so that it takes into account other replicas of the tablet.
+This should help mitigate the spurious eviction of tablet replicas on machines
+that temporarily lag behind the other replicas.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_wire_protocol_compatibility_2"><a class="link" href="#_wire_protocol_compatibility_2">Wire protocol compatibility</a></h3>
+<div class="paragraph">
+<p>Kudu 1.0.0 maintains client-server wire-compatibility with previous releases.
+Applications using the Kudu client libraries may be upgraded either
+before, at the same time, or after the Kudu servers.</p>
+</div>
+<div class="paragraph">
+<p>Kudu 1.0.0 does <em>not</em> maintain server-server wire compatibility with previous
+releases. Therefore, rolling upgrades between earlier versions of Kudu and
+Kudu 1.0.0 are not supported.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_1.0.0_incompatible_changes"><a class="link" href="#rn_1.0.0_incompatible_changes">Incompatible changes in Kudu 1.0.0</a></h3>
+<div class="sect3">
+<h4 id="_command_line_tools_2"><a class="link" href="#_command_line_tools_2">Command line tools</a></h4>
+<div class="ulist">
+<ul>
+<li>
+<p>The <code>kudu-pbc-dump</code> tool has been removed. The same functionality is now
+implemented as <code>kudu pbc dump</code>.</p>
+</li>
+<li>
+<p>The <code>kudu-ksck</code> tool has been removed. The same functionality is now
+implemented as <code>kudu cluster ksck</code>.</p>
+</li>
+<li>
+<p>The <code>cfile-dump</code> tool has been removed. The same functionality is now
+implemented as <code>kudu fs cfile dump</code>.</p>
+</li>
+<li>
+<p>The <code>log-dump</code> tool has been removed. The same functionality is now
+implemented as <code>kudu wal dump</code> and <code>kudu local_replica dump wals</code>.</p>
+</li>
+<li>
+<p>The <code>kudu-admin</code> tool has been removed. The same functionality is now
+implemented within <code>kudu table</code> and <code>kudu tablet</code>.</p>
+</li>
+<li>
+<p>The <code>kudu-fs_dump</code> tool has been removed. The same functionality is now
+implemented as <code>kudu fs dump</code>.</p>
+</li>
+<li>
+<p>The <code>kudu-ts-cli</code> tool has been removed. The same functionality is now
+implemented within <code>kudu master</code>, <code>kudu remote_replica</code>, and <code>kudu tserver</code>.</p>
+</li>
+<li>
+<p>The <code>kudu-fs_list</code> tool has been removed and some similar useful
+functionality has been moved under 'kudu local_replica'.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configuration_flags"><a class="link" href="#_configuration_flags">Configuration flags</a></h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Some configuration flags are now marked as 'unsafe' and 'experimental'. Such flags
+are disallowed by default. Users may access these flags by enabling the additional
+flags <code>--unlock_unsafe_flags</code> and <code>--unlock_experimental_flags</code>. Usage of such flags
+is not recommended, as the flags may be removed or modified with no deprecation period
+and without notice in future Kudu releases.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_client_apis_cjavapython_2"><a class="link" href="#_client_apis_cjavapython_2">Client APIs (C&#43;&#43;/Java/Python)</a></h4>
+<div class="ulist">
+<ul>
+<li>
+<p>The <code>TIMESTAMP</code> column type has been renamed to <code>UNIXTIME_MICROS</code> in order to
+reduce confusion between Kudu&#8217;s timestamp support and the timestamps supported
+by other systems such as Apache Hive and Apache Impala (incubating). Existing
+tables will automatically be updated to use the new name for the type.</p>
+<div class="paragraph">
+<p>Clients upgrading to the new client libraries must move to the new name for
+  the type.  Clients using old client libraries will continue to operate using
+  the old type name, even when connected to clusters that have been
+  upgraded. Similarly, if clients are upgraded before servers, existing
+  timestamp columns will be available using the new type name.</p>
+</div>
+</li>
+<li>
+<p><code>KuduSession</code> methods in the C&#43;&#43; library are no longer advertised as thread-safe
+to have one set of semantics for both C&#43;&#43; and Java Kudu client libraries.</p>
+</li>
+<li>
+<p>The <code>KuduScanToken::TabletServers</code> method in the C&#43;&#43; library has been removed.
+The same information can now be found in the KuduScanToken::tablet method.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_apache_flume_integration"><a class="link" href="#_apache_flume_integration">Apache Flume Integration</a></h4>
+<div class="ulist">
+<ul>
+<li>
+<p>The <code>KuduEventProducer</code> interface used to process Flume events into Kudu operations
+for the Kudu Flume Sink has changed, and has been renamed <code>KuduOperationsProducer</code>.
+The existing `KuduEventProducer`s have been updated for the new interface, and have
+been renamed similarly.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_0.10.0"><a class="link" href="#rn_0.10.0">Release notes specific to 0.10.0</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 0.10.0 delivers a number of new features, bug fixes, and optimizations,
+detailed below.</p>
+</div>
+<div class="paragraph">
+<p>Kudu 0.10.0 maintains wire-compatibility with previous releases, meaning
+that applications using the Kudu client libraries may be upgraded either
+before, at the same time, or after the Kudu servers. However, if you begin
+using new features of Kudu 0.10.0 such as manually range-partitioned tables,
+you must first upgrade all clients to this release.</p>
+</div>
+<div class="paragraph">
+<p>This release does not maintain full Java API or ABI compatibility with
+Kudu 0.9.x due to a package rename and some other small changes. See below for details.</p>
+</div>
+<div class="paragraph">
+<p>See also <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20KUDU%20AND%20status%20%3D%20Resolved
+%20AND%20fixVersion%20%3D%200.10.0">JIRAs resolved
+for Kudu 0.10.0</a> and <a href="https://github.com/apache/kudu/compare/0.9.1...0.10.0">Git
+changes between 0.9.1 and 0.10.0</a>.</p>
+</div>
+<div class="sect2">
+<h3 id="rn_0.10.0_incompatible_changes"><a class="link" href="#rn_0.10.0_incompatible_changes">Incompatible changes and deprecated APIs in 0.10.0</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="http://gerrit.cloudera.org:8080/3737">Gerrit #3737</a> The Java client has been repackaged
+under <code>org.apache.kudu</code> instead of <code>org.kududb</code>. Import statements for Kudu classes must
+be modified in order to compile against 0.10.0. Wire compatibility is maintained.</p>
+</li>
+<li>
+<p><a href="https://gerrit.cloudera.org/#/c/3055/">Gerrit #3055</a> The Java client&#8217;s
+synchronous API methods now throw <code>KuduException</code> instead of <code>Exception</code>.
+Existing code that catches <code>Exception</code> should still compile, but introspection of an
+exception&#8217;s message may be impacted. This change was made to allow thrown exceptions to be
+queried more easily using <code>KuduException.getStatus</code> and calling one of <code>Status&#8217;s methods.
+For example, an operation that tries to delete a table that doesn&#8217;t exist would return a
+`Status</code> that returns true when queried on <code>isNotFound()</code>.</p>
+</li>
+<li>
+<p>The Java client&#8217;s <code>KuduTable.getTabletsLocations</code> set of methods is now
+deprecated. Additionally, they now take an exclusive end partition key instead
+of an inclusive key. Applications are encouraged to use the scan tokens API
+instead of these methods in the future.</p>
+</li>
+<li>
+<p>The C++ API for specifying split points on range-partitioned tables has been improved
+to make it easier for callers to properly manage the ownership of the provided rows.</p>
+<div class="paragraph">
+<p>The <code>TableCreator::split_rows</code> API took a <code>vector&lt;const KuduPartialRow*&gt;</code>, which
+  made it very difficult for the calling application to do proper error handling with
+  cleanup when setting the fields of the <code>KuduPartialRow</code>. This API has been now been
+  deprecated and replaced by a new method <code>TableCreator::add_range_split</code> which allows
+  easier use of smart pointers for safe memory management.</p>
+</div>
+</li>
+<li>
+<p>The Java client&#8217;s internal buffering has been reworked. Previously, the number of
+buffered write operations was constrained on a per-tablet-server basis. Now, the configured
+maximum buffer size constrains the total number of buffered operations across all
+tablet servers in the cluster. This provides a more consistent bound on the memory
+usage of the client regardless of the size of the cluster to which it is writing.</p>
+<div class="paragraph">
+<p>This change can negatively affect the write performance of Java clients which rely on
+  buffered writes. Consider using the <code>setMutationBufferSpace</code> API to increase a
+  session&#8217;s maximum buffer size if write performance seems to be degraded after upgrading
+  to Kudu 0.10.0.</p>
+</div>
+</li>
+<li>
+<p>The "remote bootstrap" process used to copy a tablet replica from one host to
+another has been renamed to "Tablet Copy". This resulted in the renaming of
+several RPC metrics. Any users previously explicitly fetching or monitoring metrics
+related to Remote Bootstrap should update their scripts to reflect the new names.</p>
+</li>
+<li>
+<p>The SparkSQL datasource for Kudu no longer supports mode <code>Overwrite</code>. Users should
+use the new <code>KuduContext.upsertRows</code> method instead. Additionally, inserts using the
+datasource are now upserts by default. The older behavior can be restored by setting
+the <code>operation</code> parameter to <code>insert</code>.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.10.0_new_features"><a class="link" href="#rn_0.10.0_new_features">New features</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>Users may now manually manage the partitioning of a range-partitioned table.
+When a table is created, the user may specify a set of range partitions that
+do not cover the entire available key space. A user may add or drop range
+partitions to existing tables.</p>
+<div class="paragraph">
+<p>This feature can be particularly helpful with time series workloads in which
+  new partitions can be created on an hourly or daily basis. Old partitions
+  may be efficiently dropped if the application does not need to retain historical
+  data past a certain point.</p>
+</div>
+<div class="paragraph">
+<p>This feature is considered experimental for the 0.10 release. More details of
+  the new feature can be found in the accompanying
+  <a href="https://kudu.apache.org/2016/08/23/new-range-partitioning-features.html">blog post</a>.</p>
+</div>
+</li>
+<li>
+<p>Support for running Kudu clusters with multiple masters has been stabilized.
+Users may start a cluster with three or five masters to provide fault tolerance
+despite a failure of one or two masters, respectively.</p>
+<div class="paragraph">
+<p>Note that certain tools (e.g. <code>ksck</code>) are still lacking complete support for
+  multiple masters. These deficiencies will be addressed in a following release.</p>
+</div>
+</li>
+<li>
+<p>Kudu now supports the ability to reserve a certain amount of free disk space
+in each of its configured data directories. If a directory&#8217;s free disk space
+drops to less than the configured minimum, Kudu will stop writing to that
+directory until space becomes available. If no space is available in any
+configured directory, Kudu will abort.</p>
+<div class="paragraph">
+<p>This feature may be configured using the <code>fs_data_dirs_reserved_bytes</code> and
+  <code>fs_wal_dir_reserved_bytes</code> flags.</p>
+</div>
+</li>
+<li>
+<p>The Spark integration&#8217;s <code>KuduContext</code> now supports four new methods for writing to
+Kudu tables: <code>insertRows</code>, <code>upsertRows</code>, <code>updateRows</code>, and <code>deleteRows</code>. These are
+now the preferred way to write to Kudu tables from Spark.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.10.0_improvements"><a class="link" href="#rn_0.10.0_improvements">Improvements and optimizations</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1516">KUDU-1516</a> The <code>kudu-ksck</code> tool
+has been improved and now detects problems such as when a tablet does not have
+a majority of replicas on live tablet servers, or if those replicas aren’t in a
+good state. Users who currently depend on the tool to detect inconsistencies may now see
+failures when before they wouldn&#8217;t see any.</p>
+</li>
+<li>
+<p><a href="https://gerrit.cloudera.org:8080/3477">Gerrit #3477</a> The way operations are buffered in
+the Java client has been reworked. Previously, the session&#8217;s buffer size was set per tablet, meaning that a buffer
+size of 1,000 for 10 tablets being written to allowed for 10,000 operations to be buffered at the
+same time. With this change, all the tablets share one buffer, so users might need to set a
+bigger buffer size in order to reach the same level of performance as before.</p>
+</li>
+<li>
+<p><a href="https://gerrit.cloudera.org/#/c/3674/">Gerrit #3674</a> Added LESS and GREATER options for
+column predicates.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1444">KUDU-1444</a> added support for passing
+back basic per-scan metrics (e.g cache hit rate) from the server to the C++ client. See the
+<code>KuduScanner::GetResourceMetrics()</code> API for detailed usage. This feature will be supported
+in the Java client API in a future release.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1446">KUDU-1446</a> improved the order in
+which the tablet server evaluates predicates, so that predicates on smaller columns
+are evaluated first. This may improve performance on queries which apply predicates
+on multiple columns of different sizes.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1398">KUDU-1398</a> improved the storage
+efficiency of Kudu&#8217;s internal primary key indexes. This optimization should decrease space
+usage and improve random access performance, particularly for workloads with lengthy
+primary keys.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.10.0_fixed_issues"><a class="link" href="#rn_0.10.0_fixed_issues">Fixed Issues</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://gerrit.cloudera.org/#/c/3541/">Gerrit #3541</a> Fixed a problem in the Java client
+whereby an RPC could be dropped when a connection to a tablet server or master was forcefully
+closed on the server-side while RPCs to that server were in the process of being encoded.
+The effect was that the RPC would not be sent, and users of the synchronous API would receive
+a <code>TimeoutException</code>. Several other Java client bugs which could cause similar spurious timeouts
+were also fixed in this release.</p>
+</li>
+<li>
+<p><a href="https://gerrit.cloudera.org/<mark>/c/3724/">Gerrit #3724</a> Fixed a problem in the Java client
+whereby an RPC could be dropped when a socket timeout was fired while that RPC was being sent to
+a tablet server or master. This would manifest itself in the same way
+<a href="https://gerrit.cloudera.org/</mark>/c/3541/">Gerrit #3541</a>.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1538">KUDU-1538</a> fixed a bug in which recycled
+block identifiers could cause the tablet server to lose data. Following this bug fix, block
+identifiers will no longer be reused.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.10.0_changes"><a class="link" href="#rn_0.10.0_changes">Other noteworthy changes</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>This is the first release of Apache Kudu as a top-level (non-incubating)
+project!</p>
+</li>
+<li>
+<p>The default false positive rate for Bloom filters has been changed
+from 1% to 0.01%. This will increase the space consumption of Bloom
+filters by a factor of two (from approximately 10 bits per row to
+approximately 20 bits per row). This is expected to substantially
+improve the performance of random-write workloads at the cost of an
+incremental increase in disk space usage.</p>
+</li>
+<li>
+<p>The Kudu C++ client library now has Doxygen-based
+<a href="http://kudu.apache.org/cpp-client-api/">API documentation</a>
+available online.</p>
+</li>
+<li>
+<p>Kudu now
+<a href="http://kudu.apache.org/2016/06/17/raft-consensus-single-node.html">
+uses the Raft consensus algorithm even for unreplicated tables</a>.
+This change simplifies code and will also allow administrators to enable
+replication on a previously-unreplicated table. This change is internal and
+should not be visible to users.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_0.9.1"><a class="link" href="#rn_0.9.1">Release notes specific to 0.9.1</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 0.9.1 delivers incremental bug fixes over Kudu 0.9.0. It is fully compatible with
+Kudu 0.9.0.</p>
+</div>
+<div class="paragraph">
+<p>See also <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20KUDU%20AND%20status%20%3D%20Resolved
+%20AND%20fixVersion%20%3D%200.9.1">JIRAs resolved
+for Kudu 0.9.1</a> and <a href="https://github.com/apache/kudu/compare/0.9.0...0.9.1">Git
+changes between 0.9.0 and 0.9.1</a>.</p>
+</div>
+<div class="sect2">
+<h3 id="rn_0.9.1_fixed_issues"><a class="link" href="#rn_0.9.1_fixed_issues">Fixed Issues</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1469">KUDU-1469</a> fixed a bug in
+our Raft consensus implementation that could cause a tablet to stop making progress after a leader
+election.</p>
+</li>
+<li>
+<p><a href="https://gerrit.cloudera.org/#/c/3456/">Gerrit #3456</a> fixed a bug in which
+servers under high load could store metric information in incorrect memory
+locations, causing crashes or data corruption.</p>
+</li>
+<li>
+<p><a href="https://gerrit.cloudera.org/#/c/3457/">Gerrit #3457</a> fixed a bug in which
+errors from the Java client would carry an incorrect error message.</p>
+</li>
+<li>
+<p>Several other small bug fixes were backported to improve stability.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_0.9.0"><a class="link" href="#rn_0.9.0">Release notes specific to 0.9.0</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 0.9.0 delivers incremental features, improvements, and bug fixes over the previous versions.</p>
+</div>
+<div class="paragraph">
+<p>See also <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20KUDU%20AND%20status%20%3D%20Resolved
+%20AND%20fixVersion%20%3D%200.9.0">JIRAs resolved
+for Kudu 0.9.0</a> and <a href="https://github.com/apache/kudu/compare/0.8.0...0.9.0">Git
+changes between 0.8.0 and 0.9.0</a>.</p>
+</div>
+<div class="sect2">
+<h3 id="rn_0.9.0_incompatible_changes"><a class="link" href="#rn_0.9.0_incompatible_changes">Incompatible changes</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The <code>KuduTableInputFormat</code> command has changed the way in which it handles
+scan predicates, including how it serializes predicates to the job configuration
+object. The new configuration key is <code>kudu.mapreduce.encoded.predicate</code>. Clients
+using the <code>TableInputFormatConfigurator</code> are not affected.</p>
+</li>
+<li>
+<p>The <code>kudu-spark</code> sub-project has been renamed to follow naming conventions for
+Scala. The new name is <code>kudu-spark_2.10</code>.</p>
+</li>
+<li>
+<p>Default table partitioning has been removed. All tables must now be created
+with explicit partitioning. Existing tables are unaffected. See the
+<a href="schema_design.html#no_default_partitioning">schema design guide</a> for more
+details.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.9.0_new_features"><a class="link" href="#rn_0.9.0_new_features">New features</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1002">KUDU-1002</a> Added support for
+<code>UPSERT</code> operations, whereby a row is inserted if it does not already exist, but
+updated if it does. Support for <code>UPSERT</code> is included in Java, C++, and Python APIs,
+but not in Impala.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1306">KUDU-1306</a> Scan token API
+for creating partition-aware scan descriptors. This API simplifies executing
+parallel scans for clients and query engines.</p>
+</li>
+<li>
+<p><a href="http://gerrit.cloudera.org:8080/#/c/2848/">Gerrit 2848</a> Added a kudu datasource
+for Spark. This datasource uses the Kudu client directly instead of
+using the MapReduce API. Predicate pushdowns for <code>spark-sql</code> and Spark filters are
+included, as well as parallel retrieval for multiple tablets and column projections.
+See an example of <a href="developing.html#_kudu_integration_with_spark">Kudu integration with Spark</a>.</p>
+</li>
+<li>
+<p><a href="http://gerrit.cloudera.org:8080/#/c/2992/">Gerrit 2992</a> Added the ability
+to update and insert from Spark using a Kudu datasource.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.9.0_improvements"><a class="link" href="#rn_0.9.0_improvements">Improvements</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1415">KUDU-1415</a> Added statistics in the Java
+client such as the number of bytes written and the number of operations applied.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1451">KUDU-1451</a> Improved tablet server restart
+time when the tablet server needs to clean up of a lot previously deleted tablets. Tablets are
+now cleaned up after they are deleted.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.9.0_fixed_issues"><a class="link" href="#rn_0.9.0_fixed_issues">Fixed Issues</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-678">KUDU-678</a> Fixed a leak that happened during
+DiskRowSet compactions where tiny blocks were still written to disk even if there were no REDO
+records. With the default block manager, it usually resulted in block containers with thousands
+of tiny blocks.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1437">KUDU-1437</a> Fixed a data corruption issue
+that occured after compacting sequences of negative INT32 values in a column that
+was configured with RLE encoding.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.9.0_changes"><a class="link" href="#rn_0.9.0_changes">Other noteworthy changes</a></h3>
+<div class="paragraph">
+<p>All Kudu clients have longer default timeout values, as listed below.</p>
+</div>
+<div class="ulist">
+<div class="title">Java</div>
+<ul>
+<li>
+<p>The default operation timeout and the default admin operation timeout
+are now set to 30 seconds instead of 10.</p>
+</li>
+<li>
+<p>The default socket read timeout is now 10 seconds instead of 5.</p>
+</li>
+</ul>
+</div>
+<div class="ulist">
+<div class="title">C++</div>
+<ul>
+<li>
+<p>The default admin timeout is now 30 seconds instead of 10.</p>
+</li>
+<li>
+<p>The default RPC timeout is now 10 seconds instead of 5.</p>
+</li>
+<li>
+<p>The default scan timeout is now 30 seconds instead of 15.</p>
+</li>
+<li>
+<p>Some default settings related to I/O behavior during flushes and compactions have been changed:
+The default for <code>flush_threshold_mb</code> has been increased from 64MB to 1000MB. The default
+<code>cfile_do_on_finish</code> has been changed from <code>close</code> to <code>flush</code>.
+<a href="http://getkudu.io/2016/04/26/ycsb.html">Experiments using YCSB</a> indicate that these
+values will provide better throughput for write-heavy applications on typical server hardware.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_0.8.0"><a class="link" href="#rn_0.8.0">Release notes specific to 0.8.0</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 0.8.0 delivers incremental features, improvements, and bug fixes over the previous versions.</p>
+</div>
+<div class="paragraph">
+<p>See also <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20KUDU%20AND%20status%20%3D%20Resolved
+%20AND%20fixVersion%20%3D%200.8.0">JIRAs resolved
+for Kudu 0.8.0</a> and <a href="https://github.com/apache/kudu/compare/0.7.1...0.8.0">Git
+changes between 0.7.1 and 0.8.0</a>.</p>
+</div>
+<div class="paragraph">
+<p>To upgrade to Kudu 0.8.0, see <a href="installation.html#upgrade">Upgrade from 0.7.1 to 0.8.0</a>.</p>
+</div>
+<div class="sect2">
+<h3 id="rn_0.8.0_incompatible_changes"><a class="link" href="#rn_0.8.0_incompatible_changes">Incompatible changes</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>0.8.0 clients are not fully compatible with servers running Kudu 0.7.1 or lower.
+In particular, scans that specify column predicates will fail. To work around this
+issue, upgrade all Kudu servers before upgrading clients.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.8.0_new_features"><a class="link" href="#rn_0.8.0_new_features">New features</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-431">KUDU-431</a> A simple Flume
+sink has been implemented.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.8.0_improvements"><a class="link" href="#rn_0.8.0_improvements">Improvements</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-839">KUDU-839</a> Java RowError now uses an enum error code.</p>
+</li>
+<li>
+<p><a href="http://gerrit.cloudera.org:8080/#/c/2138/">Gerrit 2138</a> The handling of
+column predicates has been re-implemented in the server and clients.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1379">KUDU-1379</a> Partition pruning
+has been implemented for C++ clients (but not yet for the Java client). This feature
+allows you to avoid reading a tablet if you know it does not serve the row keys you are querying.</p>
+</li>
+<li>
+<p><a href="http://gerrit.cloudera.org:8080/#/c/2641">Gerrit 2641</a> Kudu now uses
+<code>earliest-deadline-first</code> RPC scheduling and rejection. This changes the behavior
+of the RPC service queue to prevent unfairness when processing a backlog of RPC
+threads and to increase the likelihood that an RPC will be processed before it
+can time out.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.8.0_fixed_issues"><a class="link" href="#rn_0.8.0_fixed_issues">Fixed Issues</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1337">KUDU-1337</a> Tablets from tables
+that were deleted might be unnecessarily re-bootstrapped when the leader gets the
+notification to delete itself after the replicas do.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-969">KUDU-969</a> If a tablet server
+shuts down while compacting a rowset and receiving updates for it, it might immediately
+crash upon restart while bootstrapping that rowset&#8217;s tablet.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1354">KUDU-1354</a> Due to a bug in Kudu&#8217;s
+MVCC implementation where row locks were released before the MVCC commit happened,
+flushed data would include out-of-order transactions, triggering a crash on the
+next compaction.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1322">KUDU-1322</a> The C++ client
+now retries write operations if the tablet it is trying to reach has already been
+deleted.</p>
+</li>
+<li>
+<p><a href="http://gerrit.cloudera.org:8080/#/c/2571/">Gerrit 2571</a> Due to a bug in the
+Java client, users were unable to close the <code>kudu-spark</code> shell because of
+lingering non-daemon threads.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.8.0_changes"><a class="link" href="#rn_0.8.0_changes">Other noteworthy changes</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="http://gerrit.cloudera.org:8080/#/c/2239/">Gerrit 2239</a> The concept of "feature flags"
+was introduced in order to manage compatibility between different
+Kudu versions. One case where this is helpful is if a newer client attempts to use
+a feature unsupported by the currently-running tablet server. Rather than receiving
+a cryptic error, the user gets an error message that is easier to interpret.
+This is an internal change for Kudu system developers and requires no action by
+users of the clients or API.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_0.7.1"><a class="link" href="#rn_0.7.1">Release notes specific to 0.7.1</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 0.7.1 is a bug fix release for 0.7.0.</p>
+</div>
+<div class="sect2">
+<h3 id="rn_0.7.1_fixed_issues"><a class="link" href="#rn_0.7.1_fixed_issues">Fixed Issues</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1325">KUDU-1325</a> fixes a tablet server crash that could
+occur during table deletion. In some cases, while a table was being deleted, other replicas would
+attempt to re-replicate tablets to servers that had already processed the deletion. This could
+trigger a race condition that caused a crash.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1341">KUDU-1341</a> fixes a potential data corruption and
+crash that could happen shortly after tablet server restarts in workloads that repeatedly delete
+and re-insert rows with the same primary key. In most cases, this corruption affected only a single
+replica and could be repaired by re-replicating from another.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1343">KUDU-1343</a> fixes a bug in the Java client that
+occurs when a scanner has to scan multiple batches from one tablet and then start scanning from
+another. In particular, this would affect any scans using the Java client that read large numbers
+of rows from multi-tablet tables.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1345">KUDU-1345</a> fixes a bug where in some cases the
+hybrid clock could jump backwards, resulting in a crash followed by an inability to
+restart the affected tablet server.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1360">KUDU-1360</a> fixes a bug in the kudu-spark module
+which prevented reading rows with <code>NULL</code> values.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_0.7.0"><a class="link" href="#rn_0.7.0">Release notes specific to 0.7.0</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 0.7.0 is the first release done as part of the Apache Incubator and includes a number
+of changes, new features, improvements, and fixes.</p>
+</div>
+<div class="paragraph">
+<p>See also <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20KUDU%20AND%20status%20in%20
+(Resolved)%20AND%20fixVersion%20%3D%200.7.0%20ORDER%20BY%20key%20ASC">JIRAs resolved
+for Kudu 0.7.0</a> and <a href="https://github.com/apache/kudu/compare/branch-0.6.0...branch-0.7.0">Git
+changes between 0.6.0 and 0.7.0</a>.</p>
+</div>
+<div class="paragraph">
+<p>The upgrade instructions can be found at <a href="installation.html#upgrade">Upgrade from 0.6.0 to 0.7.0</a>.</p>
+</div>
+<div class="sect2">
+<h3 id="rn_0.7.0_incompatible_changes"><a class="link" href="#rn_0.7.0_incompatible_changes">Incompatible changes</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The C++ client includes a new API, <code>KuduScanBatch</code>, which performs better when a
+large number of small rows are returned in a batch. The old API of <code>vector&lt;KuduRowResult&gt;</code>
+is deprecated.</p>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This change is API-compatible but <strong>not</strong> ABI-compatible.
+</td>
+</tr>
+</table>
+</div>
+</li>
+<li>
+<p>The default replication factor has been changed from 1 to 3. Existing tables will
+continue to use the replication factor they were created with. Applications that create
+tables may not work properly if they assume a replication factor of 1 and fewer than
+3 replicas are available. To use the previous default replication factor, start the
+master with the configuration flag <code>--default_num_replicas=1</code>.</p>
+</li>
+<li>
+<p>The Python client has been completely rewritten, with a focus on improving code
+quality and testing. The read path (scanners) has been improved by adding many of
+the features already supported by the C++ and Java clients. The Python client is no
+longer considered experimental.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.7.0_new_features"><a class="link" href="#rn_0.7.0_new_features">New features</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>With the goal of Spark integration in mind, a new <code>kuduRDD</code> API has been added,
+which wraps <code>newAPIHadoopRDD</code> and includes a default source for Spark SQL.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.7.0_improvements"><a class="link" href="#rn_0.7.0_improvements">Improvements</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Java client includes new methods <code>countPendingErrors()</code> and
+<code>getPendingErrors()</code> on <code>KuduSession</code>. These methods allow you to count and
+retrieve outstanding row errors when configuring sessions with <code>AUTO_FLUSH_BACKGROUND</code>.</p>
+</li>
+<li>
+<p>New server-level metrics allow you to monitor CPU usage and context switching.</p>
+</li>
+<li>
+<p>Kudu now builds on RHEL 7, CentOS 7, and SLES 12. Extra instructions are included
+for SLES 12.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.7.0_fixed_issues"><a class="link" href="#rn_0.7.0_fixed_issues">Fixed Issues</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1288">KUDU-1288</a> fixes a severe file descriptor
+leak, which could previously only be resolved by restarting the tablet server.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1250">KUDU-1250</a> fixes a hang in the Java
+client when processing an in-flight batch and the previous batch encountered an error.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="rn_0.7.0_changes"><a class="link" href="#rn_0.7.0_changes">Other noteworthy changes</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The file block manager&#8217;s performance was improved, but it is still not recommended for
+real-world use.</p>
+</li>
+<li>
+<p>The master now attempts to spread tablets more evenly across the cluster during
+table creation. This has no impact on existing tables, but will improve the speed
+at which under-replicated tablets are re-replicated after a tablet server failure.</p>
+</li>
+<li>
+<p>All licensing documents have been modified to adhere to ASF guidelines.</p>
+</li>
+<li>
+<p>Kudu now requires an out-of-tree build directory. Review the build instructions
+for additional information.</p>
+</li>
+<li>
+<p>The <code>C` client library is now explicitly built against the
+link:https://gcc.gnu.org/onlinedocs/libstdc/manual/using_dual_abi.html[old gcc5 ABI].
+If you use gcc5 to build a Kudu application, your application must use the old ABI
+as well. This is typically achieved by defining the `_GLIBCXX_USE_CXX11_ABI</code> macro
+at compile-time when building your application. For more information, see the
+previous link and link:http://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/.</p>
+</li>
+<li>
+<p>The Python client is no longer considered experimental.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_0.6.0"><a class="link" href="#rn_0.6.0">Release notes specific to 0.6.0</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The 0.6.0 release contains incremental improvements and bug fixes. The most notable
+changes are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The Java client&#8217;s CreateTableBuilder and AlterTableBuilder classes have been renamed
+to CreateTableOptions and AlterTableOptions. Their methods now also return <code>this</code> objects,
+allowing them to be used as builders.</p>
+</li>
+<li>
+<p>The Java client&#8217;s AbstractKuduScannerBuilder#maxNumBytes() setter is now called
+batchSizeBytes as is the corresponding property in AsyncKuduScanner. This makes it
+consistent with the C++ client.</p>
+</li>
+<li>
+<p>The "kudu-admin" tool can now list and delete tables via its new subcommands
+"list_tables" and "delete_table &lt;table_name&gt;".</p>
+</li>
+<li>
+<p>OSX is now supported for single-host development. Please consult its specific installation
+instructions in <a href="installation.html#osx_from_source">OS X</a>.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_0.5.0"><a class="link" href="#rn_0.5.0">Release Notes Specific to 0.5.0</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 0.5.0 was the first public release. As such, no improvements or changes were
+noted in its release notes.</p>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:34:59 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/quickstart.html b/releases/1.15.0/docs/quickstart.html
new file mode 100644
index 0000000..6d37b02
--- /dev/null
+++ b/releases/1.15.0/docs/quickstart.html
@@ -0,0 +1,608 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Quickstart</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Quickstart</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>Follow these instructions to set up and run a local Kudu Cluster using Docker,
+and get started using Apache Kudu in minutes.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This is intended for demonstration purposes only and shouldn&#8217;t
+be used for production or performance/scale testing.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="quickstart_vm"><a class="link" href="#quickstart_vm">Install Docker</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Follow the Docker <a href="https://docs.docker.com/install/">install documentation</a>
+to install docker in your Linux, Mac, or Windows environment.</p>
+</div>
+<div class="paragraph">
+<p>Configure the Docker install to have enough resources to run the quickstart guides.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://docs.docker.com/docker-for-mac/#resources">Docker for Mac Resource Configuration Guide</a></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>A minimum configuration that can run all the quickstart examples comfortably is:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>4 CPUs</p>
+</li>
+<li>
+<p>6 GB Memory</p>
+</li>
+<li>
+<p>50 GB Disk</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+You can likely get by with a lower resource configuration, but you may lose some performance and stability.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>You may also want to read through the Docker getting started guide, but that isn&#8217;t a requirement.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_clone_the_repository"><a class="link" href="#_clone_the_repository">Clone the Repository</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Clone the Apache Kudu repository using Git and change to the <code>kudu</code> directory:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">git clone https://github.com/apache/kudu
+cd kudu</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_start_the_quickstart_cluster"><a class="link" href="#_start_the_quickstart_cluster">Start the Quickstart Cluster</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_set_kudu_quickstart_ip"><a class="link" href="#_set_kudu_quickstart_ip">Set KUDU_QUICKSTART_IP</a></h3>
+<div class="paragraph">
+<p>Set the <code>KUDU_QUICKSTART_IP</code> environment variable to your ip address:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">export KUDU_QUICKSTART_IP=$(ifconfig | grep "inet " | grep -Fv 127.0.0.1 |  awk '{print $2}' | tail -1)</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_bring_up_the_cluster"><a class="link" href="#_bring_up_the_cluster">Bring up the Cluster</a></h3>
+<div class="paragraph">
+<p>Then use <code>docker-compose</code> to start a cluster with 3 master servers and 5 tablet servers.
+When inside the docker network/containers the master addresses will be
+<code>kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251</code> and when on the host machine
+you can specify the master addresses with <code>localhost:7051,localhost:7151,localhost:7251</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">docker-compose -f docker/quickstart.yml up -d</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">
+You can remove the <code>-d</code> flag to run the cluster in the foreground.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_view_the_web_ui"><a class="link" href="#_view_the_web_ui">View the Web-UI</a></h3>
+<div class="paragraph">
+<p>Once the cluster is started you can view the master web-ui by visiting <a href="localhost:8050">localhost:8050</a>.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_check_the_cluster_health"><a class="link" href="#_check_the_cluster_health">Check the cluster health</a></h3>
+<div class="paragraph">
+<p>Use the command below to get a bash shell in the <code>kudu-master-1</code> container:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">docker exec -it $(docker ps -aqf "name=kudu-master-1") /bin/bash</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You can now run the Kudu <code>ksck</code> tool to verify the cluster is healthy:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">kudu cluster ksck kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Alternatively, if you have a kudu binary available on your host machine,
+you can run <code>ksck</code> there via:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">export KUDU_USER_NAME=kudu
+kudu cluster ksck localhost:7051,localhost:7151,localhost:7251</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">
+Setting <code>KUDU_USER_NAME=kudu</code> simplifies using Kudu from various user
+accounts in a non-secure environment.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_running_a_brief_example"><a class="link" href="#_running_a_brief_example">Running a Brief Example</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Now that a Kudu cluster is up and running, examples and integrations can be
+run against the cluster. The commands below run the <code>java-example</code> against
+the quickstart cluster:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">export KUDU_USER_NAME=kudu
+cd examples/java/java-example
+mvn package
+java -DkuduMasters=localhost:7051,localhost:7151,localhost:7251 -jar target/kudu-java-example-1.0-SNAPSHOT.jar</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_more_examples"><a class="link" href="#_more_examples">More Examples</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>More complete walkthroughs using the quickstart Kudu cluster can be found in the
+<code>examples/quickstart</code> directory. For convenience you can browse them on
+<a href="https://github.com/apache/kudu/tree/master/examples/quickstart">Github</a>.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://github.com/apache/kudu/tree/master/examples/quickstart/nifi">NiFi Quickstart Guide</a></p>
+</li>
+<li>
+<p><a href="https://github.com/apache/kudu/tree/master/examples/quickstart/spark">Spark Quickstart Guide</a></p>
+</li>
+<li>
+<p><a href="https://github.com/apache/kudu/tree/master/examples/quickstart/impala">Impala Quickstart Guide</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_destroying_the_cluster"><a class="link" href="#_destroying_the_cluster">Destroying the Cluster</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Once you are done with the quickstart cluster you can shutdown in a couple of ways.
+If you ran <code>docker-compose</code> without the <code>-d</code> flag, you can use <code>ctrl + c</code> to
+stop the cluster.</p>
+</div>
+<div class="paragraph">
+<p>If you ran <code>docker-compose</code> with the <code>-d</code> flag, you can use the following to
+gracefully shutdown the cluster:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">docker-compose -f docker/quickstart.yml down</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Another alternative is to stop all of the Kudu containers via:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">docker stop $(docker ps -aqf "name=kudu")</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If you want to remove the cluster state you can also remove the docker
+containers and volumes via:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">docker rm $(docker ps -aqf "name=kudu")
+docker volume rm $(docker volume ls --filter name=kudu -q)</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_troubleshooting"><a class="link" href="#_troubleshooting">Troubleshooting</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_viewing_the_logs"><a class="link" href="#_viewing_the_logs">Viewing the logs</a></h3>
+<div class="paragraph">
+<p>To view the logs you can use the <code>docker logs</code> command. Below is an example
+that will show the logs one of the tablet servers:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">docker logs $(docker ps -aqf "name=kudu-tserver-1")</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_changing_the_kudu_version"><a class="link" href="#_changing_the_kudu_version">Changing the Kudu version</a></h3>
+<div class="paragraph">
+<p>To change the version of Kudu Docker images used you can override the default value
+of <code>latest</code> by setting the <code>KUDU_QUICKSTART_VERSION</code> environment variable.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">export KUDU_QUICKSTART_VERSION="1.14.0"</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_changing_the_kudu_configuration"><a class="link" href="#_changing_the_kudu_configuration">Changing the Kudu configuration</a></h3>
+<div class="paragraph">
+<p>To change the configuration flags passed to the master and tablet servers you
+can edit the <code>docker/quickstart.yml</code> file before starting the cluster.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_killing_a_kudu_master"><a class="link" href="#_killing_a_kudu_master">Killing a Kudu master</a></h3>
+<div class="paragraph">
+<p>Due to <a href="https://issues.apache.org/jira/browse/KUDU-1620">KUDU-1620</a> master hosts
+are always expected to be reachable.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_next_steps"><a class="link" href="#_next_steps">Next Steps</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="installation.html">Installing Kudu</a></p>
+</li>
+<li>
+<p><a href="configuration.html">Configuring Kudu</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+<span class="active-toc">Quickstart Guide</span>
+            <ul class="sectlevel1">
+<li><a href="#quickstart_vm">Install Docker</a></li>
+<li><a href="#_clone_the_repository">Clone the Repository</a></li>
+<li><a href="#_start_the_quickstart_cluster">Start the Quickstart Cluster</a>
+<ul class="sectlevel2">
+<li><a href="#_set_kudu_quickstart_ip">Set KUDU_QUICKSTART_IP</a></li>
+<li><a href="#_bring_up_the_cluster">Bring up the Cluster</a></li>
+<li><a href="#_view_the_web_ui">View the Web-UI</a></li>
+<li><a href="#_check_the_cluster_health">Check the cluster health</a></li>
+</ul>
+</li>
+<li><a href="#_running_a_brief_example">Running a Brief Example</a></li>
+<li><a href="#_more_examples">More Examples</a></li>
+<li><a href="#_destroying_the_cluster">Destroying the Cluster</a></li>
+<li><a href="#_troubleshooting">Troubleshooting</a>
+<ul class="sectlevel2">
+<li><a href="#_viewing_the_logs">Viewing the logs</a></li>
+<li><a href="#_changing_the_kudu_version">Changing the Kudu version</a></li>
+<li><a href="#_changing_the_kudu_configuration">Changing the Kudu configuration</a></li>
+<li><a href="#_killing_a_kudu_master">Killing a Kudu master</a></li>
+</ul>
+</li>
+<li><a href="#_next_steps">Next Steps</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/quickstartdev.html b/releases/1.15.0/docs/quickstartdev.html
new file mode 100644
index 0000000..ca7fd2f
--- /dev/null
+++ b/releases/1.15.0/docs/quickstartdev.html
@@ -0,0 +1,245 @@
+<!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 - Quickstart using Bash scripts</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Quickstart using Bash scripts</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>Create, start, and stop Kudu cluster using shell scripts</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_start_kudu_cluster">Start Kudu cluster</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Create and start Kudu cluster with one master and three tablet servers</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">cd build/latest
+../../src/kudu/scripts/start_kudu.sh</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_check_kudu_master_server_web_interface">Check Kudu master server web interface</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Open in browser: <a href="http://localhost:8765/" class="bare">http://localhost:8765/</a></p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_generate_and_load_some_data_into_kudu">Generate and load some data into Kudu</h2>
+<div class="sectionbody">
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">./bin/kudu perf loadgen 127.0.0.1:8764 --keep_auto_table=true --num_rows_per_thread=100000 --run_scan=true</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_query_kudu_servers">Query Kudu servers</h2>
+<div class="sectionbody">
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">./bin/kudu master get_flags 127.0.0.1:8764
+./bin/kudu tserver get_flags 127.0.0.1:9870</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_stop_kudu_cluster">Stop Kudu cluster</h2>
+<div class="sectionbody">
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">../../src/kudu/scripts/stop_kudu.sh</code></pre>
+</div>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/release_notes.html b/releases/1.15.0/docs/release_notes.html
new file mode 100644
index 0000000..42ea94d
--- /dev/null
+++ b/releases/1.15.0/docs/release_notes.html
@@ -0,0 +1,622 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu 1.15.0 Release Notes</title>
+    <!-- Bootstrap core CSS -->
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
+          integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
+          crossorigin="anonymous">
+
+    <!-- Custom styles for this template -->
+    <link href="/css/kudu.css" rel="stylesheet"/>
+    <link href="/css/asciidoc.css" rel="stylesheet"/>
+    <link rel="shortcut icon" href="/img/logo-favicon.ico" />
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css" />
+
+    
+
+    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+    <!--[if lt IE 9]>
+        <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+        <![endif]-->
+  </head>
+  <body>
+    <div class="kudu-site container-fluid">
+      <!-- Static navbar -->
+        <nav class="navbar navbar-default">
+          <div class="container-fluid">
+            <div class="navbar-header">
+              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+              </button>
+              
+              <a class="logo" href="/"><img
+                src="//d3dr9sfxru4sde.cloudfront.net/i/k/apachekudu_logo_0716_80px.png"
+                srcset="//d3dr9sfxru4sde.cloudfront.net/i/k/apachekudu_logo_0716_80px.png 1x, //d3dr9sfxru4sde.cloudfront.net/i/k/apachekudu_logo_0716_160px.png 2x"
+                alt="Apache Kudu"/></a>
+              
+            </div>
+            <div id="navbar" class="collapse navbar-collapse">
+              <ul class="nav navbar-nav navbar-right">
+                <li >
+                  <a href="/">Home</a>
+                </li>
+                <li >
+                  <a href="/overview.html">Overview</a>
+                </li>
+                <li class="active">
+                  <a href="/docs/">Documentation</a>
+                </li>
+                <li >
+                  <a href="/releases/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu 1.15.0 Release Notes</h1>
+      <div class="sect1">
+<h2 id="rn_1.15.0_upgrade_notes"><a class="link" href="#rn_1.15.0_upgrade_notes">Upgrade Notes</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.15.0_obsoletions"><a class="link" href="#rn_1.15.0_obsoletions">Obsoletions</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>The <code>kudu-mapreduce</code> integration has been removed in the 1.15.0 release.
+Similar functionality and capabilities now exist via the Apache Spark, Apache Hive, Apache Impala,
+and Apache NiFi integrations. See <a href="https://issues.apache.org/jira/browse/KUDU-3142">KUDU-3142</a>
+for details.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.15.0_deprecations"><a class="link" href="#rn_1.15.0_deprecations">Deprecations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Support for Python 2.x and Python 3.4 and earlier is deprecated and may be removed in the next minor
+release.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.15.0_new_features"><a class="link" href="#rn_1.15.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu now experimentally supports multi-row transactions. Currently only <code>INSERT</code> and
+<code>INSERT_IGNORE</code> operations are supported.
+See <a href="https://github.com/apache/kudu/blob/master/docs/design-docs/transactions.adoc">here</a> for a
+design overview of this feature.</p>
+</li>
+<li>
+<p>Kudu now supports Raft configuration change for Kudu masters and CLI tools for orchestrating
+addition and removal of masters in a Kudu cluster. These tools substantially simplify the process
+of migrating to multiple masters, recovering a dead master and removing masters from a Kudu cluster.
+For detailed steps, see the latest administration documentation. This feature is evolving and
+the steps to add, remove and recover masters may change in the future.
+See <a href="https://issues.apache.org/jira/browse/KUDU-2181">KUDU-2181</a> for details.</p>
+</li>
+<li>
+<p>Kudu now supports table comments directly on Kudu tables which are automatically synchronized
+when the Hive Metastore integration is enabled. These comments can be added at table creation time
+and changed via table alteration.</p>
+</li>
+<li>
+<p>Kudu now experimentally supports per-table size limits based on leader disk space usage or number
+of rows. When generating new authorization tokens, Masters will now consider the size limits and
+strip tokens of <code>INSERT</code> and <code>UPDATE</code> privileges if either limit is reached. To enable this feature,
+set the <code>--enable_table_write_limit</code> master flag; adjust the <code>--table_disk_size_limit</code> and
+<code>--table_row_count_limit</code> flags as desired or use the <code>kudu table set_limit</code> tool to set limits per
+table.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.15.0_improvements"><a class="link" href="#rn_1.15.0_improvements">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>It is now possible to change the Kerberos Service Principal Name using the <code>--principal</code> flag. The
+default SPN is still <code>kudu/_HOST</code>. Clients connecting to a cluster using a non-default SPN must set
+the <code>sasl_protocol_name</code> or <code>saslProtocolName</code> to match the SPN base
+(i.e. “kudu” if the SPN is “kudu/_HOST”) in the client builder or the Kudu CLI.
+See <a href="https://issues.apache.org/jira/browse/KUDU-1884">KUDU-1884</a> for details.</p>
+</li>
+<li>
+<p>Kudu RPC now supports TLSv1.3.  Kudu servers and clients automatically negotiate TLSv1.3 for Kudu
+RPC if OpenSSL (or Java runtime correspondingly) on each side supports TLSv1.3.
+If necessary, use the newly introduced flag <code>--rpc_tls_ciphersuites</code> to customize TLSv1.3-specific
+cipher suites at the server side.
+See <a href="https://issues.apache.org/jira/browse/KUDU-2871">KUDU-2871</a> for details.</p>
+</li>
+<li>
+<p>TLS ciphers renegotiation for TLSv1.2 and prior protocol versions is now explicitly disabled.
+See <a href="https://issues.apache.org/jira/browse/KUDU-1926">KUDU-1926</a> for details.</p>
+</li>
+<li>
+<p>The location assignment for Kudu clients is now disabled by default since it doesn’t bring a lot
+of benefits, but rather puts an extra load to Kudu masters.  This change reduces the load on Kudu
+masters which is essential if too many clients run in a cluster.  To enable the location assignment
+for clients, override the default by setting <code>--master_client_location_assignment_enabled=true</code> for
+Kudu masters.</p>
+</li>
+<li>
+<p>The behavior of the C++ client replica selection for closest replica, the default, was updated to
+match the behavior of the Java client. Instead of picking a random replica each time, a static value
+is used for each process ensuring that the selection remains deterministic and can benefit from
+better caching. See <a href="https://issues.apache.org/jira/browse/KUDU-3248">KUDU-3248</a> for details.</p>
+</li>
+<li>
+<p>The Web UI /rpcz endpoint now displays information on whether an RPC connection is protected by
+TLS, and if so, provides information on the negotiated TLS cipher suite.</p>
+</li>
+<li>
+<p>Tooling requests and C++ client requests bound for leader masters will now be retried in the event
+the masters cannot be reached.</p>
+</li>
+<li>
+<p>Cluster tooling will now validate that the master argument contains no duplicate values.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3226">KUDU-3226</a> for details.</p>
+</li>
+<li>
+<p>The error message output by Kudu Java client in an attempt to write into a non-existent table
+partition now contains the table’s name.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3267">KUDU-3267</a> for details.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.15.0_fixed_issues"><a class="link" href="#rn_1.15.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Fixed a bug in the Kudu tablet servers that could result in a crash when performing an incremental
+backup of rows that had many batches of updates.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3291">KUDU-3291</a> for more details.</p>
+</li>
+<li>
+<p>The Kudu Java client will now retry scans bound for tablets hosted on quiescing tablet servers at
+replicas on other tablet servers. See
+<a href="https://issues.apache.org/jira/browse/KUDU-3213">KUDU-3213</a> for more details.</p>
+</li>
+<li>
+<p>Fixed a race between the scheduling of a maintenance op and the destruction of a tablet. This
+could previously lead to a crash.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3268">KUDU-3268</a> for more details.</p>
+</li>
+<li>
+<p>Fixed crash in Kudu C++ client introduced with KUDU-1802.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3254">KUDU-3254</a> for details.</p>
+</li>
+<li>
+<p>Fixed bug in Kudu Java client which manifested in <code>AUTO_FLUSH_BACKGROUND</code> sessions hung in a call
+to <code>KuduSession.flush()</code> method.  Another sign of the bug were stuck data ingest workloads based on
+Java client (e.g., kudu-spark applications) with
+"java.lang.AssertionError: This Deferred was already called!" message in the logs.
+See <a href="https://issues.apache.org/jira/browse/KUDU-3277">KUDU-3277</a> for details.</p>
+</li>
+<li>
+<p>Fixed crash in Kudu server due to lack of <code>getrandom(2)</code> system call in Linux kernel version
+earlier than 3.17 by instead using <code>/dev/random</code> for uuid generation in the Boost library.
+Crash includes the following message in the logs
+"terminate called after throwing an instance of 'boost::wrapexcept&lt;boost::uuids::entropy_error&gt;'".
+See the <a href="https://gerrit.cloudera.org/c/17354/">fix</a> for a sample stack trace.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.15.0_wire_compatibility"><a class="link" href="#rn_1.15.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.15.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.15 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.14 and Kudu 1.15 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.15 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.15 and versions earlier than 1.3:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.15 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.15 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.15.0_incompatible_changes"><a class="link" href="#rn_1.15.0_incompatible_changes">Incompatible Changes in Kudu 1.15.0</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Updated hash computation for empty strings in the FastHash implementation to conform with the
+handling in Apache Impala. For Bloom filter predicate pushdown feature that uses FastHash,
+this makes the Kudu client older than version 1.15.0 incompatible with Kudu server version 1.15.0
+and Kudu client version at or newer than 1.15.0 incompatible with Kudu server version earlier than
+1.15.0. Both client library and Kudu server need to be updated to version 1.15.0 or above if using
+the Bloom filter predicate feature. One manifestation of this incompatibility is following message
+in the logs, "Not implemented: call requires unsupported application feature flags: 4".
+See <a href="https://issues.apache.org/jira/browse/KUDU-3286">KUDU-3286</a> for details.</p>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="rn_1.15.0_client_compatibility"><a class="link" href="#rn_1.15.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.15 Java client library is API- and ABI-compatible with Kudu 1.14. Applications
+written against Kudu 1.14 will compile and run against the Kudu 1.15 client library and
+vice-versa.</p>
+</li>
+<li>
+<p>The Kudu 1.15 C&#43;&#43; client is API- and ABI-forward-compatible with Kudu 1.14.
+Applications written and compiled against the Kudu 1.14 client library will run without
+modification against the Kudu 1.15 client library. Applications written and compiled
+against the Kudu 1.15 client library will run without modification against the Kudu 1.14
+client library.</p>
+</li>
+<li>
+<p>The Kudu 1.15 Python client is API-compatible with Kudu 1.14. Applications
+written against Kudu 1.14 will continue to run against the Kudu 1.15 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.15.0_known_issues"><a class="link" href="#rn_1.15.0_known_issues">Known Issues and Limitations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Please refer to the <a href="known_issues.html">Known Issues and Limitations</a> section of the
+documentation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.15.0_contributors"><a class="link" href="#rn_1.15.0_contributors">Contributors</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.15.0 includes contributions from 12 people, including 2 first-time contributors:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Abhishek Chennaka</p>
+</li>
+<li>
+<p>shenxingwuying</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Thank you for your contributions!</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="resources_and_next_steps"><a class="link" href="#resources_and_next_steps">Resources</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="http://kudu.apache.org">Kudu Website</a></p>
+</li>
+<li>
+<p><a href="http://github.com/apache/kudu">Kudu GitHub Repository</a></p>
+</li>
+<li>
+<p><a href="index.html">Kudu Documentation</a></p>
+</li>
+<li>
+<p><a href="prior_release_notes.html">Release notes for older releases</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_installation_options"><a class="link" href="#_installation_options">Installation Options</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>For full installation details, see <a href="installation.html">Kudu Installation</a>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_next_steps"><a class="link" href="#_next_steps">Next Steps</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="quickstart.html">Kudu Quickstart</a></p>
+</li>
+<li>
+<p><a href="installation.html">Installing Kudu</a></p>
+</li>
+<li>
+<p><a href="configuration.html">Configuring Kudu</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+<span class="active-toc">Kudu Release Notes</span>
+            <ul class="sectlevel1">
+<li><a href="#rn_1.15.0_upgrade_notes">Upgrade Notes</a></li>
+<li><a href="#rn_1.15.0_obsoletions">Obsoletions</a></li>
+<li><a href="#rn_1.15.0_deprecations">Deprecations</a></li>
+<li><a href="#rn_1.15.0_new_features">New features</a></li>
+<li><a href="#rn_1.15.0_improvements">Optimizations and improvements</a></li>
+<li><a href="#rn_1.15.0_fixed_issues">Fixed Issues</a></li>
+<li><a href="#rn_1.15.0_wire_compatibility">Wire Protocol compatibility</a></li>
+<li><a href="#rn_1.15.0_incompatible_changes">Incompatible Changes in Kudu 1.15.0</a>
+<ul class="sectlevel2">
+<li><a href="#rn_1.15.0_client_compatibility">Client Library Compatibility</a></li>
+</ul>
+</li>
+<li><a href="#rn_1.15.0_known_issues">Known Issues and Limitations</a></li>
+<li><a href="#rn_1.15.0_contributors">Contributors</a></li>
+<li><a href="#resources_and_next_steps">Resources</a></li>
+<li><a href="#_installation_options">Installation Options</a></li>
+<li><a href="#_next_steps">Next Steps</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-10 10:32:13 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/scaling_guide.html b/releases/1.15.0/docs/scaling_guide.html
new file mode 100644
index 0000000..b89ffe7
--- /dev/null
+++ b/releases/1.15.0/docs/scaling_guide.html
@@ -0,0 +1,629 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Scaling Guide</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Scaling Guide</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>This document describes in detail how Kudu scales with respect to various system resources,
+including memory, file descriptors, and threads. See the
+<a href="known_issues.html#_scale">scaling limits</a> for the maximum recommended parameters of a Kudu
+cluster. They can be used to estimate roughly the number of servers required for a given quantity
+of data.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+The recommendations and conclusions here are only approximations. Appropriate numbers
+depend on use case. There is no substitute for measurement and monitoring of resources used during a
+representative workload.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_terms"><a class="link" href="#_terms">Terms</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>We will use the following terms:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>hot replica</strong>: A tablet replica that is continuously receiving writes. For example, in a time
+series use case, tablet replicas for the most recent range partition on a time column would be
+continuously receiving the latest data, and would be hot replicas.</p>
+</li>
+<li>
+<p><strong>cold replica</strong>: A tablet replica that is not hot, i.e. a replica that is not frequently receiving
+writes, for example, once every few minutes. A cold replica may be read from. For example, in a time
+series use case, tablet replicas for previous range partitions on a time column would not receive
+writes at all, or only occasionally receive late updates or additions, but may be constantly read.</p>
+</li>
+<li>
+<p><strong>data on disk</strong>: The total amount of data stored on a tablet server across all disks,
+post-replication, post-compression, and post-encoding.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_workload"><a class="link" href="#_example_workload">Example Workload</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The sections below perform sample calculations using the following parameters:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>200 hot replicas per tablet server</p>
+</li>
+<li>
+<p>1600 cold replicas per tablet server</p>
+</li>
+<li>
+<p>8TB of data on disk per tablet server (about 4.5GB/replica)</p>
+</li>
+<li>
+<p>512MB block cache</p>
+</li>
+<li>
+<p>40 cores per server</p>
+</li>
+<li>
+<p>limit of 32000 file descriptors per server</p>
+</li>
+<li>
+<p>a read workload with 1 frequently-scanned table with 40 columns</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This workload resembles a time series use case, where the hot replicas correspond to the most recent
+range partition on time.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="memory"><a class="link" href="#memory">Memory</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The flag <code>--memory_limit_hard_bytes</code> determines the maximum amount of memory that a Kudu tablet
+server may use. The amount of memory used by a tablet server scales with data size, write workload,
+and read concurrency. The following table provides numbers that can be used to compute a rough
+estimate of memory usage.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 1. Tablet Server Memory Usage</caption>
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Multiplier</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Memory required per TB of data on disk</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1.5GB per 1TB data on disk</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Amount of memory per unit of data on disk required for
+basic operation of the tablet server.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Hot Replicas' MemRowSets and DeltaMemStores</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">minimum 128MB per hot replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Minimum amount of data
+to flush per MemRowSet flush. For most use cases, updates should be rare compared to inserts, so the
+DeltaMemStores should be very small.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Scans</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">256KB per column per core for read-heavy tables</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Amount of memory used by scanners, and which
+will be constantly needed for tables which are constantly read.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Block Cache</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Fixed by <code>--block_cache_capacity_mb</code> (default 512MB)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Amount of memory reserved for use by the
+block cache.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Using this information for the example load gives the following breakdown of memory usage:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 2. Example Tablet Server Memory Usage</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Amount</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8TB data on disk</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8TB * 1.5GB / 1TB = 12GB</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">200 hot replicas</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">200 * 128MB = 25.6GB</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1 40-column, frequently-scanned table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40 * 40 * 256KB = 409.6MB</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Block Cache</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>--block_cache_capacity_mb=512</code> = 512MB</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Expected memory usage</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">38.5GB</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Recommended hard limit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">52GB</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Using this as a rough estimate of Kudu&#8217;s memory usage, select a memory limit so that the expected
+memory usage of Kudu is around 50-75% of the hard limit.</p>
+</div>
+<div class="sect2">
+<h3 id="_verifying_if_a_memory_limit_is_sufficient"><a class="link" href="#_verifying_if_a_memory_limit_is_sufficient">Verifying if a Memory Limit is sufficient</a></h3>
+<div class="paragraph">
+<p>After configuring an appropriate memory limit with <code>--memory_limit_hard_bytes</code>, run a workload and
+monitor the Kudu tablet server process&#8217;s RAM usage. The memory usage should stay around 50-75% of
+the hard limit, with occasional spikes above 75% but below 100%. If the tablet server runs above 75%
+consistently, the memory limit should be increased.</p>
+</div>
+<div class="paragraph">
+<p>Additionally, it&#8217;s also useful to monitor the logs for memory rejections, which look like:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Service unavailable: Soft memory limit exceeded (at 96.35% of capacity)</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>and watch the memory rejections metrics:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>leader_memory_pressure_rejections</code></p>
+</li>
+<li>
+<p><code>follower_memory_pressure_rejections</code></p>
+</li>
+<li>
+<p><code>transaction_memory_pressure_rejections</code></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Occasional rejections due to memory pressure are fine and act as backpressure to clients. Clients
+will transparently retry operations. However, no operations should time out.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="file_descriptors"><a class="link" href="#file_descriptors">File Descriptors</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Processes are allotted a maximum number of open file descriptors (also referred to as fds). If a
+tablet server attempts to open too many fds, it will typically crash with a message saying something
+like "too many open files". The following table summarizes the sources of file descriptor usage in a
+Kudu tablet server process:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 3. Tablet Server File Descriptor Usage</caption>
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Multiplier</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">File cache</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Fixed by <code>--block_manager_max_open_files</code> (default 40% of process maximum)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum allowed open fds reserved for use by
+the file cache.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Hot replicas</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2 per WAL segment, 1 per WAL index</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of fds used by hot replicas. See below
+for more explanation.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Cold replicas</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3 per cold replica</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of fds used per cold replica: 2 for the single WAL
+segment and 1 for the single WAL index.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Every replica has at least one WAL segment and at least one WAL index, and should have the same
+number of segments and indices; however, the number of segments and indices can be greater for a
+replica if one of its peer replicas is falling behind. WAL segment and index fds are closed as WALs
+are garbage collected.</p>
+</div>
+<div class="paragraph">
+<p>Using this information for the example load gives the following breakdown of file descriptor usage,
+under the assumption that some replicas are lagging and using 10 WAL segments:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 4. Example Tablet Server File Descriptor Usage</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Amount</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">file cache</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40% * 32000 fds = 12800 fds</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1600 cold replicas</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1600 cold replicas * 3 fds / cold replica = 4800 fds</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">200 hot replicas</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">(2 / segment * 10 segments/hot replica * 200 hot replicas) + (1 / index * 10 indices / hot replica * 200 hot replicas) = 6000 fds</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Total</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">23600 fds</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>So for this example, the tablet server process has about 32000 - 23600 = 8400 fds to spare.</p>
+</div>
+<div class="paragraph">
+<p>There is typically no downside to configuring a higher file descriptor limit if approaching the
+currently configured limit.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="threads"><a class="link" href="#threads">Threads</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Processes are allotted a maximum number of threads by the operating system, and this limit is
+typically difficult or impossible to change. Therefore, this section is more informational than
+advisory.</p>
+</div>
+<div class="paragraph">
+<p>If a Kudu tablet server&#8217;s thread count exceeds the OS limit, it will crash, usually with a message
+in the logs like "pthread_create failed: Resource temporarily unavailable". If the system thread
+count limit is exceeded, other processes on the same node may also crash.</p>
+</div>
+<div class="paragraph">
+<p>Threads and threadpools are used all over Kudu for various purposes, but the number of threads found
+in nearly all of these does not scale with load or data/tablet size; instead, the number of threads
+is either a hardcoded constant, a constant defined by a configuration parameter, or based on a
+static dimension (such as the number of CPU cores).</p>
+</div>
+<div class="paragraph">
+<p>The only exception to this is the WAL append thread, one of which exists for every "hot" replica.
+Note that all replicas may be considered hot at startup, so tablet servers' thread usage will
+generally peak when started and settle down thereafter.</p>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with 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>
+<span class="active-toc">Kudu Scaling Guide</span>
+            <ul class="sectlevel1">
+<li><a href="#_terms">Terms</a></li>
+<li><a href="#_example_workload">Example Workload</a></li>
+<li><a href="#memory">Memory</a>
+<ul class="sectlevel2">
+<li><a href="#_verifying_if_a_memory_limit_is_sufficient">Verifying if a Memory Limit is sufficient</a></li>
+</ul>
+</li>
+<li><a href="#file_descriptors">File Descriptors</a></li>
+<li><a href="#threads">Threads</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:14:36 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/schema_design.html b/releases/1.15.0/docs/schema_design.html
new file mode 100644
index 0000000..9c58847
--- /dev/null
+++ b/releases/1.15.0/docs/schema_design.html
@@ -0,0 +1,1228 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Schema Design</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Schema Design</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="schema_design"><a class="link" href="#schema_design">Overview</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu tables have a structured data model similar to tables in a traditional
+RDBMS. Schema design is critical for achieving the best performance and
+operational stability from Kudu. Every workload is unique, and there is no
+single schema design that is best for every table. This document outlines
+effective schema design philosophies for Kudu, paying particular attention to
+where they differ from approaches used for traditional RDBMS schemas.</p>
+</div>
+<div class="paragraph">
+<p>At a high level, there are three concerns when creating Kudu tables:
+<a href="#column-design">column design</a>, <a href="#primary-keys">primary key design</a>, and
+<a href="#partitioning">partitioning design</a>. Of these, only partitioning will be a new
+concept for those familiar with traditional non-distributed relational
+databases. The final sections discuss <a href="#alter-schema">altering the schema</a> of an
+existing table, and <a href="#known-limitations">known limitations</a> with regard to
+schema design.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_perfect_schema"><a class="link" href="#_the_perfect_schema">The Perfect Schema</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The perfect schema would accomplish the following:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Data would be distributed in such a way that reads and writes are spread
+evenly across tablet servers. This is impacted by partitioning.</p>
+</li>
+<li>
+<p>Tablets would grow at an even, predictable rate and load across tablets would
+remain steady over time. This is most impacted by partitioning.</p>
+</li>
+<li>
+<p>Scans would read the minimum amount of data necessary to fulfill a query. This
+is impacted mostly by primary key design, but partitioning also plays a role
+via partition pruning.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The perfect schema depends on the characteristics of your data, what you need to do
+with it, and the topology of your cluster. Schema design is the single most important
+thing within your control to maximize the performance of your Kudu cluster.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="column-design"><a class="link" href="#column-design">Column Design</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A Kudu Table consists of one or more columns, each with a defined type. Columns
+that are not part of the primary key may be nullable. Supported
+column types include:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>boolean</p>
+</li>
+<li>
+<p>8-bit signed integer</p>
+</li>
+<li>
+<p>16-bit signed integer</p>
+</li>
+<li>
+<p>32-bit signed integer</p>
+</li>
+<li>
+<p>64-bit signed integer</p>
+</li>
+<li>
+<p>date (32-bit days since the Unix epoch)</p>
+</li>
+<li>
+<p>unixtime_micros (64-bit microseconds since the Unix epoch)</p>
+</li>
+<li>
+<p>single-precision (32-bit) IEEE-754 floating-point number</p>
+</li>
+<li>
+<p>double-precision (64-bit) IEEE-754 floating-point number</p>
+</li>
+<li>
+<p>decimal (see <a href="#decimal">Decimal Type</a> for details)</p>
+</li>
+<li>
+<p>varchar (see <a href="#varchar">Varchar Type</a> for details)</p>
+</li>
+<li>
+<p>UTF-8 encoded string (up to 64KB uncompressed)</p>
+</li>
+<li>
+<p>binary (up to 64KB uncompressed)</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Kudu takes advantage of strongly-typed columns and a columnar on-disk storage
+format to provide efficient encoding and serialization. To make the most of
+these features, columns should be specified as the appropriate type, rather than
+simulating a 'schemaless' table using string or binary columns for data which
+may otherwise be structured. In addition to encoding, Kudu allows compression to
+be specified on a per-column basis.</p>
+</div>
+<div id="no_version_column" class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+<div class="title">No Version or Timestamp Column</div>
+Kudu does not provide a version or timestamp column to track changes to a row.
+If version or timestamp information is needed, the schema should include an
+explicit version or timestamp column.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect2">
+<h3 id="decimal"><a class="link" href="#decimal">Decimal Type</a></h3>
+<div class="paragraph">
+<p>The <code>decimal</code> type is a numeric data type with fixed scale and precision suitable for
+financial and other arithmetic calculations where the imprecise representation and
+rounding behavior of <code>float</code> and <code>double</code> make those types impractical. The <code>decimal</code>
+type is also useful for integers larger than int64 and cases with fractional values
+in a primary key.</p>
+</div>
+<div class="paragraph">
+<p>The <code>decimal</code> type is a parameterized type that takes precision and scale type
+attributes.</p>
+</div>
+<div class="paragraph">
+<p><strong>Precision</strong> represents the total number of digits that can be represented by the
+column, regardless of the location of the decimal point. This value must be between
+1 and 38 and has no default. For example, a precision of 4 is required to represent
+integer values up to 9999, or to represent values up to 99.99 with two fractional
+digits. You can also represent corresponding negative values, without any
+change in the precision. For example, the range -9999 to 9999 still only requires
+a precision of 4.</p>
+</div>
+<div class="paragraph">
+<p><strong>Scale</strong> represents the number of fractional digits. This value must be between 0
+and the precision. A scale of 0 produces integral values, with no fractional part.
+If precision and scale are equal, all of the digits come after the decimal point.
+For example, a decimal with precision and scale equal to 3 can represent values
+between -0.999 and 0.999.</p>
+</div>
+<div class="paragraph">
+<p><strong>Performance considerations:</strong></p>
+</div>
+<div class="paragraph">
+<p>Kudu stores each value in as few bytes as possible depending on the precision
+specified for the decimal column. For that reason it is not advised to just use
+the highest precision possible for convenience. Doing so could negatively impact
+performance, memory and storage.</p>
+</div>
+<div class="paragraph">
+<p>Before encoding and compression:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Decimal values with precision of 9 or less are stored in 4 bytes.</p>
+</li>
+<li>
+<p>Decimal values with precision of 10 through 18 are stored in 8 bytes.</p>
+</li>
+<li>
+<p>Decimal values with precision greater than 18 are stored in 16 bytes.</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The precision and scale of <code>decimal</code> columns cannot be changed by altering
+the table.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="varchar"><a class="link" href="#varchar">Varchar Type</a></h3>
+<div class="paragraph">
+<p>The <code>varchar</code> type is a UTF-8 encoded string (up to 64KB uncompressed) with a
+fixed maximum character length. This type is especially useful when migrating
+from or integrating with legacy systems that support the <code>varchar</code> type.
+If a maximum character length is not required the <code>string</code> type should be
+used instead.</p>
+</div>
+<div class="paragraph">
+<p>The <code>varchar</code> type is a parameterized type that takes a length attribute.</p>
+</div>
+<div class="paragraph">
+<p><strong>Length</strong> represents the maximum number of UTF-8 characters allowed. Values
+with characters greater than the limit will be truncated. This value must
+be between 1 and 65535 and has no default. Note that some other systems
+may represent the length limit in bytes instead of characters. That means
+that Kudu may be able to represent longer values in the case of multi-byte
+UTF-8 characters.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="encoding"><a class="link" href="#encoding">Column Encoding</a></h3>
+<div class="paragraph">
+<p>Each column in a Kudu table can be created with an encoding, based on the type
+of the column.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 1. Encoding Types</caption>
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Column Type</th>
+<th class="tableblock halign-left valign-top">Encoding</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int8, int16, int32, int64</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">plain, bitshuffle, run length</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bitshuffle</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">date, unixtime_micros</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">plain, bitshuffle, run length</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bitshuffle</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">float, double, decimal</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">plain, bitshuffle</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bitshuffle</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">plain, run length</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">run length</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">string, varchar, binary</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">plain, prefix, dictionary</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dictionary</p></td>
+</tr>
+</tbody>
+</table>
+<div id="plain" class="dlist">
+<dl>
+<dt class="hdlist1">Plain Encoding</dt>
+<dd>
+<p>Data is stored in its natural format. For example, <code>int32</code>
+values are stored as fixed-size 32-bit little-endian integers.</p>
+</dd>
+</dl>
+</div>
+<div id="bitshuffle" class="dlist">
+<dl>
+<dt class="hdlist1">Bitshuffle Encoding</dt>
+<dd>
+<p>A block of values is rearranged to store the most
+significant bit of every value, followed by the second most significant bit of
+every value, and so on. Finally, the result is LZ4 compressed. Bitshuffle
+encoding is a good choice for columns that have many repeated values, or values
+that change by small amounts when sorted by primary key. The
+<a href="https://github.com/kiyo-masui/bitshuffle">bitshuffle</a> project has a good overview
+of performance and use cases.</p>
+</dd>
+</dl>
+</div>
+<div id="run-length" class="dlist">
+<dl>
+<dt class="hdlist1">Run Length Encoding</dt>
+<dd>
+<p><em>Runs</em> (consecutive repeated values) are compressed in a
+column by storing only the value and the count. Run length encoding is effective
+for columns with many consecutive repeated values when sorted by primary key.</p>
+</dd>
+</dl>
+</div>
+<div id="dictionary" class="dlist">
+<dl>
+<dt class="hdlist1">Dictionary Encoding</dt>
+<dd>
+<p>A dictionary of unique values is built, and each column
+value is encoded as its corresponding index in the dictionary. Dictionary
+encoding is effective for columns with low cardinality. If the column values of
+a given row set are unable to be compressed because the number of unique values
+is too high, Kudu will transparently fall back to plain encoding for that row
+set. This is evaluated during flush.</p>
+</dd>
+</dl>
+</div>
+<div id="prefix" class="dlist">
+<dl>
+<dt class="hdlist1">Prefix Encoding</dt>
+<dd>
+<p>Common prefixes are compressed in consecutive column values.
+Prefix encoding can be effective for values that share common prefixes, or the
+first column of the primary key, since rows are sorted by primary key within
+tablets.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="compression"><a class="link" href="#compression">Column Compression</a></h3>
+<div class="paragraph">
+<p>Kudu allows per-column compression using the <code>LZ4</code>, <code>Snappy</code>, or <code>zlib</code>
+compression codecs. By default, columns that are Bitshuffle-encoded are
+inherently compressed with LZ4 compression. Otherwise, columns are stored
+uncompressed. Consider using compression if reducing storage space is more
+important than raw scan performance.</p>
+</div>
+<div class="paragraph">
+<p>Every data set will compress differently, but in general LZ4 is the most
+performant codec, while <code>zlib</code> will compress to the smallest data sizes.
+Bitshuffle-encoded columns are automatically compressed using LZ4, so it is not
+recommended to apply additional compression on top of this encoding.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="primary-keys"><a class="link" href="#primary-keys">Primary Key Design</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Every Kudu table must declare a primary key comprised of one or more columns.
+Like an RDBMS primary key, the Kudu primary key enforces a uniqueness constraint.
+Attempting to insert a row with the same primary key values as an existing row
+will result in a duplicate key error.</p>
+</div>
+<div class="paragraph">
+<p>Primary key columns must be non-nullable, and may not be a boolean, float
+or double type.</p>
+</div>
+<div class="paragraph">
+<p>Once set during table creation, the set of columns in the primary key may not
+be altered.</p>
+</div>
+<div class="paragraph">
+<p>Unlike an RDBMS, Kudu does not provide an auto-incrementing column feature,
+so the application must always provide the full primary key during insert.</p>
+</div>
+<div class="paragraph">
+<p>Row delete and update operations must also specify the full primary key of the
+row to be changed. Kudu does not natively support range deletes or updates.</p>
+</div>
+<div class="paragraph">
+<p>The primary key values of a column may not be updated after the row is inserted.
+However, the row may be deleted and re-inserted with the updated value.</p>
+</div>
+<div class="sect2">
+<h3 id="indexing"><a class="link" href="#indexing">Primary Key Index</a></h3>
+<div class="paragraph">
+<p>As with many traditional relational databases, Kudu’s primary key is in a
+clustered index. All rows within a tablet are sorted by its primary key.</p>
+</div>
+<div class="paragraph">
+<p>When scanning Kudu rows, use equality or range predicates on primary key
+columns to efficiently find the rows.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Primary key indexing optimizations apply to scans on individual tablets.
+See the <a href="#partition-pruning">Partition Pruning</a> section for details on how scans can use
+predicates to skip entire tablets.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="Backfilling"><a class="link" href="#Backfilling">Considerations for Backfill Inserts</a></h3>
+<div class="paragraph">
+<p>This section discuss a primary key design consideration for timeseries use
+cases where the primary key is a timestamp, or the first column of the primary
+key is a timestamp.</p>
+</div>
+<div class="paragraph">
+<p>Each time a row is inserted into a Kudu table, Kudu looks up the primary key in
+the primary key index storage to check whether that primary key is already
+present in the table. If the primary key exists in the table, a "duplicate key"
+error is returned.  In the typical case where data is being inserted at
+the current time as it arrives from the data source, only a small range of
+primary keys are "hot". So, each of these "check for presence" operations is
+very fast. It hits the cached primary key storage in memory and doesn&#8217;t require
+going to disk.</p>
+</div>
+<div class="paragraph">
+<p>In the case when you load historical data, which is called "backfilling", from
+an offline data source, each row that is inserted is likely to hit a cold area
+of the primary key index which is not resident in memory and will cause one or
+more HDD disk seeks. For example, in a normal ingestion case where Kudu sustains
+a few million inserts per second, the "backfill" use case might sustain only
+a few thousand inserts per second.</p>
+</div>
+<div class="paragraph">
+<p>To alleviate the performance issue during backfilling, consider the following
+options:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Make the primary keys more compressible.</p>
+<div class="paragraph">
+<p>For example, with the first column of a primary key being a random ID of 32-bytes,
+caching one billion primary keys would require at least 32 GB of RAM to stay in
+cache. If caching backfill primary keys from several days ago, you need to have
+several times 32 GB of memory. By changing the primary key to be more compressible,
+you increase the likelihood that the primary keys can fit in cache and thus
+reducing the amount of random disk I/Os.</p>
+</div>
+</li>
+<li>
+<p>Use SSDs for storage as random seeks are orders of magnitude faster than spinning disks.</p>
+</li>
+<li>
+<p>Change the primary key structure such that the backfill writes hit a continuous range of primary keys.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="partitioning"><a class="link" href="#partitioning">Partitioning</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>In order to provide scalability, Kudu tables are partitioned into units called
+tablets, and distributed across many tablet servers. A row always belongs to a
+single tablet. The method of assigning rows to tablets is determined by the
+partitioning of the table, which is set during table creation.</p>
+</div>
+<div class="paragraph">
+<p>Choosing a partitioning strategy requires understanding the data model and the
+expected workload of a table. For write-heavy workloads, it is important to
+design the partitioning such that writes are spread across tablets in order to
+avoid overloading a single tablet. For workloads involving many short scans,
+where the overhead of contacting remote servers dominates, performance can be
+improved if all of the data for the scan is located in the same tablet.
+Understanding these fundamental trade-offs is central to designing an effective
+partition schema.</p>
+</div>
+<div id="no_default_partitioning" class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+<div class="title">No Default Partitioning</div>
+Kudu does not provide a default partitioning strategy when creating tables. It
+is recommended that new tables which are expected to have heavy read and write
+workloads have at least as many tablets as tablet servers.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Kudu provides two types of partitioning: <a href="#range-partitioning">range
+partitioning</a> and <a href="#hash-partitioning">hash partitioning</a>. Tables may also have
+<a href="#multilevel-partitioning">multilevel partitioning</a>, which combines range and hash
+partitioning, or multiple instances of hash partitioning.</p>
+</div>
+<div class="sect2">
+<h3 id="range-partitioning"><a class="link" href="#range-partitioning">Range Partitioning</a></h3>
+<div class="paragraph">
+<p>Range partitioning distributes rows using a totally-ordered range partition key.
+Each partition is assigned a contiguous segment of the range partition keyspace.
+The key must be comprised of a subset of the primary key columns. If the range
+partition columns match the primary key columns, then the range partition key of
+a row will equal its primary key. In range partitioned tables without hash
+partitioning, each range partition will correspond to exactly one tablet.</p>
+</div>
+<div class="paragraph">
+<p>The initial set of range partitions is specified during table creation as a set
+of partition bounds and split rows. For each bound, a range partition will be
+created in the table. Each split will divide a range partition in two.  If no
+partition bounds are specified, then the table will default to a single
+partition covering the entire key space (unbounded below and above). Range
+partitions must always be non-overlapping, and split rows must fall within a
+range partition.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+see the <a href="#range-partitioning-example">Range Partitioning Example</a> for further discussion of range
+partitioning.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect3">
+<h4 id="range-partition-management"><a class="link" href="#range-partition-management">Range Partition Management</a></h4>
+<div class="paragraph">
+<p>Kudu allows range partitions to be dynamically added and removed from a table at
+runtime, without affecting the availability of other partitions. Removing a
+partition will delete the tablets belonging to the partition, as well as the
+data contained in them. Subsequent inserts into the dropped partition will fail.
+New partitions can be added, but they must not overlap with any existing range
+partitions. Kudu allows dropping and adding any number of range partitions in a
+single transactional alter table operation.</p>
+</div>
+<div class="paragraph">
+<p>Dynamically adding and dropping range partitions is particularly useful for time
+series use cases. As time goes on, range partitions can be added to cover
+upcoming time ranges. For example, a table storing an event log could add a
+month-wide partition just before the start of each month in order to hold the
+upcoming events. Old range partitions can be dropped in order to efficiently
+remove historical data, as necessary.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hash-partitioning"><a class="link" href="#hash-partitioning">Hash Partitioning</a></h3>
+<div class="paragraph">
+<p>Hash partitioning distributes rows by hash value into one of many buckets.  In
+single-level hash partitioned tables, each bucket will correspond to exactly
+one tablet. The number of buckets is set during table creation. Typically the
+primary key columns are used as the columns to hash, but as with range
+partitioning, any subset of the primary key columns can be used.</p>
+</div>
+<div class="paragraph">
+<p>Hash partitioning is an effective strategy when ordered access to the table is
+not needed. Hash partitioning is effective for spreading writes randomly among
+tablets, which helps mitigate hot-spotting and uneven tablet sizes.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+see the <a href="#hash-partitioning-example">Hash Partitioning Example</a> for further discussion of hash
+partitioning.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="multilevel-partitioning"><a class="link" href="#multilevel-partitioning">Multilevel Partitioning</a></h3>
+<div class="paragraph">
+<p>Kudu allows a table to combine multiple levels of partitioning on a single
+table. Zero or more hash partition levels can be combined with an optional range
+partition level. The only additional constraint on multilevel partitioning
+beyond the constraints of the individual partition types, is that multiple levels
+of hash partitions must not hash the same columns.</p>
+</div>
+<div class="paragraph">
+<p>When used correctly, multilevel partitioning can retain the benefits of the
+individual partitioning types, while reducing the downsides of each. The total
+number of tablets in a multilevel partitioned table is the product of the
+number of partitions in each level.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+see the <a href="#hash-range-partitioning-example">Hash and Range Partitioning Example</a> and the
+<a href="#hash-hash-partitioning-example">Hash and Hash Partitioning Example</a> for further discussion of multilevel
+partitioning.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="partition-pruning"><a class="link" href="#partition-pruning">Partition Pruning</a></h3>
+<div class="paragraph">
+<p>Kudu scans will automatically skip scanning entire partitions when it can be
+determined that the partition can be entirely filtered by the scan predicates.
+To prune hash partitions, the scan must include equality predicates on every
+hashed column. To prune range partitions, the scan must include equality or
+range predicates on the range partitioned columns. Scans on multilevel
+partitioned tables can take advantage of partition pruning on any of the levels
+independently.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="partitioning-examples"><a class="link" href="#partitioning-examples">Partitioning Examples</a></h3>
+<div class="paragraph">
+<p>To illustrate the factors and trade-offs associated with designing a partitioning
+strategy for a table, we will walk through some different partitioning
+scenarios. Consider the following table schema for storing machine metrics data
+(using SQL syntax and date-formatted timestamps for clarity):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">CREATE TABLE metrics (
+    host STRING NOT NULL,
+    metric STRING NOT NULL,
+    time INT64 NOT NULL,
+    value DOUBLE NOT NULL,
+    PRIMARY KEY (host, metric, time)
+);</code></pre>
+</div>
+</div>
+<div class="sect3">
+<h4 id="range-partitioning-example"><a class="link" href="#range-partitioning-example">Range Partitioning Example</a></h4>
+<div class="paragraph">
+<p>A natural way to partition the <code>metrics</code> table is to range partition on the
+<code>time</code> column. Let&#8217;s assume that we want to have a partition per year, and the
+table will hold data for 2014, 2015, and 2016. There are at least two ways that
+the table could be partitioned: with unbounded range partitions, or with bounded
+range partitions.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="./images/range-partitioning-example.png" alt="Range Partitioning by `time`">
+</div>
+</div>
+<div class="paragraph">
+<p>The image above shows the two ways the <code>metrics</code> table can be range partitioned
+on the <code>time</code> column. In the first example (in blue), the default range
+partition bounds are used, with splits at <code>2015-01-01</code> and <code>2016-01-01</code>. This
+results in three tablets: the first containing values before 2015, the second
+containing values in the year 2015, and the third containing values after 2016.
+The second example (in green) uses a range partition bound of <code>[(2014-01-01),
+(2017-01-01)]</code>, and splits at <code>2015-01-01</code> and <code>2016-01-01</code>. The second example
+could have equivalently been expressed through range partition bounds of
+<code>[(2014-01-01), (2015-01-01)]</code>, <code>[(2015-01-01), (2016-01-01)]</code>, and
+<code>[(2016-01-01), (2017-01-01)]</code>, with no splits. The first example has unbounded
+lower and upper range partitions, while the second example includes bounds.</p>
+</div>
+<div class="paragraph">
+<p>Each of the range partition examples above allows time-bounded scans to prune
+partitions falling outside of the scan&#8217;s time bound. This can greatly improve
+performance when there are many partitions. When writing, both examples suffer
+from potential hot-spotting issues. Because metrics tend to always be written
+at the current time, most writes will go into a single range partition.</p>
+</div>
+<div class="paragraph">
+<p>The second example is more flexible than the first, because it allows range
+partitions for future years to be added to the table. In the first example, all
+writes for times after <code>2016-01-01</code> will fall into the last partition, so the
+partition may eventually become too large for a single tablet server to handle.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="hash-partitioning-example"><a class="link" href="#hash-partitioning-example">Hash Partitioning Example</a></h4>
+<div class="paragraph">
+<p>Another way of partitioning the <code>metrics</code> table is to hash partition on the
+<code>host</code> and <code>metric</code> columns.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="./images/hash-partitioning-example.png" alt="Hash Partitioning by `host` and `metric`">
+</div>
+</div>
+<div class="paragraph">
+<p>In the example above, the <code>metrics</code> table is hash partitioned on the <code>host</code> and
+<code>metric</code> columns into four buckets. Unlike the range partitioning example
+earlier, this partitioning strategy will spread writes over all tablets in the
+table evenly, which helps overall write throughput. Scans over a specific host
+and metric can take advantage of partition pruning by specifying equality
+predicates, reducing the number of scanned tablets to one. One issue to be
+careful of with a pure hash partitioning strategy, is that tablets could grow
+indefinitely as more and more data is inserted into the table. Eventually
+tablets will become too big for an individual tablet server to hold.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Although these examples number the tablets, in reality tablets are only
+given UUID identifiers. There is no natural ordering among the tablets in a hash
+partitioned table.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="hash-range-partitioning-example"><a class="link" href="#hash-range-partitioning-example">Hash and Range Partitioning Example</a></h4>
+<div class="paragraph">
+<p>The previous examples showed how the <code>metrics</code> table could be range partitioned
+on the <code>time</code> column, or hash partitioned on the <code>host</code> and <code>metric</code> columns.
+These strategies have associated strength and weaknesses:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 2. Partitioning Strategies</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Strategy</th>
+<th class="tableblock halign-left valign-top">Writes</th>
+<th class="tableblock halign-left valign-top">Reads</th>
+<th class="tableblock halign-left valign-top">Tablet Growth</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>range(time)</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">✗ - all writes go to latest partition</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">✓ - time-bounded scans can be pruned</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">✓ - new tablets can be added for future time periods</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hash(host, metric)</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">✓ - writes are spread evenly among tablets</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">✓ - scans on specific hosts and metrics can be pruned</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">✗ - tablets could grow too large</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Hash partitioning is good at maximizing write throughput, while range
+partitioning avoids issues of unbounded tablet growth. Both strategies can take
+advantage of partition pruning to optimize scans in different scenarios. Using
+multilevel partitioning, it is possible to combine the two strategies in order
+to gain the benefits of both, while minimizing the drawbacks of each.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="./images/hash-range-partitioning-example.png" alt="Hash and Range Partitioning">
+</div>
+</div>
+<div class="paragraph">
+<p>In the example above, range partitioning on the <code>time</code> column is combined with
+hash partitioning on the <code>host</code> and <code>metric</code> columns. This strategy can be
+thought of as having two dimensions of partitioning: one for the hash level and
+one for the range level. Writes into this table at the current time will be
+parallelized up to the number of hash buckets, in this case 4. Reads can take
+advantage of time bound <strong>and</strong> specific host and metric predicates to prune
+partitions. New range partitions can be added, which results in creating 4
+additional tablets (as if a new column were added to the diagram).</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="hash-hash-partitioning-example"><a class="link" href="#hash-hash-partitioning-example">Hash and Hash Partitioning Example</a></h4>
+<div class="paragraph">
+<p>Kudu can support any number of hash partitioning levels in the same table, as
+long as the levels have no hashed columns in common.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="./images/hash-hash-partitioning-example.png" alt="Hash and Hash Partitioning">
+</div>
+</div>
+<div class="paragraph">
+<p>In the example above, the table is hash partitioned on <code>host</code> into 4 buckets,
+and hash partitioned on <code>metric</code> into 3 buckets, resulting in 12 tablets.
+Although writes will tend to be spread among all tablets when using this
+strategy, it is slightly more prone to hot-spotting than when hash partitioning
+over multiple independent columns, since all values for an individual host or
+metric will always belong to a single tablet. Scans can take advantage of
+equality predicates on the <code>host</code> and <code>metric</code> columns separately to prune
+partitions.</p>
+</div>
+<div class="paragraph">
+<p>Multiple levels of hash partitioning can also be combined with range
+partitioning, which logically adds another dimension of partitioning.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="alter-schema"><a class="link" href="#alter-schema">Schema Alterations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>You can alter a table&#8217;s schema in the following ways:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Rename the table</p>
+</li>
+<li>
+<p>Rename primary key columns</p>
+</li>
+<li>
+<p>Rename, add, or drop non-primary key columns</p>
+</li>
+<li>
+<p>Add and drop range partitions</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Multiple alteration steps can be combined in a single transactional operation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="known-limitations"><a class="link" href="#known-limitations">Known Limitations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu currently has some known limitations that may factor into schema design.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Number of Columns</dt>
+<dd>
+<p>By default, Kudu will not permit the creation of tables with
+more than 300 columns. We recommend schema designs that use fewer columns for best
+performance.</p>
+</dd>
+<dt class="hdlist1">Size of Cells</dt>
+<dd>
+<p>No individual cell may be larger than 64KB before encoding or
+compression. The cells making up a composite key are limited to a total of 16KB
+after the internal composite-key encoding done by Kudu. Inserting rows not
+conforming to these limitations will result in errors being returned to the
+client.</p>
+</dd>
+<dt class="hdlist1">Size of Rows</dt>
+<dd>
+<p>Although individual cells may be up to 64KB, and Kudu supports up to
+300 columns, it is recommended that no single row be larger than a few hundred KB.</p>
+</dd>
+<dt class="hdlist1">Valid Identifiers</dt>
+<dd>
+<p>Identifiers such as table and column names must be valid UTF-8
+sequences and no longer than 256 bytes.</p>
+</dd>
+<dt class="hdlist1">Immutable Primary Keys</dt>
+<dd>
+<p>Kudu does not allow you to update the primary key
+columns of a row.</p>
+</dd>
+<dt class="hdlist1">Non-alterable Primary Key</dt>
+<dd>
+<p>Kudu does not allow you to alter the primary key
+columns after table creation.</p>
+</dd>
+<dt class="hdlist1">Non-alterable Partitioning</dt>
+<dd>
+<p>Kudu does not allow you to change how a table is
+partitioned after creation, with the exception of adding or dropping range
+partitions.</p>
+</dd>
+<dt class="hdlist1">Non-alterable Column Types</dt>
+<dd>
+<p>Kudu does not allow the type of a column to be
+altered.</p>
+</dd>
+<dt class="hdlist1">Partition Splitting</dt>
+<dd>
+<p>Partitions cannot be split or merged after table creation.</p>
+</dd>
+<dt class="hdlist1">Deleted row disk space is not reclaimed</dt>
+<dd>
+<p>The disk space occupied by a deleted
+row is only reclaimable via compaction, and only when the deletion&#8217;s age
+exceeds the "tablet history maximum age" (controlled by the
+<code>--tablet_history_max_age_sec</code> flag). Furthermore, Kudu currently only schedules
+compactions in order to improve read/write performance; a tablet will never be
+compacted purely to reclaim disk space. As such, range partitioning should be
+used when it is expected that large swaths of rows will be discarded. With range
+partitioning, individual partitions may be dropped to discard data and reclaim
+disk space.  See <a href="https://issues.apache.org/jira/browse/KUDU-1625">KUDU-1625</a>
+for details.</p>
+</dd>
+</dl>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with 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>
+<span class="active-toc">Kudu Schema Design</span>
+            <ul class="sectlevel1">
+<li><a href="#schema_design">Overview</a></li>
+<li><a href="#_the_perfect_schema">The Perfect Schema</a></li>
+<li><a href="#column-design">Column Design</a>
+<ul class="sectlevel2">
+<li><a href="#decimal">Decimal Type</a></li>
+<li><a href="#varchar">Varchar Type</a></li>
+<li><a href="#encoding">Column Encoding</a></li>
+<li><a href="#compression">Column Compression</a></li>
+</ul>
+</li>
+<li><a href="#primary-keys">Primary Key Design</a>
+<ul class="sectlevel2">
+<li><a href="#indexing">Primary Key Index</a></li>
+<li><a href="#Backfilling">Considerations for Backfill Inserts</a></li>
+</ul>
+</li>
+<li><a href="#partitioning">Partitioning</a>
+<ul class="sectlevel2">
+<li><a href="#range-partitioning">Range Partitioning</a>
+<ul class="sectlevel3">
+<li><a href="#range-partition-management">Range Partition Management</a></li>
+</ul>
+</li>
+<li><a href="#hash-partitioning">Hash Partitioning</a></li>
+<li><a href="#multilevel-partitioning">Multilevel Partitioning</a></li>
+<li><a href="#partition-pruning">Partition Pruning</a></li>
+<li><a href="#partitioning-examples">Partitioning Examples</a>
+<ul class="sectlevel3">
+<li><a href="#range-partitioning-example">Range Partitioning Example</a></li>
+<li><a href="#hash-partitioning-example">Hash Partitioning Example</a></li>
+<li><a href="#hash-range-partitioning-example">Hash and Range Partitioning Example</a></li>
+<li><a href="#hash-hash-partitioning-example">Hash and Hash Partitioning Example</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#alter-schema">Schema Alterations</a></li>
+<li><a href="#known-limitations">Known Limitations</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/security.html b/releases/1.15.0/docs/security.html
new file mode 100644
index 0000000..64e41c4
--- /dev/null
+++ b/releases/1.15.0/docs/security.html
@@ -0,0 +1,1255 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Security</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Security</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Kudu includes security features which allow Kudu clusters to be hardened against
+access from unauthorized users. This guide describes the security features
+provided by Kudu. <a href="#configuration">Configuring a Secure Kudu Cluster</a> lists essential configuration options when
+deploying a secure Kudu cluster. <a href="#known-limitations">Known Limitations</a> contains a list of
+known deficiencies in Kudu&#8217;s security capabilities.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_authentication"><a class="link" href="#_authentication">Authentication</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu can be configured to enforce secure authentication among servers, and
+between clients and servers. Authentication prevents untrusted actors from
+gaining access to Kudu, and securely identifies the connecting user or services
+for authorization checks. Authentication in Kudu is designed to interoperate
+with other secure Hadoop components by utilizing Kerberos.</p>
+</div>
+<div class="paragraph">
+<p>Authentication can be configured on Kudu servers using the
+<code>--rpc_authentication</code> flag, which can be set to <code>required</code>, <code>optional</code>, or
+<code>disabled</code>. By default, the flag is set to <code>optional</code>. When <code>required</code>, Kudu
+will reject connections from clients and servers who lack authentication
+credentials. When <code>optional</code>, Kudu will attempt to use strong authentication.
+When <code>disabled</code> or strong authentication fails for 'optional', by default Kudu
+will only allow unauthenticated connections from trusted subnets, which are
+private networks (127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,
+169.254.0.0/16) and local subnets of all local network interfaces. Unauthenticated
+connections from publicly routable IPs will be rejected.</p>
+</div>
+<div class="paragraph">
+<p>The trusted subnets can be configured using the <code>--trusted_subnets</code> flag,
+which can be set to IP blocks in CIDR notation separated by comma. Set it to
+'0.0.0.0/0' to allow unauthenticated connections from all remote IP addresses.
+However, if network access is not otherwise restricted by a firewall,
+malicious users may be able to gain unauthorized access. This can be mitigated
+if authentication is configured to be required.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+When the <code>--rpc_authentication</code> flag is set to <code>optional</code>,
+the cluster does not prevent access from unauthenticated users. To secure a
+cluster, use <code>--rpc_authentication=required</code>.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_internal_pki"><a class="link" href="#_internal_pki">Internal PKI</a></h3>
+<div class="paragraph">
+<p>Kudu uses an internal PKI system to issue X.509 certificates to servers in
+the cluster. Connections between peers who have both obtained certificates will
+use TLS for authentication, which doesn&#8217;t require contacting the Kerberos KDC.
+These certificates are <em>only</em> used for internal communication among Kudu
+servers, and between Kudu clients and servers. The certificates are never
+presented in a public facing protocol.</p>
+</div>
+<div class="paragraph">
+<p>By using internally-issued certificates, Kudu offers strong authentication which
+scales to huge clusters, and allows TLS encryption to be used without requiring
+you to manually deploy certificates on every node.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_authentication_tokens"><a class="link" href="#_authentication_tokens">Authentication Tokens</a></h3>
+<div class="paragraph">
+<p>After authenticating to a secure cluster, the Kudu client will automatically
+request an authentication token from the Kudu master. An authentication token
+encapsulates the identity of the authenticated user and carries the master&#8217;s
+RSA signature so that its authenticity can be verified.</p>
+</div>
+<div class="paragraph">
+<p>This token will be used to authenticate subsequent connections. By default,
+authentication tokens are only valid for seven days, so that even if a token
+were compromised, it could not be used indefinitely. For the most part,
+authentication tokens should be completely transparent to users. By using
+authentication tokens, Kudu takes advantage of strong authentication without
+paying the scalability cost of communicating with a central authority for every
+connection.</p>
+</div>
+<div class="paragraph">
+<p>When used with distributed compute frameworks such as Spark, authentication
+tokens can simplify configuration and improve security. For example, the Kudu
+Spark connector will automatically retrieve an authentication token during the
+planning stage, and distribute the token to tasks. This allows Spark to work
+against a secured Kudu cluster where only the planner node has Kerberos
+credentials.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_client_authentication_to_secure_kudu_clusters"><a class="link" href="#_client_authentication_to_secure_kudu_clusters">Client Authentication to Secure Kudu Clusters</a></h3>
+<div class="paragraph">
+<p>Users running client Kudu applications must first run the <code>kinit</code> command to
+obtain a Kerberos ticket-granting ticket. For example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-bash" data-lang="bash">$ kinit admin@EXAMPLE-REALM.COM</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Once authenticated, you use the same client code to read from and write to Kudu
+servers with and without Kerberos configuration.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_scalability"><a class="link" href="#_scalability">Scalability</a></h3>
+<div class="paragraph">
+<p>Kudu authentication is designed to scale to thousands of nodes, which requires
+avoiding unnecessary coordination with a central authentication authority (such
+as the Kerberos KDC). Instead, Kudu servers and clients will use Kerberos to
+establish initial trust with the Kudu master, and then use alternate credentials
+for subsequent connections. In particular, the master will issue internal
+X.509 certificates to servers, and temporary authentication tokens to clients.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_coarse_grained_authorization"><a class="link" href="#_coarse_grained_authorization">Coarse-Grained Authorization</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu supports coarse-grained authorization of client requests based on the
+authenticated client Kerberos principal (i.e. user or service). The two levels
+of access which can be configured are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Superuser</strong> - principals authorized as a superuser are able to perform
+certain administrative functionality such as using the <code>kudu</code> command line tool
+to diagnose or repair cluster issues.</p>
+</li>
+<li>
+<p><strong>User</strong> - principals authorized as a user are able to access and modify all
+data in the Kudu cluster. This includes the ability to create, drop, and alter
+tables as well as read, insert, update, and delete data.</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Internally, Kudu has a third access level for the daemons themselves.
+This ensures that users cannot connect to the cluster and pose as tablet
+servers.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Access levels are granted using whitelist-style Access Control Lists (ACLs), one
+for each of the two levels. Each access control list either specifies a
+comma-separated list of users, or may be set to <code>*</code> to indicate that all
+authenticated users are able to gain access at the specified level. See
+<a href="#configuration">Configuring a Secure Kudu Cluster</a> below for examples.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The default value for the User ACL is <code>*</code>, which allows all users access
+to the cluster. However, if authentication is enabled, this still restricts access
+to only those users who are able to successfully authenticate via Kerberos.
+Unauthenticated users on the same network as the Kudu servers will be unable
+to access the cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="fine_grained_authz"><a class="link" href="#fine_grained_authz">Fine-Grained Authorization</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>As of Kudu 1.12.0, Kudu can be configured to enforce fine-grained authorization
+across servers. This ensures that users can see only the data they are
+explicitly authorized to see. Kudu supports this by leveraging policies defined
+in Apache Ranger 2.1 and later.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Fine-grained authorization policies are not enforced when accessing
+the web UI. User data may appear on various pages of the web UI (e.g. in logs,
+metrics, scans, etc.). As such, it is recommended to either limit access to the
+web UI ports, or redact or disable the web UI entirely, as desired. See the
+<a href="#web-ui">instructions for securing the web UI</a> for more details.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_apache_ranger"><a class="link" href="#_apache_ranger">Apache Ranger</a></h3>
+<div class="paragraph">
+<p>Apache Ranger models tabular objects stored in a Kudu cluster in the following
+hierarchy:</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Ranger allows you to add separate service repositories to manage privileges
+for different Kudu clusters. Depending on the value of the <code>ranger.plugin.kudu.service.name</code>
+configuration in Ranger client, Kudu knows which service repository to connect
+to. For more details about Ranger service repository, see the Apache Ranger
+<a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=57901344">documentation</a>.
+</td>
+</tr>
+</table>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Database</strong> - Kudu does not have the concept of a database. Therefore, a database
+is indicated as a prefix of table names with the format <code>&lt;database&gt;.&lt;table&gt;</code>.
+Since Kudu&#8217;s only restriction on table names is that they be valid UTF-8 encoded
+strings, Kudu considers special characters to be valid parts of database or table
+names. For example, if a managed Kudu table created from Impala (see Kudu Impala
+integration <a href="kudu_impala_integration.html#managed_tables">documentation</a>) is named
+<code>impala::bar.foo</code>, its database will be <code>impala::bar</code>.</p>
+</li>
+<li>
+<p><strong>Table</strong> - a single Kudu table.</p>
+</li>
+<li>
+<p><strong>Column</strong> - a column within a Kudu table.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>In Ranger, privileges are also associated with specific actions. Access to Kudu
+tables may rely on privileges on the following actions:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>ALTER</code></p>
+</li>
+<li>
+<p><code>CREATE</code></p>
+</li>
+<li>
+<p><code>DELETE</code></p>
+</li>
+<li>
+<p><code>DROP</code></p>
+</li>
+<li>
+<p><code>INSERT</code></p>
+</li>
+<li>
+<p><code>UPDATE</code></p>
+</li>
+<li>
+<p><code>SELECT</code></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>There are two additional access types:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>ALL</code></p>
+</li>
+<li>
+<p><code>METADATA</code></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>If a user has the <code>ALL</code> privilege on a resource, they implicitly have privileges
+to perform any action on that resource (except those that require users to be a
+delegated admin, see below). Also, if a user is granted any privilege, they are
+able to perform actions requiring <code>METADATA</code> (e.g. opening the table) without
+having to explicitly grant <code>METADATA</code> privilege to them.</p>
+</div>
+<div class="paragraph">
+<p>Finally, Ranger supports a <code>delegate admin</code> flag which is independent of the
+action types (it&#8217;s not implied by <code>ALL</code> and doesn&#8217;t imply <code>METADATA</code>). This is
+similar to the <code>GRANT OPTION</code> part of <code>ALL WITH GRANT OPTION</code> in SQL as it is
+required to modify privileges in Ranger and change the owner of a Kudu table.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+A user with the <code>delegate admin</code> privilege on a resource can grant any
+privilege to themselves and others.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>While the action types are hierarchical, in terms of privilege evaluation,
+Ranger doesn&#8217;t have the concept of hierarchy. For instance, if a user has
+<code>SELECT</code> privilege on a database, it does not imply that the user has <code>SELECT</code>
+privileges on every table belonging to that database. On the other hand, Ranger
+supports privilege wildcard matching. For example, <code>db=a&#8594;table=*</code> matches all
+the tables that belong to database <code>a</code>. Therefore, in Ranger users actually need
+the <code>SELECT</code> privilege granted on <code>db=a&#8594;table=*&#8594;column=*</code> to allow <code>SELECT</code> on
+every table and every column in database <code>a</code>.</p>
+</div>
+<div class="paragraph">
+<p>Nevertheless, with Ranger integration, when a Kudu master receives a request,
+it consults Ranger to determine what privileges a user has. And the required
+policies documented in the <a href="#policy-for-kudu-masters">policy section</a>
+are enforced to determine whether the user is authorized to perform the requested
+action or not.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Even though Kudu table names remain case sensitive with Ranger integration,
+policy authorization is considered case-insensitive.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>In addition to granting privileges to a user by username, privileges can also be
+granted to table owners using the special <code>{OWNER}</code> username. These policies are
+evaluated only when a user tries to perform an action on a table that they own.
+For example, a policy can be defined for the <code>{OWNER}</code> user and <code>db=<strong>&#8594;table=</strong></code>
+resource, and it will automatically be applied when any table is accessed by its
+owner. This way administrators don&#8217;t need to choose between creating policies
+one by one for each table, and granting access to a wide range of users.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+If a user has <code>ALL</code> and <code>delegate admin</code> privileges on a table only via
+ownership and no privileges by username, they can effectively lock themselves
+out by giving away ownership.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_authorization_tokens"><a class="link" href="#_authorization_tokens">Authorization Tokens</a></h3>
+<div class="paragraph">
+<p>Rather than having every tablet server communicate directly with the underlying
+authorization service (Ranger), privileges are propagated and checked via
+<strong>authorization tokens</strong>. These tokens encapsulate what privileges a user has on a
+given table. Tokens are generated by the master and returned to Kudu clients
+upon opening a Kudu table. Kudu clients automatically attach authorization
+tokens when sending requests to tablet servers.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Authorization tokens are a means to limiting the number of nodes directly
+accessing the authorization service to retrieve privileges. As such, since the
+expected number of tablet servers in a cluster is much higher than the number of
+Kudu masters, they are only used to authorize requests sent to tablet servers.
+Kudu masters fetch privileges directly from the authorization service or cache.
+See <a href="#privilege-caching">Ranger Client Caching</a> for more details of Kudu&#8217;s privilege cache.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Similar to the validity interval for authentication tokens, to limit the
+window of potential unwanted access if a token becomes compromised,
+authorization tokens are valid for five minutes by default. The acquisition and
+renewal of a token is hidden from the user, as Kudu clients automatically
+retrieve new tokens when existing tokens expire.</p>
+</div>
+<div class="paragraph">
+<p>When a tablet server that has been configured to enforce fine-grained access
+control receives a request, it checks the privileges in the attached token,
+rejecting it if the privileges are not sufficient to perform the requested
+operation, or if it is invalid (e.g. expired).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="trusted-users"><a class="link" href="#trusted-users">Trusted Users</a></h3>
+<div class="paragraph">
+<p>It may be desirable to allow certain users to view and modify any data stored
+in Kudu. Such users can be specified via the <code>--trusted_user_acl</code> master
+configuration. Trusted users can perform any operation that would otherwise
+require fine-grained privileges, without Kudu consulting the authorization service.</p>
+</div>
+<div class="paragraph">
+<p>Additionally, some services that interact with Kudu may authorize requests on
+behalf of their end users. For example, Apache Impala authorizes queries on
+behalf of its users, and sends requests to Kudu as the Impala service user,
+commonly "impala". Since Impala authorizes requests on its own, to avoid
+extraneous communication between the authorization service and Kudu, the
+Impala service user should be listed as a trusted user.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+When accessing Kudu through Impala, Impala enforces its own fine-grained
+authorization policy. This policy is similar to Kudu&#8217;s and can be found in
+Impala&#8217;s
+<a href="https://impala.apache.org/docs/build/html/topics/impala_authorization.html#authorization">authorization
+documentation</a>.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="ranger-configuration"><a class="link" href="#ranger-configuration">Configuring the Integration with Apache Ranger</a></h3>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Ranger is often configured with Kerberos authentication. See
+<a href="#configuration">Configuring a Secure Kudu Cluster</a> for how to configure Kudu to authenticate via Kerberos.
+</td>
+</tr>
+</table>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>After building Kudu from source, find the <code>kudu-subprocess.jar</code> under the build
+directory (e.g. <code>build/release/bin</code>). Note its path, as it is the one to the
+JAR file containing the Ranger subprocess, which houses the Ranger client that
+Kudu will use to communicate with the Ranger server.</p>
+</li>
+<li>
+<p>Use the <code>kudu table list</code> tool to find any table names in the cluster that are
+not Ranger-compatible, which are names that begin or end with a period. Also check
+that there are no two table names that only differ by case, since authorization
+is case-insensitive. For those tables that don&#8217;t comply with the requirements,
+use the <code>kudu table rename_table</code> tool to rename the tables.</p>
+</li>
+<li>
+<p>Create Ranger client <code>ranger-kudu-security.xml</code> configuration file, and note down
+the directory containing this file.</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;property&gt;
+  &lt;name&gt;ranger.plugin.kudu.policy.cache.dir&lt;/name&gt;
+  &lt;value&gt;policycache&lt;/value&gt;
+  &lt;description&gt;Directory where Ranger policies are cached after successful retrieval from the Ranger service&lt;/description&gt;
+&lt;/property&gt;
+&lt;property&gt;
+  &lt;name&gt;ranger.plugin.kudu.service.name&lt;/name&gt;
+  &lt;value&gt;kudu&lt;/value&gt;
+  &lt;description&gt;Name of the Ranger service repository storing policies for this Kudu cluster&lt;/description&gt;
+&lt;/property&gt;
+&lt;property&gt;
+  &lt;name&gt;ranger.plugin.kudu.policy.rest.url&lt;/name&gt;
+  &lt;value&gt;http://host:port&lt;/value&gt;
+  &lt;description&gt;Ranger Admin URL&lt;/description&gt;
+&lt;/property&gt;
+&lt;property&gt;
+  &lt;name&gt;ranger.plugin.kudu.policy.source.impl&lt;/name&gt;
+  &lt;value&gt;org.apache.ranger.admin.client.RangerAdminRESTClient&lt;/value&gt;
+  &lt;description&gt;Ranger client implementation to retrieve policies from the Ranger service&lt;/description&gt;
+&lt;/property&gt;
+&lt;property&gt;
+  &lt;name&gt;ranger.plugin.kudu.policy.rest.ssl.config.file&lt;/name&gt;
+  &lt;value&gt;ranger-kudu-policymgr-ssl.xml&lt;/value&gt;
+  &lt;description&gt;Path to the file containing SSL details to connect Ranger Admin&lt;/description&gt;
+&lt;/property&gt;
+&lt;property&gt;
+  &lt;name&gt;ranger.plugin.kudu.policy.pollIntervalMs&lt;/name&gt;
+  &lt;value&gt;30000&lt;/value&gt;
+  &lt;description&gt;Ranger client policy polling interval&lt;/description&gt;
+&lt;/property&gt;</code></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>When Secure Socket Layer (SSL) is enabled for Ranger Admin, add <code>ranger-kudu-policymgr-ssl.xml</code>
+file to the Ranger client configuration directory with the following configurations:</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;property&gt;
+  &lt;name&gt;xasecure.policymgr.clientssl.keystore&lt;/name&gt;
+  &lt;value&gt;[/path/to/keystore].jks&lt;/value&gt;
+  &lt;description&gt;Java keystore files&lt;/description&gt;
+&lt;/property&gt;
+&lt;property&gt;
+  &lt;name&gt;xasecure.policymgr.clientssl.keystore.credential.file&lt;/name&gt;
+  &lt;value&gt;jceks://file/[path/to/credentials].jceks&lt;/value&gt;
+  &lt;description&gt;Java keystore credential file&lt;/description&gt;
+&lt;/property&gt;
+&lt;property&gt;
+  &lt;name&gt;xasecure.policymgr.clientssl.truststore&lt;/name&gt;
+  &lt;value&gt;[/path/to/truststore].jks&lt;/value&gt;
+  &lt;description&gt;Java truststore file&lt;/description&gt;
+&lt;/property&gt;
+&lt;property&gt;
+  &lt;name&gt;xasecure.policymgr.clientssl.truststore.credential.file&lt;/name&gt;
+  &lt;value&gt;jceks://file/[path/to/credentials].jceks&lt;/value&gt;
+  &lt;description&gt;Java truststore credential file&lt;/description&gt;
+&lt;/property&gt;</code></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Set the following configurations on the Kudu master:</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code># The path to directory containing Ranger client configuration. This example
+# assumes the path is '/kudu/ranger-config'.
+--ranger_config_path=/kudu/ranger-config
+
+# The path where the Java binary was installed. This example assumes
+# '$JAVA_HOME=/usr/local'
+--ranger_java_path=/usr/local/bin/java
+
+# The path to the JAR file containing the Ranger subprocess. This example
+# assumes '$KUDU_HOME=/kudu'
+--ranger_jar_path=/kudu/build/release/bin/kudu-subprocess.jar
+
+# This example ACL setup allows the 'impala' user to access all data stored in
+# Kudu, assuming Impala will authorize requests on its own. The 'kudu' user is
+# also granted access to all Kudu data, which may facilitate testing and
+# debugging (such as running the 'kudu cluster ksck' tool).
+--trusted_user_acl=impala,kudu</code></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Set the following configurations on the tablet servers:</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code>--tserver_enforce_access_control=true</code></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add a Kudu service repository with the following configurations via the Ranger
+Admin web UI:</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-xml" data-lang="xml"># This example setup configures the Kudu service user as a privileged user to be
+# able to retrieve authorization policies stored in Ranger.
+
+&lt;property&gt;
+  &lt;name&gt;policy.download.auth.users&lt;/name&gt;
+  &lt;value&gt;kudu&lt;/value&gt;
+&lt;/property&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="privilege-caching"><a class="link" href="#privilege-caching">Ranger Client Caching</a></h3>
+<div class="paragraph">
+<p>On the other hand, privilege cache in Kudu master is disabled with Ranger integration,
+since Ranger provides client side cache the use privileges and can periodically poll
+the privilege store for any changes. When a change is detected, the cache will be
+automatically updated.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Update the <code>ranger.plugin.kudu.policy.pollIntervalMs</code> property specified in
+<code>ranger-kudu-security.xml</code> to set how often the Ranger client cache refreshes
+the privileges from the Ranger service.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="policy-for-kudu-masters"><a class="link" href="#policy-for-kudu-masters">Policy for Kudu Masters</a></h3>
+<div class="paragraph">
+<p>The following authorization policy is enforced by Kudu masters.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 1. Authorization Policy for Masters</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Operation</th>
+<th class="tableblock halign-left valign-top">Required Privilege</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CreateTable</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CREATE ON DATABASE</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CreateTable</code> with an owner different than the logged in user</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ALL ON
+DATABASE</code> and <code>delegate admin</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>DeleteTable</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>DROP ON TABLE</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>AlterTable</code> (with no rename)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ALTER ON TABLE</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>AlterTable</code> (with rename)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ALL ON TABLE &lt;old-table&gt;</code> and <code>CREATE ON DATABASE &lt;new-database&gt;</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>AlterTable</code> (with owner change)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ALL ON TABLE</code> and <code>delegate admin</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>IsCreateTableDone</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>METADATA ON TABLE</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>IsAlterTableDone</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>METADATA ON TABLE</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ListTables</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>METADATA ON TABLE</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>GetTableLocations</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>METADATA ON TABLE</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>GetTableSchema</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>METADATA ON TABLE</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>GetTabletLocations</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>METADATA ON TABLE</code></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_policy_for_kudu_tablet_servers"><a class="link" href="#_policy_for_kudu_tablet_servers">Policy for Kudu Tablet Servers</a></h3>
+<div class="paragraph">
+<p>The following authorization policy is enforced by Kudu tablet servers.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 2. Authorization Policy for Tablet Servers</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Operation</th>
+<th class="tableblock halign-left valign-top">Required Privilege</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Scan</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>SELECT ON TABLE</code>, or</p>
+<p class="tableblock"><code>METADATA ON TABLE</code> and <code>SELECT ON COLUMN</code> for each projected column and each predicate column</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Scan</code> (no projected columns, equivalent to <code>COUNT(*)</code>)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>SELECT ON TABLE</code>, or</p>
+<p class="tableblock"><code>SELECT ON COLUMN</code> for each column in the table</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Scan</code> (with virtual columns)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>SELECT ON TABLE</code>, or</p>
+<p class="tableblock"><code>SELECT ON COLUMN</code> for each column in the table</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Scan</code> (in <code>ORDERED</code> mode)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>&lt;privileges required for a Scan&gt;</code> and <code>SELECT ON COLUMN</code> for each primary key column</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Insert</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>INSERT ON TABLE</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Update</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>UPDATE ON TABLE</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Upsert</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>INSERT ON TABLE</code> and <code>UPDATE ON TABLE</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Delete</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>DELETE ON TABLE</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>SplitKeyRange</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>SELECT ON COLUMN</code> for each primary key column and <code>SELECT ON COLUMN</code> for each projected column</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Checksum</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">User must be configured in <code>--superuser_acl</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ListTablets</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">User must be configured in <code>--superuser_acl</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Unlike Impala, Kudu only supports all-or-nothing access to a table&#8217;s
+schema, rather than showing only authorized columns.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_encryption"><a class="link" href="#_encryption">Encryption</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu allows all communications among servers and between clients and servers
+to be encrypted with TLS.</p>
+</div>
+<div class="paragraph">
+<p>Encryption can be configured on Kudu servers using the <code>--rpc_encryption</code> flag,
+which can be set to <code>required</code>, <code>optional</code>, or <code>disabled</code>. By default, the flag
+is set to <code>optional</code>. When <code>required</code>, Kudu will reject unencrypted connections.
+When <code>optional</code>, Kudu will attempt to use encryption. Same as authentication,
+when <code>disabled</code> or encryption fails for <code>optional</code>, Kudu will only allow
+unencrypted connections from trusted subnets and reject any unencrypted connections
+from publicly routable IPs. To secure a cluster, use <code>--rpc_encryption=required</code>.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Kudu will automatically turn off encryption on local loopback connections,
+since traffic from these connections is never exposed externally. This allows
+locality-aware compute frameworks like Spark and Impala to avoid encryption
+overhead, while still ensuring data confidentiality.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="web-ui"><a class="link" href="#web-ui">Web UI Encryption</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Kudu web UI can be configured to use secure HTTPS encryption by providing
+each server with TLS certificates. See <a href="#configuration">Configuring a Secure Kudu Cluster</a> for more information on
+web UI HTTPS configuration.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_web_ui_redaction"><a class="link" href="#_web_ui_redaction">Web UI Redaction</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>To prevent sensitive data from being exposed in the web UI, all row data is
+redacted. Table metadata, such as table names, column names, and partitioning
+information is not redacted. The web UI can be completely disabled by setting
+the <code>--webserver_enabled=false</code> flag on Kudu servers.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Disabling the web UI will also disable REST endpoints such as
+<code>/metrics</code>. Monitoring systems rely on these endpoints to gather metrics data.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="logs"><a class="link" href="#logs">Log Security</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>To prevent sensitive data from being included in Kudu server logs, all row data
+is redacted by default. By setting the <code>--redact=log</code> flag, redaction will be
+disabled in the web UI but retained for server logs. Alternatively, <code>--redact=none</code>
+can be used to disable redaction completely.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="configuration"><a class="link" href="#configuration">Configuring a Secure Kudu Cluster</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The following configuration parameters should be set on all servers (master and
+tablet server) in order to ensure that a Kudu cluster is secure:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code># Connection Security
+#--------------------
+--rpc_authentication=required
+--rpc_encryption=required
+--keytab_file=&lt;path-to-kerberos-keytab&gt;
+
+# Web UI Security
+#--------------------
+--webserver_certificate_file=&lt;path-to-cert-pem&gt;
+--webserver_private_key_file=&lt;path-to-key-pem&gt;
+# optional
+--webserver_private_key_password_cmd=&lt;password-cmd&gt;
+
+# If you prefer to disable the web UI entirely:
+--webserver_enabled=false
+
+# Coarse-grained authorization
+#--------------------------------
+
+# This example ACL setup allows the 'impala' user as well as the
+# 'nightly_etl_service_account' principal access to all data in the
+# Kudu cluster. The 'hadoopadmin' user is allowed to use administrative
+# tooling. Note that, by granting access to 'impala', other users
+# may access data in Kudu via the Impala service subject to its own
+# authorization rules.
+--user_acl=impala,nightly_etl_service_account
+--superuser_acl=hadoopadmin</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See <a href="#ranger-configuration">Configuring the Integration with Apache Ranger</a> to see an example of how to enable fine-grained
+authorization via Apache Ranger.</p>
+</div>
+<div class="paragraph">
+<p>Further information about these flags can be found in the configuration
+flag reference.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="known-limitations"><a class="link" href="#known-limitations">Known Limitations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu has a few known security limitations:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Custom Kerberos Principal</dt>
+<dd>
+<p>Kudu does not support setting a custom service
+principal for Kudu processes. The principal must be 'kudu'.</p>
+</dd>
+<dt class="hdlist1">External PKI</dt>
+<dd>
+<p>Kudu does not support externally-issued certificates for internal
+wire encryption (server to server and client to server).</p>
+</dd>
+<dt class="hdlist1">On-disk Encryption</dt>
+<dd>
+<p>Kudu does not have built-in on-disk encryption. However,
+Kudu can be used with whole-disk encryption tools such as dm-crypt.</p>
+</dd>
+</dl>
+</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+<span class="active-toc">Kudu Security</span>
+            <ul class="sectlevel1">
+<li><a href="#_authentication">Authentication</a>
+<ul class="sectlevel2">
+<li><a href="#_internal_pki">Internal PKI</a></li>
+<li><a href="#_authentication_tokens">Authentication Tokens</a></li>
+<li><a href="#_client_authentication_to_secure_kudu_clusters">Client Authentication to Secure Kudu Clusters</a></li>
+<li><a href="#_scalability">Scalability</a></li>
+</ul>
+</li>
+<li><a href="#_coarse_grained_authorization">Coarse-Grained Authorization</a></li>
+<li><a href="#fine_grained_authz">Fine-Grained Authorization</a>
+<ul class="sectlevel2">
+<li><a href="#_apache_ranger">Apache Ranger</a></li>
+<li><a href="#_authorization_tokens">Authorization Tokens</a></li>
+<li><a href="#trusted-users">Trusted Users</a></li>
+<li><a href="#ranger-configuration">Configuring the Integration with Apache Ranger</a></li>
+<li><a href="#privilege-caching">Ranger Client Caching</a></li>
+<li><a href="#policy-for-kudu-masters">Policy for Kudu Masters</a></li>
+<li><a href="#_policy_for_kudu_tablet_servers">Policy for Kudu Tablet Servers</a></li>
+</ul>
+</li>
+<li><a href="#_encryption">Encryption</a></li>
+<li><a href="#web-ui">Web UI Encryption</a></li>
+<li><a href="#_web_ui_redaction">Web UI Redaction</a></li>
+<li><a href="#logs">Log Security</a></li>
+<li><a href="#configuration">Configuring a Secure Kudu Cluster</a></li>
+<li><a href="#known-limitations">Known Limitations</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/top.html b/releases/1.15.0/docs/top.html
new file mode 100644
index 0000000..b839c4c
--- /dev/null
+++ b/releases/1.15.0/docs/top.html
@@ -0,0 +1,203 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-06-21 20:36:40 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/transaction_semantics.html b/releases/1.15.0/docs/transaction_semantics.html
new file mode 100644
index 0000000..4118abc
--- /dev/null
+++ b/releases/1.15.0/docs/transaction_semantics.html
@@ -0,0 +1,746 @@
+<!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 - Transaction Semantics in Apache Kudu</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Transaction Semantics in Apache Kudu</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+<div class="sidebarblock">
+<div class="content">
+<div class="paragraph">
+<p>This is a brief introduction to Kudu&#8217;s transaction and consistency semantics. For an
+in-depth technical exposition of most of what is mentioned here, and why it is correct,
+see the technical report <a href="#ht">[1]</a>.</p>
+</div>
+</div>
+</div>
+<div class="paragraph">
+<p>Kudu&#8217;s transactional semantics and architecture are inspired by state-of-the-art
+systems such as Spanner <a href="#spanner">[2]</a> and Calvin <a href="#fdt">[3]</a>. Kudu builds upon decades of database
+research. The core philosophy is to make the lives of developers easier by providing transactions with
+simple, strong semantics, without sacrificing performance or the ability to tune to different
+requirements.</p>
+</div>
+<div class="paragraph">
+<p>Kudu is designed to eventually be fully ACID, however, multi-tablet transactions are not
+yet implemented. As such, this discussion focuses on single-tablet write operations, and only
+briefly touches multi-tablet reads. Eventually Kudu will support fully strict-serializable
+semantics. In fact it already does in a limited context, but not all corner cases are covered
+as this is still a work in progress.</p>
+</div>
+<div class="paragraph">
+<p>Kudu currently allows the following operations:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>Write operations</strong> are sets of rows to be inserted, updated, or deleted in the storage
+engine, in a single tablet with multiple replicas. Write operations do not have separate
+"read sets" i.e. they do not scan existing data before performing the write. Each write
+is only concerned with previous state of the rows that are about to change.
+Writes are not  "committed" explicitly by the user. Instead, they are committed automatically
+by the system, after completion.</p>
+</li>
+<li>
+<p><strong>Scans</strong> are read operations that can traverse multiple tablets and read information
+with different levels of consistency or correctness guarantees. Scans can perform
+time-travel reads, i.e. the user is able to set a scan timestamp in the past and
+get back results that reflect the state of the storage engine at that point in time.</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<div class="title">Before We Begin</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The term <em>timestamp</em> is mentioned several times to illustrate the
+functionality, but <em>timestamp</em> is an internal concept mostly invisible to users,
+except when setting timestamp on a <code>KuduScanner</code>.</p>
+</li>
+<li>
+<p>We generally refer to methods and classes of the C&#43;&#43; client. While the Java
+client mostly has analogous methods and classes, the exact names of the APIs
+may differ.</p>
+</li>
+</ul>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_single_tablet_write_operations"><a class="link" href="#_single_tablet_write_operations">Single tablet write operations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu employs <em>Multiversion Concurrency Control (MVCC)</em> and the <em>Raft consensus</em>
+algorithm <a href="#consensus">[4]</a>. Each write operation in Kudu must go through the
+tablet&#8217;s leader.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>The leader acquires all locks for the rows that it will change.</p>
+</li>
+<li>
+<p>The leader assigns the write a timestamp before the write is submitted for
+replication. This timestamp will be the write&#8217;s "tag" in MVCC.</p>
+</li>
+<li>
+<p>After a majority of replicas acknowledges the change, the actual rows are changed.</p>
+</li>
+<li>
+<p>After the changes are complete, they are made visible to concurrent writes
+and reads, atomically.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>All replicas of a tablet observe the same order of operations, and if a write
+operation is assigned timestamp <em>n</em> and changes row <em>x</em>, a second write operation
+at timestamp <em>m &gt; n</em> is guaranteed to see the new value of <em>x</em>.</p>
+</div>
+<div class="paragraph">
+<p>This strict ordering of lock acquisition and timestamp assignment is enforced to be
+consistent across all replicas of a tablet through consensus. Therefore, write operations
+are totally ordered with regard to clock-assigned timestamps, relative to other writes
+in the same tablet. In other words, writes have strict-serializable semantics,
+though in an admittedly limited context. See this
+<a href="http://www.bailis.org/blog/linearizability-versus-serializability">blog post</a>
+for a little more context regarding what these semantics mean.</p>
+</div>
+<div class="paragraph">
+<p>While Isolated and Durable in an ACID sense, multi-row write operations are not yet fully Atomic.
+The failure of a single write in a batch operation does not roll back the operation,
+but produces per-row errors.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_writing_to_multiple_tablets"><a class="link" href="#_writing_to_multiple_tablets">Writing to multiple tablets</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu does not yet support transactions that span multiple tablets. However,
+consistent snapshot reads are possible (with caveats in the current implementation)
+as explained below.</p>
+</div>
+<div class="paragraph">
+<p>Writes from a Kudu client are optionally buffered in memory until they are flushed and sent
+to the server. When client&#8217;s session flushes, the rows for each tablet are batched
+together, and sent to the tablet server which hosts the leader replica of the tablet.
+Since there are no inter-tablet transactions, each of these batches represents a single,
+independent write operation with its own timestamp. However, the client API provides
+the option to impose some constraints on the assigned timestamps and on how writes to
+different tablets can be observed by clients.</p>
+</div>
+<div class="paragraph">
+<p>Kudu, like Spanner, was designed to be externally consistent <a href="#consistency">[5]</a>, preserving consistency
+when operations span multiple tablets and even multiple data centers. In practice this
+means that, if a write operation changes item <em>x</em> at tablet <em>A</em>, and a following write
+operation changes item <em>y</em> at tablet <em>B</em>, you might want to enforce that if
+the change to <em>y</em> is observed, the change to <em>x</em> must also be observed. There
+are many examples where this can be important. For example,  if Kudu is
+storing clickstreams for further analysis, and two clicks follow each other but
+are stored in different tablets, subsequent clicks should be assigned subsequent
+timestamps so that the causal relationship between them is captured.</p>
+</div>
+<div class="paragraph">
+<div class="title"><code>CLIENT_PROPAGATED</code> Consistency</div>
+<p>Kudu&#8217;s default external consistency mode is called <code>CLIENT_PROPAGATED</code>.
+See <a href="#ht">[1]</a> for an extensive explanation on how it works. In brief, this mode causes writes
+from <em>a single client</em> to be automatically externally consistent. In the clickstream scenario
+above, if the two clicks are submitted by different client instances, the application must
+manually propagate timestamps from one client to the other for the causal relationship
+to be captured.</p>
+</div>
+<div class="paragraph">
+<p>Timestamps between clients <em>a</em> and <em>b</em> can be propagated as follows:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Java Client</dt>
+<dd>
+<p>Call <code>AsyncKuduClient#getLastPropagatedTimestamp()</code> on client <em>a</em>,
+propagate the timestamp to client <em>b</em>, and call
+<code>AsyncKuduClient#setLastPropagatedTimestamp()</code> on client <em>b</em>.</p>
+</dd>
+<dt class="hdlist1">C&#43;&#43; Client</dt>
+<dd>
+<p>Call <code>KuduClient::GetLatestObservedTimestamp()</code> on client <em>a</em>,
+propagate the timestamp to client <em>b</em>, and call
+<code>KuduClient::SetLatestObservedTimestamp()</code> on client <em>b</em>.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<div class="title"><code>COMMIT_WAIT</code> Consistency</div>
+<p>Kudu also has an experimental implementation of an external consistency
+model used in Google&#8217;s Spanner , called <code>COMMIT_WAIT</code>. <code>COMMIT_WAIT</code> works
+by tightly synchronizing the clocks on all machines in the cluster. Then, when a
+write occurs, timestamps are assigned and the results of the write are not made
+visible until enough time has passed so that no other machine in the cluster could
+possibly assign a lower timestamp to a following write.</p>
+</div>
+<div class="paragraph">
+<p>When using this mode, the latency of writes is tightly tied to the accuracy of clocks on
+all the cluster hosts, and using this mode with loose clock synchronization causes writes
+to take a long time to complete or even time out. See <a href="#known_issues">Known Issues and Limitations</a>.</p>
+</div>
+<div class="paragraph">
+<p>The <code>COMMIT_WAIT</code> consistency mode may be selected as follows:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Java Client</dt>
+<dd>
+<p>Call <code>KuduSession#setExternalConsistencyMode(ExternalConsistencyMode.COMMIT_WAIT)</code></p>
+</dd>
+<dt class="hdlist1">C&#43;&#43; Client</dt>
+<dd>
+<p>Call <code>KuduSession::SetExternalConsistencyMode(COMMIT_WAIT)</code></p>
+</dd>
+</dl>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+<code>COMMIT_WAIT</code> consistency is considered an experimental feature. It may return
+incorrect results, exhibit performance issues, or negatively impact cluster stability.
+Use in production environments is discouraged.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_read_operations_scans"><a class="link" href="#_read_operations_scans">Read Operations (Scans)</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Scans are read operations performed by clients that may span one or more rows across
+one or more tablets. When a server receives a scan request, it takes a snapshot of the MVCC
+state and then proceeds in one of two ways depending on the read mode selected by
+the user. The mode may be selected as follows:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Java Client</dt>
+<dd>
+<p>Call <code>KuduScannerBuilder#readMode(&#8230;&#8203;)</code></p>
+</dd>
+<dt class="hdlist1">C&#43;&#43; Client</dt>
+<dd>
+<p>Call <code>KuduScanner::SetReadMode()</code></p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>The following modes are available in both clients:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1"><code>READ_LATEST</code></dt>
+<dd>
+<p>This is the default read mode. The server takes a snapshot of
+the MVCC state and proceeds with the read immediately. Reads in this mode only yield
+'Read Committed' isolation.</p>
+</dd>
+<dt class="hdlist1"><code>READ_AT_SNAPSHOT</code></dt>
+<dd>
+<p>In this read mode, scans are consistent and repeatable. A
+timestamp for the snapshot is selected either by the server, or set
+explicitly by the user through <code>KuduScanner::SetSnapshotMicros()</code>. Explicitly setting
+the timestamp is recommended; see <a href="#recommendations">Recommendations</a>. The server waits until this
+timestamp is 'safe' (until all write operations that have a lower timestamp have
+completed and are visible). This delay, coupled with an external consistency method,
+will eventually allow Kudu to have full <code>strict-serializable</code> semantics for reads
+and writes. This is still a work in progress and some anomalies are still possible
+(see <a href="#known_issues">Known Issues and Limitations</a>). Only scans in this mode can be fault-tolerant.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>Selecting between read modes requires balancing the trade-offs and making a choice
+that fits your workload. For instance, a reporting application that needs to
+scan the entire database might need to perform careful accounting operations, so that
+scan may need to be fault-tolerant, but probably doesn&#8217;t require a to-the-microsecond
+up-to-date view of the database. In that case, you might choose <code>READ_AT_SNAPSHOT</code>
+and select a timestamp that is a few seconds in the past when the scan starts. On
+the other hand, a machine learning workload that is not ingesting the whole data
+set and is already statistical in nature might not require the scan to be repeatable,
+so you might choose <code>READ_LATEST</code> instead for better scan performance.</p>
+</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>Kudu also provides replica selection API for users to choose at which replica the
+scan should be performed:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Java Client</dt>
+<dd>
+<p>Call <code>KuduScannerBuilder#replicaSelection(&#8230;&#8203;)</code></p>
+</dd>
+<dt class="hdlist1">C&#43;&#43; Client</dt>
+<dd>
+<p>Call <code>KuduScanner::SetSelection(&#8230;&#8203;)</code></p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>This API is a means to control locality and, in some cases, latency. The replica
+selection API has no effect on the consistency guarantees, which will hold no matter
+which replica is selected.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="known_issues"><a class="link" href="#known_issues">Known Issues and Limitations</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>There are several gaps and corner cases that prevent Kudu from being fully strictly-serializable
+in some situations, at the moment. Below are the details and next, some recommendations.</p>
+</div>
+<div class="sect2">
+<h3 id="known_issues_scans"><a class="link" href="#known_issues_scans">Writes</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for <code>COMMIT_WAIT</code> is experimental and requires careful tuning of the
+time-synchronization protocol, such as NTP (Network Time Protocol). Its use
+is discouraged in production environments.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_reads_scans"><a class="link" href="#_reads_scans">Reads (Scans)</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>On a leader change, <code>READ_AT_SNAPSHOT</code> scans at a snapshot whose timestamp is beyond the last
+write may also yield non-repeatable reads (see
+<a href="https://issues.apache.org/jira/browse/KUDU-1188">KUDU-1188</a>).
+See <a href="#recommendations">Recommendations</a> for a workaround.</p>
+</li>
+<li>
+<p>Impala scans are currently performed as <code>READ_LATEST</code> and have no consistency
+guarantees.</p>
+</li>
+<li>
+<p>In <code>AUTO_BACKGROUND_FLUSH</code> mode, or when using "async" flushing mechanisms,
+writes applied to a single client session may become reordered due to the
+concurrency of flushing the data to the server. This may be particularly
+noticeable if a single row is quickly updated with different values in
+succession. This phenomenon affects all client API implementations.
+Workarounds are described in the API documentation for the respective
+implementations in the docs for <code>FlushMode</code> or <code>AsyncKuduSession</code>.
+See <a href="https://issues.apache.org/jira/browse/KUDU-1767">KUDU-1767</a>.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="recommendations"><a class="link" href="#recommendations">Recommendations</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>If repeatable snapshot reads are a requirement, use <code>READ_AT_SNAPSHOT</code>
+with a timestamp that is slightly in the past (between 2-5 seconds, ideally).
+This will circumvent the anomaly described in <a href="#known_issues_scans">Writes</a>. Even when the
+anomaly has been addressed, back-dating the timestamp will always make scans
+faster, since they are unlikely to block.</p>
+</li>
+<li>
+<p>If external consistency is a requirement and you decide to use <code>COMMIT_WAIT</code>, the
+time-synchronization protocol needs to be tuned carefully. Each transaction will wait
+2x the maximum clock error at the time of execution, which is usually in the 100 msec.
+to 1 sec. range with the default settings, maybe more. Thus, transactions would take at least
+200 msec. to 2 sec. to complete when using the default settings and may even time out.</p>
+<div class="ulist">
+<ul>
+<li>
+<p>A local server should be used as a time server. We&#8217;ve performed experiments using the default
+NTP time source available in a Google Compute Engine data center and were able to obtain
+a reasonable tight max error bound, usually varying between 12-17 milliseconds.</p>
+</li>
+<li>
+<p>The following parameters should be adjusted in <code>/etc/ntp.conf</code> to tighten the maximum error:</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>server my_server.org iburst minpoll 1 maxpoll 8</code></p>
+</li>
+<li>
+<p><code>tinker dispersion 500</code></p>
+</li>
+<li>
+<p><code>tinker allan 0</code></p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+The above parameters minimize <code>maximum error</code> at the expense of <code>estimated error</code>,
+the latter might be orders of magnitude above it&#8217;s "normal" value. These parameters also
+may place a greater load on the time server, since they make the servers poll much more
+frequently.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_references"><a class="link" href="#_references">References</a></h2>
+<div class="sectionbody">
+<div class="ulist bibliography">
+<ul class="bibliography">
+<li>
+<p><a id="ht"></a>[1] David Alves, Todd Lipcon and Vijay Garg. Technical Report: HybridTime - Accessible Global Consistency with High Clock Uncertainty. April, 2014. <a href="http://users.ece.utexas.edu/~garg/pdslab/david/hybrid-time-tech-report-01.pdf" class="bare">http://users.ece.utexas.edu/~garg/pdslab/david/hybrid-time-tech-report-01.pdf</a></p>
+</li>
+<li>
+<p><a id="spanner"></a>[2] James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, J. J. Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild, Wilson Hsieh, Sebastian Kanthak, Eugene Kogan, Hongyi Li, Alexander Lloyd, Sergey Melnik, David Mwaura, David Nagle, Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak, Christopher Taylor, Ruth Wang, and Dale Woodford. 2012. Spanner: Google&#8217;s globally-distributed database. In Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation (OSDI'12). USENIX Association, Berkeley, CA, USA, 251-264.</p>
+</li>
+<li>
+<p><a id="fdt"></a>[3] Alexander Thomson, Thaddeus Diamond, Shu-Chun Weng, Kun Ren, Philip Shao, and Daniel J. Abadi. 2012. Calvin: fast distributed transactions for partitioned database systems. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data (SIGMOD '12). ACM, New York, NY, USA, 1-12. DOI=10.1145/2213836.2213838 <a href="http://doi.acm.org/10.1145/2213836.2213838" class="bare">http://doi.acm.org/10.1145/2213836.2213838</a></p>
+</li>
+<li>
+<p><a id="consensus"></a>[4] Diego Ongaro and John Ousterhout. 2014. In search of an understandable consensus algorithm. In Proceedings of the 2014 USENIX conference on USENIX Annual Technical Conference (USENIX ATC'14), Garth Gibson and Nickolai Zeldovich (Eds.). USENIX Association, Berkeley, CA, USA, 305-320.</p>
+</li>
+<li>
+<p><a id="consistency"></a>[5] Kwei-Jay Lin, "Consistency issues in real-time database systems," in System Sciences, 1989. Vol.II: Software Track, Proceedings of the Twenty-Second Annual Hawaii International Conference on , vol.2, no., pp.654-661 vol.2, 3-6 Jan 1989 doi: 10.1109/HICSS.1989.48069</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">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+<span class="active-toc">Kudu Transaction Semantics</span>
+            <ul class="sectlevel1">
+<li><a href="#_single_tablet_write_operations">Single tablet write operations</a></li>
+<li><a href="#_writing_to_multiple_tablets">Writing to multiple tablets</a></li>
+<li><a href="#_read_operations_scans">Read Operations (Scans)</a></li>
+<li><a href="#known_issues">Known Issues and Limitations</a>
+<ul class="sectlevel2">
+<li><a href="#known_issues_scans">Writes</a></li>
+<li><a href="#_reads_scans">Reads (Scans)</a></li>
+<li><a href="#recommendations">Recommendations</a></li>
+</ul>
+</li>
+<li><a href="#_references">References</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/troubleshooting.html b/releases/1.15.0/docs/troubleshooting.html
new file mode 100644
index 0000000..20125da
--- /dev/null
+++ b/releases/1.15.0/docs/troubleshooting.html
@@ -0,0 +1,1775 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Troubleshooting</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Troubleshooting</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_startup_errors"><a class="link" href="#_startup_errors">Startup Errors</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="req_hole_punching"><a class="link" href="#req_hole_punching">Errors During Hole Punching Test</a></h3>
+<div class="paragraph">
+<p>Kudu requires hole punching capabilities in order to be efficient. Hole punching support
+depends upon your operation system kernel version and local filesystem implementation.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>RHEL or CentOS 6.4 or later, patched to kernel version of 2.6.32-358 or later.
+Unpatched RHEL or CentOS 6.4 does not include a kernel with support for hole punching.</p>
+</li>
+<li>
+<p>Ubuntu 14.04 includes version 3.13 of the Linux kernel, which supports hole punching.</p>
+</li>
+<li>
+<p>Newer versions of the ext4 and xfs filesystems support hole punching. Older versions
+that do not support hole punching will cause Kudu to emit an error message such as the
+following and to fail to start:</p>
+<div class="listingblock">
+<div class="content">
+<pre>Error during hole punch test. The log block manager requires a
+filesystem with hole punching support such as ext4 or xfs. On el6,
+kernel version 2.6.32-358 or newer is required. To run without hole
+punching (at the cost of some efficiency and scalability), reconfigure
+Kudu to use the file block manager. Refer to the Kudu documentation for
+more details. WARNING: the file block manager is not suitable for
+production use and should be used only for small-scale evaluation and
+development on systems where hole-punching is not available. It's
+impossible to switch between block managers after data is written to the
+server. Raw error message follows</pre>
+</div>
+</div>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+ext4 mountpoints may actually be backed by ext2 or ext3 formatted devices, which do not
+support hole punching. The hole punching test will fail when run on such filesystems. There
+are several different ways to determine whether an ext4 mountpoint is backed by an ext2,
+ext3, or ext4 formatted device; see <a href="https://unix.stackexchange.com/q/60723">this Stack
+Exchange post</a> for details.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><a href="administration.html#change_dir_config">Changing Directory Configurations</a> documentation.</p>
+</div>
+<div class="paragraph">
+<p>Without hole punching support, the log block manager is unsafe to use. It won&#8217;t
+ever delete blocks, and will consume ever more space on disk.</p>
+</div>
+<div class="paragraph">
+<p>If you can&#8217;t use hole punching in your environment, you can still
+try Kudu. Enable the file block manager instead of the log block manager by
+adding the <code>--block_manager=file</code> flag to the commands you use to start the master
+and tablet servers. The file block manager does not scale as well as the log block
+manager.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The file block manager is known to scale and perform poorly, and should
+only be used for small-scale evaluation and development, and only on systems
+where hole punching is unavailable.</p>
+</div>
+<div class="paragraph">
+<p>The file block manager uses one file per block. As multiple blocks are written
+for each rowset, the number of blocks can be very high, especially for actively
+written tablets. This can cause performance issues compared to the log block
+manager even with a small amount of data and it&#8217;s <strong>impossible to switch between
+block managers</strong> without wiping and reinitializing the tablet servers.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="disk_issues"><a class="link" href="#disk_issues">Already present: FS layout already exists</a></h3>
+<div class="paragraph">
+<p>When Kudu starts, it checks each configured data directory, expecting either for all to be
+initialized or for all to be empty. If a server fails to start with a log message like</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Check failed: _s.ok() Bad status: Already present: FS layout already exists; not overwriting existing layout: FSManager roots already exist: /data0/kudu/data</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>then this precondition has failed. This could be because Kudu was configured with non-empty data
+directories on first startup, or because a previously-running, healthy Kudu process was restarted
+and at least one data directory was deleted or is somehow corrupted, perhaps because of a disk
+error. If in the latter situation, consult the
+<a href="administration.html#change_dir_config">Changing Directory Configurations</a> documentation.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="ntp"><a class="link" href="#ntp">NTP Clock Synchronization</a></h3>
+<div class="paragraph">
+<p>The local clock of the machine where Kudu master or tablet server is running
+must be synchronized using the Network Time Protocol (NTP) if using the <code>system</code>
+time source. The time source is controlled by the <code>--time_source</code> flag and
+by default is set to <code>system</code>.</p>
+</div>
+<div class="paragraph">
+<p>Kudu requires the <strong>maximum clock error</strong> (not to be mistaken with the estimated
+error) of the NTP-synchronized clock be below a configurable threshold.
+The default threshold value is 10 seconds and it can be customized using the
+<code>--max_clock_sync_error_usec</code> flag.</p>
+</div>
+<div class="paragraph">
+<p>When running with the <code>system</code> time source, Kudu will not start and will emit
+a message such as below if the local clock is reported unsynchronized:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>F0924 20:24:36.336809 14550 hybrid_clock.cc:191 Couldn't get the current time: Clock unsynchronized. Status: Service unavailable: Error reading clock. Clock considered unsynchronized.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If the machine&#8217;s clock is synchronized, but the maximum clock error is too high,
+the user will see a message such as:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Sep 17, 8:13:09.873 PM FATAL hybrid_clock.cc:196 Couldn't get the current time: Clock synchronized, but error: 11130000, is past the maximum allowable error: 10000000</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>or</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Sep 17, 8:32:31.135 PM FATAL tablet_server_main.cc:38 Check failed: _s.ok() Bad status: Service unavailable: Cannot initialize clock: Cannot initialize HybridClock. Clock synchronized but error was too high (11711000 us).</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In this and following NTP-related paragraphs, when talking about the
+'synchronization' with true time using NTP, we are referring to a couple of
+things:
+- the synchronization status of the NTP server which drives the local clock
+  of the machine
+- the synchronization status of the local machine&#8217;s clock itself as reported
+  by the kernel&#8217;s NTP discipline</p>
+</div>
+<div class="paragraph">
+<p>The former can be retrieved using the <code>ntpstat</code>, <code>ntpq</code>, and <code>ntpdc</code> utilities
+if using <code>ntpd</code> (they are included in the <code>ntp</code> package) or the <code>chronyc</code>
+utility if using <code>chronyd</code> (that&#8217;s a part of the <code>chrony</code> package). The latter
+can be retrieved using either the <code>ntptime</code> utility (the <code>ntptime</code> utility is
+also a part of the <code>ntp</code> package) or the <code>chronyc</code> utility if using <code>chronyd</code>.
+For more information, see the manual pages of the mentioned utilities and the
+paragraphs below.</p>
+</div>
+<div class="sect3">
+<h4 id="_ntp_related_packages"><a class="link" href="#_ntp_related_packages">NTP-related Packages</a></h4>
+<div class="paragraph">
+<p>For a long time, <code>ntpd</code> has been the recommended NTP server to use on Kudu
+nodes to synchronize local machines' clocks. Newer releases of Linux OS offer
+<code>chronyd</code> as an alternative to <code>ntpd</code> for network time synchronization. Both
+have been tested and proven to provide necessary functionality for clock
+synchronisation in a Kudu cluster.</p>
+</div>
+<div class="sect4">
+<h5 id="_installing_and_running_ntpd"><a class="link" href="#_installing_and_running_ntpd">Installing And Running <code>ntpd</code></a></h5>
+<div class="paragraph">
+<p><code>ntpd</code> is the NTP server from the ubiquitous <code>ntp</code> suite.</p>
+</div>
+<div class="paragraph">
+<p>To install <code>ntpd</code> and other NTP-related utilities, use the appropriate command
+for your operating system:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">OS</th>
+<th class="tableblock halign-left valign-top">Command</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debian/Ubuntu</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sudo apt-get install ntp</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RHEL/CentOS</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sudo yum install ntp</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>If <code>ntpd</code> is installed but not running, start it using one of these commands
+(don&#8217;t forget to run <code>ntpdate</code> first):</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">OS</th>
+<th class="tableblock halign-left valign-top">Command</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debian/Ubuntu</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sudo service ntp restart</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RHEL/CentOS</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sudo service ntpd restart</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Make sure <code>ntpdate</code> is in the list of services running when the machine starts:
+<code>ntpdate</code> should be run prior starting <code>ntpd</code> to avoid long synchronization
+delay of the machine&#8217;s local clock with the true time. The smaller the offset
+between local machine&#8217;s clock and the true time, the faster the NTP server can
+synchronize the clock.</p>
+</div>
+<div class="paragraph">
+<p>When running <code>ntpdate</code>, make sure the tool reports success: check its exit
+status and output. In case of issues connecting to the NTP servers, make sure
+NTP traffic is not being blocked by a firewall (NTP generates UDP traffic on
+port 123 by default) or other network connectivity issue.</p>
+</div>
+<div class="paragraph">
+<p>Below are a few examples of configuration files for <code>ntpd</code>. By default, <code>ntpd</code>
+uses <code>/etc/ntp.conf</code> configuration file.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre># Use my organization's internal NTP server (server in a local network).
+server ntp1.myorg.internal iburst maxpoll 7
+# Add servers from the NTP public pool for redundancy and robustness.
+server 0.pool.ntp.org iburst maxpoll 8
+server 1.pool.ntp.org iburst maxpoll 8
+server 2.pool.ntp.org iburst maxpoll 8
+server 3.pool.ntp.org iburst maxpoll 8</pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre># AWS case: use dedicated NTP server available via link-local IP address.
+server 169.254.169.123 iburst</pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre># GCE case: use dedicated NTP server available from within cloud instance.
+server metadata.google.internal iburst</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Sometimes it takes too long to synchronize the machine&#8217;s local clock with the
+true time even if the <code>ntpstat</code> utility reports that the NTP daemon is
+synchronized with one of the reference NTP servers. This manifests as the
+following: the utilities which report on the synchronization status of the NTP
+daemon claim that all is well, but <code>ntptime</code> claims that the status of the
+local clock is unsynchronized and Kudu tablet servers and masters refuse to
+start, outputting an error like the one mentioned above. This situation often
+happens if the <code>ntpd</code> is run with the <code>-x</code> option. According to the manual
+page of <code>ntpd</code>, the <code>-x</code> flag configures the NTP server to only slew the clock.
+Without <code>-x</code>, the NTP server would do a step adjustment instead:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>  -x     Normally, the time is slewed if the offset is less than the
+         step threshold, which is 128 ms by default, and stepped if
+         above the threshold. This option sets the threshold to 600 s,
+         which is well within the accuracy window to set the clock manually.
+         Note: Since the slew rate of typical Unix kernels is limited to
+         0.5 ms/s, each second of	adjustment requires an amortization
+         interval of 2000 s. Thus, an adjustment as much as 600 s
+         will take almost 14 days to complete.</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In such cases, removing the <code>-x</code> option will help synchronize the local clock
+faster.</p>
+</div>
+<div class="paragraph">
+<p>More information on best practices and examples of practical resolution of
+various NTP synchronization issues can be found found at
+<a href="https://www.redhat.com/en/blog/avoiding-clock-drift-vms">clock-drift</a></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_monitoring_clock_synchronization_status_with_the_ntp_suite"><a class="link" href="#_monitoring_clock_synchronization_status_with_the_ntp_suite">Monitoring Clock Synchronization Status With The <code>ntp</code> Suite</a></h5>
+<div class="paragraph">
+<p>When the <code>ntp</code> package is installed, you can monitor the synchronization status
+of the machine&#8217;s clock by running <code>ntptime</code>. For example, a system
+with a local clock that is synchronized may report:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>ntp_gettime() returns code 0 (OK)
+  time de24c0cf.8d5da274  Tue, Feb  6 2018 16:03:27.552, (.552210980),
+  maximum error 224455 us, estimated error 383 us, TAI offset 0
+ntp_adjtime() returns code 0 (OK)
+  modes 0x0 (),
+  offset 1279.543 us, frequency 2.500 ppm, interval 1 s,
+  maximum error 224455 us, estimated error 383 us,
+  status 0x2001 (PLL,NANO),
+  time constant 10, precision 0.001 us, tolerance 500 ppm,</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Note the following most important pieces of output:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>maximum error 22455 us</code>: this value is well under the 10-second maximum
+error required by Kudu.</p>
+</li>
+<li>
+<p><code>status 0x2001 (PLL,NANO)</code>: this indicates the local clock is synchronized
+with the true time up to the maximum error above</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>In contrast, a system with unsynchronized local clock would report something
+like the following:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>ntp_gettime() returns code 5 (ERROR)
+  time de24c240.0c006000  Tue, Feb  6 2018 16:09:36.046, (.046881),
+  maximum error 16000000 us, estimated error 16000000 us, TAI offset 0
+ntp_adjtime() returns code 5 (ERROR)
+  modes 0x0 (),
+  offset 0.000 us, frequency 2.500 ppm, interval 1 s,
+  maximum error 16000000 us, estimated error 16000000 us,
+  status 0x40 (UNSYNC),
+  time constant 10, precision 1.000 us, tolerance 500 ppm,</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The <code>UNSYNC</code> status means the local clock is not synchronized with the
+true time. Because of that, the maximum reported error doesn&#8217;t convey any
+meaningful estimation of the actual error.</p>
+</div>
+<div class="paragraph">
+<p>The <code>ntpstat</code> utility reports a summary on the synchronization status of
+the NTP daemon itself. For example, a system which have <code>ntpd</code> running and
+synchronized with one of its reference servers may report:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ ntpstat
+synchronised to NTP server (172.18.7.3) at stratum 4
+   time correct to within 160 ms
+   polling server every 1024 s</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Keep in mind that the synchronization status of the NTP daemon itself doesn&#8217;t
+reflect the synchronization status of the local clock. The way NTP daemon
+drives the local clock is subject to many constraints, and it may take the NTP
+daemon some time to synchronize the local clock after it itself has latched
+to one of the reference servers.</p>
+</div>
+<div class="paragraph">
+<p>If more detailed information is needed on the synchronization status of the
+NTP server (but not the synchronization status of the local clock), the <code>ntpq</code>
+or <code>ntpdc</code> tools can be used to get detailed information about what NTP server
+is currently acting as the source of the true time and which are considered
+as candidates (either viable or not):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ ntpq -nc lpeers
+     remote           refid      st t when poll reach   delay   offset  jitter
+==============================================================================
+-108.59.2.24     130.133.1.10     2 u   13   64    1   71.743    0.373   0.016
++192.96.202.120  129.6.15.28      2 u   12   64    1   72.583   -0.426   0.028
+-69.10.161.7     204.26.59.157    3 u   11   64    1   15.741    2.641   0.021
+-173.255.206.154 45.56.123.24     3 u   10   64    1   43.502    0.199   0.029
+-69.195.159.158  128.138.140.44   2 u    9   64    1   53.885   -0.016   0.013
+*216.218.254.202 .CDMA.           1 u    6   64    1    1.475   -0.400   0.012
++129.250.35.250  249.224.99.213   2 u    7   64    1    1.342   -0.640   0.018
+
+$ ntpq -nc opeers
+     remote           local      st t when poll reach   delay   offset    disp
+==============================================================================
+-108.59.2.24     10.17.100.238    2 u   17   64    1   71.743    0.373 187.573
++192.96.202.120  10.17.100.238    2 u   16   64    1   72.583   -0.426 187.594
+-69.10.161.7     10.17.100.238    3 u   15   64    1   15.741    2.641 187.569
+-173.255.206.154 10.17.100.238    3 u   14   64    1   43.502    0.199 187.580
+-69.195.159.158  10.17.100.238    2 u   13   64    1   53.885   -0.016 187.561
+*216.218.254.202 10.17.100.238    1 u   10   64    1    1.475   -0.400 187.543
++129.250.35.250  10.17.100.238    2 u   11   64    1    1.342   -0.640 187.588</pre>
+</div>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+Both <code>lpeers</code> and <code>opeers</code> may be helpful as <code>lpeers</code> lists refid and
+jitter, while <code>opeers</code> lists clock dispersion.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_installing_and_running_chronyd"><a class="link" href="#_installing_and_running_chronyd">Installing And Running <code>chronyd</code></a></h5>
+<div class="paragraph">
+<p>Kudu has been tested and is supported on machines whose local clock is
+synchronized with NTP using <code>chronyd</code> version 3.2 and newer.</p>
+</div>
+<div class="paragraph">
+<p>The OS package is called <code>chrony</code> and contains both the NTP server <code>chronyd</code>
+and the <code>chronyc</code> command line utility. To install the <code>chronyd</code> NTP server
+and other utilities, use the appropriate command for your operating system:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">OS</th>
+<th class="tableblock halign-left valign-top">Command</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debian/Ubuntu</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sudo apt-get install chrony</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RHEL/CentOS</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sudo yum install chrony</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>If <code>chronyd</code> is installed but not yet running, start it using one of these
+commands (don&#8217;t forget to run <code>chronyd -q</code> first):</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">OS</th>
+<th class="tableblock halign-left valign-top">Command</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debian/Ubuntu</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sudo service chrony restart</code></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">RHEL/CentOS</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sudo service chronyd restart</code></p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>By default, <code>chronyd</code> uses <code>/etc/chrony.conf</code> configuration file. The <code>rtcsync</code>
+option must be enabled in <code>chrony.conf</code>. Without <code>rtcsync</code>, the local machine&#8217;s
+clock will always be reported as unsynchronized and Kudu masters and tablet
+servers will not be able to start. The following
+<a href="https://github.com/mlichvar/chrony/blob/994409a03697b8df68115342dc8d1e7ceeeb40bd/sys_timex.c#L162-L166">code</a>
+explains the observed behavior of <code>chronyd</code> when setting the synchronization
+status of the local clock on Linux.</p>
+</div>
+<div class="paragraph">
+<p>As verified at RHEL7.5/CentOS7.5 with <code>chronyd</code> 3.2 and newer, the default
+configuration file is good enough to satisfy Kudu requirements for the system
+clock if running on a machine that has Internet access.</p>
+</div>
+<div class="paragraph">
+<p>An <a href="https://chrony.tuxfamily.org/faq.html#_what_is_the_minimum_recommended_configuration_for_an_ntp_client">example of a minimum viable configuration</a> for <code>chronyd</code> is:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>pool pool.ntp.org iburst
+driftfile /var/lib/chrony/drift
+makestep 1 3
+rtcsync</pre>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_monitoring_clock_synchronization_status_with_the_chrony_suite"><a class="link" href="#_monitoring_clock_synchronization_status_with_the_chrony_suite">Monitoring Clock Synchronization Status With The <code>chrony</code> Suite</a></h5>
+<div class="paragraph">
+<p>When the <code>chrony</code> package is installed, you can monitor the synchronization
+status of the machine&#8217;s clock by running <code>chronyc tracking</code> (add <code>-n</code> option
+if no resolution of IP addresses back to FQDNs is desired:
+<code>chronyc -n tracking</code>).</p>
+</div>
+<div class="paragraph">
+<p>For example, a system where <code>chronyd</code> hasn&#8217;t synchronized the local clock yet
+may report something like the following:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Reference ID    : 00000000 ()
+Stratum         : 0
+Ref time (UTC)  : Thu Jan 01 00:00:00 1970
+System time     : 0.000000000 seconds fast of NTP time
+Last offset     : +0.000000000 seconds
+RMS offset      : 0.000000000 seconds
+Frequency       : 69.422 ppm slow
+Residual freq   : +0.000 ppm
+Skew            : 0.000 ppm
+Root delay      : 1.000000000 seconds
+Root dispersion : 1.000000000 seconds
+Update interval : 0.0 seconds
+Leap status     : Not synchronised</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>A system with its local clock already synchronized may report:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Reference ID    : A9FEA9FE (169.254.169.254)
+Stratum         : 3
+Ref time (UTC)  : Tue Mar 03 06:33:23 2020
+System time     : 0.000011798 seconds fast of NTP time
+Last offset     : +0.000014285 seconds
+RMS offset      : 0.001493311 seconds
+Frequency       : 69.417 ppm slow
+Residual freq   : +0.000 ppm
+Skew            : 0.006 ppm
+Root delay      : 0.000786347 seconds
+Root dispersion : 0.000138749 seconds
+Update interval : 1036.7 seconds
+Leap status     : Normal</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Note the following important pieces of output:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>Root delay</code>: the total of the network path delays (round trips)
+to the Stratum 1 server with which this <code>chronyd</code> instance is synchronized.</p>
+</li>
+<li>
+<p><code>Root dispersion</code>: the total dispersion accumulated through all the paths up
+to the Stratum 1 server with which this <code>chronyd</code> instance is synchronized.</p>
+</li>
+<li>
+<p><code>Leap status</code>: whether the local clock is synchronized with the true time
+up to the maximum error (see below). The <code>Normal</code> status means the clock is
+synchronized, and <code>Not synchronised</code> naturally means otherwise.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>An absolute bound on the error of the clock maintained internally by <code>chronyd</code>
+at the time of the last NTP update can be expressed as:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>clock_error &lt;= abs(last_offset) + (root_delay / 2) + root_dispersion</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><code>chronyc sources</code> reports on the list of reference NTP servers:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>210 Number of sources = 4
+MS Name/IP address         Stratum Poll Reach LastRx Last sample
+===============================================================================
+^* 169.254.169.254               2  10   377   371   +240us[ +254us] +/-  501us
+^- 64.62.190.177                 3  11   377   102  +1033us[+1033us] +/-   81ms
+^- 64.246.132.14                 1  11   377   129   +323us[ +323us] +/-   16ms
+^- 184.105.182.16                2  10   377   130  -4719us[-4719us] +/-   55ms</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To get more details on the measurement stats for reference NTP servers use
+<code>chronyc sourcestats</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>210 Number of sources = 4
+Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
+==============================================================================
+169.254.169.254            46  27  323m     +0.000      0.006    +72ns    68us
+64.62.190.177              12  10  224m     +0.071      0.050  +1240us   154us
+64.246.132.14              21  13  326m     +0.012      0.030   +434us   230us
+184.105.182.16              6   3   86m     +0.252      0.559  -5097us   306us</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Use <code>chronyc ntpdata [server]</code> to get information on a particular reference
+server (or all servers if the <code>server</code> parameter is omitted):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Remote address  : 169.254.169.254 (A9FEA9FE)
+Remote port     : 123
+Local address   : 172.31.113.1 (AC1F7101)
+Leap status     : Normal
+Version         : 4
+Mode            : Server
+Stratum         : 2
+Poll interval   : 10 (1024 seconds)
+Precision       : -20 (0.000000954 seconds)
+Root delay      : 0.000229 seconds
+Root dispersion : 0.000107 seconds
+Reference ID    : 474F4F47 ()
+Reference time  : Tue Mar 03 06:33:24 2020
+Offset          : -0.000253832 seconds
+Peer delay      : 0.000557465 seconds
+Peer dispersion : 0.000000987 seconds
+Response time   : 0.000000001 seconds
+Jitter asymmetry: +0.50
+NTP tests       : 111 111 1111
+Interleaved     : No
+Authenticated   : No
+TX timestamping : Daemon
+RX timestamping : Kernel
+Total TX        : 50
+Total RX        : 50
+Total valid RX  : 50</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For troubleshooting tips on clock synchronisation with chronyd see
+<a href="https://chrony.tuxfamily.org/faq.html#_computer_is_not_synchronising">this
+useful guide</a>.</p>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_ntp_configuration_best_practices"><a class="link" href="#_ntp_configuration_best_practices">NTP Configuration Best Practices</a></h4>
+<div class="paragraph">
+<p>In order to provide stable time synchronization with low maximum error, follow
+these best NTP configuration best practices.</p>
+</div>
+<div class="paragraph">
+<p><strong>Run <code>ntpdate</code> (or its alternatives <code>ntpd -q</code> or <code>chronyd -q</code> in case of chrony)
+prior to running the NTP server.</strong> If the offset of the local clock is too far
+from the true time, it can take a long time before the NTP server synchronizes
+the local clock, even if it&#8217;s allowed to perform step adjustments. So, after
+configuring <code>ntpd</code> or <code>chronyd</code>, first run the <code>ntpdate</code> tool with the same set
+of NTP servers or run <code>ntpd -q/chronyd -q</code>. It&#8217;s assumed that the NTP server
+is not running when <code>ntpdate/ntpd -q/chronyd -q</code> is run. On RHEL/CentOS, if
+using the <code>ntp</code> suite, enable the <code>ntpdate</code> service; if using the <code>chrony</code>
+suite, enable the <code>chrony-wait</code> service.</p>
+</div>
+<div class="paragraph">
+<p><strong>In certain public cloud environments, use the highly-available NTP server
+accessible via link-local IP address or other dedicated NTP server provided
+as a service.</strong> If your cluster is running in a public cloud environment,
+consult the cloud provider&#8217;s documentation for the recommended NTP setup.
+Both AWS and GCE clouds offer dedicated highly available NTP servers accessible
+from within a cloud instance via link-local IP address.</p>
+</div>
+<div class="paragraph">
+<p><strong>Unless using highly-available NTP reference server accessible via link-local
+address, always configure at least four time sources for NTP server at the
+local machine.</strong> In addition to providing redundancy in case one of time sources
+becomes unavailable, this might make the configuration more robust since the
+NTP is designed to increase its accuracy with a diversity of sources in networks
+with higher round-trip times and jitter.</p>
+</div>
+<div class="paragraph">
+<p><strong>Use the <code>iburst</code> option for faster synchronization at startup</strong>. The <code>iburst</code>
+option instructs the NTP server (both <code>ntpd</code> and <code>chronyd</code>) to send an initial
+"burst" of time queries at startup.  This results in a faster synchronization
+of the <code>ntpd/chronyd</code> with their reference servers upon startup.</p>
+</div>
+<div class="paragraph">
+<p><strong>If the maximum clock error goes beyond the default threshold set by Kudu
+(10 seconds), consider setting lower value for the <code>maxpoll</code> option for every
+NTP server in <code>ntp.conf/chrony.conf</code></strong>. For example, consider setting the
+<code>maxpoll</code> to 7 which will cause the NTP daemon to make requests to the
+corresponding NTP server at least every 128 seconds. The default maximum poll
+interval is 10 (1024 seconds) for both <code>ntpd</code> and <code>chronyd</code>.</p>
+</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>If using custom <code>maxpoll</code> interval, don&#8217;t set <code>maxpoll</code> too low (e.g., lower
+than 6) to avoid flooding NTP servers, especially the public ones. Otherwise
+they may blacklist the client (i.e. the NTP daemon at your machine) and cease
+providing NTP service at all. If in doubt, consult the <code>ntp.conf</code> or
+<code>chrony.conf</code> manual page correspondingly.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_troubleshooting_ntp_stability_problems"><a class="link" href="#_troubleshooting_ntp_stability_problems">Troubleshooting NTP Stability Problems</a></h4>
+<div class="paragraph">
+<p>As of Kudu 1.6.0, both <code>kudu-master</code> and <code>kudu-tserver</code> are able to continue to
+operate during a brief loss of clock synchronization. If clock synchronization
+is lost for several hours, they may crash. If <code>kudu-master</code> or <code>kudu-tserver</code>
+process crashes due to clock synchronization issues, consult the <code>ERROR</code> log
+for a dump of related information which may help to diagnose the issue.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+Kudu 1.5.0 and earlier versions were less resilient to brief NTP outages. In
+addition, they contained a <a href="https://issues.apache.org/jira/browse/KUDU-2209">bug</a>
+which could cause Kudu to incorrectly measure the maximum error, resulting in
+crashes. If you experience crashes related to clock synchronization on these
+earlier versions of Kudu and it appears that the system&#8217;s NTP configuration
+is correct, consider upgrading to Kudu 1.6.0 or later.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+If using other than link-local NTP servers, it may take some time for the
+NTP server running on a local machine to synchronize with one of its reference
+servers in case of network connectivity issues. In case of a spotty network
+between the machine and the reference NTP servers, <code>ntpd/chronyd</code> may become
+unsynchronized with its reference NTP servers. If that happens, consider finding
+other set of reference NTP servers: the best bet is to use NTP servers in the
+local network or *.pool.ntp.org servers.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="disk_space_usage"><a class="link" href="#disk_space_usage">Disk Space Usage</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When using the log block manager (the default on Linux), Kudu uses
+<a href="https://en.wikipedia.org/wiki/Sparse_file">sparse files</a> to store data. A
+sparse file has a different apparent size than the actual amount of disk space
+it uses. This means that some tools may inaccurately report the disk space
+used by Kudu. For example, the size listed by <code>ls -l</code> does not accurately
+reflect the disk space used by Kudu data files:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ ls -lh /data/kudu/tserver/data
+total 117M
+-rw------- 1 kudu kudu 160M Mar 26 19:37 0b9807b8b17d48a6a7d5b16bf4ac4e6d.data
+-rw------- 1 kudu kudu 4.4K Mar 26 19:37 0b9807b8b17d48a6a7d5b16bf4ac4e6d.metadata
+-rw------- 1 kudu kudu  32M Mar 26 19:37 2f26eeacc7e04b65a009e2c9a2a8bd20.data
+-rw------- 1 kudu kudu 4.3K Mar 26 19:37 2f26eeacc7e04b65a009e2c9a2a8bd20.metadata
+-rw------- 1 kudu kudu 672M Mar 26 19:37 30a2dd2cd3554d8a9613f588a8d136ff.data
+-rw------- 1 kudu kudu 4.4K Mar 26 19:37 30a2dd2cd3554d8a9613f588a8d136ff.metadata
+-rw------- 1 kudu kudu  32M Mar 26 19:37 7434c83c5ec74ae6af5974e4909cbf82.data
+-rw------- 1 kudu kudu 4.3K Mar 26 19:37 7434c83c5ec74ae6af5974e4909cbf82.metadata
+-rw------- 1 kudu kudu 672M Mar 26 19:37 772d070347a04f9f8ad2ad3241440090.data
+-rw------- 1 kudu kudu 4.4K Mar 26 19:37 772d070347a04f9f8ad2ad3241440090.metadata
+-rw------- 1 kudu kudu 160M Mar 26 19:37 86e50a95531f46b6a79e671e6f5f4151.data
+-rw------- 1 kudu kudu 4.4K Mar 26 19:37 86e50a95531f46b6a79e671e6f5f4151.metadata
+-rw------- 1 kudu kudu  687 Mar 26 19:26 block_manager_instance</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Notice that the total size reported is 117MiB, while the first file&#8217;s size is
+listed as 160MiB. Adding the <code>-s</code> option to <code>ls</code> will cause <code>ls</code> to output the
+file&#8217;s disk space usage.</p>
+</div>
+<div class="paragraph">
+<p>The <code>du</code> and <code>df</code> utilities report the actual disk space usage by default.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ du -h /data/kudu/tserver/data
+118M   /data/kudu/tserver/data</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The apparent size can be shown with the <code>--apparent-size</code> flag to <code>du</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ du -h --apparent-size /data/kudu/tserver/data
+1.7G  /data/kudu/tserver/data</pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="crash_reporting"><a class="link" href="#crash_reporting">Reporting Kudu Crashes</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu uses the
+<a href="https://chromium.googlesource.com/breakpad/breakpad/">Google Breakpad</a>
+library to generate a minidump whenever Kudu experiences a crash. These
+minidumps are typically only a few MB in size and are generated even if core
+dump generation is disabled. At this time, generating minidumps is only
+possible in Kudu on Linux builds.</p>
+</div>
+<div class="paragraph">
+<p>A minidump file contains important debugging information about the process that
+crashed, including shared libraries loaded and their versions, a list of
+threads running at the time of the crash, the state of the processor registers
+and a copy of the stack memory for each thread, and CPU and operating system
+version information.</p>
+</div>
+<div class="paragraph">
+<p>It is also possible to force Kudu to create a minidump without killing the
+process by sending a <code>USR1</code> signal to the <code>kudu-tserver</code> or <code>kudu-master</code>
+process. For example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>sudo pkill -USR1 kudu-tserver</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>By default, Kudu stores its minidumps in a subdirectory of its configured glog
+directory called <code>minidumps</code>. This location can be customized by setting the
+<code>--minidump_path</code> flag. Kudu will retain only a certain number of minidumps
+before deleting the oldest ones, in an effort to avoid filling up the disk with
+minidump files. The maximum number of minidumps that will be retained can be
+controlled by setting the <code>--max_minidumps</code> gflag.</p>
+</div>
+<div class="paragraph">
+<p>Minidumps contain information specific to the binary that created them and so
+are not usable without access to the exact binary that crashed, or a very
+similar binary. For more information on processing and using minidump files,
+see scripts/dump_breakpad_symbols.py.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+A minidump can be emailed to a Kudu developer or attached to a JIRA in
+order to help a Kudu developer debug a crash. In order for it to be useful, the
+developer will need to know the exact version of Kudu and the operating system
+where the crash was observed. Note that while a minidump does not contain a
+heap memory dump, it does contain stack memory and therefore it is possible for
+application data to appear in a minidump. If confidential or personal
+information is stored on the cluster, do not share minidump files.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_performance_troubleshooting"><a class="link" href="#_performance_troubleshooting">Performance Troubleshooting</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="kudu_tracing"><a class="link" href="#kudu_tracing">Kudu Tracing</a></h3>
+<div class="paragraph">
+<p>The <code>kudu-master</code> and <code>kudu-tserver</code> daemons include built-in tracing support
+based on the open source
+<a href="https://www.chromium.org/developers/how-tos/trace-event-profiling-tool">Chromium Tracing</a>
+framework. You can use tracing to help diagnose latency issues or other problems
+on Kudu servers.</p>
+</div>
+<div class="sect3">
+<h4 id="_accessing_the_tracing_interface"><a class="link" href="#_accessing_the_tracing_interface">Accessing the tracing interface</a></h4>
+<div class="paragraph">
+<p>The tracing interface is accessed via a web browser as part of the
+embedded web server in each of the Kudu daemons.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 1. Tracing Interface URLs</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Daemon</th>
+<th class="tableblock halign-left valign-top">URL</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Server</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://tablet-server-1.example.com:8050/tracing.html" class="bare">http://tablet-server-1.example.com:8050/tracing.html</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Master</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://master-1.example.com:8051/tracing.html" class="bare">http://master-1.example.com:8051/tracing.html</a></p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+The tracing interface is known to work in recent versions of Google Chrome.
+Other browsers may not work as expected.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_collecting_a_trace"><a class="link" href="#_collecting_a_trace">Collecting a trace</a></h4>
+<div class="paragraph">
+<p>After navigating to the tracing interface, click the <strong>Record</strong> button on the top left corner
+of the screen. When beginning to diagnose a problem, start by selecting all categories.
+Click <strong>Record</strong> to begin recording a trace.</p>
+</div>
+<div class="paragraph">
+<p>During the trace collection, events are collected into an in-memory ring buffer.
+This ring buffer is fixed in size, so it will eventually fill up to 100%. However, new events
+are still being collected while older events are being removed. While recording the trace,
+trigger the behavior or workload you are interested in exploring.</p>
+</div>
+<div class="paragraph">
+<p>After collecting for several seconds, click <strong>Stop</strong>. The collected trace will be
+downloaded and displayed. Use the <strong>?</strong> key to display help text about using the tracing
+interface to explore the trace.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_saving_a_trace"><a class="link" href="#_saving_a_trace">Saving a trace</a></h4>
+<div class="paragraph">
+<p>You can save collected traces as JSON files for later analysis by clicking <strong>Save</strong>
+after collecting the trace. To load and analyze a saved JSON file, click <strong>Load</strong>
+and choose the file.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_rpc_timeout_traces"><a class="link" href="#_rpc_timeout_traces">RPC Timeout Traces</a></h3>
+<div class="paragraph">
+<p>If client applications are experiencing RPC timeouts, the Kudu tablet server
+<code>WARNING</code> level logs should contain a log entry which includes an RPC-level trace. For example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>W0922 00:56:52.313848 10858 inbound_call.cc:193] Call kudu.consensus.ConsensusService.UpdateConsensus
+from 192.168.1.102:43499 (request call id 3555909) took 1464ms (client timeout 1000).
+W0922 00:56:52.314888 10858 inbound_call.cc:197] Trace:
+0922 00:56:50.849505 (+     0us) service_pool.cc:97] Inserting onto call queue
+0922 00:56:50.849527 (+    22us) service_pool.cc:158] Handling call
+0922 00:56:50.849574 (+    47us) raft_consensus.cc:1008] Updating replica for 2 ops
+0922 00:56:50.849628 (+    54us) raft_consensus.cc:1050] Early marking committed up to term: 8 index: 880241
+0922 00:56:50.849968 (+   340us) raft_consensus.cc:1056] Triggering prepare for 2 ops
+0922 00:56:50.850119 (+   151us) log.cc:420] Serialized 1555 byte log entry
+0922 00:56:50.850213 (+    94us) raft_consensus.cc:1131] Marking committed up to term: 8 index: 880241
+0922 00:56:50.850218 (+     5us) raft_consensus.cc:1148] Updating last received op as term: 8 index: 880243
+0922 00:56:50.850219 (+     1us) raft_consensus.cc:1195] Filling consensus response to leader.
+0922 00:56:50.850221 (+     2us) raft_consensus.cc:1169] Waiting on the replicates to finish logging
+0922 00:56:52.313763 (+1463542us) raft_consensus.cc:1182] finished
+0922 00:56:52.313764 (+     1us) raft_consensus.cc:1190] UpdateReplicas() finished
+0922 00:56:52.313788 (+    24us) inbound_call.cc:114] Queueing success response</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>These traces can give an indication of which part of the request was slow. Please
+include them in bug reports related to RPC latency outliers.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_kernel_stack_watchdog_traces"><a class="link" href="#_kernel_stack_watchdog_traces">Kernel Stack Watchdog Traces</a></h3>
+<div class="paragraph">
+<p>Each Kudu server process has a background thread called the Stack Watchdog, which
+monitors the other threads in the server in case they have blocked for
+longer-than-expected periods of time. These traces can indicate operating system issues
+or bottlenecked storage.</p>
+</div>
+<div class="paragraph">
+<p>When the watchdog thread identifies a case of thread blockage, it logs an entry
+in the <code>WARNING</code> log like the following:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>W0921 23:51:54.306350 10912 kernel_stack_watchdog.cc:111] Thread 10937 stuck at /data/kudu/consensus/log.cc:505 for 537ms:
+Kernel stack:
+[&lt;ffffffffa00b209d&gt;] do_get_write_access+0x29d/0x520 [jbd2]
+[&lt;ffffffffa00b2471&gt;] jbd2_journal_get_write_access+0x31/0x50 [jbd2]
+[&lt;ffffffffa00fe6d8&gt;] __ext4_journal_get_write_access+0x38/0x80 [ext4]
+[&lt;ffffffffa00d9b23&gt;] ext4_reserve_inode_write+0x73/0xa0 [ext4]
+[&lt;ffffffffa00d9b9c&gt;] ext4_mark_inode_dirty+0x4c/0x1d0 [ext4]
+[&lt;ffffffffa00d9e90&gt;] ext4_dirty_inode+0x40/0x60 [ext4]
+[&lt;ffffffff811ac48b&gt;] __mark_inode_dirty+0x3b/0x160
+[&lt;ffffffff8119c742&gt;] file_update_time+0xf2/0x170
+[&lt;ffffffff8111c1e0&gt;] __generic_file_aio_write+0x230/0x490
+[&lt;ffffffff8111c4c8&gt;] generic_file_aio_write+0x88/0x100
+[&lt;ffffffffa00d3fb1&gt;] ext4_file_write+0x61/0x1e0 [ext4]
+[&lt;ffffffff81180f5b&gt;] do_sync_readv_writev+0xfb/0x140
+[&lt;ffffffff81181ee6&gt;] do_readv_writev+0xd6/0x1f0
+[&lt;ffffffff81182046&gt;] vfs_writev+0x46/0x60
+[&lt;ffffffff81182102&gt;] sys_pwritev+0xa2/0xc0
+[&lt;ffffffff8100b072&gt;] system_call_fastpath+0x16/0x1b
+[&lt;ffffffffffffffff&gt;] 0xffffffffffffffff
+
+User stack:
+    @       0x3a1ace10c4  (unknown)
+    @          0x1262103  (unknown)
+    @          0x12622d4  (unknown)
+    @          0x12603df  (unknown)
+    @           0x8e7bfb  (unknown)
+    @           0x8f478b  (unknown)
+    @           0x8f55db  (unknown)
+    @          0x12a7b6f  (unknown)
+    @       0x3a1b007851  (unknown)
+    @       0x3a1ace894d  (unknown)
+    @              (nil)  (unknown)</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>These traces can be useful for diagnosing root-cause latency issues when they are caused by systems
+below Kudu, such as disk controllers or filesystems.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="memory_limits"><a class="link" href="#memory_limits">Memory Limits</a></h3>
+<div class="paragraph">
+<p>Kudu has a hard and soft memory limit. The hard memory limit is the maximum amount a Kudu process
+is allowed to use, and is controlled by the <code>--memory_limit_hard_bytes</code> flag. The soft memory limit
+is a percentage of the hard memory limit, controlled by the flag <code>memory_limit_soft_percentage</code> and
+with a default value of 80%, that determines the amount of memory a process may use before it will
+start rejecting some write operations.</p>
+</div>
+<div class="paragraph">
+<p>If the logs or RPC traces contain messages like</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Service unavailable: Soft memory limit exceeded (at 96.35% of capacity)</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>then Kudu is rejecting writes due to memory backpressure. This may result in write timeouts. There
+are several ways to relieve the memory pressure on Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If the host has more memory available for Kudu, increase <code>--memory_limit_hard_bytes</code>.</p>
+</li>
+<li>
+<p>Increase the rate at which Kudu can flush writes from memory to disk by increasing the number of
+disks or increasing the number of maintenance manager threads <code>--maintenance_manager_num_threads</code>.
+Generally, the recommended ratio of maintenance manager threads to data directories is 1:3.</p>
+</li>
+<li>
+<p>Reduce the volume of writes flowing to Kudu on the application side.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Finally, on versions of Kudu prior to 1.8, check the value of
+<code>--block_cache_capacity_mb</code>. This setting determines the maximum size of Kudu&#8217;s
+block cache. While a higher value can help with read and write performance,
+do not raise <code>--block_cache_capacity_mb</code> above the memory pressure threshold,
+which is <code>--memory_pressure_percentage</code> (default 60%) of
+<code>--memory_limit_hard_bytes</code>, as this will cause Kudu to flush aggressively even
+if write throughput is low. Keeping <code>--block_cache_capacity_mb</code> below 50% of the
+memory pressure threshold is recommended. With the defaults, this means
+<code>--block_cache_capacity_mb</code> should not exceed 30% of
+<code>--memory_limit_hard_bytes</code>. On Kudu 1.8 and higher, servers will refuse to
+start if the block cache capacity exceeds the memory pressure threshold.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="block_cache_size"><a class="link" href="#block_cache_size">Block Cache Size</a></h3>
+<div class="paragraph">
+<p>Kudu uses an LRU cache for recently read data. On workloads that scan a subset
+of the data repeatedly, raising the size of this cache can offer significant
+performance benefits. To increase the amount of memory dedicated to the block
+cache, increase the value of the flag <code>--block_cache_capacity_mb</code>. The default
+is 512MiB.</p>
+</div>
+<div class="paragraph">
+<p>Kudu provides a set of useful metrics for evaluating the performance of the
+block cache, which can be found on the <code>/metrics</code> endpoint of the web UI. An
+example set:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>{
+  "name": "block_cache_inserts",
+  "value": 64
+},
+{
+  "name": "block_cache_lookups",
+  "value": 512
+},
+{
+  "name": "block_cache_evictions",
+  "value": 0
+},
+{
+  "name": "block_cache_misses",
+  "value": 96
+},
+{
+  "name": "block_cache_misses_caching",
+  "value": 64
+},
+{
+  "name": "block_cache_hits",
+  "value": 0
+},
+{
+  "name": "block_cache_hits_caching",
+  "value": 352
+},
+{
+  "name": "block_cache_usage",
+  "value": 6976
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To judge the efficiency of the block cache on a tablet server, first wait until
+the server has been running and serving normal requests for some time, so the
+cache is not cold. Unless the server stores very little data or is idle,
+<code>block_cache_usage</code> should be equal or nearly equal to <code>block_cache_capacity_mb</code>.
+Once the cache has reached steady state, compare <code>block_cache_lookups</code> to
+<code>block_cache_misses_caching</code>. The latter metric counts the number of blocks that
+Kudu expected to read from cache but which weren&#8217;t found in the cache. If a
+significant amount of lookups result in misses on expected cache hits, and the
+<code>block_cache_evictions</code> metric is significant compared to <code>block_cache_inserts</code>,
+then raising the size of the block cache may provide a performance boost.
+However, the utility of the block cache is highly dependent on workload, so it&#8217;s
+necessary to test the benefits of a larger block cache.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+Do not raise the block cache size <code>--block_cache_capacity_mb</code> higher
+than the memory pressure threshold (defaults to 60% of <code>--memory_limit_hard_bytes</code>).
+As this would cause poor flushing behavior, Kudu servers version 1.8 and higher
+will refuse to start when misconfigured in this way.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="heap_sampling"><a class="link" href="#heap_sampling">Heap Sampling</a></h3>
+<div class="paragraph">
+<p>For advanced debugging of memory usage, released builds of Kudu enable Heap Sampling by default.
+This allows Kudu developers to associate memory usage with the specific lines of code and data
+structures responsible. When reporting a bug related to memory usage or an apparent memory leak,
+heap profiling can give quantitative data to pinpoint the issue.</p>
+</div>
+<div class="paragraph">
+<p>If heap sampling is enabled, the current sampled heap occupancy can be retrieved over HTTP
+by visiting <code><a href="http://tablet-server.example.com:8050/pprof/heap" class="bare">http://tablet-server.example.com:8050/pprof/heap</a></code> or
+<code><a href="http://master.example.com:8051/pprof/heap" class="bare">http://master.example.com:8051/pprof/heap</a></code>. The output is a machine-readable dump of the
+stack traces with their associated heap usage.</p>
+</div>
+<div class="paragraph">
+<p>Rather than visiting the heap profile page directly in a web browser, it is typically
+more useful to use the <code>pprof</code> tool that is distributed as part of the <code>gperftools</code>
+open source project. For example, a developer with a local build tree can use the
+following command to collect the sampled heap usage and output an SVG diagram:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>thirdparty/installed/uninstrumented/bin/pprof -svg  'http://localhost:8051/pprof/heap' &gt; /tmp/heap.svg</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The resulting SVG may be visualized in a web browser or sent to the Kudu community to help
+troubleshoot memory occupancy issues.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+Heap samples contain only summary information about allocations and do not contain any
+<em>data</em> from the heap. It is safe to share heap samples in public without fear of exposing
+confidential or sensitive data.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="slow_dns_nscd"><a class="link" href="#slow_dns_nscd">Slow DNS Lookups and <code>nscd</code></a></h3>
+<div class="paragraph">
+<p>For better scalability on nodes hosting many replicas, we recommend that you use
+<code>nscd</code> (name service cache daemon) to cache both DNS name resolution and static name resolution (via <code>/etc/hosts</code>).</p>
+</div>
+<div class="paragraph">
+<p>When DNS lookups are slow, you will see a log message similar to the following:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>W0926 11:19:01.339553 27231 net_util.cc:193] Time spent resolve address for kudu-tserver.example.com: real 4.647s    user 0.000s     sys 0.000s</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><code>nscd</code> (name service cache daemon) can alleviate slow name resolution by providing
+a cache for the most common name service requests, such as for passwords, groups,
+and hosts.</p>
+</div>
+<div class="paragraph">
+<p>Refer to your operating system documentation for how to install and enable <code>nscd</code>.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_issues_using_kudu"><a class="link" href="#_issues_using_kudu">Issues using Kudu</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="hive_handler"><a class="link" href="#hive_handler">ClassNotFoundException: com.cloudera.kudu.hive.KuduStorageHandler</a></h3>
+<div class="paragraph">
+<p>Users will encounter this exception when trying to use a Kudu table via Hive. This
+is not a case of a missing jar, but simply that Impala stores Kudu metadata in
+Hive in a format that&#8217;s unreadable to other tools, including Hive itself and Spark.
+There is no workaround for Hive users. Spark users need to create temporary tables.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="too_many_threads"><a class="link" href="#too_many_threads">Runtime error: Could not create thread: Resource temporarily unavailable (error 11)</a></h3>
+<div class="paragraph">
+<p>Users will encounter this error when Kudu is unable to create more threads,
+usually on versions of Kudu older than 1.7. It happens on tablet servers, and
+is a sign that the tablet server hosts too many tablet replicas. To fix the
+issue, users can raise the <code>nproc</code> ulimit as detailed in the documentation for
+their operating system or distribution. However, the better solution is to
+reduce the number of replicas on the tablet server. This may involve rethinking
+the table&#8217;s partitioning schema. For the recommended limits on number of
+replicas per tablet server, see the known issues and scaling limitations
+documentation for the appropriate Kudu release. The
+<a href="http://kudu.apache.org/releases/">releases page</a> has links to documentation
+for previous versions of Kudu; for the latest release, see the
+<a href="known_issues.html">known issues page</a>.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="tombstoned_or_stopped_tablets"><a class="link" href="#tombstoned_or_stopped_tablets">Tombstoned or STOPPED tablet replicas</a></h3>
+<div class="paragraph">
+<p>Users may notice some replicas on a tablet server are in a STOPPED state, and
+remain on the server indefinitely. These replicas are tombstones. A tombstone
+indicates that the tablet server once held a bona fide replica of its tablet.
+For example, if a tablet server goes down and its replicas are re-replicated
+elsewhere, if the tablet server rejoins the cluster its replicas will become
+tombstones. A tombstone will remain until the table it belongs to is deleted, or
+a new replica of the same tablet is placed on the tablet server. A count of
+tombstoned replicas and details of each one are available on the /tablets page
+of the tablet server web UI.</p>
+</div>
+<div class="paragraph">
+<p>The Raft consensus algorithm that Kudu uses for replication requires tombstones
+for correctness in certain rare situations. They consume minimal resources and
+hold no data. They must not be deleted.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="cfile_corruption"><a class="link" href="#cfile_corruption">Corruption: checksum error on CFile block</a></h3>
+<div class="paragraph">
+<p>In versions prior to Kudu 1.8.0, if the data on disk becomes corrupt, users
+will encounter warnings containing "Corruption: checksum error on CFile block"
+in the tablet server logs and client side errors when trying to scan tablets
+with corrupt CFile blocks. Fixing this corruption is a manual process.</p>
+</div>
+<div class="paragraph">
+<p>To fix the issue, users can first identify all the affected tablets by
+running a checksum scan on the affected tables or tablets using the
+<code><a href="command_line_tools_reference.html#cluster-ksck">ksck</a></code> tool.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>sudo -u kudu kudu cluster ksck &lt;master_addresses&gt; -checksum_scan -tables=&lt;tables&gt;
+sudo -u kudu kudu cluster ksck &lt;master_addresses&gt; -checksum_scan -tablets=&lt;tablets&gt;</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If there is at least one replica for each tablet that does not return a corruption
+error, you can repair the bad copies by deleting them and forcing them to be
+re-replicated from the leader using the
+<code><a href="command_line_tools_reference.html#remote_replica-delete">remote_replica delete</a> tool</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>sudo -u kudu kudu remote_replica delete &lt;tserver_address&gt; &lt;tablet_id&gt; "Cfile Corruption"</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If all of the replica are corrupt, then some data loss has occurred.
+Until <a href="https://issues.apache.org/jira/browse/KUDU-2526">KUDU-2526</a> is
+completed this can happen if the corrupt replica became the leader and the
+existing follower replicas are replaced.</p>
+</div>
+<div class="paragraph">
+<p>If data has been lost, you can repair the table by replacing the corrupt tablet
+with an empty one using the
+<code><a href="command_line_tools_reference.html#tablet-unsafe_replace_tablet">unsafe_replace_tablet</a></code> tool.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>sudo -u kudu kudu tablet unsafe_replace_tablet &lt;master_addresses&gt; &lt;tablet_id&gt;</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>From versions 1.8.0 onwards, Kudu will mark the affected replicas as failed,
+leading to their automatic re-replication elsewhere.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="symbolizing_stack_traces"><a class="link" href="#symbolizing_stack_traces">Symbolizing stack traces</a></h3>
+<div class="paragraph">
+<p>Sometimes you might see the following in the logs:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>0323 03:59:31.091198 (+607857us) spinlock_profiling.cc:243] Waited 492 ms on lock 0x4cb0960. stack: 0000000002398852 0000000000ad8c69 0000000000aa62ba 000000000221aaa8 000000000221b1a8 00000000023a8f83 00007fa8b818be24 00007fa8b646a34c</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>That&#8217;s usually a sign of high contention among threads to acquire a lock, and
+in this case the reported time shows how long a thread spent on a CPU before
+acquiring the lock. The call stack addresses listed helps to restore the stack
+trace of the waiting thread and pinpoint the problem in the code.</p>
+</div>
+<div class="paragraph">
+<p>It&#8217;s possible to translate the addresses into the name of functions and lines
+in the code having the binary that produced the output (in this example, it&#8217;s
+<code>kudu-master</code>). If the binary is stripped of symbols and debug information,
+it&#8217;s possible do so as well if separate debug information for the binary is
+available.</p>
+</div>
+<div class="paragraph">
+<p>Assuming both the stripped release binary and the debug information are
+available as RPMs, unpack them into a directory (e.g., <code>sysroot</code>):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ mkdir sysroot &amp;&amp; cd sysroot
+$ rpm2cpio ../kudu-1.10.0.el7.x86_64.rpm | cpio -idmv
+$ rpm2cpio ../kudu-debuginfo-1.10.0.el7.x86_64.rpm | cpio -idmv</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Use <code>addr2line</code> to find the line in the code for the stack address (in case if
+the binary is not stripped of debug information, supply the actual binary with
+<code>-e</code> option instead of the debug info file):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>addr2line -C -f -e usr/lib/debug/usr/lib/kudu/sbin-release/kudu-master.debug 0x0000000000aa62ba
+kudu::master::MasterServiceImpl::ConnectToMaster(kudu::master::ConnectToMasterRequestPB const*, kudu::master::ConnectToMasterResponsePB*, kudu::rpc::RpcContext*)
+/usr/src/debug/kudu-1.10.0/src/kudu/master/master_service.cc:504</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To achieve the same with <code>gdb</code>, first find the address of the <code>.text</code> section
+in the symbol file (in the example, <code>0000000000a2cdb0</code>):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>$ readelf -S usr/lib/debug/usr/lib/kudu/sbin-release/kudu-master.debug | grep .text
+  [13] .text             NOBITS           0000000000a2cdb0  000002c0</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Then start up <code>gdb</code>, pointing it to the <code>kudu-master</code> executable (that&#8217;s the
+executable that produced the output in the log file):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>gdb usr/lib/kudu/sbin-release/kudu-master</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Now load the <code>.debug</code> symbols into <code>gdb</code> using the address found above, tell
+<code>gdb</code> where to find source files, and set the sysroot:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>(gdb) add-symbol-file usr/lib/debug/usr/lib/kudu/sbin-release/kudu-master.debug 0x0000000000a2cdb0
+(gdb) set substitute-path /usr/src/debug/kudu-1.10.0 usr/src/debug/kudu-1.10.0
+(gdb) set sysroot .</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To translate the address into line number and function information, use
+<code>info line * &lt;address&gt;</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>(gdb) info line * 0x0000000000aa62ba
+Line 504 of "/usr/src/debug/kudu-1.10.0/src/kudu/master/master_service.cc"
+   starts at address 0xaa62af &lt;kudu::master::MasterServiceImpl::ConnectToMaster(kudu::master::ConnectToMasterRequestPB const*, kudu::master::ConnectToMasterResponsePB*, kudu::rpc::RpcContext*)+47&gt;
+   and ends at 0xaa62bb &lt;kudu::master::MasterServiceImpl::ConnectToMaster(kudu::master::ConnectToMasterRequestPB const*, kudu::master::ConnectToMasterResponsePB*, kudu::rpc::RpcContext*)+59&gt;.</pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+  <div id="toc" data-spy="affix" data-offset-top="70">
+  <ul>
+
+      <li>
+
+          <a href="index.html">Introducing Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Quickstart Guide</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="hive_metastore.html">Using the Hive Metastore with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+<span class="active-toc">Troubleshooting Kudu</span>
+            <ul class="sectlevel1">
+<li><a href="#_startup_errors">Startup Errors</a>
+<ul class="sectlevel2">
+<li><a href="#req_hole_punching">Errors During Hole Punching Test</a></li>
+<li><a href="#disk_issues">Already present: FS layout already exists</a></li>
+<li><a href="#ntp">NTP Clock Synchronization</a></li>
+</ul>
+</li>
+<li><a href="#disk_space_usage">Disk Space Usage</a></li>
+<li><a href="#crash_reporting">Reporting Kudu Crashes</a></li>
+<li><a href="#_performance_troubleshooting">Performance Troubleshooting</a>
+<ul class="sectlevel2">
+<li><a href="#kudu_tracing">Kudu Tracing</a></li>
+<li><a href="#_rpc_timeout_traces">RPC Timeout Traces</a></li>
+<li><a href="#_kernel_stack_watchdog_traces">Kernel Stack Watchdog Traces</a></li>
+<li><a href="#memory_limits">Memory Limits</a></li>
+<li><a href="#block_cache_size">Block Cache Size</a></li>
+<li><a href="#heap_sampling">Heap Sampling</a></li>
+<li><a href="#slow_dns_nscd">Slow DNS Lookups and <code>nscd</code></a></li>
+</ul>
+</li>
+<li><a href="#_issues_using_kudu">Issues using Kudu</a>
+<ul class="sectlevel2">
+<li><a href="#hive_handler">ClassNotFoundException: com.cloudera.kudu.hive.KuduStorageHandler</a></li>
+<li><a href="#too_many_threads">Runtime error: Could not create thread: Resource temporarily unavailable (error 11)</a></li>
+<li><a href="#tombstoned_or_stopped_tablets">Tombstoned or STOPPED tablet replicas</a></li>
+<li><a href="#cfile_corruption">Corruption: checksum error on CFile block</a></li>
+<li><a href="#symbolizing_stack_traces">Symbolizing stack traces</a></li>
+</ul>
+</li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="developing.html">Developing Applications with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="schema_design.html">Kudu Schema Design</a> 
+      </li> 
+      <li>
+
+          <a href="scaling_guide.html">Kudu Scaling Guide</a> 
+      </li> 
+      <li>
+
+          <a href="security.html">Kudu Security</a> 
+      </li> 
+      <li>
+
+          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="background_tasks.html">Background Maintenance Tasks</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+
+          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
+      </li> 
+      <li>
+
+          <a href="metrics_reference.html">Kudu Metrics Reference</a> 
+      </li> 
+      <li>
+
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-20 10:46:53 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/docs/version_note.html b/releases/1.15.0/docs/version_note.html
new file mode 100644
index 0000000..4aa733b
--- /dev/null
+++ b/releases/1.15.0/docs/version_note.html
@@ -0,0 +1,203 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu Version</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/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+
+<div class="container">
+  <div class="row">
+    <div class="col-md-9">
+
+<h1>Apache Kudu Version</h1>
+      <div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This document applies to Apache Kudu version 1.15.0. Please consult the
+<a href="http://kudu.apache.org/releases/">documentation of the appropriate release</a> that&#8217;s applicable
+to the version of the Kudu cluster.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+    </div>
+    <div class="col-md-3">
+
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation.  Last updated 2021-05-13 00:04:43 -0700 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/1.15.0/index.html b/releases/1.15.0/index.html
new file mode 100644
index 0000000..a4aa05d
--- /dev/null
+++ b/releases/1.15.0/index.html
@@ -0,0 +1,228 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
+    <meta name="author" content="Cloudera" />
+    <title>Apache Kudu - Apache Kudu release 1.15.0</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 >
+                  <a href="/docs/">Documentation</a>
+                </li>
+                <li class="active">
+                  <a href="/releases/">Releases</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="/ecosystem.html">Ecosystem</a></li>
+                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
+                    <li><a href="/community.html#contributions">How to Contribute</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
+                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
+                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
+                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">SOCIAL MEDIA</li>
+                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
+                    <li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
+                    <li role="separator" class="divider"></li>
+                    <li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
+                    <li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
+                    <li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
+                  </ul>
+                </li>
+                <li >
+                  <a href="/faq.html">FAQ</a>
+                </li>
+              </ul><!-- /.nav -->
+            </div><!-- /#navbar -->
+          </div><!-- /.container-fluid -->
+        </nav>
+
+
+<div class="row-fluid">
+  <div class="col-lg-12 releases">
+
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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.
+
+-->
+
+<h2 id="apache-kudu-release-1150">Apache Kudu release 1.15.0</h2>
+
+<p>See the <a href="docs/release_notes.html">Kudu 1.15.0 Release Notes</a>.</p>
+
+<p>Downloads of Kudu 1.15.0 are available in the following formats:</p>
+
+<ul>
+  <li><a href="http://www.apache.org/dyn/closer.cgi?path=kudu/1.15.0/apache-kudu-1.15.0.tar.gz">Kudu 1.15.0 source tarball</a>
+(<a href="https://www.apache.org/dist/kudu/1.15.0/apache-kudu-1.15.0.tar.gz.sha512">SHA512</a>,
+<a href="https://www.apache.org/dist/kudu/1.15.0/apache-kudu-1.15.0.tar.gz.asc">Signature</a>)</li>
+</ul>
+
+<p>You can use the <a href="https://www.apache.org/dist/kudu/KEYS">KEYS file</a> to verify the included GPG signature.</p>
+
+<p>To verify the integrity of the release, check the following:</p>
+
+<ul>
+  <li>Verify the checksum by downloading the release and the <code class="language-plaintext highlighter-rouge">.sha512</code> file, and
+running the following command:
+    <ul>
+      <li>On Linux: <code class="language-plaintext highlighter-rouge">sha512sum -c apache-kudu-1.15.0.tar.gz.sha512</code></li>
+      <li>On MacOS: <code class="language-plaintext highlighter-rouge">shasum -a 512 -c apache-kudu-1.15.0.tar.gz.sha512</code></li>
+    </ul>
+  </li>
+  <li>Verify the signature by downloading the release and the <code class="language-plaintext highlighter-rouge">.asc</code> file, and
+doing the following:
+    <ul>
+      <li>Import the KEYS file to the GPG keychain by running <code class="language-plaintext highlighter-rouge">gpg --import KEYS</code></li>
+      <li>Run <code class="language-plaintext highlighter-rouge">gpg --verify apache-kudu-1.15.0.tar.gz.asc apache-kudu-1.15.0.tar.gz</code></li>
+    </ul>
+  </li>
+</ul>
+
+<p>Additional links:</p>
+
+<ul>
+  <li><a href="docs/">Kudu 1.15.0 Documentation</a></li>
+  <li><a href="apidocs/">Kudu 1.15.0 Java API docs</a></li>
+  <li><a href="cpp-client-api/">Kudu 1.15.0 C++ API docs</a></li>
+</ul>
+
+
+  </div>
+</div>
+
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2020 The Apache Software Foundation. 
+            </p>
+            <p class="small">
+            Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
+            project logo are either registered trademarks or trademarks of The
+            Apache Software Foundation in the United States and other countries.
+            </p>
+          </div>
+          <div class="col-md-3">
+            <a class="pull-right" href="https://www.apache.org/events/current-event.html">
+                <img src="https://www.apache.org/events/current-event-234x60.png"/>
+            </a>
+          </div>
+        </div>
+      </footer>
+    </div>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script>
+      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
+      $(document).ready(function() {
+        if ("ontouchstart" in document.documentElement) {
+          $(document.documentElement).addClass("touch");
+        } else {
+          $(document.documentElement).addClass("no-touch");
+        }
+      });
+    </script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
+            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
+            crossorigin="anonymous"></script>
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-68448017-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
+    <script>
+      anchors.options = {
+        placement: 'right',
+        visible: 'touch',
+      };
+      anchors.add();
+    </script>
+  </body>
+</html>
+
diff --git a/releases/index.html b/releases/index.html
index 06fb6ae..0e4d758 100644
--- a/releases/index.html
+++ b/releases/index.html
@@ -111,19 +111,38 @@
 <h3 id="latest-release">Latest release</h3>
 
 <ul>
-  <li><strong><a href="1.14.0/">Kudu 1.14.0</a></strong> was released on Jan 28, 2021. <!-- LATREL: DO NOT REMOVE --></li>
+  <li><strong><a href="1.15.0/">Kudu 1.15.0</a></strong> was released on Jun 22, 2021. <!-- LATREL: DO NOT REMOVE -->
+    <ul>
+      <li><a href="1.15.0/docs/">Kudu 1.15.0 Documentation</a></li>
+      <li><a href="1.15.0/apidocs/">Kudu 1.15.0 Java API docs</a></li>
+      <li><a href="1.15.0/cpp-client-api/">Kudu 1.15.0 C++ API docs</a></li>
+    </ul>
+  </li>
 </ul>
 
 <h3 id="previous-releases-ongoing-support">Previous releases (ongoing support)</h3>
 
 <ul>
-  <li><a href="1.13.0/">Kudu 1.13.0</a>** was released on Sep 17, 2020. <!-- PREVREL: DO NOT REMOVE --></li>
-  <li><a href="1.12.0/">Kudu 1.12.0</a> was released on May 11, 2020.</li>
+  <li><strong><a href="1.14.0/">Kudu 1.14.0</a></strong> was released on Jan 28, 2021. <!-- PREVREL: DO NOT REMOVE -->
+    <ul>
+      <li><a href="1.14.0/docs/">Kudu 1.14.0 Documentation</a></li>
+      <li><a href="1.14.0/apidocs/">Kudu 1.14.0 Java API docs</a></li>
+      <li><a href="1.14.0/cpp-client-api/">Kudu 1.14.0 C++ API docs</a></li>
+    </ul>
+  </li>
+  <li><a href="1.13.0/">Kudu 1.13.0</a> was released on Sep 17, 2020. <!-- PREVREL: DO NOT REMOVE -->
+    <ul>
+      <li><a href="1.13.0/docs/">Kudu 1.13.0 Documentation</a></li>
+      <li><a href="1.13.0/apidocs/">Kudu 1.13.0 Java API docs</a></li>
+      <li><a href="1.13.0/cpp-client-api/">Kudu 1.13.0 C++ API docs</a></li>
+    </ul>
+  </li>
 </ul>
 
 <h3 id="archived-releases">Archived releases</h3>
 <ul>
-  <li><a href="1.11.1/">Kudu 1.11.1</a>was released on November 20, 2019. <!--ARCHREL: DO NOT REMOVE --></li>
+  <li><a href="1.12.0/">Kudu 1.12.0</a> was released on May 11, 2020.  <!--ARCHREL: DO NOT REMOVE --></li>
+  <li><a href="1.11.1/">Kudu 1.11.1</a>was released on November 20, 2019.</li>
   <li><a href="1.10.1/">Kudu 1.10.1</a> was released on November 20, 2019.</li>
   <li><a href="1.11.0/">Kudu 1.11.0</a> was released on November 1, 2019.</li>
   <li><a href="1.10.0/">Kudu 1.10.0</a> was released on July 9, 2019.</li>
diff --git a/www/tracing.html b/www/tracing.html
deleted file mode 100644
index ee72199..0000000
--- a/www/tracing.html
+++ /dev/null
@@ -1,2700 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head i18n-values="dir:textdirection;">
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-  <title>Kudu tracing</title>
-  <template id="overlay-template">
-  <style>
-    overlay-mask {
-      left: 0;
-      padding: 8px;
-      position: absolute;
-      top: 0;
-      z-index: 1000;
-      font-family: sans-serif;
-      -webkit-justify-content: center;
-      background: rgba(0, 0, 0, 0.8);
-      display: -webkit-flex;
-      height: 100%;
-      left: 0;
-      position: fixed;
-      top: 0;
-      width: 100%;
-    }
-    overlay-mask:focus {
-      outline: none;
-    }
-    overlay-vertical-centering-container {
-      -webkit-justify-content: center;
-      -webkit-flex-direction: column;
-      display: -webkit-flex;
-    }
-    overlay-frame {
-      z-index: 1100;
-      background: rgb(255, 255, 255);
-      border: 1px solid #ccc;
-      margin: 75px;
-      display: -webkit-flex;
-      -webkit-flex-direction: column;
-      min-height: 0;
-    }
-    title-bar {
-      -webkit-align-items: center;
-      -webkit-flex-direction: row;
-      border-bottom: 1px solid #ccc;
-      background-color: #ddd;
-      display: -webkit-flex;
-      padding: 5px;
-      -webkit-flex: 0 0 auto;
-    }
-    title {
-      display: inline;
-      font-weight: bold;
-      -webkit-box-flex: 1;
-      -webkit-flex: 1 1 auto;
-    }
-    close-button {
-      -webkit-align-self: flex-end;
-      border: 1px solid #eee;
-      background-color: #999;
-      font-size: 10pt;
-      font-weight: bold;
-      padding: 2px;
-      text-align: center;
-      width: 16px;
-    }
-    close-button:hover {
-      background-color: #ddd;
-      border-color: black;
-      cursor: pointer;
-    }
-    overlay-content {
-      display: -webkit-flex;
-      -webkit-flex: 1 1 auto;
-      -webkit-flex-direction: column;
-      overflow-y: auto;
-      padding: 10px;
-      min-width: 300px;
-      min-height: 0;
-    }
-    button-bar {
-      -webkit-align-items: baseline;
-      border-top: 1px solid #ccc;
-      display: -webkit-flex;
-      -webkit-flex: 0 0 auto;
-      -webkit-flex-direction: row-reverse;
-      padding: 4px;
-    }
-  </style>
-
-  <overlay-mask>
-    <overlay-vertical-centering-container>
-      <overlay-frame>
-        <title-bar>
-          <title></title>
-          <close-button>✕</close-button>
-        </title-bar>
-        <overlay-content>
-          <content></content>
-        </overlay-content>
-        <button-bar></button-bar>
-      </overlay-frame>
-    </overlay-vertical-centering-container>
-  </overlay-mask>
-</template><style>
-* /deep/ .labeled-checkbox {
-  display: flex;
-  white-space: nowrap;
-}
-</style><dom-module id="tr-ui-a-analysis-link">
-  <template>
-    <style>
-    :host {
-      display: inline;
-      cursor: pointer;
-      cursor: pointer;
-      white-space: nowrap;
-    }
-    a {
-      text-decoration: underline;
-    }
-    </style>
-    <a href="{{href}}" on-click="onClicked_" on-mouseenter="onMouseEnter_" on-mouseleave="onMouseLeave_"><content></content></a>
-
-  </template>
-</dom-module><dom-module id="tr-ui-b-table">
-  <template>
-    <style>
-      :host {
-        display: flex;
-        flex-direction: column;
-      }
-
-      table {
-        flex: 1 1 auto;
-        align-self: stretch;
-        border-collapse: separate;
-        border-spacing: 0;
-        border-width: 0;
-        -webkit-user-select: initial;
-      }
-
-      tr > td {
-        padding: 2px 4px 2px 4px;
-        vertical-align: top;
-      }
-
-      table > tbody:focus {
-        outline: none;
-      }
-      table > tbody:focus[selection-mode="row"] > tr[selected],
-      table > tbody:focus[selection-mode="cell"] > tr > td[selected],
-      table > tbody:focus > tr.empty-row > td {
-        outline: 1px dotted #666666;
-        outline-offset: -1px;
-      }
-
-      button.toggle-button {
-        height: 15px;
-        line-height: 60%;
-        vertical-align: middle;
-        width: 100%;
-      }
-
-      button > * {
-        height: 15px;
-        vertical-align: middle;
-      }
-
-      td.button-column {
-        width: 30px;
-      }
-
-      table > thead > tr > td.sensitive:hover {
-        background-color: #fcfcfc;
-      }
-
-      table > thead > tr > td {
-        font-weight: bold;
-        text-align: left;
-
-        background-color: #eee;
-        white-space: nowrap;
-        overflow: hidden;
-        text-overflow: ellipsis;
-
-        border-top: 1px solid #ffffff;
-        border-bottom: 1px solid #aaa;
-      }
-
-      table > tfoot {
-        background-color: #eee;
-        font-weight: bold;
-      }
-
-      /* Light row and cell highlight. */
-      table > tbody[row-highlight-style="light"] > tr[selected],
-      table > tbody[cell-highlight-style="light"] > tr > td[selected] {
-        background-color: rgb(213, 236, 229);  /* light turquoise */
-      }
-      table > tbody[row-highlight-style="light"] >
-          tr:not(.empty-row):not([selected]):hover,
-      table > tbody[cell-highlight-style="light"] >
-          tr:not(.empty-row):not([selected]) > td:hover {
-        background-color: #f6f6f6;  /* light grey */
-      }
-
-      /* Dark row and cell highlight. */
-      table > tbody[row-highlight-style="dark"] > tr[selected],
-      table > tbody[cell-highlight-style="dark"] > tr > td[selected] {
-        background-color: rgb(103, 199, 165);  /* turquoise */
-      }
-      table > tbody[row-highlight-style="dark"] >
-          tr:not(.empty-row):not([selected]):hover,
-      table > tbody[cell-highlight-style="dark"] >
-          tr:not(.empty-row):not([selected]) > td:hover {
-        background-color: #e6e6e6;  /* grey */
-      }
-      table > tbody[row-highlight-style="dark"] > tr:hover[selected],
-      table > tbody[cell-highlight-style="dark"] > tr[selected] > td:hover {
-        background-color: rgb(171, 217, 202);  /* semi-light turquoise */
-      }
-
-      table > colgroup > col[selected] {
-        background-color: #e6e6e6;  /* grey */
-      }
-
-      table > tbody > tr.empty-row > td {
-        color: #666;
-        font-style: italic;
-        text-align: center;
-      }
-
-      table > tbody.has-footer > tr:last-child > td {
-        border-bottom: 1px solid #aaa;
-      }
-
-      table > tfoot > tr:first-child > td {
-        border-top: 1px solid #ffffff;
-      }
-
-      :host([zebra]) table tbody tr:nth-child(even) {
-        background-color: #f4f4f4;
-      }
-
-      expand-button {
-        -webkit-user-select: none;
-        display: inline-block;
-        cursor: pointer;
-        font-size: 9px;
-        min-width: 8px;
-        max-width: 8px;
-      }
-
-      .button-expanded {
-        transform: rotate(90deg);
-      }
-    </style>
-    <table>
-      <colgroup id="cols">
-      </colgroup>
-      <thead id="head">
-      </thead>
-      <tbody id="body">
-      </tbody>
-      <tfoot id="foot">
-      </tfoot>
-    </table>
-  </template>
-</dom-module><dom-module id="tr-ui-b-table-header-cell">
-  <template>
-  <style>
-    :host {
-      -webkit-user-select: none;
-      display: flex;
-    }
-
-    span {
-      flex: 0 1 auto;
-    }
-
-    #side {
-      -webkit-user-select: none;
-      flex: 0 0 auto;
-      padding-left: 2px;
-      padding-right: 2px;
-      vertical-align: top;
-      font-size: 15px;
-      font-family: sans-serif;
-      line-height: 85%;
-      margin-left: 5px;
-    }
-
-    #side.disabled {
-      color: rgb(140, 140, 140);
-    }
-
-    #title:empty, #side:empty {
-      display: none;
-    }
-  </style>
-
-    <span id="title"></span>
-    <span id="side"></span>
-  </template>
-</dom-module><dom-module id="tr-ui-a-alert-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      flex-direction: column;
-    }
-    #table {
-      flex: 1 1 auto;
-      align-self: stretch;
-      font-size: 12px;
-    }
-    </style>
-    <tr-ui-b-table id="table">
-    </tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-v-ui-scalar-context-controller">
-  <template></template>
-</dom-module><dom-module id="tr-v-ui-scalar-span">
-  <template>
-    <style>
-    :host {
-      display: block;
-      position: relative;
-      /* Limit the sparkline's negative z-index to the span only. */
-      isolation: isolate;
-    }
-
-    #sparkline {
-      width: 0%;
-      position: absolute;
-      bottom: 0;
-      display: none;
-      height: 100%;
-      background-color: hsla(216, 100%, 94.5%, .75);
-      border-color: hsl(216, 100%, 89%);
-      box-sizing: border-box;
-      z-index: -1;
-    }
-    #sparkline.positive {
-      border-right-style: solid;
-      /* The border width must be kept in sync with buildSparklineStyle_(). */
-      border-right-width: 1px;
-    }
-    #sparkline:not(.positive) {
-      border-left-style: solid;
-      /* The border width must be kept in sync with buildSparklineStyle_(). */
-      border-left-width: 1px;
-    }
-    #sparkline.better {
-      background-color: hsla(115, 100%, 93%, .75);
-      border-color: hsl(118, 60%, 80%);
-    }
-    #sparkline.worse {
-      background-color: hsla(0, 100%, 88%, .75);
-      border-color: hsl(0, 100%, 80%);
-    }
-
-    #content.right-align {
-      text-align: right;
-      position: relative;
-      display: block;
-    }
-    #content.better {
-      color: green;
-    }
-    #content.worse {
-      color: red;
-    }
-
-    #significance svg {
-      display: none;
-      height: 1em;
-      vertical-align: text-top;
-      stroke-width: 4;
-      fill: rgba(0, 0, 0, 0);
-    }
-    #significance #insignificant {
-      stroke: black;
-    }
-    #significance #significantly_better {
-      stroke: green;
-    }
-    #significance #significantly_worse {
-      stroke: red;
-    }
-
-    #warning {
-      display: none;
-      margin-left: 4px;
-      height: 1em;
-      vertical-align: text-top;
-      stroke-width: 0;
-    }
-    #warning path {
-      fill: rgb(255, 185, 185);
-    }
-    #warning rect {
-      fill: red;
-    }
-    </style>
-
-    <span id="sparkline"></span>
-
-    <span id="content"></span>
-
-    <span id="significance">
-      
-      <svg id="insignificant" viewBox="0 0 128 128">
-        <circle cx="64" cy="64" r="60"></circle>
-        <circle cx="44" cy="44" r="4"></circle>
-        <circle cx="84" cy="44" r="4"></circle>
-        <line x1="36" x2="92" y1="80" y2="80"></line>
-      </svg>
-
-      
-      <svg id="significantly_better" viewBox="0 0 128 128">
-        <circle cx="64" cy="64" r="60"></circle>
-        <circle cx="44" cy="44" r="4"></circle>
-        <circle cx="84" cy="44" r="4"></circle>
-        <path d="M 28 64 Q 64 128 100 64"></path>
-      </svg>
-
-      
-      <svg id="significantly_worse" viewBox="0 0 128 128">
-        <circle cx="64" cy="64" r="60"></circle>
-        <circle cx="44" cy="44" r="4"></circle>
-        <circle cx="84" cy="44" r="4"></circle>
-        <path d="M 36 96 Q 64 48 92 96"></path>
-      </svg>
-    </span>
-
-    <svg id="warning" viewBox="0 0 128 128">
-      <path d="M 64 0 L 128 128 L 0 128 L 64 0"></path>
-      <rect height="84" width="8" x="60" y="0"></rect>
-      <rect height="24" width="8" x="60" y="100"></rect>
-    </svg>
-  </template>
-</dom-module><dom-module id="tr-ui-b-tab-view">
-  <template>
-    <style>
-      :host {
-        display: flex;
-        flex-direction: column;
-      }
-
-      #selection_description, #tabs {
-        font-size: 12px;
-      }
-
-      #selection_description {
-        display: inline-block;
-        font-weight: bold;
-        margin: 9px 0px 4px 20px;
-      }
-
-      #tabs {
-        flex: 0 0 auto;
-        border-top: 1px solid #8e8e8e;
-        border-bottom: 1px solid #8e8e8e;
-        background-color: #ececec;
-        overflow: hidden;
-        margin: 0;
-      }
-
-      #tabs input[type=radio] {
-        display: none;
-      }
-
-      #tabs tab label {
-        cursor: pointer;
-        display: inline-block;
-        border: 1px solid #ececec;
-        margin: 5px 0px 0px 15px;
-        padding: 3px 10px 3px 10px;
-      }
-
-      #tabs tab label span {
-        font-weight: bold;
-      }
-
-      #tabs:focus input[type=radio]:checked ~ label {
-        outline: dotted 1px #8e8e8e;
-        outline-offset: -2px;
-      }
-
-      #tabs input[type=radio]:checked ~ label {
-        background-color: white;
-        border: 1px solid #8e8e8e;
-        border-bottom: 1px solid white;
-      }
-
-      #subView {
-        flex: 1 1 auto;
-        overflow: auto;
-      }
-    </style>
-    <div hidden="[[tabsHidden]]" id="tabs">
-      <label id="selection_description">[[label_]]</label>
-      <template is="dom-repeat" items="[[subViews_]]">
-        <tab>
-          <input checked$="[[isChecked_(item)]]" id$="[[computeRadioId_(item)]]" name="tabs" on-change="onTabChanged_" type="radio"/>
-          <label for$="[[computeRadioId_(item)]]">
-            <template if="[[item.tabIcon]]" is="dom-if">
-              <span style$="[[item.tabIcon.style]]">[[item.tabIcon.text]]</span>
-            </template>
-            [[item.tabLabel]]
-          </label>
-        </tab>
-      </template>
-    </div>
-    <div id="subView"></div>
-    <content>
-    </content>
-  </template>
-</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-breakdown-view">
-  <template>
-    <tr-ui-b-tab-view id="tabs"></tr-ui-b-tab-view>
-  </template>
-</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-breakdown-view-tab">
-  <template>
-    <tr-v-ui-scalar-context-controller></tr-v-ui-scalar-context-controller>
-    <tr-ui-b-table id="table"></tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-path-view">
-  <template>
-    <style>
-      :host {
-        display: flex;
-        flex-direction: column;
-      }
-    </style>
-    <tr-v-ui-scalar-context-controller></tr-v-ui-scalar-context-controller>
-    <tr-ui-b-table id="table"></tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-b-drag-handle">
-  <template>
-    <style>
-    :host {
-      -webkit-user-select: none;
-      box-sizing: border-box;
-      display: block;
-    }
-
-    :host(.horizontal-drag-handle) {
-      background-image: -webkit-gradient(linear,
-                                         0 0, 0 100%,
-                                         from(#E5E5E5),
-                                         to(#D1D1D1));
-      border-bottom: 1px solid #8e8e8e;
-      border-top: 1px solid white;
-      cursor: ns-resize;
-      flex: 0 0 auto;
-      height: 7px;
-      position: relative;
-    }
-
-    :host(.vertical-drag-handle) {
-      background-image: -webkit-gradient(linear,
-                                         0 0, 100% 0,
-                                         from(#E5E5E5),
-                                         to(#D1D1D1));
-      border-left: 1px solid white;
-      border-right: 1px solid #8e8e8e;
-      cursor: ew-resize;
-      flex: 0 0 auto;
-      position: relative;
-      width: 7px;
-    }
-    </style>
-    <div></div>
-  </template>
-</dom-module><dom-module id="tr-ui-b-info-bar">
-  <template>
-    <style>
-    :host {
-      align-items: center;
-      flex: 0 0 auto;
-      background-color: rgb(252, 235, 162);
-      border-bottom: 1px solid #A3A3A3;
-      border-left: 1px solid white;
-      border-right: 1px solid #A3A3A3;
-      border-top: 1px solid white;
-      display: flex;
-      height: 26px;
-      padding: 0 3px 0 3px;
-    }
-
-    :host(.info-bar-hidden) {
-      display: none;
-    }
-
-    #message { flex: 1 1 auto; }
-    </style>
-
-    <span id="message"></span>
-    <span id="buttons"></span>
-  </template>
-</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-pane">
-  <template>
-    <style>
-      :host {
-        display: flex;
-        flex-direction: column;
-      }
-
-      #header {
-        flex: 0 0 auto;
-        display: flex;
-        flex-direction: row;
-        align-items: center;
-
-        background-color: #eee;
-        border-bottom: 1px solid #8e8e8e;
-        border-top: 1px solid white;
-      }
-
-      #label {
-        flex: 1 1 auto;
-        padding: 8px;
-        font-size: 15px;
-        font-weight: bold;
-      }
-
-      #view_mode_container {
-        display: none;
-        flex: 0 0 auto;
-        padding: 5px;
-        font-size: 15px;
-      }
-
-      #contents {
-        flex: 1 0 auto;
-        align-self: stretch;
-        font-size: 12px;
-      }
-
-      #info_text {
-        padding: 8px;
-        color: #666;
-        font-style: italic;
-        text-align: center;
-      }
-
-      #split_view {
-        display: none;  /* Hide until memory allocator dumps are set. */
-        flex: 1 0 auto;
-        align-self: stretch;
-        flex-direction: row;
-      }
-
-      #path_view {
-        width: 50%;
-      }
-
-      #breakdown_view {
-        flex: 1 1 auto;
-        width: 0;
-      }
-
-      #path_view, #breakdown_view {
-        overflow-x: auto;  /* Show scrollbar if necessary. */
-      }
-    </style>
-    <div id="header">
-      <div id="label">Heap details</div>
-      <div id="view_mode_container">
-        <span>View mode:</span>
-        
-      </div>
-    </div>
-    <div id="contents">
-      <tr-ui-b-info-bar class="info-bar-hidden" id="info_bar">
-      </tr-ui-b-info-bar>
-
-      <div id="info_text">No heap dump selected</div>
-
-      <div id="split_view">
-        <tr-ui-a-memory-dump-heap-details-path-view id="path_view">
-        </tr-ui-a-memory-dump-heap-details-path-view>
-        <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle>
-        <tr-ui-a-memory-dump-heap-details-breakdown-view id="breakdown_view">
-        </tr-ui-a-memory-dump-heap-details-breakdown-view>
-      </div>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-memory-dump-allocator-details-pane">
-  <template>
-    <style>
-      :host {
-        display: flex;
-        flex-direction: column;
-      }
-
-      #label {
-        flex: 0 0 auto;
-        padding: 8px;
-
-        background-color: #eee;
-        border-bottom: 1px solid #8e8e8e;
-        border-top: 1px solid white;
-
-        font-size:  15px;
-        font-weight: bold;
-      }
-
-      #contents {
-        flex: 1 0 auto;
-        align-self: stretch;
-        font-size: 12px;
-      }
-
-      #info_text {
-        padding: 8px;
-        color: #666;
-        font-style: italic;
-        text-align: center;
-      }
-
-      #table {
-        display: none;  /* Hide until memory allocator dumps are set. */
-        flex: 1 0 auto;
-        align-self: stretch;
-        font-size: 12px;
-      }
-    </style>
-    <div id="label">Component details</div>
-    <div id="contents">
-      <div id="info_text">No memory allocator dump selected</div>
-      <tr-ui-b-table id="table"></tr-ui-b-table>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-memory-dump-vm-regions-details-pane">
-  <template>
-    <style>
-      :host {
-        display: flex;
-        flex-direction: column;
-      }
-
-      #label {
-        flex: 0 0 auto;
-        padding: 8px;
-
-        background-color: #eee;
-        border-bottom: 1px solid #8e8e8e;
-        border-top: 1px solid white;
-
-        font-size:  15px;
-        font-weight: bold;
-      }
-
-      #contents {
-        flex: 1 0 auto;
-        align-self: stretch;
-        font-size: 12px;
-      }
-
-      #info_text {
-        padding: 8px;
-        color: #666;
-        font-style: italic;
-        text-align: center;
-      }
-
-      #table {
-        display: none;  /* Hide until memory dumps are set. */
-        flex: 1 0 auto;
-        align-self: stretch;
-        font-size: 12px;
-      }
-    </style>
-    <div id="label">Memory maps</div>
-    <div id="contents">
-      <div id="info_text">No memory maps selected</div>
-      <tr-ui-b-table id="table"></tr-ui-b-table>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-b-color-legend">
-  <template>
-    <style>
-    :host {
-      display: inline-block;
-    }
-
-    #square {
-      font-size: 150%;  /* Make the square bigger. */
-      line-height: 0%;  /* Prevent the square from increasing legend height. */
-    }
-    </style>
-    <span id="square"></span>
-    <span id="label"></span>
-  </template>
-</dom-module><dom-module id="tr-ui-b-view-specific-brushing-state">
-  <template></template>
-</dom-module><dom-module id="tr-ui-a-memory-dump-overview-pane">
-  <template>
-    <style>
-      :host {
-        display: flex;
-        flex-direction: column;
-      }
-
-      #label {
-        flex: 0 0 auto;
-        padding: 8px;
-
-        background-color: #eee;
-        border-bottom: 1px solid #8e8e8e;
-        border-top: 1px solid white;
-
-        font-size:  15px;
-        font-weight: bold;
-      }
-
-      #contents {
-        flex: 1 0 auto;
-        align-self: stretch;
-        font-size: 12px;
-        overflow: auto;
-      }
-
-      #info_text {
-        padding: 8px;
-        color: #666;
-        font-style: italic;
-        text-align: center;
-      }
-
-      #table {
-        display: none;  /* Hide until memory dumps are set. */
-        flex: 1 0 auto;
-        align-self: stretch;
-        font-size: 12px;
-      }
-    </style>
-    <tr-ui-b-view-specific-brushing-state id="state" view-id="analysis.memory_dump_overview_pane">
-    </tr-ui-b-view-specific-brushing-state>
-    <div id="label">Overview</div>
-    <div id="contents">
-      <div id="info_text">No memory memory dumps selected</div>
-      <tr-ui-b-table id="table"></tr-ui-b-table>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-memory-dump-header-pane">
-  <template>
-    <style>
-      :host {
-        display: flex;
-        flex-direction: row;
-        align-items: center;
-
-        background-color: #d0d0d0;
-        border-bottom: 1px solid #8e8e8e;
-        border-top: 1px solid white;
-      }
-
-      #label {
-        flex: 1 1 auto;
-        padding: 6px;
-        font-size: 15px;
-      }
-
-      #aggregation_mode_container {
-        display: none;
-        flex: 0 0 auto;
-        padding: 5px;
-        font-size: 15px;
-      }
-    </style>
-    
-    <div id="label"></div>
-    <div id="aggregation_mode_container">
-      <span>Metric aggregation:</span>
-      
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-stacked-pane-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      flex-direction: column;
-    }
-
-    #pane_container > * {
-      flex: 0 0 auto;
-    }
-    </style>
-    <div id="pane_container">
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-container-memory-dump-sub-view">
-  <template>
-    <style>
-    tr-ui-b-table {
-      font-size: 12px;
-    }
-    </style>
-    <div id="content"></div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-counter-sample-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      flex-direction: column;
-    }
-    tr-ui-b-table {
-      font-size: 12px;
-    }
-    </style>
-    <tr-ui-b-table id="table"></tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-multi-event-summary-table">
-  <template>
-    <style>
-    :host {
-      display: flex;
-    }
-    #table {
-      flex: 1 1 auto;
-      align-self: stretch;
-      font-size: 12px;
-    }
-    </style>
-    <tr-ui-b-table id="table">
-    </tr-ui-b-table>
-    
-  </template>
-</dom-module><dom-module id="tr-ui-a-selection-summary-table">
-  <template>
-    <style>
-    :host {
-      display: flex;
-    }
-    #table {
-      flex: 1 1 auto;
-      align-self: stretch;
-      font-size: 12px;
-    }
-    </style>
-    <tr-ui-b-table id="table">
-    </tr-ui-b-table>
-    
-  </template>
-</dom-module><dom-module id="tr-ui-b-radio-picker">
-  <template>
-    <style>
-    :host([vertical]) #container {
-      flex-direction: column;
-    }
-    :host(:not[vertical]) #container {
-      flex-direction: row;
-    }
-    #container {
-      display: flex;
-    }
-    #container > div {
-      padding-left: 1em;
-      padding-bottom: 0.5em;
-    }
-    </style>
-    <div id="container"></div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-multi-event-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      overflow: auto;
-    }
-    #content {
-      display: flex;
-      flex-direction: column;
-      flex: 0 1 auto;
-      align-self: stretch;
-    }
-    #content > * {
-      flex: 0 0 auto;
-      align-self: stretch;
-    }
-    #histogramContainer {
-      display: flex;
-    }
-
-    tr-ui-a-multi-event-summary-table {
-      border-bottom: 1px solid #aaa;
-    }
-
-    tr-ui-a-selection-summary-table  {
-      margin-top: 1.25em;
-      border-top: 1px solid #aaa;
-      background-color: #eee;
-      font-weight: bold;
-      margin-bottom: 1.25em;
-      border-bottom: 1px solid #aaa;
-    }
-    </style>
-    <div id="content">
-      <tr-ui-a-multi-event-summary-table id="eventSummaryTable">
-      </tr-ui-a-multi-event-summary-table>
-      <tr-ui-a-selection-summary-table id="selectionSummaryTable">
-      </tr-ui-a-selection-summary-table>
-      <tr-ui-b-radio-picker id="radioPicker">
-      </tr-ui-b-radio-picker>
-      <div id="histogramContainer">
-        <tr-v-ui-histogram-span id="histogramSpan">
-        </tr-v-ui-histogram-span>
-      </div>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-related-events">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      flex-direction: column;
-    }
-    #table {
-      flex: 1 1 auto;
-      align-self: stretch;
-      font-size: 12px;
-    }
-    </style>
-    <tr-ui-b-table id="table"></tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-multi-async-slice-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-    }
-    #container {
-      display: flex;
-      flex: 1 1 auto;
-    }
-    #events {
-      margin-left: 8px;
-      flex: 0 1 200px;
-    }
-    </style>
-    <div id="container">
-      <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view>
-      <div id="events">
-        <tr-ui-a-related-events id="relatedEvents"></tr-ui-a-related-events>
-      </div>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-multi-cpu-slice-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-    }
-    #content {
-      flex: 1 1 auto;
-    }
-    </style>
-    <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view>
-  </template>
-</dom-module><dom-module id="tr-ui-a-multi-flow-event-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-    }
-    </style>
-    <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view>
-  </template>
-</dom-module><dom-module id="tr-ui-a-multi-instant-event-sub-view">
-  <template>
-    <style>
-    :host {
-      display: block;
-    }
-    </style>
-    <div id="content"></div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-multi-object-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      font-size: 12px;
-    }
-    </style>
-    <tr-ui-b-table id="content"></tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-b-chart-legend-key">
-  <template>
-    <style>
-      #checkbox {
-        margin: 0;
-        visibility: hidden;
-        vertical-align: text-top;
-      }
-      #label, #link {
-        white-space: nowrap;
-        text-overflow: ellipsis;
-        overflow: hidden;
-        display: inline-block;
-      }
-    </style>
-
-    <input checked="" id="checkbox" type="checkbox"/>
-    <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link>
-    <label id="label"></label>
-  </template>
-</dom-module><style>
-  * /deep/ .chart-base #title {
-    font-size: 16pt;
-  }
-
-  * /deep/ .chart-base {
-    -webkit-user-select: none;
-    cursor: default;
-  }
-
-  * /deep/ .chart-base .axis path,
-  * /deep/ .chart-base .axis line {
-    fill: none;
-    shape-rendering: crispEdges;
-    stroke: #000;
-  }
-
-  * /deep/ .chart-base .legend body {
-    margin: 0;
-  }
-</style><template id="chart-base-template">
-  <svg> 
-    <g id="chart-area" xmlns="http://www.w3.org/2000/svg">
-      <g class="x axis"></g>
-      <g class="y axis"></g>
-      <text id="title"></text>
-    </g>
-  </svg>
-</template><style>
-  * /deep/ .chart-base-2d.updating-brushing-state #brushes > * {
-    fill: rgb(103, 199, 165)
-  }
-
-  * /deep/ .chart-base-2d #brushes {
-    fill: rgb(213, 236, 229)
-  }
-</style><style>
-* /deep/ .line-chart .line{fill:none;stroke-width:1.5px}* /deep/ .line-chart #brushes>rect{fill:rgb(192,192,192)}
-</style><dom-module id="tr-ui-a-frame-power-usage-chart">
-  <template>
-    <div id="content"></div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-power-sample-summary-table">
-  <template>
-    <style>
-    tr-ui-b-table {
-      font-size: 12px;
-    }
-    </style>
-    <tr-ui-b-table id="table"></tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-multi-power-sample-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      flex-direction: row;
-    }
-    #tables {
-      display: flex;
-      flex-direction: column;
-      width: 50%;
-    }
-    #chart {
-      width: 50%;
-    }
-    </style>
-    <div id="tables">
-      <tr-ui-a-power-sample-summary-table id="summaryTable">
-      </tr-ui-a-power-sample-summary-table>
-    </div>
-    <tr-ui-a-frame-power-usage-chart id="chart">
-    </tr-ui-a-frame-power-usage-chart>
-  </template>
-</dom-module><dom-module id="tr-ui-a-multi-sample-sub-view">
-  <template>
-    <style>
-    :host { display: block; }
-    #control {
-      background-color: #e6e6e6;
-      background-image: -webkit-gradient(linear, 0 0, 0 100%,
-                                         from(#E5E5E5), to(#D1D1D1));
-      flex: 0 0 auto;
-      overflow-x: auto;
-    }
-    #control::-webkit-scrollbar { height: 0px; }
-    #control {
-      font-size: 12px;
-      display: flex;
-      flex-direction: row;
-      align-items: stretch;
-      margin: 1px;
-      margin-right: 2px;
-    }
-    tr-ui-b-table {
-      font-size: 12px;
-    }
-    </style>
-    <div id="control">
-      Sample View Option
-    </div>
-    <tr-ui-b-table id="table">
-    </tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-multi-thread-slice-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-    }
-    #content {
-      display: flex;
-      flex: 1 1 auto;
-    }
-    #content > tr-ui-a-related-events {
-      margin-left: 8px;
-      flex: 0 1 200px;
-    }
-    </style>
-    <div id="content"></div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-multi-thread-time-slice-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-    }
-    #content {
-      flex: 1 1 auto;
-    }
-    </style>
-    <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view>
-  </template>
-</dom-module><dom-module id="tr-ui-a-user-expectation-related-samples-table">
-  <template>
-    <style>
-    #table {
-      flex: 1 1 auto;
-      align-self: stretch;
-      font-size: 12px;
-    }
-    </style>
-    <tr-ui-b-table id="table"></tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-multi-user-expectation-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      flex: 1 1 auto;
-    }
-    #events {
-      margin-left: 8px;
-      flex: 0 1 200px;
-    }
-    </style>
-    <tr-ui-a-multi-event-sub-view id="realView"></tr-ui-a-multi-event-sub-view>
-    <div id="events">
-      <tr-ui-a-user-expectation-related-samples-table id="relatedSamples"></tr-ui-a-user-expectation-related-samples-table>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-generic-object-view">
-  <template>
-    <style>
-    :host {
-      display: block;
-      font-family: monospace;
-    }
-    </style>
-    <div id="content">
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-generic-object-view-with-label">
-  <template>
-    <style>
-    :host {
-      display: block;
-    }
-    </style>
-  </template>
-</dom-module><dom-module id="tr-ui-a-stack-frame">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      flex-direction: row;
-      align-items: center;
-      font-size: 12px;
-    }
-    </style>
-    <tr-ui-b-table id="table"></tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-event-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      flex-direction: column;
-    }
-    #table {
-      flex: 1 1 auto;
-      align-self: stretch;
-      font-size: 12px;
-    }
-    </style>
-    <tr-ui-b-table id="table">
-    </tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-async-slice-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      flex-direction: row;
-    }
-    #events {
-      display:flex;
-      flex-direction: column;
-    }
-    </style>
-    <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view>
-    <div id="events">
-      <tr-ui-a-related-events id="relatedEvents"></tr-ui-a-related-events>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-cpu-slice-sub-view">
-  <template>
-    <style>
-    table {
-      border-collapse: collapse;
-      border-width: 0;
-      margin-bottom: 25px;
-      width: 100%;
-    }
-
-    table tr > td:first-child {
-      padding-left: 2px;
-    }
-
-    table tr > td {
-      padding: 2px 4px 2px 4px;
-      vertical-align: text-top;
-      width: 150px;
-    }
-
-    table td td {
-      padding: 0 0 0 0;
-      width: auto;
-    }
-    tr {
-      vertical-align: top;
-    }
-
-    tr:nth-child(2n+0) {
-      background-color: #e2e2e2;
-    }
-    </style>
-    <table>
-      <tbody><tr>
-        <td>Running process:</td><td id="process-name"></td>
-      </tr>
-      <tr>
-        <td>Running thread:</td><td id="thread-name"></td>
-      </tr>
-      <tr>
-        <td>Start:</td>
-        <td>
-          <tr-v-ui-scalar-span id="start">
-          </tr-v-ui-scalar-span>
-        </td>
-      </tr>
-      <tr>
-        <td>Duration:</td>
-        <td>
-          <tr-v-ui-scalar-span id="duration">
-          </tr-v-ui-scalar-span>
-        </td>
-      </tr>
-      <tr>
-        <td>Active slices:</td><td id="running-thread"></td>
-      </tr>
-      <tr>
-        <td>Args:</td>
-        <td>
-          <tr-ui-a-generic-object-view id="args">
-          </tr-ui-a-generic-object-view>
-        </td>
-      </tr>
-    </tbody></table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-flow-event-sub-view">
-  <template>
-    <style>
-    :host {
-      display: block;
-    }
-    </style>
-    <tr-ui-a-single-event-sub-view id="singleEventSubView">
-    </tr-ui-a-single-event-sub-view>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-frame-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      flex-direction: column;
-    }
-    #asv {
-      flex: 0 0 auto;
-      align-self: stretch;
-    }
-    </style>
-    <tr-ui-a-alert-sub-view id="asv">
-    </tr-ui-a-alert-sub-view>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-instant-event-sub-view">
-  <template>
-    <style>
-    :host {
-      display: block;
-    }
-    </style>
-    <div id="content"></div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-object-instance-sub-view">
-  <template>
-    <style>
-    :host {
-      display: block;
-    }
-
-    #snapshots > * {
-      display: block;
-    }
-
-    :host {
-      overflow: auto;
-      display: block;
-    }
-
-    * {
-      -webkit-user-select: text;
-    }
-
-    .title {
-      border-bottom: 1px solid rgb(128, 128, 128);
-      font-size: 110%;
-      font-weight: bold;
-    }
-
-    td, th {
-      font-family: monospace;
-      vertical-align: top;
-    }
-    </style>
-    <div id="content"></div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-object-snapshot-sub-view">
-  <template>
-    <style>
-    #args {
-      white-space: pre;
-    }
-
-    :host {
-      overflow: auto;
-      display: flex;
-    }
-
-    ::content * {
-      -webkit-user-select: text;
-    }
-
-    ::content .title {
-      border-bottom: 1px solid rgb(128, 128, 128);
-      font-size: 110%;
-      font-weight: bold;
-    }
-
-    ::content td, th {
-      font-family: monospace;
-      vertical-align: top;
-    }
-    </style>
-    <content></content>
-  </template>
-</dom-module><dom-module id="tr-ui-a-power-sample-table">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      font-size: 12px;
-    }
-    </style>
-    <tr-ui-b-table id="table"></tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-power-sample-sub-view">
-  <template>
-    <style>
-    :host { display: block; }
-    </style>
-    <tr-ui-a-power-sample-table id="samplesTable">
-    </tr-ui-a-power-sample-table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-sample-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      font-size: 12px;
-    }
-    </style>
-    <tr-ui-b-table id="content"></tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-thread-slice-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      flex-direction: row;
-    }
-    #events {
-      display: flex;
-      flex-direction: column;
-    }
-
-    </style>
-    <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view>
-    <div id="events">
-      <tr-ui-a-related-events id="relatedEvents">
-      </tr-ui-a-related-events>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-thread-time-slice-sub-view">
-  <template>
-    <style>
-    table {
-      border-collapse: collapse;
-      border-width: 0;
-      margin-bottom: 25px;
-      width: 100%;
-    }
-
-    table tr > td:first-child {
-      padding-left: 2px;
-    }
-
-    table tr > td {
-      padding: 2px 4px 2px 4px;
-      vertical-align: text-top;
-      width: 150px;
-    }
-
-    table td td {
-      padding: 0 0 0 0;
-      width: auto;
-    }
-    tr {
-      vertical-align: top;
-    }
-
-    tr:nth-child(2n+0) {
-      background-color: #e2e2e2;
-    }
-    </style>
-    <table>
-      <tbody><tr>
-        <td>Running process:</td><td id="process-name"></td>
-      </tr>
-      <tr>
-        <td>Running thread:</td><td id="thread-name"></td>
-      </tr>
-      <tr>
-        <td>State:</td>
-        <td><b><span id="state"></span></b></td>
-      </tr>
-      <tr>
-        <td>Start:</td>
-        <td>
-          <tr-v-ui-scalar-span id="start">
-          </tr-v-ui-scalar-span>
-        </td>
-      </tr>
-      <tr>
-        <td>Duration:</td>
-        <td>
-          <tr-v-ui-scalar-span id="duration">
-          </tr-v-ui-scalar-span>
-        </td>
-      </tr>
-
-      <tr>
-        <td>On CPU:</td><td id="on-cpu"></td>
-      </tr>
-
-      <tr>
-        <td>Running instead:</td><td id="running-instead"></td>
-      </tr>
-
-      <tr>
-        <td>Args:</td><td id="args"></td>
-      </tr>
-    </tbody></table>
-  </template>
-</dom-module><dom-module id="tr-ui-a-single-user-expectation-sub-view">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      flex-direction: row;
-    }
-    #events {
-      display: flex;
-      flex-direction: column;
-    }
-    </style>
-    <tr-ui-a-single-event-sub-view id="realView"></tr-ui-a-single-event-sub-view>
-    <div id="events">
-      <tr-ui-a-user-expectation-related-samples-table id="relatedSamples"></tr-ui-a-user-expectation-related-samples-table>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-a-analysis-view">
-  <template>
-    <style>
-      :host {
-        background-color: white;
-        display: flex;
-        flex-direction: column;
-        height: 275px;
-        overflow: auto;
-      }
-
-      :host(.tall-mode) {
-        height: 525px;
-      }
-    </style>
-    <content></content>
-  </template>
-</dom-module><dom-module id="tr-ui-b-dropdown">
-  <template>
-    <style>
-    :host {
-      position: relative;
-      display: flex;
-    }
-    #outer {
-      display: flex;
-      flex: 0 0 auto;
-      padding: 1px 4px 1px 4px;
-      -webkit-user-select: none;
-      cursor: default;
-    }
-
-    #state {
-      display: flex;
-      flex: 0 0 auto;
-      margin-left: 2px;
-      margin-right: 0px;
-      flex: 0 0 auto;
-    }
-
-    #icon {
-      display: flex;
-      flex: 0 0 auto;
-      flex: 0 0 auto;
-    }
-    dialog {
-      position: absolute;
-      padding: 0;
-      border: 0;
-      margin: 0;
-    }
-    dialog::backdrop {
-      background: rgba(0,0,0,.05);
-    }
-
-    #dialog-frame {
-      background-color: #fff;
-      display: flex;
-      flex-direction: column;
-      flex: 1 1 auto;
-      padding: 6px;
-      border: 1px solid black;
-      -webkit-user-select: none;
-      cursor: default;
-    }
-    </style>
-    <tr-ui-b-toolbar-button id="outer" on-click="onOuterClick_" on-keydown="onOuterKeyDown_">
-      <div id="icon">âš™</div>
-      <div id="state">â–¾</div>
-    </tr-ui-b-toolbar-button>
-    <dialog id="dialog" on-cancel="onDialogCancel_" on-click="onDialogClick_">
-      <div id="dialog-frame">
-        <content></content>
-      </div>
-    </dialog>
-  </template>
-</dom-module><dom-module id="tv-ui-b-hotkey-controller">
-  <template>
-    <div></div>
-  </template>
-</dom-module><dom-module id="tr-ui-b-info-bar-group">
-  <template>
-    <style>
-    :host {
-      flex: 0 0 auto;
-      flex-direction: column;
-      display: flex;
-    }
-    </style>
-    <div id="messages"></div>
-  </template>
-</dom-module><dom-module id="tr-ui-b-toolbar-button">
-  <template>
-    <style>
-    :host {
-      display: flex;
-      background-color: #f8f8f8;
-      border: 1px solid rgba(0, 0, 0, 0.5);
-      color: rgba(0,0,0,0.8);
-      justify-content: center;
-      align-self: stretch;
-      min-width: 23px;
-    }
-
-    :host(:hover) {
-      background-color: rgba(255, 255, 255, 1.0);
-      border-color: rgba(0, 0, 0, 0.8);
-      box-shadow: 0 0 .05em rgba(0, 0, 0, 0.4);
-      color: rgba(0, 0, 0, 1);
-    }
-
-    #aligner {
-      display: flex;
-      flex: 0 0 auto;
-      align-self: center;
-    }
-    </style>
-    <div id="aligner">
-      <content></content>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-b-mouse-mode-icon">
-  <template>
-    <style>
-    :host {
-      display: block;
-      background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAChCAYAAACbBNzvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA3LzE2LzEzRNEKUwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAA9aSURBVHic7V1rTFvl//+UrgUmZWMpbLa6cLErwpYxkqLGkjAG88WSbmumGUllvlmAJctMRtybvlHrLXiJUekMIZuYSCL5gS+EuLIXGEGjqCsllCEW6xQECgzWG7S05/+C/zkp9LTn0gsL6ych9JzznOdzPj19Luf5PN/nCN59913ixRdfRFdXFxLx/2GDgCAIYmpqCoWFhUjE/4cNae+99x4AIFH/Hzak7nDqDu+wOyyw2WzEdl9EMpG23ReQbKQE73Q8coJ3bfcFWK1W/Pbbb/D7/UhLi/37DwaDEIvFKC8vR0lJSdjxbRVstVoxPDyMxx9/HAUFBcjMzIRAIOCdXzAYhNvtht1ux/DwMACEid5WwSMjI3jyySdRXFwMsVgMoVAYk2CCIJCZmYns7GyMjo5iZGQkPoKXl5exd+9e3hdGIhgMIj8/H5mZmRCJRIyCyQ5NJBAEgUAgAKFQiIKCAiwsLISl4VxoHA4H+vv74Xa7uZ4aBqFQiOzsbIhEIojFYojFYohEItq/8fFxXLlyBUtLSxHThOaxZ88eCIXC2AWPj48DAH799deYBaelpUEoFLL6++qrrwAAH3zwAav0YrGYthLkJHh6ehpzc3MAgPn5eUxPT8csWiAQMJbboaEhmM1mAIDFYsHQ0BDvPDkJtlgsYdt+v59LFrxw/fr1sG2Xy8UrL06C6+vrw7bFYjEvYi747rvvwrYlEgmvvDjV0g6HI+p2ohBP3qh32OFwoLe3l1VGvb29sNvtvC8kFCMjI9DpdKzS6nQ6mEwm1nnTPg/7/X6MjY1hcnKS/VX+P/bu3YuysjLk5uYypv36669x8uRJZGRkQCQSwev1oqOjAz09PZx5CwsLcenSJRw+fBh+vx+rq6swmUx46aWXNqWjvcMDAwO8xAIbnZKBgQFeNXhzczMvscBGp6S5uRk//vhj1HS0grVaLYqLi3kRy+Vy1NXVRe0RRcKNGzeg0Wh48apUKnR1daG6ujpqOtpKy+VyQa1Wo6SkBLdv38aFCxeoY5988gn1+fLly9TnL774ApWVlXjiiSfgdDqxtrbG+aJ9Ph/0ej3OnDkDvV6PW7duUceOHDlCfR4dHaU+v/DCC7h27RrUajWcTidWV1ejctAKJggCKysryMzMhE6nw+zsLO3Joft1Oh0ePHiApaUlduqi8BYVFaGvr48Vb19fHyfeqM2Sz+dj3QTEs4lKJC+njsfWJoptkxUrtjZRbJssOnASXFtbG3U7UXjrrbeibnMBJ8FZWVkoKysDABQUFCArK4s3MRcoFArqrlZXV0OhUPDOi5Ngn8+Hw4cPQyqV4tlnn4XP5+NNTIIgmH0An8+HV155BUqlEq+++ior3kAgQLuf84jH2toajh8/jvX1da6n0sLj8SAjI4MxHUEQ+PTTT1nlSRAEHjx4QHtsW8e0RCIR7HY79uzZE/GOcEUgEEAgEMDff/8NkUgUdnxbBR85cgRmsxkCgQD5+fkRh2XYIhAI4P79+5iamoLD4cCxY8fC0myr4KeeegoCgQBWqxVzc3NIS0uLedQyGAxi165dKC8vR1FRUVialHu405ESvNPxyAlOuYfJRMo9fFjdw3iBq3vIBDbu4bYK3uoextKtJEH2yWNyD8nyEG8wuYcffvgha3cxru6h3W5Hf39/QoyzaE6fyWRCQ0MDZ+MsLu7h8vIyent7sby8zIk8VkxNTUGn08Fms8UlP04Nn9/vR39/f9w8JLZwu91obGzk5CFFAq+Wfnh4mDKok4mWlha0trbGlAfvrs3k5CQGBgaSYoiHoqenB1evXk2OIb4VDocDJpMp6eXaYrGgsbGRV7mOufPq8XgwMDCQ9HI9NzeHq1evci7XvDseUqkUWq0W6enpCAaDcDqd8Hq9fLNjDaVSiRs3bkAikfDi5XSHxWIxampqAAALCwsYGhrC7Ows5ufnEypWIpHAYDAAACYmJnD9+nXevJwEnzp1CjKZDBUVFQCAsbGxpJTfjz76CFVVVWhqagIAdHR08G6XWQuuqanB7t274fV6UVpaiuzsbAAbTzyJhMFggEKhgNfrRX19PWQyGQDAaDTyyo+V4JqaGshkMsricLlcOH78OICNCWp8p0cwwWAwoKqqahPvG2+8AWDji+7u7uacJyvBMpksrKxkZWVR0yLGxsY4E7NBVVVVGK9CoaCmRXR0dHDOk5VguorB5/OhoqICYrE4YZ2PSLxXrlyBRCLhNcE1pufh1dVVXLx4EWlpaRGnJzCBjXtId87g4GBU3ri5h1uJ5+fnY8mCtXvIhTflHoYg5R4mEyn3MAl45KyWlOCdjkdOcMo9TCZS7mHKPeSGhLmH5LBOrAGXXN1DcliHrgdFgsk95CzYbrfDbDbD7/ejrKwstpmtNO5hJJhMJrS2tsLtdqOpqQlarTZi2mjuIWvBfr8fZrN50/iz2WzG9PQ0nn/+edonEzZgij10uVwwGo2bxp+NRiOGhobw+uuv005hjtk9JENz6AbbyWCuRESp2Ww2NDc30w62WywW6HQ6zoOIrO5wbm4uzp8/j5WVFXR2dm46VldXh3379mF5eTku86dDUVxcjK6uLthstrClqrq6unDo0CHOvKwE+/1+LC4uUqG0oZiYmIhaicQCkvfu3bthxwYGBnhVmpy6NnSD7kxxQvEA3Zo+fIsQJ8F040j379/nRcwFdF4037FwToLphkUXFxd5EXMB3chkUgQ7nc6wfT6fL+Gm+H///Re2z+Vy8TLFGSut/v5+RsPsm2++AbDR84pXLFNDQwPjelxnz54FsBFK+/nnn7PKl/EOa7VaVmHvYrE4au+HK27evMkq7F0ikeDmzZus82UU7HK5qG8yGs6ePct73gUdfD4f2tvbGdO1t7dzaocZBRMEAaFQSBnhdKipqYFQKORlm0TjzcvLo4xwOhgMBuTl5XHiZVVp+f1+yGQy2iDq4uJiyGSyhFRcfr8fVVVVtEHUGo0GVVVVnHlZ19JerxdqtRpSqZTaJ5VKoVarEzrdwev1Qq/XQ6lUUvuUSiX0ej0vXk7N0srKCjQaDbXmjUajwcrKCmfSULD5Oa6srKCtrQ0SiQQSiQRtbW2MvHFzD0MrsXhUUmzdw9BKjKmSiqt7SBBE3Conru4hOa8kWqBnyj3cgl0EQcQ0cMYWW3kIgkiKe7iVV2C1Won09PSYxLCB1+tFZmYmtb22tobt4E1LBimATaQAkiKWjveR85ZSgnc6Uu5hMpFyD1PuITekYg/ZxB52dXXFTMo2n1D38NSpU7zjDEP/yHzisnJpIsBm5dJ45rntgpONuITTJirctqWlJabjdGAUvNUEp0NouxcvtLa2MgZhmUwmzqKjCrbb7aw9HC5pmWAymVivb2kymTgFe0RslrbeNTa1rtlshkgkQn5+PusL2Iqtd42NdWM0GpGVlYWTJ08ypo14h/nGI8Uax8Q3XJbteREFV1ZW8iLmex6Ja9euJfS8iD9puVyOmpoa3L59G8DmVUq3glzNlAzoimVgvrq6GmlpadDr9QA2r1K6FeRqpmRAFxveiIK9Xi8VZ/jLL78whulUVFTELJbkJeMMjUYjI29TUxNrsQBDX5qMM4w0qE2iuLgYpaWlcXMPyThDphWMNRoN6uvrOfGyskvVanXUNGq1Oq5WKclL/qwjQa/Xc+Zl1dNi8nFi9ZeSyZvqS0erjbmAbT6kT7X1lQp8QeYTyasKE8w3aJJvPh6PBwRBYGZmJi68MzMzqdjDUDx67mEsFxwrUrGHSUCqWdrpSAne6dix7uFzzz1HW0s/FO7h/v37UVBQgMceeyxm99DlcsFut2NwcBACgSDsnTHb7h4ePHgQxcXFcTPTMjIyIJFIcOfOHfz+++8Pl2DSPSTftxQv93DXrl0oKirCnTt3wtIwFhq62aputxtms5maCR8pHROEQiEkEgntew/X1tbC3mu4tLSE9vZ2nD9/njZd6Pn79u3jHoo3OTmJsbExnDlzBsDGWLXdbqcNoent7YVCocChQ4dYh+VFij3s7u5GR0cH9YWaTCbcunVr0yMkmfbChQvQarXQarVUWF4wGER6ejp7wdPT0zCbzfB4PJv2R7NT/H4/rFYrJicnUVZWxnowPtTpGxoagtFoDAsIi2anuN1ufPnll+ju7salS5dw4sQJKk+64hH2FTgcDgwPD4eJZQu/3w+bzcZ5JSSLxYL333+fNvqNDdxuN3p6ehjPDxMsl8tjjkw5ceIENfOVLVQqFd58882YeA0GA7WiWiSECfb5fPjpp58AbKyBx/bCpVIp6urqAADff/895wf6tbU1fPbZZwCAjz/+mPHCSSiVSsr3eueddxh5aWtpMrwuJyeH9cuczp07R5UZvktO/fnnnwCAY8eOoa+vj9U5nZ2d1CsH2fhaUZulwcFB1kGNi4uLjK/gYwuDwcCJ9+2332add9RmyW63w+12Q6FQIC8vD5cvX8bCwgI19VcqlcJms8HhcGBycjJuSz6aTCbMzs5Cq9Xi6NGjGB0dxcTEBJxOJyQSCZRKJUZGRjAyMoL//e9/jBFsoaAVLJfLKZvD4XBQ37ZEItlUph0OB238gVwu5ySQhEqlopo+i8VCtbsymWxTmb579y6t46BSqRg5aAXX1tbi22+/DZvY5XQ6aQMuQyGVSlFbW8trgb6WlhY0NDRgYmJi0/6ZmRnGYVylUomWlhbGeGbaMuzxeKDRaKhVDdkgOzsblZWVOHfuHO82fH19HW1tbWhqamL9ul2ZTIbXXnsNnZ2drN7yFfFFjy6XC6WlpVCpVFhaWsK///5LVfnz8/PIy8sDAOzevRu5ubnIycmBx+OJKZ6YIAj4fD7U19ejsbERf/zxB4aHhykrdHx8HE8//TQAYP/+/VAqlVAoFJx4I1ZapGiyrBw4cAD37t2DXC7HgQMHAGx0QXNycrC+vh63VR5Cecnw3J6eHqhUKpSXlwPY6OI+88wzALiHxnN6PPz555/D9h08eJATIR/Qzd9gE/FKh9SYFlvI5XKqPMUCrlFuKpUKp0+fZkwXDAZp93MSLBaLUVJSgqNHjyIjIwNerzfmOR0ul4sx9lAikeD06dN4+eWXIZVKGXnj5h5evHgRXq8XHo+Hd9MTCpFIhHv37iEnJydqp/+HH36A1+uFy+VirKTi6h7Gug7tVpDuIUEQKCwsjOge/vPPP6zyCwQCWF5exl9//YX5+Xla93DbzTSbzQar1Yr19fW4uoclJSUp9xB4BJullOCdjkdO8P8BGCQ0hnF1DxUAAAAASUVORK5CYII=);
-      width: 27px;
-      height: 30px;
-    }
-    :host.active {
-      cursor: auto;
-    }
-    </style>
-  </template>
-</dom-module><dom-module id="tr-ui-b-mouse-mode-selector">
-  <template>
-    <style>
-    :host {
-
-      -webkit-user-drag: element;
-      -webkit-user-select: none;
-
-      background: #DDD;
-      border: 1px solid #BBB;
-      border-radius: 4px;
-      box-shadow: 0 1px 2px rgba(0,0,0,0.2);
-      left: calc(100% - 120px);
-      position: absolute;
-      top: 100px;
-      user-select: none;
-      width: 29px;
-      z-index: 20;
-    }
-
-    .drag-handle {
-      background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAChCAYAAACbBNzvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA3LzE2LzEzRNEKUwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAA9aSURBVHic7V1rTFvl//+UrgUmZWMpbLa6cLErwpYxkqLGkjAG88WSbmumGUllvlmAJctMRtybvlHrLXiJUekMIZuYSCL5gS+EuLIXGEGjqCsllCEW6xQECgzWG7S05/+C/zkp9LTn0gsL6ych9JzznOdzPj19Luf5PN/nCN59913ixRdfRFdXFxLx/2GDgCAIYmpqCoWFhUjE/4cNae+99x4AIFH/Hzak7nDqDu+wOyyw2WzEdl9EMpG23ReQbKQE73Q8coJ3bfcFWK1W/Pbbb/D7/UhLi/37DwaDEIvFKC8vR0lJSdjxbRVstVoxPDyMxx9/HAUFBcjMzIRAIOCdXzAYhNvtht1ux/DwMACEid5WwSMjI3jyySdRXFwMsVgMoVAYk2CCIJCZmYns7GyMjo5iZGQkPoKXl5exd+9e3hdGIhgMIj8/H5mZmRCJRIyCyQ5NJBAEgUAgAKFQiIKCAiwsLISl4VxoHA4H+vv74Xa7uZ4aBqFQiOzsbIhEIojFYojFYohEItq/8fFxXLlyBUtLSxHThOaxZ88eCIXC2AWPj48DAH799deYBaelpUEoFLL6++qrrwAAH3zwAav0YrGYthLkJHh6ehpzc3MAgPn5eUxPT8csWiAQMJbboaEhmM1mAIDFYsHQ0BDvPDkJtlgsYdt+v59LFrxw/fr1sG2Xy8UrL06C6+vrw7bFYjEvYi747rvvwrYlEgmvvDjV0g6HI+p2ohBP3qh32OFwoLe3l1VGvb29sNvtvC8kFCMjI9DpdKzS6nQ6mEwm1nnTPg/7/X6MjY1hcnKS/VX+P/bu3YuysjLk5uYypv36669x8uRJZGRkQCQSwev1oqOjAz09PZx5CwsLcenSJRw+fBh+vx+rq6swmUx46aWXNqWjvcMDAwO8xAIbnZKBgQFeNXhzczMvscBGp6S5uRk//vhj1HS0grVaLYqLi3kRy+Vy1NXVRe0RRcKNGzeg0Wh48apUKnR1daG6ujpqOtpKy+VyQa1Wo6SkBLdv38aFCxeoY5988gn1+fLly9TnL774ApWVlXjiiSfgdDqxtrbG+aJ9Ph/0ej3OnDkDvV6PW7duUceOHDlCfR4dHaU+v/DCC7h27RrUajWcTidWV1ejctAKJggCKysryMzMhE6nw+zsLO3Joft1Oh0ePHiApaUlduqi8BYVFaGvr48Vb19fHyfeqM2Sz+dj3QTEs4lKJC+njsfWJoptkxUrtjZRbJssOnASXFtbG3U7UXjrrbeibnMBJ8FZWVkoKysDABQUFCArK4s3MRcoFArqrlZXV0OhUPDOi5Ngn8+Hw4cPQyqV4tlnn4XP5+NNTIIgmH0An8+HV155BUqlEq+++ior3kAgQLuf84jH2toajh8/jvX1da6n0sLj8SAjI4MxHUEQ+PTTT1nlSRAEHjx4QHtsW8e0RCIR7HY79uzZE/GOcEUgEEAgEMDff/8NkUgUdnxbBR85cgRmsxkCgQD5+fkRh2XYIhAI4P79+5iamoLD4cCxY8fC0myr4KeeegoCgQBWqxVzc3NIS0uLedQyGAxi165dKC8vR1FRUVialHu405ESvNPxyAlOuYfJRMo9fFjdw3iBq3vIBDbu4bYK3uoextKtJEH2yWNyD8nyEG8wuYcffvgha3cxru6h3W5Hf39/QoyzaE6fyWRCQ0MDZ+MsLu7h8vIyent7sby8zIk8VkxNTUGn08Fms8UlP04Nn9/vR39/f9w8JLZwu91obGzk5CFFAq+Wfnh4mDKok4mWlha0trbGlAfvrs3k5CQGBgaSYoiHoqenB1evXk2OIb4VDocDJpMp6eXaYrGgsbGRV7mOufPq8XgwMDCQ9HI9NzeHq1evci7XvDseUqkUWq0W6enpCAaDcDqd8Hq9fLNjDaVSiRs3bkAikfDi5XSHxWIxampqAAALCwsYGhrC7Ows5ufnEypWIpHAYDAAACYmJnD9+nXevJwEnzp1CjKZDBUVFQCAsbGxpJTfjz76CFVVVWhqagIAdHR08G6XWQuuqanB7t274fV6UVpaiuzsbAAbTzyJhMFggEKhgNfrRX19PWQyGQDAaDTyyo+V4JqaGshkMsricLlcOH78OICNCWp8p0cwwWAwoKqqahPvG2+8AWDji+7u7uacJyvBMpksrKxkZWVR0yLGxsY4E7NBVVVVGK9CoaCmRXR0dHDOk5VguorB5/OhoqICYrE4YZ2PSLxXrlyBRCLhNcE1pufh1dVVXLx4EWlpaRGnJzCBjXtId87g4GBU3ri5h1uJ5+fnY8mCtXvIhTflHoYg5R4mEyn3MAl45KyWlOCdjkdOcMo9TCZS7mHKPeSGhLmH5LBOrAGXXN1DcliHrgdFgsk95CzYbrfDbDbD7/ejrKwstpmtNO5hJJhMJrS2tsLtdqOpqQlarTZi2mjuIWvBfr8fZrN50/iz2WzG9PQ0nn/+edonEzZgij10uVwwGo2bxp+NRiOGhobw+uuv005hjtk9JENz6AbbyWCuRESp2Ww2NDc30w62WywW6HQ6zoOIrO5wbm4uzp8/j5WVFXR2dm46VldXh3379mF5eTku86dDUVxcjK6uLthstrClqrq6unDo0CHOvKwE+/1+LC4uUqG0oZiYmIhaicQCkvfu3bthxwYGBnhVmpy6NnSD7kxxQvEA3Zo+fIsQJ8F040j379/nRcwFdF4037FwToLphkUXFxd5EXMB3chkUgQ7nc6wfT6fL+Gm+H///Re2z+Vy8TLFGSut/v5+RsPsm2++AbDR84pXLFNDQwPjelxnz54FsBFK+/nnn7PKl/EOa7VaVmHvYrE4au+HK27evMkq7F0ikeDmzZus82UU7HK5qG8yGs6ePct73gUdfD4f2tvbGdO1t7dzaocZBRMEAaFQSBnhdKipqYFQKORlm0TjzcvLo4xwOhgMBuTl5XHiZVVp+f1+yGQy2iDq4uJiyGSyhFRcfr8fVVVVtEHUGo0GVVVVnHlZ19JerxdqtRpSqZTaJ5VKoVarEzrdwev1Qq/XQ6lUUvuUSiX0ej0vXk7N0srKCjQaDbXmjUajwcrKCmfSULD5Oa6srKCtrQ0SiQQSiQRtbW2MvHFzD0MrsXhUUmzdw9BKjKmSiqt7SBBE3Conru4hOa8kWqBnyj3cgl0EQcQ0cMYWW3kIgkiKe7iVV2C1Won09PSYxLCB1+tFZmYmtb22tobt4E1LBimATaQAkiKWjveR85ZSgnc6Uu5hMpFyD1PuITekYg/ZxB52dXXFTMo2n1D38NSpU7zjDEP/yHzisnJpIsBm5dJ45rntgpONuITTJirctqWlJabjdGAUvNUEp0NouxcvtLa2MgZhmUwmzqKjCrbb7aw9HC5pmWAymVivb2kymTgFe0RslrbeNTa1rtlshkgkQn5+PusL2Iqtd42NdWM0GpGVlYWTJ08ypo14h/nGI8Uax8Q3XJbteREFV1ZW8iLmex6Ja9euJfS8iD9puVyOmpoa3L59G8DmVUq3glzNlAzoimVgvrq6GmlpadDr9QA2r1K6FeRqpmRAFxveiIK9Xi8VZ/jLL78whulUVFTELJbkJeMMjUYjI29TUxNrsQBDX5qMM4w0qE2iuLgYpaWlcXMPyThDphWMNRoN6uvrOfGyskvVanXUNGq1Oq5WKclL/qwjQa/Xc+Zl1dNi8nFi9ZeSyZvqS0erjbmAbT6kT7X1lQp8QeYTyasKE8w3aJJvPh6PBwRBYGZmJi68MzMzqdjDUDx67mEsFxwrUrGHSUCqWdrpSAne6dix7uFzzz1HW0s/FO7h/v37UVBQgMceeyxm99DlcsFut2NwcBACgSDsnTHb7h4ePHgQxcXFcTPTMjIyIJFIcOfOHfz+++8Pl2DSPSTftxQv93DXrl0oKirCnTt3wtIwFhq62aputxtms5maCR8pHROEQiEkEgntew/X1tbC3mu4tLSE9vZ2nD9/njZd6Pn79u3jHoo3OTmJsbExnDlzBsDGWLXdbqcNoent7YVCocChQ4dYh+VFij3s7u5GR0cH9YWaTCbcunVr0yMkmfbChQvQarXQarVUWF4wGER6ejp7wdPT0zCbzfB4PJv2R7NT/H4/rFYrJicnUVZWxnowPtTpGxoagtFoDAsIi2anuN1ufPnll+ju7salS5dw4sQJKk+64hH2FTgcDgwPD4eJZQu/3w+bzcZ5JSSLxYL333+fNvqNDdxuN3p6ehjPDxMsl8tjjkw5ceIENfOVLVQqFd58882YeA0GA7WiWiSECfb5fPjpp58AbKyBx/bCpVIp6urqAADff/895wf6tbU1fPbZZwCAjz/+mPHCSSiVSsr3eueddxh5aWtpMrwuJyeH9cuczp07R5UZvktO/fnnnwCAY8eOoa+vj9U5nZ2d1CsH2fhaUZulwcFB1kGNi4uLjK/gYwuDwcCJ9+2332add9RmyW63w+12Q6FQIC8vD5cvX8bCwgI19VcqlcJms8HhcGBycjJuSz6aTCbMzs5Cq9Xi6NGjGB0dxcTEBJxOJyQSCZRKJUZGRjAyMoL//e9/jBFsoaAVLJfLKZvD4XBQ37ZEItlUph0OB238gVwu5ySQhEqlopo+i8VCtbsymWxTmb579y6t46BSqRg5aAXX1tbi22+/DZvY5XQ6aQMuQyGVSlFbW8trgb6WlhY0NDRgYmJi0/6ZmRnGYVylUomWlhbGeGbaMuzxeKDRaKhVDdkgOzsblZWVOHfuHO82fH19HW1tbWhqamL9ul2ZTIbXXnsNnZ2drN7yFfFFjy6XC6WlpVCpVFhaWsK///5LVfnz8/PIy8sDAOzevRu5ubnIycmBx+OJKZ6YIAj4fD7U19ejsbERf/zxB4aHhykrdHx8HE8//TQAYP/+/VAqlVAoFJx4I1ZapGiyrBw4cAD37t2DXC7HgQMHAGx0QXNycrC+vh63VR5Cecnw3J6eHqhUKpSXlwPY6OI+88wzALiHxnN6PPz555/D9h08eJATIR/Qzd9gE/FKh9SYFlvI5XKqPMUCrlFuKpUKp0+fZkwXDAZp93MSLBaLUVJSgqNHjyIjIwNerzfmOR0ul4sx9lAikeD06dN4+eWXIZVKGXnj5h5evHgRXq8XHo+Hd9MTCpFIhHv37iEnJydqp/+HH36A1+uFy+VirKTi6h7Gug7tVpDuIUEQKCwsjOge/vPPP6zyCwQCWF5exl9//YX5+Xla93DbzTSbzQar1Yr19fW4uoclJSUp9xB4BJullOCdjkdO8P8BGCQ0hnF1DxUAAAAASUVORK5CYII=) 2px 3px no-repeat;
-      background-repeat: no-repeat;
-      border-bottom: 1px solid #BCBCBC;
-      cursor: move;
-      display: block;
-      height: 13px;
-      width: 27px;
-    }
-
-    .tool-button {
-      background-position: center center;
-      background-repeat: no-repeat;
-      border-bottom: 1px solid #BCBCBC;
-      border-top: 1px solid #F1F1F1;
-      cursor: pointer;
-    }
-
-    .buttons > .tool-button:last-child {
-      border-bottom: none;
-    }
-
-    </style>
-    <div class="drag-handle"></div>
-    <div class="buttons">
-    </div>
-  </template>
-</dom-module><style>
-.track-button{background-color:rgba(255,255,255,0.5);border:1px solid rgba(0,0,0,0.1);color:rgba(0,0,0,0.2);font-size:10px;height:12px;text-align:center;width:12px}.track-button:hover{background-color:rgba(255,255,255,1.0);border:1px solid rgba(0,0,0,0.5);box-shadow:0 0 .05em rgba(0,0,0,0.4);color:rgba(0,0,0,1)}.track-close-button{left:2px;position:absolute;top:2px}.track-collapse-button{left:3px;position:absolute;top:2px}
-</style><style>
-.drawing-container{-webkit-box-flex:1;display:inline;overflow:auto;overflow-x:hidden;position:relative}.drawing-container-canvas{-webkit-box-flex:1;display:block;pointer-events:none;position:absolute;top:0}
-</style><dom-module id="tr-ui-heading">
-  <template>
-    <style>
-    :host {
-      background-color: rgb(243, 245, 247);
-      border-right: 1px solid #8e8e8e;
-      display: block;
-      height: 100%;
-      margin: 0;
-      padding: 0 5px 0 0;
-    }
-
-    heading {
-      display: block;
-      overflow-x: hidden;
-      text-align: left;
-      text-overflow: ellipsis;
-      white-space: nowrap;
-    }
-
-    #arrow {
-      -webkit-flex: 0 0 auto;
-      font-family: sans-serif;
-      margin-left: 5px;
-      margin-right: 5px;
-      width: 8px;
-    }
-
-    #link, #heading_content {
-      display: none;
-    }
-    </style>
-    <heading id="heading" on-click="onHeadingDivClicked_">
-      <span id="arrow"></span>
-      <span id="heading_content"></span>
-      <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link>
-    </heading>
-  </template>
-</dom-module><style>
-.letter-dot-track {
-  height: 18px;
-}
-</style><style>
-.chart-track {
-  height: 30px;
-  position: relative;
-}
-</style><style>
-.cpu-usage-track {
-  height: 90px;
-}
-</style><style>
-.power-series-track {
-  height: 90px;
-}
-</style><style>
-.spacing-track{height:4px}
-</style><style>
-.rect-track{height:18px}
-</style><style>
-.object-instance-track{height:18px}
-</style><style>
-.thread-track{-webkit-box-orient:vertical;display:-webkit-box;position:relative}
-</style><style>
-.process-track-header{-webkit-flex:0 0 auto;background-image:-webkit-gradient(linear,0 0,100% 0,from(#E5E5E5),to(#D1D1D1));border-bottom:1px solid #8e8e8e;border-top:1px solid white;font-size:75%}.process-track-name:before{content:'\25B8';padding:0 5px}.process-track-base.expanded .process-track-name:before{content:'\25BE'}
-</style><style>
-.model-track {
-  -webkit-box-flex: 1;
-}
-</style><style>
-.ruler-track{height:12px}.ruler-track.tall-mode{height:30px}
-</style><dom-module id="tr-ui-timeline-track-view">
-  <template>
-    <style>
-    :host {
-      -webkit-box-orient: vertical;
-      display: -webkit-box;
-      position: relative;
-    }
-
-    :host ::content * {
-      -webkit-user-select: none;
-      cursor: default;
-    }
-
-    #drag_box {
-      background-color: rgba(0, 0, 255, 0.25);
-      border: 1px solid rgb(0, 0, 96);
-      font-size: 75%;
-      position: fixed;
-    }
-
-    #hint_text {
-      position: absolute;
-      bottom: 6px;
-      right: 6px;
-      font-size: 8pt;
-    }
-    </style>
-    <content></content>
-
-    <div id="drag_box"></div>
-    <div id="hint_text"></div>
-
-    <tv-ui-b-hotkey-controller id="hotkey_controller">
-    </tv-ui-b-hotkey-controller>
-  </template>
-</dom-module><dom-module id="tr-ui-find-control">
-  <template>
-    <style>
-      :host {
-        -webkit-user-select: none;
-        display: -webkit-flex;
-        position: relative;
-      }
-      input {
-        -webkit-user-select: auto;
-        background-color: #f8f8f8;
-        border: 1px solid rgba(0, 0, 0, 0.5);
-        box-sizing: border-box;
-        margin: 0;
-        padding: 0;
-        width: 170px;
-      }
-      input:focus {
-        background-color: white;
-      }
-      tr-ui-b-toolbar-button {
-        border-left: none;
-        margin: 0;
-      }
-      #hitCount {
-        left: 0;
-        opacity: 0.25;
-        pointer-events: none;
-        position: absolute;
-        text-align: right;
-        top: 2px;
-        width: 167px;
-        z-index: 1;
-      }
-      #spinner {
-        visibility: hidden;
-        width: 8px;
-        height: 8px;
-        left: 154px;
-        pointer-events: none;
-        position: absolute;
-        top: 4px;
-        z-index: 1;
-
-        border: 2px solid transparent;
-        border-bottom: 2px solid rgba(0, 0, 0, 0.5);
-        border-right: 2px solid rgba(0, 0, 0, 0.5);
-        border-radius: 50%;
-
-        animation: spin 1s linear infinite;
-      }
-      @keyframes spin { 100% { transform: rotate(360deg); } }
-    </style>
-
-    <input id="filter" on-blur="filterBlur" on-focus="filterFocus" on-input="filterTextChanged" on-keydown="filterKeyDown" on-mouseup="filterMouseUp" type="text"/>
-    <div id="spinner"></div>
-    <tr-ui-b-toolbar-button on-click="findPrevious">
-      ←
-    </tr-ui-b-toolbar-button>
-    <tr-ui-b-toolbar-button on-click="findNext">
-      →
-    </tr-ui-b-toolbar-button>
-    <div id="hitCount">0 of 0</div>
-  </template>
-</dom-module><dom-module id="tr-ui-scripting-control">
-  <template>
-    <style>
-      :host {
-        flex: 1 1 auto;
-      }
-      .root {
-        font-family: monospace;
-        cursor: text;
-
-        padding: 2px;
-        margin: 2px;
-        border: 1px solid rgba(0, 0, 0, 0.5);
-        background: white;
-
-        height: 100px;
-        overflow-y: auto;
-
-        transition-property: opacity, height, padding, margin;
-        transition-duration: .2s;
-        transition-timing-function: ease-out;
-      }
-      .hidden {
-        margin-top: 0px;
-        margin-bottom: 0px;
-        padding-top: 0px;
-        padding-bottom: 0px;
-        height: 0px;
-        opacity: 0;
-      }
-      .focused {
-        outline: auto 5px -webkit-focus-ring-color;
-      }
-      #history {
-        -webkit-user-select: text;
-        color: #777;
-      }
-      #prompt {
-        -webkit-user-select: text;
-        -webkit-user-modify: read-write-plaintext-only;
-        text-overflow: clip !important;
-        text-decoration: none !important;
-      }
-      #prompt:focus {
-        outline: none;
-      }
-      #prompt br {
-        display: none;
-      }
-      #prompt ::before {
-        content: ">";
-        color: #468;
-      }
-    </style>
-
-    <div class="root hidden" id="root" on-focus="onConsoleFocus" tabindex="0">
-      <div id="history"></div>
-      <div id="prompt" on-blur="onConsoleBlur" on-keydown="promptKeyDown" on-keypress="promptKeyPress"></div>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-ui-side-panel-container">
-  <template>
-    <style>
-    :host {
-      align-items: stretch;
-      display: -webkit-flex;
-      background-color: white;
-    }
-
-    :host([expanded]) > #side_panel_drag_handle,
-    :host([expanded]) > active-panel-container {
-      -webkit-flex: 1 1 auto;
-      border-left: 1px solid black;
-      display: -webkit-flex;
-    }
-
-    :host(:not([expanded])) > #side_panel_drag_handle,
-    :host(:not([expanded])) > active-panel-container {
-      display: none;
-    }
-
-    active-panel-container {
-      display: flex;
-    }
-
-    tab-strip {
-      -webkit-flex: 0 0 auto;
-      -webkit-flex-direction: column;
-      -webkit-user-select: none;
-      background-color: rgb(236, 236, 236);
-      border-left: 1px solid black;
-      cursor: default;
-      display: -webkit-flex;
-      min-width: 18px; /* workaround for flexbox and writing-mode mixing bug */
-      padding: 10px 0 10px 0;
-      font-size: 12px;
-    }
-
-    tab-strip > tab-strip-label {
-      -webkit-writing-mode: vertical-rl;
-      display: inline;
-      margin-right: 1px;
-      min-height: 20px;
-      padding: 15px 3px 15px 1px;
-    }
-
-    tab-strip >
-        tab-strip-label:not([enabled]) {
-      color: rgb(128, 128, 128);
-    }
-
-    tab-strip > tab-strip-label[selected] {
-      background-color: white;
-      border: 1px solid rgb(163, 163, 163);
-      border-left: none;
-      padding: 14px 2px 14px 1px;
-    }
-
-    #active_panel_container {
-      overflow: auto;
-    }
-    </style>
-
-    <tr-ui-b-drag-handle id="side_panel_drag_handle"></tr-ui-b-drag-handle>
-    <active-panel-container id="active_panel_container">
-    </active-panel-container>
-    <tab-strip id="tab_strip"></tab-strip>
-  </template>
-</dom-module><dom-module id="tr-ui-timeline-view-help-overlay">
-  <template>
-    <style>
-    :host {
-      -webkit-flex: 1 1 auto;
-      -webkit-flex-direction: row;
-      display: -webkit-flex;
-      width: 700px;
-    }
-    .column {
-      width: 50%;
-    }
-    h2 {
-      font-size: 1.2em;
-      margin: 0;
-      margin-top: 5px;
-      text-align: center;
-    }
-    h3 {
-      margin: 0;
-      margin-left: 126px;
-      margin-top: 10px;
-    }
-    .pair {
-      -webkit-flex: 1 1 auto;
-      -webkit-flex-direction: row;
-      display: -webkit-flex;
-    }
-    .command {
-      font-family: monospace;
-      margin-right: 5px;
-      text-align: right;
-      width: 150px;
-    }
-    .action {
-      font-size: 0.9em;
-      text-align: left;
-      width: 200px;
-    }
-    tr-ui-b-mouse-mode-icon {
-      border: 1px solid #888;
-      border-radius: 3px;
-      box-shadow: inset 0 0 2px rgba(0,0,0,0.3);
-      display: inline-block;
-      margin-right: 1px;
-      position: relative;
-      top: 4px;
-    }
-    .mouse-mode-icon.pan-mode {
-      background-position: -1px -11px;
-    }
-    .mouse-mode-icon.select-mode {
-      background-position: -1px -41px;
-    }
-    .mouse-mode-icon.zoom-mode {
-      background-position: -1px -71px;
-    }
-    .mouse-mode-icon.timing-mode {
-      background-position: -1px -101px;
-    }
-    </style>
-    <div class="column left">
-      <h2>Navigation</h2>
-      <div class="pair">
-        <div class="command">w/s</div>
-        <div class="action">Zoom in/out (+shift: faster)</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">a/d</div>
-        <div class="action">Pan left/right (+shift: faster)</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">→/shift-TAB</div>
-        <div class="action">Select previous event</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">←/TAB</div>
-        <div class="action">Select next event</div>
-      </div>
-
-      <h2>Mouse Controls</h2>
-      <div class="pair">
-        <div class="command">click</div>
-        <div class="action">Select event</div>
-      </div>
-      <div class="pair">
-        <div class="command">alt-mousewheel</div>
-        <div class="action">Zoom in/out</div>
-      </div>
-
-      <h3>
-        <tr-ui-b-mouse-mode-icon mode-name="SELECTION"></tr-ui-b-mouse-mode-icon>
-        Select mode
-      </h3>
-      <div class="pair">
-        <div class="command">drag</div>
-        <div class="action">Box select</div>
-      </div>
-
-      <div class="pair">
-        <div class="command"><span class="mod"></span>-click/drag</div>
-        <div class="action">Add events to the current selection</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">double click</div>
-        <div class="action">Select all events with same title</div>
-      </div>
-
-      <h3>
-        <tr-ui-b-mouse-mode-icon mode-name="PANSCAN"></tr-ui-b-mouse-mode-icon>
-        Pan mode
-      </h3>
-      <div class="pair">
-        <div class="command">drag</div>
-        <div class="action">Pan the view</div>
-      </div>
-
-      <h3>
-        <tr-ui-b-mouse-mode-icon mode-name="ZOOM"></tr-ui-b-mouse-mode-icon>
-        Zoom mode
-      </h3>
-      <div class="pair">
-        <div class="command">drag</div>
-        <div class="action">Zoom in/out by dragging up/down</div>
-      </div>
-
-      <h3>
-        <tr-ui-b-mouse-mode-icon mode-name="TIMING"></tr-ui-b-mouse-mode-icon>
-        Timing mode
-      </h3>
-      <div class="pair">
-        <div class="command">drag</div>
-        <div class="action">Create or move markers</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">double click</div>
-        <div class="action">Set marker range to slice</div>
-      </div>
-    </div>
-
-    <div class="column right">
-      <h2>General</h2>
-      <div class="pair">
-        <div class="command">1-4</div>
-        <div class="action">Switch mouse mode</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">shift</div>
-        <div class="action">Hold for temporary select</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">space</div>
-        <div class="action">Hold for temporary pan</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">/</div>
-        <div class="action">Search</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">enter</div>
-        <div class="action">Step through search results</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">f</div>
-        <div class="action">Zoom into selection</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">z/0</div>
-        <div class="action">Reset zoom and pan</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">g/G</div>
-        <div class="action">Toggle 60hz grid</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">v</div>
-        <div class="action">Highlight VSync</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">h</div>
-        <div class="action">Toggle low/high details</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">m</div>
-        <div class="action">Mark current selection</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">p</div>
-        <div class="action">Select power samples over current selection interval</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">`</div>
-        <div class="action">Show or hide the scripting console</div>
-      </div>
-
-      <div class="pair">
-        <div class="command">?</div>
-        <div class="action">Show help</div>
-      </div>
-    </div>
-  </template>
-</dom-module><dom-module id="tr-v-ui-array-of-numbers-span">
-  <template>
-  </template>
-</dom-module><dom-module id="tr-v-ui-generic-table-view">
-  <template>
-    <style>
-    :host {
-    display: flex;
-    }
-    #table {
-      flex: 1 1 auto;
-      align-self: stretch;
-    }
-    </style>
-    <tr-ui-b-table id="table"></tr-ui-b-table>
-  </template>
-</dom-module><dom-module id="tr-ui-timeline-view-metadata-overlay">
-  <template>
-    <style>
-    :host {
-      width: 700px;
-
-      overflow: auto;
-    }
-    </style>
-    <tr-v-ui-generic-table-view id="gtv"></tr-v-ui-generic-table-view>
-  </template>
-</dom-module><dom-module id="tr-ui-timeline-view">
-  <template>
-    <style>
-    :host {
-      flex-direction: column;
-      cursor: default;
-      display: flex;
-      font-family: sans-serif;
-      padding: 0;
-    }
-
-    #control {
-      background-color: #e6e6e6;
-      background-image: -webkit-gradient(linear, 0 0, 0 100%,
-          from(#E5E5E5), to(#D1D1D1));
-      flex: 0 0 auto;
-      overflow-x: auto;
-    }
-
-    #control::-webkit-scrollbar { height: 0px; }
-
-    #control > #bar {
-      font-size: 12px;
-      display: flex;
-      flex-direction: row;
-      margin: 1px;
-    }
-
-    #control > #bar > #title {
-      display: flex;
-      align-items: center;
-      padding-left: 8px;
-      padding-right: 8px;
-      flex: 1 1 auto;
-    }
-
-    #control > #bar > #left_controls,
-    #control > #bar > #right_controls {
-      display: flex;
-      flex-direction: row;
-      align-items: stretch;
-    }
-
-    #control > #bar > #left_controls > * { margin-right: 2px; }
-    #control > #bar > #right_controls > * { margin-left: 2px; }
-    #control > #collapsing_controls { display: flex; }
-
-    middle-container {
-      flex: 1 1 auto;
-      flex-direction: row;
-      border-bottom: 1px solid #8e8e8e;
-      display: flex;
-      min-height: 0;
-    }
-
-    middle-container ::content track-view-container {
-      flex: 1 1 auto;
-      display: flex;
-      min-height: 0;
-      min-width: 0;
-      overflow-x: hidden;
-    }
-
-    middle-container ::content track-view-container > * { flex: 1 1 auto; }
-    middle-container > x-timeline-view-side-panel-container { flex: 0 0 auto; }
-    tr-ui-b-drag-handle { flex: 0 0 auto; }
-    tr-ui-a-analysis-view { flex: 0 0 auto; }
-    </style>
-
-    <tv-ui-b-hotkey-controller id="hkc"></tv-ui-b-hotkey-controller>
-    <div id="control">
-      <div id="bar">
-        <div id="left_controls"></div>
-        <div id="title">^_^</div>
-        <div id="right_controls">
-          <tr-ui-b-toolbar-button id="view_metadata_button">
-            M
-          </tr-ui-b-toolbar-button>
-          <tr-ui-b-dropdown id="view_options_dropdown"></tr-ui-b-dropdown>
-          <tr-ui-find-control id="view_find_control"></tr-ui-find-control>
-          <tr-ui-b-toolbar-button id="view_console_button">
-            »
-          </tr-ui-b-toolbar-button>
-          <tr-ui-b-toolbar-button id="view_help_button">
-            ?
-          </tr-ui-b-toolbar-button>
-        </div>
-      </div>
-      <div id="collapsing_controls"></div>
-      <tr-ui-b-info-bar-group id="import-warnings">
-      </tr-ui-b-info-bar-group>
-    </div>
-    <middle-container>
-      <content></content>
-
-      <tr-ui-side-panel-container id="side_panel_container">
-      </tr-ui-side-panel-container>
-    </middle-container>
-    <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle>
-    <tr-ui-a-analysis-view id="analysis"></tr-ui-a-analysis-view>
-
-    <tr-v-ui-preferred-display-unit id="display_unit">
-    </tr-v-ui-preferred-display-unit>
-  </template>
-</dom-module><style>
-* /deep/ .pie-chart .arc-text{font-size:8pt}* /deep/ .pie-chart .label{font-size:10pt}* /deep/ .pie-chart polyline{fill:none;stroke:black}
-</style><dom-module id="tr-ui-e-s-time-summary-side-panel">
-  <template>
-    <style>
-    :host {
-      flex-direction: column;
-      display: flex;
-    }
-    toolbar {
-      flex: 0 0 auto;
-      border-bottom: 1px solid black;
-      display: flex;
-    }
-    result-area {
-      flex: 1 1 auto;
-      display: block;
-      min-height: 0;
-      overflow-y: auto;
-    }
-    </style>
-
-    <toolbar id="toolbar"></toolbar>
-    <result-area id="result_area"></result-area>
-  </template>
-</dom-module><template id="record-selection-dialog-template">
-  <style>
-  .categories-column-view {
-    display: -webkit-flex;
-    -webkit-flex-direction: column;
-    font-family: sans-serif;
-    max-width: 640px;
-    min-height: 0;
-    min-width: 0;
-    opacity: 1;
-    transition: max-height 1s ease, max-width 1s ease, opacity 1s ease;
-    will-change: opacity;
-  }
-
-  .categories-column-view-hidden {
-    max-height: 0;
-    max-width: 0;
-    opacity: 0;
-    overflow: hidden;
-    display: none;
-  }
-
-  .categories-selection {
-    display: -webkit-flex;
-    -webkit-flex-direction: row;
-  }
-
-  .category-presets {
-    padding: 4px;
-  }
-
-  .category-description {
-    color: #aaa;
-    font-size: small;
-    max-height: 1em;
-    opacity: 1;
-    padding-left: 4px;
-    padding-right: 4px;
-    text-align: right;
-    transition: max-height 1s ease, opacity 1s ease;
-    will-change: opacity;
-  }
-
-  .category-description-hidden {
-    max-height: 0;
-    opacity: 0;
-  }
-
-  .default-enabled-categories,
-  .default-disabled-categories {
-    -webkit-flex: 1 1 auto;
-    display: -webkit-flex;
-    -webkit-flex-direction: column;
-    padding: 4px;
-    width: 300px;
-  }
-
-  .default-enabled-categories > div,
-  .default-disabled-categories > div {
-    padding: 4px;
-  }
-
-  .tracing-modes {
-    -webkit-flex: 1 0 auto;
-    display: -webkit-flex;
-    -webkit-flex-direction: reverse;
-    padding: 4px;
-    border-bottom: 2px solid #ddd;
-    border-top: 2px solid #ddd;
-  }
-
-  .default-disabled-categories {
-    border-left: 2px solid #ddd;
-  }
-
-  .warning-default-disabled-categories {
-    display: inline-block;
-    font-weight: bold;
-    text-align: center;
-    color: #BD2E2E;
-    width: 2.0ex;
-    height: 2.0ex;
-    border-radius: 2.0ex;
-    border: 1px solid #BD2E2E;
-  }
-
-  .categories {
-    font-size: 80%;
-    padding: 10px;
-    -webkit-flex: 1 1 auto;
-  }
-
-  .group-selectors {
-    font-size: 80%;
-    border-bottom: 1px solid #ddd;
-    padding-bottom: 6px;
-    -webkit-flex: 0 0 auto;
-  }
-
-  .group-selectors button {
-    padding: 1px;
-  }
-
-  .record-selection-dialog .labeled-option-group {
-    -webkit-flex: 0 0 auto;
-    -webkit-flex-direction: column;
-    display: -webkit-flex;
-  }
-
-  .record-selection-dialog .labeled-option {
-    border-top: 5px solid white;
-    border-bottom: 5px solid white;
-  }
-
-  .record-selection-dialog .edit-categories {
-    padding-left: 6px;
-  }
-
-  .record-selection-dialog .edit-categories:after {
-    padding-left: 15px;
-    font-size: 125%;
-  }
-
-  .record-selection-dialog .labeled-option-group:not(.categories-expanded)
-      .edit-categories:after {
-    content: '\25B8'; /* Right triangle */
-  }
-
-  .record-selection-dialog .labeled-option-group.categories-expanded
-      .edit-categories:after {
-    content: '\25BE'; /* Down triangle */
-  }
-
-  </style>
-
-  <div class="record-selection-dialog">
-    <tr-ui-b-info-bar-group></tr-ui-b-info-bar-group>
-    <div class="category-presets">
-    </div>
-    <div class="category-description"></div>
-    <div class="categories-column-view">
-      <div class="tracing-modes"></div>
-      <div class="categories-selection">
-        <div class="default-enabled-categories">
-          <div>Record Categories</div>
-          <div class="group-selectors">
-            Select
-            <button class="all-btn">All</button>
-            <button class="none-btn">None</button>
-          </div>
-          <div class="categories"></div>
-        </div>
-        <div class="default-disabled-categories">
-          <div>Disabled by Default Categories
-            <a class="warning-default-disabled-categories">!</a>
-          </div>
-          <div class="group-selectors">
-            Select
-            <button class="all-btn">All</button>
-            <button class="none-btn">None</button>
-          </div>
-          <div class="categories"></div>
-        </div>
-      </div>
-    </div>
-  </div>
-</template><style>
-x-profiling-view {
-  -webkit-flex-direction: column;
-  display: -webkit-flex;
-  padding: 0;
-}
-
-x-profiling-view .controls #save-button {
-  margin-left: 64px !important;
-}
-
-x-profiling-view > tr-ui-timeline-view {
-  -webkit-flex: 1 1 auto;
-  min-height: 0;
-}
-
-.report-id-message {
-  -webkit-user-select: text;
-}
-
-x-timeline-view-buttons {
-  display: flex;
-  align-items: center;
-}
-</style><template id="profiling-view-template">
-  <tr-ui-b-info-bar-group></tr-ui-b-info-bar-group>
-  <x-timeline-view-buttons>
-    <button id="record-button">Record</button>
-    <button id="save-button">Save</button>
-    <button id="load-button">Load</button>
-  </x-timeline-view-buttons>
-  <tr-ui-timeline-view>
-    <track-view-container id="track_view_container"></track-view-container>
-  </tr-ui-timeline-view>
-</template><style>
-html,body{height:100%}body{-webkit-flex-direction:column;display:-webkit-flex;margin:0;padding:0}body>x-profiling-view{-webkit-flex:1 1 auto;min-height:0}body>x-profiling-view>x-timeline-view:focus{outline:0}
-</style><script src="tracing.js"></script>
-</head>
-  <body>
-  </body>
-</html>
diff --git a/www/tracing.js b/www/tracing.js
deleted file mode 100644
index aa3f745..0000000
--- a/www/tracing.js
+++ /dev/null
@@ -1,5056 +0,0 @@
-
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-/* WARNING: This file is auto generated.
- *
- * Do not edit directly.
- */
-
-'use strict';if(window.Polymer)
-throw new Error('Cannot proceed. Polymer already present.');window.Polymer={};window.Polymer.dom='shadow';(function(){function resolve(){document.body.removeAttribute('unresolved');}
-if(window.WebComponents){addEventListener('WebComponentsReady',resolve);}else{if(document.readyState==='interactive'||document.readyState==='complete'){resolve();}else{addEventListener('DOMContentLoaded',resolve);}}}());window.Polymer={Settings:function(){var settings=window.Polymer||{};var parts=location.search.slice(1).split('&');for(var i=0,o;i<parts.length&&(o=parts[i]);i++){o=o.split('=');o[0]&&(settings[o[0]]=o[1]||true);}
-settings.wantShadow=settings.dom==='shadow';settings.hasShadow=Boolean(Element.prototype.createShadowRoot);settings.nativeShadow=settings.hasShadow&&!window.ShadowDOMPolyfill;settings.useShadow=settings.wantShadow&&settings.hasShadow;settings.hasNativeImports=Boolean('import'in document.createElement('link'));settings.useNativeImports=settings.hasNativeImports;settings.useNativeCustomElements=!window.CustomElements||window.CustomElements.useNative;settings.useNativeShadow=settings.useShadow&&settings.nativeShadow;settings.usePolyfillProto=!settings.useNativeCustomElements&&!Object.__proto__;settings.hasNativeCSSProperties=!navigator.userAgent.match('AppleWebKit/601')&&window.CSS&&CSS.supports&&CSS.supports('box-shadow','0 0 0 var(--foo)');settings.useNativeCSSProperties=settings.hasNativeCSSProperties&&settings.lazyRegister&&settings.useNativeCSSProperties;return settings;}()};(function(){var userPolymer=window.Polymer;window.Polymer=function(prototype){if(typeof prototype==='function'){prototype=prototype.prototype;}
-if(!prototype){prototype={};}
-var factory=desugar(prototype);prototype=factory.prototype;var options={prototype:prototype};if(prototype.extends){options.extends=prototype.extends;}
-Polymer.telemetry._registrate(prototype);document.registerElement(prototype.is,options);return factory;};var desugar=function(prototype){var base=Polymer.Base;if(prototype.extends){base=Polymer.Base._getExtendedPrototype(prototype.extends);}
-prototype=Polymer.Base.chainObject(prototype,base);prototype.registerCallback();return prototype.constructor;};if(userPolymer){for(var i in userPolymer){Polymer[i]=userPolymer[i];}}
-Polymer.Class=desugar;}());Polymer.telemetry={registrations:[],_regLog:function(prototype){console.log('['+prototype.is+']: registered');},_registrate:function(prototype){this.registrations.push(prototype);Polymer.log&&this._regLog(prototype);},dumpRegistrations:function(){this.registrations.forEach(this._regLog);}};Object.defineProperty(window,'currentImport',{enumerable:true,configurable:true,get:function(){return(document._currentScript||document.currentScript).ownerDocument;}});Polymer.RenderStatus={_ready:false,_callbacks:[],whenReady:function(cb){if(this._ready){cb();}else{this._callbacks.push(cb);}},_makeReady:function(){this._ready=true;for(var i=0;i<this._callbacks.length;i++){this._callbacks[i]();}
-this._callbacks=[];},_catchFirstRender:function(){requestAnimationFrame(function(){Polymer.RenderStatus._makeReady();});},_afterNextRenderQueue:[],_waitingNextRender:false,afterNextRender:function(element,fn,args){this._watchNextRender();this._afterNextRenderQueue.push([element,fn,args]);},hasRendered:function(){return this._ready;},_watchNextRender:function(){if(!this._waitingNextRender){this._waitingNextRender=true;var fn=function(){Polymer.RenderStatus._flushNextRender();};if(!this._ready){this.whenReady(fn);}else{requestAnimationFrame(fn);}}},_flushNextRender:function(){var self=this;setTimeout(function(){self._flushRenderCallbacks(self._afterNextRenderQueue);self._afterNextRenderQueue=[];self._waitingNextRender=false;});},_flushRenderCallbacks:function(callbacks){for(var i=0,h;i<callbacks.length;i++){h=callbacks[i];h[1].apply(h[0],h[2]||Polymer.nar);}}};if(window.HTMLImports){HTMLImports.whenReady(function(){Polymer.RenderStatus._catchFirstRender();});}else{Polymer.RenderStatus._catchFirstRender();}
-Polymer.ImportStatus=Polymer.RenderStatus;Polymer.ImportStatus.whenLoaded=Polymer.ImportStatus.whenReady;(function(){'use strict';var settings=Polymer.Settings;Polymer.Base={__isPolymerInstance__:true,_addFeature:function(feature){this.extend(this,feature);},registerCallback:function(){this._desugarBehaviors();this._doBehavior('beforeRegister');this._registerFeatures();if(!settings.lazyRegister){this.ensureRegisterFinished();}},createdCallback:function(){if(!this.__hasRegisterFinished){this._ensureRegisterFinished(this.__proto__);}
-Polymer.telemetry.instanceCount++;this.root=this;this._doBehavior('created');this._initFeatures();},ensureRegisterFinished:function(){this._ensureRegisterFinished(this);},_ensureRegisterFinished:function(proto){if(proto.__hasRegisterFinished!==proto.is){proto.__hasRegisterFinished=proto.is;if(proto._finishRegisterFeatures){proto._finishRegisterFeatures();}
-proto._doBehavior('registered');if(settings.usePolyfillProto&&proto!==this){proto.extend(this,proto);}}},attachedCallback:function(){var self=this;Polymer.RenderStatus.whenReady(function(){self.isAttached=true;self._doBehavior('attached');});},detachedCallback:function(){var self=this;Polymer.RenderStatus.whenReady(function(){self.isAttached=false;self._doBehavior('detached');});},attributeChangedCallback:function(name,oldValue,newValue){this._attributeChangedImpl(name);this._doBehavior('attributeChanged',[name,oldValue,newValue]);},_attributeChangedImpl:function(name){this._setAttributeToProperty(this,name);},extend:function(prototype,api){if(prototype&&api){var n$=Object.getOwnPropertyNames(api);for(var i=0,n;i<n$.length&&(n=n$[i]);i++){this.copyOwnProperty(n,api,prototype);}}
-return prototype||api;},mixin:function(target,source){for(var i in source){target[i]=source[i];}
-return target;},copyOwnProperty:function(name,source,target){var pd=Object.getOwnPropertyDescriptor(source,name);if(pd){Object.defineProperty(target,name,pd);}},_logger:function(level,args){if(args.length===1&&Array.isArray(args[0])){args=args[0];}
-switch(level){case'log':case'warn':case'error':console[level].apply(console,args);break;}},_log:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('log',args);},_warn:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('warn',args);},_error:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('error',args);},_logf:function(){return this._logPrefix.concat(this.is).concat(Array.prototype.slice.call(arguments,0));}};Polymer.Base._logPrefix=function(){var color=window.chrome&&!/edge/i.test(navigator.userAgent)||/firefox/i.test(navigator.userAgent);return color?['%c[%s::%s]:','font-weight: bold; background-color:#EEEE00;']:['[%s::%s]:'];}();Polymer.Base.chainObject=function(object,inherited){if(object&&inherited&&object!==inherited){if(!Object.__proto__){object=Polymer.Base.extend(Object.create(inherited),object);}
-object.__proto__=inherited;}
-return object;};Polymer.Base=Polymer.Base.chainObject(Polymer.Base,HTMLElement.prototype);if(window.CustomElements){Polymer.instanceof=CustomElements.instanceof;}else{Polymer.instanceof=function(obj,ctor){return obj instanceof ctor;};}
-Polymer.isInstance=function(obj){return Boolean(obj&&obj.__isPolymerInstance__);};Polymer.telemetry.instanceCount=0;}());(function(){var modules={};var lcModules={};var findModule=function(id){return modules[id]||lcModules[id.toLowerCase()];};var DomModule=function(){return document.createElement('dom-module');};DomModule.prototype=Object.create(HTMLElement.prototype);Polymer.Base.extend(DomModule.prototype,{constructor:DomModule,createdCallback:function(){this.register();},register:function(id){id=id||this.id||this.getAttribute('name')||this.getAttribute('is');if(id){this.id=id;modules[id]=this;lcModules[id.toLowerCase()]=this;}},import:function(id,selector){if(id){var m=findModule(id);if(!m){forceDomModulesUpgrade();m=findModule(id);}
-if(m&&selector){m=m.querySelector(selector);}
-return m;}}});var cePolyfill=window.CustomElements&&!CustomElements.useNative;document.registerElement('dom-module',DomModule);function forceDomModulesUpgrade(){if(cePolyfill){var script=document._currentScript||document.currentScript;var doc=script&&script.ownerDocument||document;var modules=doc.querySelectorAll('dom-module');for(var i=modules.length-1,m;i>=0&&(m=modules[i]);i--){if(m.__upgraded__){return;}else{CustomElements.upgrade(m);}}}}}());Polymer.Base._addFeature({_prepIs:function(){if(!this.is){var module=(document._currentScript||document.currentScript).parentNode;if(module.localName==='dom-module'){var id=module.id||module.getAttribute('name')||module.getAttribute('is');this.is=id;}}
-if(this.is){this.is=this.is.toLowerCase();}}});Polymer.Base._addFeature({behaviors:[],_desugarBehaviors:function(){if(this.behaviors.length){this.behaviors=this._desugarSomeBehaviors(this.behaviors);}},_desugarSomeBehaviors:function(behaviors){var behaviorSet=[];behaviors=this._flattenBehaviorsList(behaviors);for(var i=behaviors.length-1;i>=0;i--){var b=behaviors[i];if(behaviorSet.indexOf(b)===-1){this._mixinBehavior(b);behaviorSet.unshift(b);}}
-return behaviorSet;},_flattenBehaviorsList:function(behaviors){var flat=[];for(var i=0;i<behaviors.length;i++){var b=behaviors[i];if(b instanceof Array){flat=flat.concat(this._flattenBehaviorsList(b));}else if(b){flat.push(b);}else{this._warn(this._logf('_flattenBehaviorsList','behavior is null, check for missing or 404 import'));}}
-return flat;},_mixinBehavior:function(b){var n$=Object.getOwnPropertyNames(b);for(var i=0,n;i<n$.length&&(n=n$[i]);i++){if(!Polymer.Base._behaviorProperties[n]&&!this.hasOwnProperty(n)){this.copyOwnProperty(n,b,this);}}},_prepBehaviors:function(){this._prepFlattenedBehaviors(this.behaviors);},_prepFlattenedBehaviors:function(behaviors){for(var i=0,l=behaviors.length;i<l;i++){this._prepBehavior(behaviors[i]);}
-this._prepBehavior(this);},_doBehavior:function(name,args){for(var i=0;i<this.behaviors.length;i++){this._invokeBehavior(this.behaviors[i],name,args);}
-this._invokeBehavior(this,name,args);},_invokeBehavior:function(b,name,args){var fn=b[name];if(fn){fn.apply(this,args||Polymer.nar);}},_marshalBehaviors:function(){for(var i=0;i<this.behaviors.length;i++){this._marshalBehavior(this.behaviors[i]);}
-this._marshalBehavior(this);}});Polymer.Base._behaviorProperties={hostAttributes:true,beforeRegister:true,registered:true,properties:true,observers:true,listeners:true,created:true,attached:true,detached:true,attributeChanged:true,ready:true};Polymer.Base._addFeature({_getExtendedPrototype:function(tag){return this._getExtendedNativePrototype(tag);},_nativePrototypes:{},_getExtendedNativePrototype:function(tag){var p=this._nativePrototypes[tag];if(!p){var np=this.getNativePrototype(tag);p=this.extend(Object.create(np),Polymer.Base);this._nativePrototypes[tag]=p;}
-return p;},getNativePrototype:function(tag){return Object.getPrototypeOf(document.createElement(tag));}});Polymer.Base._addFeature({_prepConstructor:function(){this._factoryArgs=this.extends?[this.extends,this.is]:[this.is];var ctor=function(){return this._factory(arguments);};if(this.hasOwnProperty('extends')){ctor.extends=this.extends;}
-Object.defineProperty(this,'constructor',{value:ctor,writable:true,configurable:true});ctor.prototype=this;},_factory:function(args){var elt=document.createElement.apply(document,this._factoryArgs);if(this.factoryImpl){this.factoryImpl.apply(elt,args);}
-return elt;}});Polymer.nob=Object.create(null);Polymer.Base._addFeature({properties:{},getPropertyInfo:function(property){var info=this._getPropertyInfo(property,this.properties);if(!info){for(var i=0;i<this.behaviors.length;i++){info=this._getPropertyInfo(property,this.behaviors[i].properties);if(info){return info;}}}
-return info||Polymer.nob;},_getPropertyInfo:function(property,properties){var p=properties&&properties[property];if(typeof p==='function'){p=properties[property]={type:p};}
-if(p){p.defined=true;}
-return p;},_prepPropertyInfo:function(){this._propertyInfo={};for(var i=0;i<this.behaviors.length;i++){this._addPropertyInfo(this._propertyInfo,this.behaviors[i].properties);}
-this._addPropertyInfo(this._propertyInfo,this.properties);this._addPropertyInfo(this._propertyInfo,this._propertyEffects);},_addPropertyInfo:function(target,source){if(source){var t,s;for(var i in source){t=target[i];s=source[i];if(i[0]==='_'&&!s.readOnly){continue;}
-if(!target[i]){target[i]={type:typeof s==='function'?s:s.type,readOnly:s.readOnly,attribute:Polymer.CaseMap.camelToDashCase(i)};}else{if(!t.type){t.type=s.type;}
-if(!t.readOnly){t.readOnly=s.readOnly;}}}}}});Polymer.CaseMap={_caseMap:{},_rx:{dashToCamel:/-[a-z]/g,camelToDash:/([A-Z])/g},dashToCamelCase:function(dash){return this._caseMap[dash]||(this._caseMap[dash]=dash.indexOf('-')<0?dash:dash.replace(this._rx.dashToCamel,function(m){return m[1].toUpperCase();}));},camelToDashCase:function(camel){return this._caseMap[camel]||(this._caseMap[camel]=camel.replace(this._rx.camelToDash,'-$1').toLowerCase());}};Polymer.Base._addFeature({_addHostAttributes:function(attributes){if(!this._aggregatedAttributes){this._aggregatedAttributes={};}
-if(attributes){this.mixin(this._aggregatedAttributes,attributes);}},_marshalHostAttributes:function(){if(this._aggregatedAttributes){this._applyAttributes(this,this._aggregatedAttributes);}},_applyAttributes:function(node,attr$){for(var n in attr$){if(!this.hasAttribute(n)&&n!=='class'){var v=attr$[n];this.serializeValueToAttribute(v,n,this);}}},_marshalAttributes:function(){this._takeAttributesToModel(this);},_takeAttributesToModel:function(model){if(this.hasAttributes()){for(var i in this._propertyInfo){var info=this._propertyInfo[i];if(this.hasAttribute(info.attribute)){this._setAttributeToProperty(model,info.attribute,i,info);}}}},_setAttributeToProperty:function(model,attribute,property,info){if(!this._serializing){property=property||Polymer.CaseMap.dashToCamelCase(attribute);info=info||this._propertyInfo&&this._propertyInfo[property];if(info&&!info.readOnly){var v=this.getAttribute(attribute);model[property]=this.deserialize(v,info.type);}}},_serializing:false,reflectPropertyToAttribute:function(property,attribute,value){this._serializing=true;value=value===undefined?this[property]:value;this.serializeValueToAttribute(value,attribute||Polymer.CaseMap.camelToDashCase(property));this._serializing=false;},serializeValueToAttribute:function(value,attribute,node){var str=this.serialize(value);node=node||this;if(str===undefined){node.removeAttribute(attribute);}else{node.setAttribute(attribute,str);}},deserialize:function(value,type){switch(type){case Number:value=Number(value);break;case Boolean:value=value!=null;break;case Object:try{value=JSON.parse(value);}catch(x){}
-break;case Array:try{value=JSON.parse(value);}catch(x){value=null;console.warn('Polymer::Attributes: couldn`t decode Array as JSON');}
-break;case Date:value=new Date(value);break;case String:default:break;}
-return value;},serialize:function(value){switch(typeof value){case'boolean':return value?'':undefined;case'object':if(value instanceof Date){return value.toString();}else if(value){try{return JSON.stringify(value);}catch(x){return'';}}
-default:return value!=null?value:undefined;}}});Polymer.version='1.6.0';Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();this._prepBehaviors();this._prepConstructor();this._prepPropertyInfo();},_prepBehavior:function(b){this._addHostAttributes(b.hostAttributes);},_marshalBehavior:function(b){},_initFeatures:function(){this._marshalHostAttributes();this._marshalBehaviors();}});Polymer.Base._addFeature({_prepTemplate:function(){if(this._template===undefined){this._template=Polymer.DomModule.import(this.is,'template');}
-if(this._template&&this._template.hasAttribute('is')){this._warn(this._logf('_prepTemplate','top-level Polymer template '+'must not be a type-extension, found',this._template,'Move inside simple <template>.'));}
-if(this._template&&!this._template.content&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate){HTMLTemplateElement.decorate(this._template);}},_stampTemplate:function(){if(this._template){this.root=this.instanceTemplate(this._template);}},instanceTemplate:function(template){var dom=document.importNode(template._content||template.content,true);return dom;}});(function(){var baseAttachedCallback=Polymer.Base.attachedCallback;Polymer.Base._addFeature({_hostStack:[],ready:function(){},_registerHost:function(host){this.dataHost=host=host||Polymer.Base._hostStack[Polymer.Base._hostStack.length-1];if(host&&host._clients){host._clients.push(this);}
-this._clients=null;this._clientsReadied=false;},_beginHosting:function(){Polymer.Base._hostStack.push(this);if(!this._clients){this._clients=[];}},_endHosting:function(){Polymer.Base._hostStack.pop();},_tryReady:function(){this._readied=false;if(this._canReady()){this._ready();}},_canReady:function(){return!this.dataHost||this.dataHost._clientsReadied;},_ready:function(){this._beforeClientsReady();if(this._template){this._setupRoot();this._readyClients();}
-this._clientsReadied=true;this._clients=null;this._afterClientsReady();this._readySelf();},_readyClients:function(){this._beginDistribute();var c$=this._clients;if(c$){for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){c._ready();}}
-this._finishDistribute();},_readySelf:function(){this._doBehavior('ready');this._readied=true;if(this._attachedPending){this._attachedPending=false;this.attachedCallback();}},_beforeClientsReady:function(){},_afterClientsReady:function(){},_beforeAttached:function(){},attachedCallback:function(){if(this._readied){this._beforeAttached();baseAttachedCallback.call(this);}else{this._attachedPending=true;}}});}());Polymer.ArraySplice=function(){function newSplice(index,removed,addedCount){return{index:index,removed:removed,addedCount:addedCount};}
-var EDIT_LEAVE=0;var EDIT_UPDATE=1;var EDIT_ADD=2;var EDIT_DELETE=3;function ArraySplice(){}
-ArraySplice.prototype={calcEditDistances:function(current,currentStart,currentEnd,old,oldStart,oldEnd){var rowCount=oldEnd-oldStart+1;var columnCount=currentEnd-currentStart+1;var distances=new Array(rowCount);for(var i=0;i<rowCount;i++){distances[i]=new Array(columnCount);distances[i][0]=i;}
-for(var j=0;j<columnCount;j++)
-distances[0][j]=j;for(i=1;i<rowCount;i++){for(j=1;j<columnCount;j++){if(this.equals(current[currentStart+j-1],old[oldStart+i-1]))
-distances[i][j]=distances[i-1][j-1];else{var north=distances[i-1][j]+1;var west=distances[i][j-1]+1;distances[i][j]=north<west?north:west;}}}
-return distances;},spliceOperationsFromEditDistances:function(distances){var i=distances.length-1;var j=distances[0].length-1;var current=distances[i][j];var edits=[];while(i>0||j>0){if(i==0){edits.push(EDIT_ADD);j--;continue;}
-if(j==0){edits.push(EDIT_DELETE);i--;continue;}
-var northWest=distances[i-1][j-1];var west=distances[i-1][j];var north=distances[i][j-1];var min;if(west<north)
-min=west<northWest?west:northWest;else
-min=north<northWest?north:northWest;if(min==northWest){if(northWest==current){edits.push(EDIT_LEAVE);}else{edits.push(EDIT_UPDATE);current=northWest;}
-i--;j--;}else if(min==west){edits.push(EDIT_DELETE);i--;current=west;}else{edits.push(EDIT_ADD);j--;current=north;}}
-edits.reverse();return edits;},calcSplices:function(current,currentStart,currentEnd,old,oldStart,oldEnd){var prefixCount=0;var suffixCount=0;var minLength=Math.min(currentEnd-currentStart,oldEnd-oldStart);if(currentStart==0&&oldStart==0)
-prefixCount=this.sharedPrefix(current,old,minLength);if(currentEnd==current.length&&oldEnd==old.length)
-suffixCount=this.sharedSuffix(current,old,minLength-prefixCount);currentStart+=prefixCount;oldStart+=prefixCount;currentEnd-=suffixCount;oldEnd-=suffixCount;if(currentEnd-currentStart==0&&oldEnd-oldStart==0)
-return[];if(currentStart==currentEnd){var splice=newSplice(currentStart,[],0);while(oldStart<oldEnd)
-splice.removed.push(old[oldStart++]);return[splice];}else if(oldStart==oldEnd)
-return[newSplice(currentStart,[],currentEnd-currentStart)];var ops=this.spliceOperationsFromEditDistances(this.calcEditDistances(current,currentStart,currentEnd,old,oldStart,oldEnd));splice=undefined;var splices=[];var index=currentStart;var oldIndex=oldStart;for(var i=0;i<ops.length;i++){switch(ops[i]){case EDIT_LEAVE:if(splice){splices.push(splice);splice=undefined;}
-index++;oldIndex++;break;case EDIT_UPDATE:if(!splice)
-splice=newSplice(index,[],0);splice.addedCount++;index++;splice.removed.push(old[oldIndex]);oldIndex++;break;case EDIT_ADD:if(!splice)
-splice=newSplice(index,[],0);splice.addedCount++;index++;break;case EDIT_DELETE:if(!splice)
-splice=newSplice(index,[],0);splice.removed.push(old[oldIndex]);oldIndex++;break;}}
-if(splice){splices.push(splice);}
-return splices;},sharedPrefix:function(current,old,searchLength){for(var i=0;i<searchLength;i++)
-if(!this.equals(current[i],old[i]))
-return i;return searchLength;},sharedSuffix:function(current,old,searchLength){var index1=current.length;var index2=old.length;var count=0;while(count<searchLength&&this.equals(current[--index1],old[--index2]))
-count++;return count;},calculateSplices:function(current,previous){return this.calcSplices(current,0,current.length,previous,0,previous.length);},equals:function(currentValue,previousValue){return currentValue===previousValue;}};return new ArraySplice();}();Polymer.domInnerHTML=function(){var escapeAttrRegExp=/[&\u00A0"]/g;var escapeDataRegExp=/[&\u00A0<>]/g;function escapeReplace(c){switch(c){case'&':return'&amp;';case'<':return'&lt;';case'>':return'&gt;';case'"':return'&quot;';case'\xA0':return'&nbsp;';}}
-function escapeAttr(s){return s.replace(escapeAttrRegExp,escapeReplace);}
-function escapeData(s){return s.replace(escapeDataRegExp,escapeReplace);}
-function makeSet(arr){var set={};for(var i=0;i<arr.length;i++){set[arr[i]]=true;}
-return set;}
-var voidElements=makeSet(['area','base','br','col','command','embed','hr','img','input','keygen','link','meta','param','source','track','wbr']);var plaintextParents=makeSet(['style','script','xmp','iframe','noembed','noframes','plaintext','noscript']);function getOuterHTML(node,parentNode,composed){switch(node.nodeType){case Node.ELEMENT_NODE:var tagName=node.localName;var s='<'+tagName;var attrs=node.attributes;for(var i=0,attr;attr=attrs[i];i++){s+=' '+attr.name+'="'+escapeAttr(attr.value)+'"';}
-s+='>';if(voidElements[tagName]){return s;}
-return s+getInnerHTML(node,composed)+'</'+tagName+'>';case Node.TEXT_NODE:var data=node.data;if(parentNode&&plaintextParents[parentNode.localName]){return data;}
-return escapeData(data);case Node.COMMENT_NODE:return'<!--'+node.data+'-->';default:console.error(node);throw new Error('not implemented');}}
-function getInnerHTML(node,composed){if(node instanceof HTMLTemplateElement)
-node=node.content;var s='';var c$=Polymer.dom(node).childNodes;for(var i=0,l=c$.length,child;i<l&&(child=c$[i]);i++){s+=getOuterHTML(child,node,composed);}
-return s;}
-return{getInnerHTML:getInnerHTML};}();(function(){'use strict';var nativeInsertBefore=Element.prototype.insertBefore;var nativeAppendChild=Element.prototype.appendChild;var nativeRemoveChild=Element.prototype.removeChild;Polymer.TreeApi={arrayCopyChildNodes:function(parent){var copy=[],i=0;for(var n=parent.firstChild;n;n=n.nextSibling){copy[i++]=n;}
-return copy;},arrayCopyChildren:function(parent){var copy=[],i=0;for(var n=parent.firstElementChild;n;n=n.nextElementSibling){copy[i++]=n;}
-return copy;},arrayCopy:function(a$){var l=a$.length;var copy=new Array(l);for(var i=0;i<l;i++){copy[i]=a$[i];}
-return copy;}};Polymer.TreeApi.Logical={hasParentNode:function(node){return Boolean(node.__dom&&node.__dom.parentNode);},hasChildNodes:function(node){return Boolean(node.__dom&&node.__dom.childNodes!==undefined);},getChildNodes:function(node){return this.hasChildNodes(node)?this._getChildNodes(node):node.childNodes;},_getChildNodes:function(node){if(!node.__dom.childNodes){node.__dom.childNodes=[];for(var n=node.__dom.firstChild;n;n=n.__dom.nextSibling){node.__dom.childNodes.push(n);}}
-return node.__dom.childNodes;},getParentNode:function(node){return node.__dom&&node.__dom.parentNode!==undefined?node.__dom.parentNode:node.parentNode;},getFirstChild:function(node){return node.__dom&&node.__dom.firstChild!==undefined?node.__dom.firstChild:node.firstChild;},getLastChild:function(node){return node.__dom&&node.__dom.lastChild!==undefined?node.__dom.lastChild:node.lastChild;},getNextSibling:function(node){return node.__dom&&node.__dom.nextSibling!==undefined?node.__dom.nextSibling:node.nextSibling;},getPreviousSibling:function(node){return node.__dom&&node.__dom.previousSibling!==undefined?node.__dom.previousSibling:node.previousSibling;},getFirstElementChild:function(node){return node.__dom&&node.__dom.firstChild!==undefined?this._getFirstElementChild(node):node.firstElementChild;},_getFirstElementChild:function(node){var n=node.__dom.firstChild;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.nextSibling;}
-return n;},getLastElementChild:function(node){return node.__dom&&node.__dom.lastChild!==undefined?this._getLastElementChild(node):node.lastElementChild;},_getLastElementChild:function(node){var n=node.__dom.lastChild;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.previousSibling;}
-return n;},getNextElementSibling:function(node){return node.__dom&&node.__dom.nextSibling!==undefined?this._getNextElementSibling(node):node.nextElementSibling;},_getNextElementSibling:function(node){var n=node.__dom.nextSibling;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.nextSibling;}
-return n;},getPreviousElementSibling:function(node){return node.__dom&&node.__dom.previousSibling!==undefined?this._getPreviousElementSibling(node):node.previousElementSibling;},_getPreviousElementSibling:function(node){var n=node.__dom.previousSibling;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.previousSibling;}
-return n;},saveChildNodes:function(node){if(!this.hasChildNodes(node)){node.__dom=node.__dom||{};node.__dom.firstChild=node.firstChild;node.__dom.lastChild=node.lastChild;node.__dom.childNodes=[];for(var n=node.firstChild;n;n=n.nextSibling){n.__dom=n.__dom||{};n.__dom.parentNode=node;node.__dom.childNodes.push(n);n.__dom.nextSibling=n.nextSibling;n.__dom.previousSibling=n.previousSibling;}}},recordInsertBefore:function(node,container,ref_node){container.__dom.childNodes=null;if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){for(var n=node.firstChild;n;n=n.nextSibling){this._linkNode(n,container,ref_node);}}else{this._linkNode(node,container,ref_node);}},_linkNode:function(node,container,ref_node){node.__dom=node.__dom||{};container.__dom=container.__dom||{};if(ref_node){ref_node.__dom=ref_node.__dom||{};}
-node.__dom.previousSibling=ref_node?ref_node.__dom.previousSibling:container.__dom.lastChild;if(node.__dom.previousSibling){node.__dom.previousSibling.__dom.nextSibling=node;}
-node.__dom.nextSibling=ref_node||null;if(node.__dom.nextSibling){node.__dom.nextSibling.__dom.previousSibling=node;}
-node.__dom.parentNode=container;if(ref_node){if(ref_node===container.__dom.firstChild){container.__dom.firstChild=node;}}else{container.__dom.lastChild=node;if(!container.__dom.firstChild){container.__dom.firstChild=node;}}
-container.__dom.childNodes=null;},recordRemoveChild:function(node,container){node.__dom=node.__dom||{};container.__dom=container.__dom||{};if(node===container.__dom.firstChild){container.__dom.firstChild=node.__dom.nextSibling;}
-if(node===container.__dom.lastChild){container.__dom.lastChild=node.__dom.previousSibling;}
-var p=node.__dom.previousSibling;var n=node.__dom.nextSibling;if(p){p.__dom.nextSibling=n;}
-if(n){n.__dom.previousSibling=p;}
-node.__dom.parentNode=node.__dom.previousSibling=node.__dom.nextSibling=undefined;container.__dom.childNodes=null;}};Polymer.TreeApi.Composed={getChildNodes:function(node){return Polymer.TreeApi.arrayCopyChildNodes(node);},getParentNode:function(node){return node.parentNode;},clearChildNodes:function(node){node.textContent='';},insertBefore:function(parentNode,newChild,refChild){return nativeInsertBefore.call(parentNode,newChild,refChild||null);},appendChild:function(parentNode,newChild){return nativeAppendChild.call(parentNode,newChild);},removeChild:function(parentNode,node){return nativeRemoveChild.call(parentNode,node);}};}());Polymer.DomApi=function(){'use strict';var Settings=Polymer.Settings;var TreeApi=Polymer.TreeApi;var DomApi=function(node){this.node=needsToWrap?DomApi.wrap(node):node;};var needsToWrap=Settings.hasShadow&&!Settings.nativeShadow;DomApi.wrap=window.wrap?window.wrap:function(node){return node;};DomApi.prototype={flush:function(){Polymer.dom.flush();},deepContains:function(node){if(this.node.contains(node)){return true;}
-var n=node;var doc=node.ownerDocument;while(n&&n!==doc&&n!==this.node){n=Polymer.dom(n).parentNode||n.host;}
-return n===this.node;},queryDistributedElements:function(selector){var c$=this.getEffectiveChildNodes();var list=[];for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.nodeType===Node.ELEMENT_NODE&&DomApi.matchesSelector.call(c,selector)){list.push(c);}}
-return list;},getEffectiveChildNodes:function(){var list=[];var c$=this.childNodes;for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.localName===CONTENT){var d$=dom(c).getDistributedNodes();for(var j=0;j<d$.length;j++){list.push(d$[j]);}}else{list.push(c);}}
-return list;},observeNodes:function(callback){if(callback){if(!this.observer){this.observer=this.node.localName===CONTENT?new DomApi.DistributedNodesObserver(this):new DomApi.EffectiveNodesObserver(this);}
-return this.observer.addListener(callback);}},unobserveNodes:function(handle){if(this.observer){this.observer.removeListener(handle);}},notifyObserver:function(){if(this.observer){this.observer.notify();}},_query:function(matcher,node,halter){node=node||this.node;var list=[];this._queryElements(TreeApi.Logical.getChildNodes(node),matcher,halter,list);return list;},_queryElements:function(elements,matcher,halter,list){for(var i=0,l=elements.length,c;i<l&&(c=elements[i]);i++){if(c.nodeType===Node.ELEMENT_NODE){if(this._queryElement(c,matcher,halter,list)){return true;}}}},_queryElement:function(node,matcher,halter,list){var result=matcher(node);if(result){list.push(node);}
-if(halter&&halter(result)){return result;}
-this._queryElements(TreeApi.Logical.getChildNodes(node),matcher,halter,list);}};var CONTENT=DomApi.CONTENT='content';var dom=DomApi.factory=function(node){node=node||document;if(!node.__domApi){node.__domApi=new DomApi.ctor(node);}
-return node.__domApi;};DomApi.hasApi=function(node){return Boolean(node.__domApi);};DomApi.ctor=DomApi;Polymer.dom=function(obj,patch){if(obj instanceof Event){return Polymer.EventApi.factory(obj);}else{return DomApi.factory(obj,patch);}};var p=Element.prototype;DomApi.matchesSelector=p.matches||p.matchesSelector||p.mozMatchesSelector||p.msMatchesSelector||p.oMatchesSelector||p.webkitMatchesSelector;return DomApi;}();(function(){'use strict';var Settings=Polymer.Settings;var DomApi=Polymer.DomApi;var dom=DomApi.factory;var TreeApi=Polymer.TreeApi;var getInnerHTML=Polymer.domInnerHTML.getInnerHTML;var CONTENT=DomApi.CONTENT;if(Settings.useShadow){return;}
-var nativeCloneNode=Element.prototype.cloneNode;var nativeImportNode=Document.prototype.importNode;Polymer.Base.extend(DomApi.prototype,{_lazyDistribute:function(host){if(host.shadyRoot&&host.shadyRoot._distributionClean){host.shadyRoot._distributionClean=false;Polymer.dom.addDebouncer(host.debounce('_distribute',host._distributeContent));}},appendChild:function(node){return this.insertBefore(node);},insertBefore:function(node,ref_node){if(ref_node&&TreeApi.Logical.getParentNode(ref_node)!==this.node){throw Error('The ref_node to be inserted before is not a child '+'of this node');}
-if(node.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var parent=TreeApi.Logical.getParentNode(node);if(parent){if(DomApi.hasApi(parent)){dom(parent).notifyObserver();}
-this._removeNode(node);}else{this._removeOwnerShadyRoot(node);}}
-if(!this._addNode(node,ref_node)){if(ref_node){ref_node=ref_node.localName===CONTENT?this._firstComposedNode(ref_node):ref_node;}
-var container=this.node._isShadyRoot?this.node.host:this.node;if(ref_node){TreeApi.Composed.insertBefore(container,node,ref_node);}else{TreeApi.Composed.appendChild(container,node);}}
-this.notifyObserver();return node;},_addNode:function(node,ref_node){var root=this.getOwnerRoot();if(root){var ipAdded=this._maybeAddInsertionPoint(node,this.node);if(!root._invalidInsertionPoints){root._invalidInsertionPoints=ipAdded;}
-this._addNodeToHost(root.host,node);}
-if(TreeApi.Logical.hasChildNodes(this.node)){TreeApi.Logical.recordInsertBefore(node,this.node,ref_node);}
-var handled=this._maybeDistribute(node)||this.node.shadyRoot;if(handled){if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){while(node.firstChild){TreeApi.Composed.removeChild(node,node.firstChild);}}else{var parent=TreeApi.Composed.getParentNode(node);if(parent){TreeApi.Composed.removeChild(parent,node);}}}
-return handled;},removeChild:function(node){if(TreeApi.Logical.getParentNode(node)!==this.node){throw Error('The node to be removed is not a child of this node: '+node);}
-if(!this._removeNode(node)){var container=this.node._isShadyRoot?this.node.host:this.node;var parent=TreeApi.Composed.getParentNode(node);if(container===parent){TreeApi.Composed.removeChild(container,node);}}
-this.notifyObserver();return node;},_removeNode:function(node){var logicalParent=TreeApi.Logical.hasParentNode(node)&&TreeApi.Logical.getParentNode(node);var distributed;var root=this._ownerShadyRootForNode(node);if(logicalParent){distributed=dom(node)._maybeDistributeParent();TreeApi.Logical.recordRemoveChild(node,logicalParent);if(root&&this._removeDistributedChildren(root,node)){root._invalidInsertionPoints=true;this._lazyDistribute(root.host);}}
-this._removeOwnerShadyRoot(node);if(root){this._removeNodeFromHost(root.host,node);}
-return distributed;},replaceChild:function(node,ref_node){this.insertBefore(node,ref_node);this.removeChild(ref_node);return node;},_hasCachedOwnerRoot:function(node){return Boolean(node._ownerShadyRoot!==undefined);},getOwnerRoot:function(){return this._ownerShadyRootForNode(this.node);},_ownerShadyRootForNode:function(node){if(!node){return;}
-var root=node._ownerShadyRoot;if(root===undefined){if(node._isShadyRoot){root=node;}else{var parent=TreeApi.Logical.getParentNode(node);if(parent){root=parent._isShadyRoot?parent:this._ownerShadyRootForNode(parent);}else{root=null;}}
-if(root||document.documentElement.contains(node)){node._ownerShadyRoot=root;}}
-return root;},_maybeDistribute:function(node){var fragContent=node.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!node.__noContent&&dom(node).querySelector(CONTENT);var wrappedContent=fragContent&&TreeApi.Logical.getParentNode(fragContent).nodeType!==Node.DOCUMENT_FRAGMENT_NODE;var hasContent=fragContent||node.localName===CONTENT;if(hasContent){var root=this.getOwnerRoot();if(root){this._lazyDistribute(root.host);}}
-var needsDist=this._nodeNeedsDistribution(this.node);if(needsDist){this._lazyDistribute(this.node);}
-return needsDist||hasContent&&!wrappedContent;},_maybeAddInsertionPoint:function(node,parent){var added;if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!node.__noContent){var c$=dom(node).querySelectorAll(CONTENT);for(var i=0,n,np,na;i<c$.length&&(n=c$[i]);i++){np=TreeApi.Logical.getParentNode(n);if(np===node){np=parent;}
-na=this._maybeAddInsertionPoint(n,np);added=added||na;}}else if(node.localName===CONTENT){TreeApi.Logical.saveChildNodes(parent);TreeApi.Logical.saveChildNodes(node);added=true;}
-return added;},_updateInsertionPoints:function(host){var i$=host.shadyRoot._insertionPoints=dom(host.shadyRoot).querySelectorAll(CONTENT);for(var i=0,c;i<i$.length;i++){c=i$[i];TreeApi.Logical.saveChildNodes(c);TreeApi.Logical.saveChildNodes(TreeApi.Logical.getParentNode(c));}},_nodeNeedsDistribution:function(node){return node&&node.shadyRoot&&DomApi.hasInsertionPoint(node.shadyRoot);},_addNodeToHost:function(host,node){if(host._elementAdd){host._elementAdd(node);}},_removeNodeFromHost:function(host,node){if(host._elementRemove){host._elementRemove(node);}},_removeDistributedChildren:function(root,container){var hostNeedsDist;var ip$=root._insertionPoints;for(var i=0;i<ip$.length;i++){var content=ip$[i];if(this._contains(container,content)){var dc$=dom(content).getDistributedNodes();for(var j=0;j<dc$.length;j++){hostNeedsDist=true;var node=dc$[j];var parent=TreeApi.Composed.getParentNode(node);if(parent){TreeApi.Composed.removeChild(parent,node);}}}}
-return hostNeedsDist;},_contains:function(container,node){while(node){if(node==container){return true;}
-node=TreeApi.Logical.getParentNode(node);}},_removeOwnerShadyRoot:function(node){if(this._hasCachedOwnerRoot(node)){var c$=TreeApi.Logical.getChildNodes(node);for(var i=0,l=c$.length,n;i<l&&(n=c$[i]);i++){this._removeOwnerShadyRoot(n);}}
-node._ownerShadyRoot=undefined;},_firstComposedNode:function(content){var n$=dom(content).getDistributedNodes();for(var i=0,l=n$.length,n,p$;i<l&&(n=n$[i]);i++){p$=dom(n).getDestinationInsertionPoints();if(p$[p$.length-1]===content){return n;}}},querySelector:function(selector){var result=this._query(function(n){return DomApi.matchesSelector.call(n,selector);},this.node,function(n){return Boolean(n);})[0];return result||null;},querySelectorAll:function(selector){return this._query(function(n){return DomApi.matchesSelector.call(n,selector);},this.node);},getDestinationInsertionPoints:function(){return this.node._destinationInsertionPoints||[];},getDistributedNodes:function(){return this.node._distributedNodes||[];},_clear:function(){while(this.childNodes.length){this.removeChild(this.childNodes[0]);}},setAttribute:function(name,value){this.node.setAttribute(name,value);this._maybeDistributeParent();},removeAttribute:function(name){this.node.removeAttribute(name);this._maybeDistributeParent();},_maybeDistributeParent:function(){if(this._nodeNeedsDistribution(this.parentNode)){this._lazyDistribute(this.parentNode);return true;}},cloneNode:function(deep){var n=nativeCloneNode.call(this.node,false);if(deep){var c$=this.childNodes;var d=dom(n);for(var i=0,nc;i<c$.length;i++){nc=dom(c$[i]).cloneNode(true);d.appendChild(nc);}}
-return n;},importNode:function(externalNode,deep){var doc=this.node instanceof Document?this.node:this.node.ownerDocument;var n=nativeImportNode.call(doc,externalNode,false);if(deep){var c$=TreeApi.Logical.getChildNodes(externalNode);var d=dom(n);for(var i=0,nc;i<c$.length;i++){nc=dom(doc).importNode(c$[i],true);d.appendChild(nc);}}
-return n;},_getComposedInnerHTML:function(){return getInnerHTML(this.node,true);}});Object.defineProperties(DomApi.prototype,{activeElement:{get:function(){var active=document.activeElement;if(!active){return null;}
-var isShadyRoot=!!this.node._isShadyRoot;if(this.node!==document){if(!isShadyRoot){return null;}
-if(this.node.host===active||!this.node.host.contains(active)){return null;}}
-var activeRoot=dom(active).getOwnerRoot();while(activeRoot&&activeRoot!==this.node){active=activeRoot.host;activeRoot=dom(active).getOwnerRoot();}
-if(this.node===document){return activeRoot?null:active;}else{return activeRoot===this.node?active:null;}},configurable:true},childNodes:{get:function(){var c$=TreeApi.Logical.getChildNodes(this.node);return Array.isArray(c$)?c$:TreeApi.arrayCopyChildNodes(this.node);},configurable:true},children:{get:function(){if(TreeApi.Logical.hasChildNodes(this.node)){return Array.prototype.filter.call(this.childNodes,function(n){return n.nodeType===Node.ELEMENT_NODE;});}else{return TreeApi.arrayCopyChildren(this.node);}},configurable:true},parentNode:{get:function(){return TreeApi.Logical.getParentNode(this.node);},configurable:true},firstChild:{get:function(){return TreeApi.Logical.getFirstChild(this.node);},configurable:true},lastChild:{get:function(){return TreeApi.Logical.getLastChild(this.node);},configurable:true},nextSibling:{get:function(){return TreeApi.Logical.getNextSibling(this.node);},configurable:true},previousSibling:{get:function(){return TreeApi.Logical.getPreviousSibling(this.node);},configurable:true},firstElementChild:{get:function(){return TreeApi.Logical.getFirstElementChild(this.node);},configurable:true},lastElementChild:{get:function(){return TreeApi.Logical.getLastElementChild(this.node);},configurable:true},nextElementSibling:{get:function(){return TreeApi.Logical.getNextElementSibling(this.node);},configurable:true},previousElementSibling:{get:function(){return TreeApi.Logical.getPreviousElementSibling(this.node);},configurable:true},textContent:{get:function(){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){return this.node.textContent;}else{var tc=[];for(var i=0,cn=this.childNodes,c;c=cn[i];i++){if(c.nodeType!==Node.COMMENT_NODE){tc.push(c.textContent);}}
-return tc.join('');}},set:function(text){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){this.node.textContent=text;}else{this._clear();if(text){this.appendChild(document.createTextNode(text));}}},configurable:true},innerHTML:{get:function(){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){return null;}else{return getInnerHTML(this.node);}},set:function(text){var nt=this.node.nodeType;if(nt!==Node.TEXT_NODE||nt!==Node.COMMENT_NODE){this._clear();var d=document.createElement('div');d.innerHTML=text;var c$=TreeApi.arrayCopyChildNodes(d);for(var i=0;i<c$.length;i++){this.appendChild(c$[i]);}}},configurable:true}});DomApi.hasInsertionPoint=function(root){return Boolean(root&&root._insertionPoints.length);};}());(function(){'use strict';var Settings=Polymer.Settings;var TreeApi=Polymer.TreeApi;var DomApi=Polymer.DomApi;if(!Settings.useShadow){return;}
-Polymer.Base.extend(DomApi.prototype,{querySelectorAll:function(selector){return TreeApi.arrayCopy(this.node.querySelectorAll(selector));},getOwnerRoot:function(){var n=this.node;while(n){if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&n.host){return n;}
-n=n.parentNode;}},importNode:function(externalNode,deep){var doc=this.node instanceof Document?this.node:this.node.ownerDocument;return doc.importNode(externalNode,deep);},getDestinationInsertionPoints:function(){var n$=this.node.getDestinationInsertionPoints&&this.node.getDestinationInsertionPoints();return n$?TreeApi.arrayCopy(n$):[];},getDistributedNodes:function(){var n$=this.node.getDistributedNodes&&this.node.getDistributedNodes();return n$?TreeApi.arrayCopy(n$):[];}});Object.defineProperties(DomApi.prototype,{activeElement:{get:function(){var node=DomApi.wrap(this.node);var activeElement=node.activeElement;return node.contains(activeElement)?activeElement:null;},configurable:true},childNodes:{get:function(){return TreeApi.arrayCopyChildNodes(this.node);},configurable:true},children:{get:function(){return TreeApi.arrayCopyChildren(this.node);},configurable:true},textContent:{get:function(){return this.node.textContent;},set:function(value){return this.node.textContent=value;},configurable:true},innerHTML:{get:function(){return this.node.innerHTML;},set:function(value){return this.node.innerHTML=value;},configurable:true}});var forwardMethods=function(m$){for(var i=0;i<m$.length;i++){forwardMethod(m$[i]);}};var forwardMethod=function(method){DomApi.prototype[method]=function(){return this.node[method].apply(this.node,arguments);};};forwardMethods(['cloneNode','appendChild','insertBefore','removeChild','replaceChild','setAttribute','removeAttribute','querySelector']);var forwardProperties=function(f$){for(var i=0;i<f$.length;i++){forwardProperty(f$[i]);}};var forwardProperty=function(name){Object.defineProperty(DomApi.prototype,name,{get:function(){return this.node[name];},configurable:true});};forwardProperties(['parentNode','firstChild','lastChild','nextSibling','previousSibling','firstElementChild','lastElementChild','nextElementSibling','previousElementSibling']);}());Polymer.Base.extend(Polymer.dom,{_flushGuard:0,_FLUSH_MAX:100,_needsTakeRecords:!Polymer.Settings.useNativeCustomElements,_debouncers:[],_staticFlushList:[],_finishDebouncer:null,flush:function(){this._flushGuard=0;this._prepareFlush();while(this._debouncers.length&&this._flushGuard<this._FLUSH_MAX){while(this._debouncers.length){this._debouncers.shift().complete();}
-if(this._finishDebouncer){this._finishDebouncer.complete();}
-this._prepareFlush();this._flushGuard++;}
-if(this._flushGuard>=this._FLUSH_MAX){console.warn('Polymer.dom.flush aborted. Flush may not be complete.');}},_prepareFlush:function(){if(this._needsTakeRecords){CustomElements.takeRecords();}
-for(var i=0;i<this._staticFlushList.length;i++){this._staticFlushList[i]();}},addStaticFlush:function(fn){this._staticFlushList.push(fn);},removeStaticFlush:function(fn){var i=this._staticFlushList.indexOf(fn);if(i>=0){this._staticFlushList.splice(i,1);}},addDebouncer:function(debouncer){this._debouncers.push(debouncer);this._finishDebouncer=Polymer.Debounce(this._finishDebouncer,this._finishFlush);},_finishFlush:function(){Polymer.dom._debouncers=[];}});Polymer.EventApi=function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.Event=function(event){this.event=event;};if(Settings.useShadow){DomApi.Event.prototype={get rootTarget(){return this.event.path[0];},get localTarget(){return this.event.target;},get path(){var path=this.event.path;if(!Array.isArray(path)){path=Array.prototype.slice.call(path);}
-return path;}};}else{DomApi.Event.prototype={get rootTarget(){return this.event.target;},get localTarget(){var current=this.event.currentTarget;var currentRoot=current&&Polymer.dom(current).getOwnerRoot();var p$=this.path;for(var i=0;i<p$.length;i++){if(Polymer.dom(p$[i]).getOwnerRoot()===currentRoot){return p$[i];}}},get path(){if(!this.event._path){var path=[];var current=this.rootTarget;while(current){path.push(current);var insertionPoints=Polymer.dom(current).getDestinationInsertionPoints();if(insertionPoints.length){for(var i=0;i<insertionPoints.length-1;i++){path.push(insertionPoints[i]);}
-current=insertionPoints[insertionPoints.length-1];}else{current=Polymer.dom(current).parentNode||current.host;}}
-path.push(window);this.event._path=path;}
-return this.event._path;}};}
-var factory=function(event){if(!event.__eventApi){event.__eventApi=new DomApi.Event(event);}
-return event.__eventApi;};return{factory:factory};}();(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var useShadow=Polymer.Settings.useShadow;Object.defineProperty(DomApi.prototype,'classList',{get:function(){if(!this._classList){this._classList=new DomApi.ClassList(this);}
-return this._classList;},configurable:true});DomApi.ClassList=function(host){this.domApi=host;this.node=host.node;};DomApi.ClassList.prototype={add:function(){this.node.classList.add.apply(this.node.classList,arguments);this._distributeParent();},remove:function(){this.node.classList.remove.apply(this.node.classList,arguments);this._distributeParent();},toggle:function(){this.node.classList.toggle.apply(this.node.classList,arguments);this._distributeParent();},_distributeParent:function(){if(!useShadow){this.domApi._maybeDistributeParent();}},contains:function(){return this.node.classList.contains.apply(this.node.classList,arguments);}};}());(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.EffectiveNodesObserver=function(domApi){this.domApi=domApi;this.node=this.domApi.node;this._listeners=[];};DomApi.EffectiveNodesObserver.prototype={addListener:function(callback){if(!this._isSetup){this._setup();this._isSetup=true;}
-var listener={fn:callback,_nodes:[]};this._listeners.push(listener);this._scheduleNotify();return listener;},removeListener:function(handle){var i=this._listeners.indexOf(handle);if(i>=0){this._listeners.splice(i,1);handle._nodes=[];}
-if(!this._hasListeners()){this._cleanup();this._isSetup=false;}},_setup:function(){this._observeContentElements(this.domApi.childNodes);},_cleanup:function(){this._unobserveContentElements(this.domApi.childNodes);},_hasListeners:function(){return Boolean(this._listeners.length);},_scheduleNotify:function(){if(this._debouncer){this._debouncer.stop();}
-this._debouncer=Polymer.Debounce(this._debouncer,this._notify);this._debouncer.context=this;Polymer.dom.addDebouncer(this._debouncer);},notify:function(){if(this._hasListeners()){this._scheduleNotify();}},_notify:function(){this._beforeCallListeners();this._callListeners();},_beforeCallListeners:function(){this._updateContentElements();},_updateContentElements:function(){this._observeContentElements(this.domApi.childNodes);},_observeContentElements:function(elements){for(var i=0,n;i<elements.length&&(n=elements[i]);i++){if(this._isContent(n)){n.__observeNodesMap=n.__observeNodesMap||new WeakMap();if(!n.__observeNodesMap.has(this)){n.__observeNodesMap.set(this,this._observeContent(n));}}}},_observeContent:function(content){var self=this;var h=Polymer.dom(content).observeNodes(function(){self._scheduleNotify();});h._avoidChangeCalculation=true;return h;},_unobserveContentElements:function(elements){for(var i=0,n,h;i<elements.length&&(n=elements[i]);i++){if(this._isContent(n)){h=n.__observeNodesMap.get(this);if(h){Polymer.dom(n).unobserveNodes(h);n.__observeNodesMap.delete(this);}}}},_isContent:function(node){return node.localName==='content';},_callListeners:function(){var o$=this._listeners;var nodes=this._getEffectiveNodes();for(var i=0,o;i<o$.length&&(o=o$[i]);i++){var info=this._generateListenerInfo(o,nodes);if(info||o._alwaysNotify){this._callListener(o,info);}}},_getEffectiveNodes:function(){return this.domApi.getEffectiveChildNodes();},_generateListenerInfo:function(listener,newNodes){if(listener._avoidChangeCalculation){return true;}
-var oldNodes=listener._nodes;var info={target:this.node,addedNodes:[],removedNodes:[]};var splices=Polymer.ArraySplice.calculateSplices(newNodes,oldNodes);for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0,n;j<s.removed.length&&(n=s.removed[j]);j++){info.removedNodes.push(n);}}
-for(i=0,s;i<splices.length&&(s=splices[i]);i++){for(j=s.index;j<s.index+s.addedCount;j++){info.addedNodes.push(newNodes[j]);}}
-listener._nodes=newNodes;if(info.addedNodes.length||info.removedNodes.length){return info;}},_callListener:function(listener,info){return listener.fn.call(this.node,info);},enableShadowAttributeTracking:function(){}};if(Settings.useShadow){var baseSetup=DomApi.EffectiveNodesObserver.prototype._setup;var baseCleanup=DomApi.EffectiveNodesObserver.prototype._cleanup;Polymer.Base.extend(DomApi.EffectiveNodesObserver.prototype,{_setup:function(){if(!this._observer){var self=this;this._mutationHandler=function(mxns){if(mxns&&mxns.length){self._scheduleNotify();}};this._observer=new MutationObserver(this._mutationHandler);this._boundFlush=function(){self._flush();};Polymer.dom.addStaticFlush(this._boundFlush);this._observer.observe(this.node,{childList:true});}
-baseSetup.call(this);},_cleanup:function(){this._observer.disconnect();this._observer=null;this._mutationHandler=null;Polymer.dom.removeStaticFlush(this._boundFlush);baseCleanup.call(this);},_flush:function(){if(this._observer){this._mutationHandler(this._observer.takeRecords());}},enableShadowAttributeTracking:function(){if(this._observer){this._makeContentListenersAlwaysNotify();this._observer.disconnect();this._observer.observe(this.node,{childList:true,attributes:true,subtree:true});var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host&&Polymer.dom(host).observer){Polymer.dom(host).observer.enableShadowAttributeTracking();}}},_makeContentListenersAlwaysNotify:function(){for(var i=0,h;i<this._listeners.length;i++){h=this._listeners[i];h._alwaysNotify=h._isContentListener;}}});}}());(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.DistributedNodesObserver=function(domApi){DomApi.EffectiveNodesObserver.call(this,domApi);};DomApi.DistributedNodesObserver.prototype=Object.create(DomApi.EffectiveNodesObserver.prototype);Polymer.Base.extend(DomApi.DistributedNodesObserver.prototype,{_setup:function(){},_cleanup:function(){},_beforeCallListeners:function(){},_getEffectiveNodes:function(){return this.domApi.getDistributedNodes();}});if(Settings.useShadow){Polymer.Base.extend(DomApi.DistributedNodesObserver.prototype,{_setup:function(){if(!this._observer){var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host){var self=this;this._observer=Polymer.dom(host).observeNodes(function(){self._scheduleNotify();});this._observer._isContentListener=true;if(this._hasAttrSelect()){Polymer.dom(host).observer.enableShadowAttributeTracking();}}}},_hasAttrSelect:function(){var select=this.node.getAttribute('select');return select&&select.match(/[[.]+/);},_cleanup:function(){var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host){Polymer.dom(host).unobserveNodes(this._observer);}
-this._observer=null;}});}}());(function(){var DomApi=Polymer.DomApi;var TreeApi=Polymer.TreeApi;Polymer.Base._addFeature({_prepShady:function(){this._useContent=this._useContent||Boolean(this._template);},_setupShady:function(){this.shadyRoot=null;if(!this.__domApi){this.__domApi=null;}
-if(!this.__dom){this.__dom=null;}
-if(!this._ownerShadyRoot){this._ownerShadyRoot=undefined;}},_poolContent:function(){if(this._useContent){TreeApi.Logical.saveChildNodes(this);}},_setupRoot:function(){if(this._useContent){this._createLocalRoot();if(!this.dataHost){upgradeLogicalChildren(TreeApi.Logical.getChildNodes(this));}}},_createLocalRoot:function(){this.shadyRoot=this.root;this.shadyRoot._distributionClean=false;this.shadyRoot._hasDistributed=false;this.shadyRoot._isShadyRoot=true;this.shadyRoot._dirtyRoots=[];var i$=this.shadyRoot._insertionPoints=!this._notes||this._notes._hasContent?this.shadyRoot.querySelectorAll('content'):[];TreeApi.Logical.saveChildNodes(this.shadyRoot);for(var i=0,c;i<i$.length;i++){c=i$[i];TreeApi.Logical.saveChildNodes(c);TreeApi.Logical.saveChildNodes(c.parentNode);}
-this.shadyRoot.host=this;},get domHost(){var root=Polymer.dom(this).getOwnerRoot();return root&&root.host;},distributeContent:function(updateInsertionPoints){if(this.shadyRoot){this.shadyRoot._invalidInsertionPoints=this.shadyRoot._invalidInsertionPoints||updateInsertionPoints;var host=getTopDistributingHost(this);Polymer.dom(this)._lazyDistribute(host);}},_distributeContent:function(){if(this._useContent&&!this.shadyRoot._distributionClean){if(this.shadyRoot._invalidInsertionPoints){Polymer.dom(this)._updateInsertionPoints(this);this.shadyRoot._invalidInsertionPoints=false;}
-this._beginDistribute();this._distributeDirtyRoots();this._finishDistribute();}},_beginDistribute:function(){if(this._useContent&&DomApi.hasInsertionPoint(this.shadyRoot)){this._resetDistribution();this._distributePool(this.shadyRoot,this._collectPool());}},_distributeDirtyRoots:function(){var c$=this.shadyRoot._dirtyRoots;for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){c._distributeContent();}
-this.shadyRoot._dirtyRoots=[];},_finishDistribute:function(){if(this._useContent){this.shadyRoot._distributionClean=true;if(DomApi.hasInsertionPoint(this.shadyRoot)){this._composeTree();notifyContentObservers(this.shadyRoot);}else{if(!this.shadyRoot._hasDistributed){TreeApi.Composed.clearChildNodes(this);this.appendChild(this.shadyRoot);}else{var children=this._composeNode(this);this._updateChildNodes(this,children);}}
-if(!this.shadyRoot._hasDistributed){notifyInitialDistribution(this);}
-this.shadyRoot._hasDistributed=true;}},elementMatches:function(selector,node){node=node||this;return DomApi.matchesSelector.call(node,selector);},_resetDistribution:function(){var children=TreeApi.Logical.getChildNodes(this);for(var i=0;i<children.length;i++){var child=children[i];if(child._destinationInsertionPoints){child._destinationInsertionPoints=undefined;}
-if(isInsertionPoint(child)){clearDistributedDestinationInsertionPoints(child);}}
-var root=this.shadyRoot;var p$=root._insertionPoints;for(var j=0;j<p$.length;j++){p$[j]._distributedNodes=[];}},_collectPool:function(){var pool=[];var children=TreeApi.Logical.getChildNodes(this);for(var i=0;i<children.length;i++){var child=children[i];if(isInsertionPoint(child)){pool.push.apply(pool,child._distributedNodes);}else{pool.push(child);}}
-return pool;},_distributePool:function(node,pool){var p$=node._insertionPoints;for(var i=0,l=p$.length,p;i<l&&(p=p$[i]);i++){this._distributeInsertionPoint(p,pool);maybeRedistributeParent(p,this);}},_distributeInsertionPoint:function(content,pool){var anyDistributed=false;for(var i=0,l=pool.length,node;i<l;i++){node=pool[i];if(!node){continue;}
-if(this._matchesContentSelect(node,content)){distributeNodeInto(node,content);pool[i]=undefined;anyDistributed=true;}}
-if(!anyDistributed){var children=TreeApi.Logical.getChildNodes(content);for(var j=0;j<children.length;j++){distributeNodeInto(children[j],content);}}},_composeTree:function(){this._updateChildNodes(this,this._composeNode(this));var p$=this.shadyRoot._insertionPoints;for(var i=0,l=p$.length,p,parent;i<l&&(p=p$[i]);i++){parent=TreeApi.Logical.getParentNode(p);if(!parent._useContent&&parent!==this&&parent!==this.shadyRoot){this._updateChildNodes(parent,this._composeNode(parent));}}},_composeNode:function(node){var children=[];var c$=TreeApi.Logical.getChildNodes(node.shadyRoot||node);for(var i=0;i<c$.length;i++){var child=c$[i];if(isInsertionPoint(child)){var distributedNodes=child._distributedNodes;for(var j=0;j<distributedNodes.length;j++){var distributedNode=distributedNodes[j];if(isFinalDestination(child,distributedNode)){children.push(distributedNode);}}}else{children.push(child);}}
-return children;},_updateChildNodes:function(container,children){var composed=TreeApi.Composed.getChildNodes(container);var splices=Polymer.ArraySplice.calculateSplices(children,composed);for(var i=0,d=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0,n;j<s.removed.length&&(n=s.removed[j]);j++){if(TreeApi.Composed.getParentNode(n)===container){TreeApi.Composed.removeChild(container,n);}
-composed.splice(s.index+d,1);}
-d-=s.addedCount;}
-for(var i=0,s,next;i<splices.length&&(s=splices[i]);i++){next=composed[s.index];for(j=s.index,n;j<s.index+s.addedCount;j++){n=children[j];TreeApi.Composed.insertBefore(container,n,next);composed.splice(j,0,n);}}},_matchesContentSelect:function(node,contentElement){var select=contentElement.getAttribute('select');if(!select){return true;}
-select=select.trim();if(!select){return true;}
-if(!(node instanceof Element)){return false;}
-var validSelectors=/^(:not\()?[*.#[a-zA-Z_|]/;if(!validSelectors.test(select)){return false;}
-return this.elementMatches(select,node);},_elementAdd:function(){},_elementRemove:function(){}});function distributeNodeInto(child,insertionPoint){insertionPoint._distributedNodes.push(child);var points=child._destinationInsertionPoints;if(!points){child._destinationInsertionPoints=[insertionPoint];}else{points.push(insertionPoint);}}
-function clearDistributedDestinationInsertionPoints(content){var e$=content._distributedNodes;if(e$){for(var i=0;i<e$.length;i++){var d=e$[i]._destinationInsertionPoints;if(d){d.splice(d.indexOf(content)+1,d.length);}}}}
-function maybeRedistributeParent(content,host){var parent=TreeApi.Logical.getParentNode(content);if(parent&&parent.shadyRoot&&DomApi.hasInsertionPoint(parent.shadyRoot)&&parent.shadyRoot._distributionClean){parent.shadyRoot._distributionClean=false;host.shadyRoot._dirtyRoots.push(parent);}}
-function isFinalDestination(insertionPoint,node){var points=node._destinationInsertionPoints;return points&&points[points.length-1]===insertionPoint;}
-function isInsertionPoint(node){return node.localName=='content';}
-function getTopDistributingHost(host){while(host&&hostNeedsRedistribution(host)){host=host.domHost;}
-return host;}
-function hostNeedsRedistribution(host){var c$=TreeApi.Logical.getChildNodes(host);for(var i=0,c;i<c$.length;i++){c=c$[i];if(c.localName&&c.localName==='content'){return host.domHost;}}}
-function notifyContentObservers(root){for(var i=0,c;i<root._insertionPoints.length;i++){c=root._insertionPoints[i];if(DomApi.hasApi(c)){Polymer.dom(c).notifyObserver();}}}
-function notifyInitialDistribution(host){if(DomApi.hasApi(host)){Polymer.dom(host).notifyObserver();}}
-var needsUpgrade=window.CustomElements&&!CustomElements.useNative;function upgradeLogicalChildren(children){if(needsUpgrade&&children){for(var i=0;i<children.length;i++){CustomElements.upgrade(children[i]);}}}}());if(Polymer.Settings.useShadow){Polymer.Base._addFeature({_poolContent:function(){},_beginDistribute:function(){},distributeContent:function(){},_distributeContent:function(){},_finishDistribute:function(){},_createLocalRoot:function(){this.createShadowRoot();this.shadowRoot.appendChild(this.root);this.root=this.shadowRoot;}});}Polymer.Async={_currVal:0,_lastVal:0,_callbacks:[],_twiddleContent:0,_twiddle:document.createTextNode(''),run:function(callback,waitTime){if(waitTime>0){return~setTimeout(callback,waitTime);}else{this._twiddle.textContent=this._twiddleContent++;this._callbacks.push(callback);return this._currVal++;}},cancel:function(handle){if(handle<0){clearTimeout(~handle);}else{var idx=handle-this._lastVal;if(idx>=0){if(!this._callbacks[idx]){throw'invalid async handle: '+handle;}
-this._callbacks[idx]=null;}}},_atEndOfMicrotask:function(){var len=this._callbacks.length;for(var i=0;i<len;i++){var cb=this._callbacks[i];if(cb){try{cb();}catch(e){i++;this._callbacks.splice(0,i);this._lastVal+=i;this._twiddle.textContent=this._twiddleContent++;throw e;}}}
-this._callbacks.splice(0,len);this._lastVal+=len;}};new window.MutationObserver(function(){Polymer.Async._atEndOfMicrotask();}).observe(Polymer.Async._twiddle,{characterData:true});Polymer.Debounce=function(){var Async=Polymer.Async;var Debouncer=function(context){this.context=context;var self=this;this.boundComplete=function(){self.complete();};};Debouncer.prototype={go:function(callback,wait){var h;this.finish=function(){Async.cancel(h);};h=Async.run(this.boundComplete,wait);this.callback=callback;},stop:function(){if(this.finish){this.finish();this.finish=null;this.callback=null;}},complete:function(){if(this.finish){var callback=this.callback;this.stop();callback.call(this.context);}}};function debounce(debouncer,callback,wait){if(debouncer){debouncer.stop();}else{debouncer=new Debouncer(this);}
-debouncer.go(callback,wait);return debouncer;}
-return debounce;}();Polymer.Base._addFeature({_setupDebouncers:function(){this._debouncers={};},debounce:function(jobName,callback,wait){return this._debouncers[jobName]=Polymer.Debounce.call(this,this._debouncers[jobName],callback,wait);},isDebouncerActive:function(jobName){var debouncer=this._debouncers[jobName];return!!(debouncer&&debouncer.finish);},flushDebouncer:function(jobName){var debouncer=this._debouncers[jobName];if(debouncer){debouncer.complete();}},cancelDebouncer:function(jobName){var debouncer=this._debouncers[jobName];if(debouncer){debouncer.stop();}}});Polymer.DomModule=document.createElement('dom-module');Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();this._prepBehaviors();this._prepConstructor();this._prepTemplate();this._prepShady();this._prepPropertyInfo();},_prepBehavior:function(b){this._addHostAttributes(b.hostAttributes);},_initFeatures:function(){this._registerHost();if(this._template){this._poolContent();this._beginHosting();this._stampTemplate();this._endHosting();}
-this._marshalHostAttributes();this._setupDebouncers();this._marshalBehaviors();this._tryReady();},_marshalBehavior:function(b){}});Polymer.nar=[];Polymer.Annotations={parseAnnotations:function(template){var list=[];var content=template._content||template.content;this._parseNodeAnnotations(content,list,template.hasAttribute('strip-whitespace'));return list;},_parseNodeAnnotations:function(node,list,stripWhiteSpace){return node.nodeType===Node.TEXT_NODE?this._parseTextNodeAnnotation(node,list):this._parseElementAnnotations(node,list,stripWhiteSpace);},_bindingRegex:function(){var IDENT='(?:'+'[a-zA-Z_$][\\w.:$\\-*]*'+')';var NUMBER='(?:'+'[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?'+')';var SQUOTE_STRING='(?:'+'\'(?:[^\'\\\\]|\\\\.)*\''+')';var DQUOTE_STRING='(?:'+'"(?:[^"\\\\]|\\\\.)*"'+')';var STRING='(?:'+SQUOTE_STRING+'|'+DQUOTE_STRING+')';var ARGUMENT='(?:'+IDENT+'|'+NUMBER+'|'+STRING+'\\s*'+')';var ARGUMENTS='(?:'+ARGUMENT+'(?:,\\s*'+ARGUMENT+')*'+')';var ARGUMENT_LIST='(?:'+'\\(\\s*'+'(?:'+ARGUMENTS+'?'+')'+'\\)\\s*'+')';var BINDING='('+IDENT+'\\s*'+ARGUMENT_LIST+'?'+')';var OPEN_BRACKET='(\\[\\[|{{)'+'\\s*';var CLOSE_BRACKET='(?:]]|}})';var NEGATE='(?:(!)\\s*)?';var EXPRESSION=OPEN_BRACKET+NEGATE+BINDING+CLOSE_BRACKET;return new RegExp(EXPRESSION,'g');}(),_parseBindings:function(text){var re=this._bindingRegex;var parts=[];var lastIndex=0;var m;while((m=re.exec(text))!==null){if(m.index>lastIndex){parts.push({literal:text.slice(lastIndex,m.index)});}
-var mode=m[1][0];var negate=Boolean(m[2]);var value=m[3].trim();var customEvent,notifyEvent,colon;if(mode=='{'&&(colon=value.indexOf('::'))>0){notifyEvent=value.substring(colon+2);value=value.substring(0,colon);customEvent=true;}
-parts.push({compoundIndex:parts.length,value:value,mode:mode,negate:negate,event:notifyEvent,customEvent:customEvent});lastIndex=re.lastIndex;}
-if(lastIndex&&lastIndex<text.length){var literal=text.substring(lastIndex);if(literal){parts.push({literal:literal});}}
-if(parts.length){return parts;}},_literalFromParts:function(parts){var s='';for(var i=0;i<parts.length;i++){var literal=parts[i].literal;s+=literal||'';}
-return s;},_parseTextNodeAnnotation:function(node,list){var parts=this._parseBindings(node.textContent);if(parts){node.textContent=this._literalFromParts(parts)||' ';var annote={bindings:[{kind:'text',name:'textContent',parts:parts,isCompound:parts.length!==1}]};list.push(annote);return annote;}},_parseElementAnnotations:function(element,list,stripWhiteSpace){var annote={bindings:[],events:[]};if(element.localName==='content'){list._hasContent=true;}
-this._parseChildNodesAnnotations(element,annote,list,stripWhiteSpace);if(element.attributes){this._parseNodeAttributeAnnotations(element,annote,list);if(this.prepElement){this.prepElement(element);}}
-if(annote.bindings.length||annote.events.length||annote.id){list.push(annote);}
-return annote;},_parseChildNodesAnnotations:function(root,annote,list,stripWhiteSpace){if(root.firstChild){var node=root.firstChild;var i=0;while(node){var next=node.nextSibling;if(node.localName==='template'&&!node.hasAttribute('preserve-content')){this._parseTemplate(node,i,list,annote);}
-if(node.nodeType===Node.TEXT_NODE){var n=next;while(n&&n.nodeType===Node.TEXT_NODE){node.textContent+=n.textContent;next=n.nextSibling;root.removeChild(n);n=next;}
-if(stripWhiteSpace&&!node.textContent.trim()){root.removeChild(node);i--;}}
-if(node.parentNode){var childAnnotation=this._parseNodeAnnotations(node,list,stripWhiteSpace);if(childAnnotation){childAnnotation.parent=annote;childAnnotation.index=i;}}
-node=next;i++;}}},_parseTemplate:function(node,index,list,parent){var content=document.createDocumentFragment();content._notes=this.parseAnnotations(node);content.appendChild(node.content);list.push({bindings:Polymer.nar,events:Polymer.nar,templateContent:content,parent:parent,index:index});},_parseNodeAttributeAnnotations:function(node,annotation){var attrs=Array.prototype.slice.call(node.attributes);for(var i=attrs.length-1,a;a=attrs[i];i--){var n=a.name;var v=a.value;var b;if(n.slice(0,3)==='on-'){node.removeAttribute(n);annotation.events.push({name:n.slice(3),value:v});}else if(b=this._parseNodeAttributeAnnotation(node,n,v)){annotation.bindings.push(b);}else if(n==='id'){annotation.id=v;}}},_parseNodeAttributeAnnotation:function(node,name,value){var parts=this._parseBindings(value);if(parts){var origName=name;var kind='property';if(name[name.length-1]=='$'){name=name.slice(0,-1);kind='attribute';}
-var literal=this._literalFromParts(parts);if(literal&&kind=='attribute'){node.setAttribute(name,literal);}
-if(node.localName==='input'&&origName==='value'){node.setAttribute(origName,'');}
-node.removeAttribute(origName);var propertyName=Polymer.CaseMap.dashToCamelCase(name);if(kind==='property'){name=propertyName;}
-return{kind:kind,name:name,propertyName:propertyName,parts:parts,literal:literal,isCompound:parts.length!==1};}},findAnnotatedNode:function(root,annote){var parent=annote.parent&&Polymer.Annotations.findAnnotatedNode(root,annote.parent);if(parent){for(var n=parent.firstChild,i=0;n;n=n.nextSibling){if(annote.index===i++){return n;}}}else{return root;}}};(function(){function resolveCss(cssText,ownerDocument){return cssText.replace(CSS_URL_RX,function(m,pre,url,post){return pre+'\''+resolve(url.replace(/["']/g,''),ownerDocument)+'\''+post;});}
-function resolveAttrs(element,ownerDocument){for(var name in URL_ATTRS){var a$=URL_ATTRS[name];for(var i=0,l=a$.length,a,at,v;i<l&&(a=a$[i]);i++){if(name==='*'||element.localName===name){at=element.attributes[a];v=at&&at.value;if(v&&v.search(BINDING_RX)<0){at.value=a==='style'?resolveCss(v,ownerDocument):resolve(v,ownerDocument);}}}}}
-function resolve(url,ownerDocument){if(url&&url[0]==='#'){return url;}
-var resolver=getUrlResolver(ownerDocument);resolver.href=url;return resolver.href||url;}
-var tempDoc;var tempDocBase;function resolveUrl(url,baseUri){if(!tempDoc){tempDoc=document.implementation.createHTMLDocument('temp');tempDocBase=tempDoc.createElement('base');tempDoc.head.appendChild(tempDocBase);}
-tempDocBase.href=baseUri;return resolve(url,tempDoc);}
-function getUrlResolver(ownerDocument){return ownerDocument.__urlResolver||(ownerDocument.__urlResolver=ownerDocument.createElement('a'));}
-var CSS_URL_RX=/(url\()([^)]*)(\))/g;var URL_ATTRS={'*':['href','src','style','url'],form:['action']};var BINDING_RX=/\{\{|\[\[/;Polymer.ResolveUrl={resolveCss:resolveCss,resolveAttrs:resolveAttrs,resolveUrl:resolveUrl};}());Polymer.Base._addFeature({_prepAnnotations:function(){if(!this._template){this._notes=[];}else{var self=this;Polymer.Annotations.prepElement=function(element){self._prepElement(element);};if(this._template._content&&this._template._content._notes){this._notes=this._template._content._notes;}else{this._notes=Polymer.Annotations.parseAnnotations(this._template);this._processAnnotations(this._notes);}
-Polymer.Annotations.prepElement=null;}},_processAnnotations:function(notes){for(var i=0;i<notes.length;i++){var note=notes[i];for(var j=0;j<note.bindings.length;j++){var b=note.bindings[j];for(var k=0;k<b.parts.length;k++){var p=b.parts[k];if(!p.literal){var signature=this._parseMethod(p.value);if(signature){p.signature=signature;}else{p.model=this._modelForPath(p.value);}}}}
-if(note.templateContent){this._processAnnotations(note.templateContent._notes);var pp=note.templateContent._parentProps=this._discoverTemplateParentProps(note.templateContent._notes);var bindings=[];for(var prop in pp){var name='_parent_'+prop;bindings.push({index:note.index,kind:'property',name:name,propertyName:name,parts:[{mode:'{',model:prop,value:prop}]});}
-note.bindings=note.bindings.concat(bindings);}}},_discoverTemplateParentProps:function(notes){var pp={};for(var i=0,n;i<notes.length&&(n=notes[i]);i++){for(var j=0,b$=n.bindings,b;j<b$.length&&(b=b$[j]);j++){for(var k=0,p$=b.parts,p;k<p$.length&&(p=p$[k]);k++){if(p.signature){var args=p.signature.args;for(var kk=0;kk<args.length;kk++){var model=args[kk].model;if(model){pp[model]=true;}}
-if(p.signature.dynamicFn){pp[p.signature.method]=true;}}else{if(p.model){pp[p.model]=true;}}}}
-if(n.templateContent){var tpp=n.templateContent._parentProps;Polymer.Base.mixin(pp,tpp);}}
-return pp;},_prepElement:function(element){Polymer.ResolveUrl.resolveAttrs(element,this._template.ownerDocument);},_findAnnotatedNode:Polymer.Annotations.findAnnotatedNode,_marshalAnnotationReferences:function(){if(this._template){this._marshalIdNodes();this._marshalAnnotatedNodes();this._marshalAnnotatedListeners();}},_configureAnnotationReferences:function(){var notes=this._notes;var nodes=this._nodes;for(var i=0;i<notes.length;i++){var note=notes[i];var node=nodes[i];this._configureTemplateContent(note,node);this._configureCompoundBindings(note,node);}},_configureTemplateContent:function(note,node){if(note.templateContent){node._content=note.templateContent;}},_configureCompoundBindings:function(note,node){var bindings=note.bindings;for(var i=0;i<bindings.length;i++){var binding=bindings[i];if(binding.isCompound){var storage=node.__compoundStorage__||(node.__compoundStorage__={});var parts=binding.parts;var literals=new Array(parts.length);for(var j=0;j<parts.length;j++){literals[j]=parts[j].literal;}
-var name=binding.name;storage[name]=literals;if(binding.literal&&binding.kind=='property'){if(node._configValue){node._configValue(name,binding.literal);}else{node[name]=binding.literal;}}}}},_marshalIdNodes:function(){this.$={};for(var i=0,l=this._notes.length,a;i<l&&(a=this._notes[i]);i++){if(a.id){this.$[a.id]=this._findAnnotatedNode(this.root,a);}}},_marshalAnnotatedNodes:function(){if(this._notes&&this._notes.length){var r=new Array(this._notes.length);for(var i=0;i<this._notes.length;i++){r[i]=this._findAnnotatedNode(this.root,this._notes[i]);}
-this._nodes=r;}},_marshalAnnotatedListeners:function(){for(var i=0,l=this._notes.length,a;i<l&&(a=this._notes[i]);i++){if(a.events&&a.events.length){var node=this._findAnnotatedNode(this.root,a);for(var j=0,e$=a.events,e;j<e$.length&&(e=e$[j]);j++){this.listen(node,e.name,e.value);}}}}});Polymer.Base._addFeature({listeners:{},_listenListeners:function(listeners){var node,name,eventName;for(eventName in listeners){if(eventName.indexOf('.')<0){node=this;name=eventName;}else{name=eventName.split('.');node=this.$[name[0]];name=name[1];}
-this.listen(node,name,listeners[eventName]);}},listen:function(node,eventName,methodName){var handler=this._recallEventHandler(this,eventName,node,methodName);if(!handler){handler=this._createEventHandler(node,eventName,methodName);}
-if(handler._listening){return;}
-this._listen(node,eventName,handler);handler._listening=true;},_boundListenerKey:function(eventName,methodName){return eventName+':'+methodName;},_recordEventHandler:function(host,eventName,target,methodName,handler){var hbl=host.__boundListeners;if(!hbl){hbl=host.__boundListeners=new WeakMap();}
-var bl=hbl.get(target);if(!bl){bl={};hbl.set(target,bl);}
-var key=this._boundListenerKey(eventName,methodName);bl[key]=handler;},_recallEventHandler:function(host,eventName,target,methodName){var hbl=host.__boundListeners;if(!hbl){return;}
-var bl=hbl.get(target);if(!bl){return;}
-var key=this._boundListenerKey(eventName,methodName);return bl[key];},_createEventHandler:function(node,eventName,methodName){var host=this;var handler=function(e){if(host[methodName]){host[methodName](e,e.detail);}else{host._warn(host._logf('_createEventHandler','listener method `'+methodName+'` not defined'));}};handler._listening=false;this._recordEventHandler(host,eventName,node,methodName,handler);return handler;},unlisten:function(node,eventName,methodName){var handler=this._recallEventHandler(this,eventName,node,methodName);if(handler){this._unlisten(node,eventName,handler);handler._listening=false;}},_listen:function(node,eventName,handler){node.addEventListener(eventName,handler);},_unlisten:function(node,eventName,handler){node.removeEventListener(eventName,handler);}});(function(){'use strict';var wrap=Polymer.DomApi.wrap;var HAS_NATIVE_TA=typeof document.head.style.touchAction==='string';var GESTURE_KEY='__polymerGestures';var HANDLED_OBJ='__polymerGesturesHandled';var TOUCH_ACTION='__polymerGesturesTouchAction';var TAP_DISTANCE=25;var TRACK_DISTANCE=5;var TRACK_LENGTH=2;var MOUSE_TIMEOUT=2500;var MOUSE_EVENTS=['mousedown','mousemove','mouseup','click'];var MOUSE_WHICH_TO_BUTTONS=[0,1,4,2];var MOUSE_HAS_BUTTONS=function(){try{return new MouseEvent('test',{buttons:1}).buttons===1;}catch(e){return false;}}();var IS_TOUCH_ONLY=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);var mouseCanceller=function(mouseEvent){mouseEvent[HANDLED_OBJ]={skip:true};if(mouseEvent.type==='click'){var path=Polymer.dom(mouseEvent).path;for(var i=0;i<path.length;i++){if(path[i]===POINTERSTATE.mouse.target){return;}}
-mouseEvent.preventDefault();mouseEvent.stopPropagation();}};function setupTeardownMouseCanceller(setup){for(var i=0,en;i<MOUSE_EVENTS.length;i++){en=MOUSE_EVENTS[i];if(setup){document.addEventListener(en,mouseCanceller,true);}else{document.removeEventListener(en,mouseCanceller,true);}}}
-function ignoreMouse(){if(IS_TOUCH_ONLY){return;}
-if(!POINTERSTATE.mouse.mouseIgnoreJob){setupTeardownMouseCanceller(true);}
-var unset=function(){setupTeardownMouseCanceller();POINTERSTATE.mouse.target=null;POINTERSTATE.mouse.mouseIgnoreJob=null;};POINTERSTATE.mouse.mouseIgnoreJob=Polymer.Debounce(POINTERSTATE.mouse.mouseIgnoreJob,unset,MOUSE_TIMEOUT);}
-function hasLeftMouseButton(ev){var type=ev.type;if(MOUSE_EVENTS.indexOf(type)===-1){return false;}
-if(type==='mousemove'){var buttons=ev.buttons===undefined?1:ev.buttons;if(ev instanceof window.MouseEvent&&!MOUSE_HAS_BUTTONS){buttons=MOUSE_WHICH_TO_BUTTONS[ev.which]||0;}
-return Boolean(buttons&1);}else{var button=ev.button===undefined?0:ev.button;return button===0;}}
-function isSyntheticClick(ev){if(ev.type==='click'){if(ev.detail===0){return true;}
-var t=Gestures.findOriginalTarget(ev);var bcr=t.getBoundingClientRect();var x=ev.pageX,y=ev.pageY;return!(x>=bcr.left&&x<=bcr.right&&(y>=bcr.top&&y<=bcr.bottom));}
-return false;}
-var POINTERSTATE={mouse:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:false}};function firstTouchAction(ev){var path=Polymer.dom(ev).path;var ta='auto';for(var i=0,n;i<path.length;i++){n=path[i];if(n[TOUCH_ACTION]){ta=n[TOUCH_ACTION];break;}}
-return ta;}
-function trackDocument(stateObj,movefn,upfn){stateObj.movefn=movefn;stateObj.upfn=upfn;document.addEventListener('mousemove',movefn);document.addEventListener('mouseup',upfn);}
-function untrackDocument(stateObj){document.removeEventListener('mousemove',stateObj.movefn);document.removeEventListener('mouseup',stateObj.upfn);stateObj.movefn=null;stateObj.upfn=null;}
-var Gestures={gestures:{},recognizers:[],deepTargetFind:function(x,y){var node=document.elementFromPoint(x,y);var next=node;while(next&&next.shadowRoot){next=next.shadowRoot.elementFromPoint(x,y);if(next){node=next;}}
-return node;},findOriginalTarget:function(ev){if(ev.path){return ev.path[0];}
-return ev.target;},handleNative:function(ev){var handled;var type=ev.type;var node=wrap(ev.currentTarget);var gobj=node[GESTURE_KEY];if(!gobj){return;}
-var gs=gobj[type];if(!gs){return;}
-if(!ev[HANDLED_OBJ]){ev[HANDLED_OBJ]={};if(type.slice(0,5)==='touch'){var t=ev.changedTouches[0];if(type==='touchstart'){if(ev.touches.length===1){POINTERSTATE.touch.id=t.identifier;}}
-if(POINTERSTATE.touch.id!==t.identifier){return;}
-if(!HAS_NATIVE_TA){if(type==='touchstart'||type==='touchmove'){Gestures.handleTouchAction(ev);}}
-if(type==='touchend'){POINTERSTATE.mouse.target=Polymer.dom(ev).rootTarget;ignoreMouse();}}}
-handled=ev[HANDLED_OBJ];if(handled.skip){return;}
-var recognizers=Gestures.recognizers;for(var i=0,r;i<recognizers.length;i++){r=recognizers[i];if(gs[r.name]&&!handled[r.name]){if(r.flow&&r.flow.start.indexOf(ev.type)>-1&&r.reset){r.reset();}}}
-for(i=0,r;i<recognizers.length;i++){r=recognizers[i];if(gs[r.name]&&!handled[r.name]){handled[r.name]=true;r[type](ev);}}},handleTouchAction:function(ev){var t=ev.changedTouches[0];var type=ev.type;if(type==='touchstart'){POINTERSTATE.touch.x=t.clientX;POINTERSTATE.touch.y=t.clientY;POINTERSTATE.touch.scrollDecided=false;}else if(type==='touchmove'){if(POINTERSTATE.touch.scrollDecided){return;}
-POINTERSTATE.touch.scrollDecided=true;var ta=firstTouchAction(ev);var prevent=false;var dx=Math.abs(POINTERSTATE.touch.x-t.clientX);var dy=Math.abs(POINTERSTATE.touch.y-t.clientY);if(!ev.cancelable){}else if(ta==='none'){prevent=true;}else if(ta==='pan-x'){prevent=dy>dx;}else if(ta==='pan-y'){prevent=dx>dy;}
-if(prevent){ev.preventDefault();}else{Gestures.prevent('track');}}},add:function(node,evType,handler){node=wrap(node);var recognizer=this.gestures[evType];var deps=recognizer.deps;var name=recognizer.name;var gobj=node[GESTURE_KEY];if(!gobj){node[GESTURE_KEY]=gobj={};}
-for(var i=0,dep,gd;i<deps.length;i++){dep=deps[i];if(IS_TOUCH_ONLY&&MOUSE_EVENTS.indexOf(dep)>-1){continue;}
-gd=gobj[dep];if(!gd){gobj[dep]=gd={_count:0};}
-if(gd._count===0){node.addEventListener(dep,this.handleNative);}
-gd[name]=(gd[name]||0)+1;gd._count=(gd._count||0)+1;}
-node.addEventListener(evType,handler);if(recognizer.touchAction){this.setTouchAction(node,recognizer.touchAction);}},remove:function(node,evType,handler){node=wrap(node);var recognizer=this.gestures[evType];var deps=recognizer.deps;var name=recognizer.name;var gobj=node[GESTURE_KEY];if(gobj){for(var i=0,dep,gd;i<deps.length;i++){dep=deps[i];gd=gobj[dep];if(gd&&gd[name]){gd[name]=(gd[name]||1)-1;gd._count=(gd._count||1)-1;if(gd._count===0){node.removeEventListener(dep,this.handleNative);}}}}
-node.removeEventListener(evType,handler);},register:function(recog){this.recognizers.push(recog);for(var i=0;i<recog.emits.length;i++){this.gestures[recog.emits[i]]=recog;}},findRecognizerByEvent:function(evName){for(var i=0,r;i<this.recognizers.length;i++){r=this.recognizers[i];for(var j=0,n;j<r.emits.length;j++){n=r.emits[j];if(n===evName){return r;}}}
-return null;},setTouchAction:function(node,value){if(HAS_NATIVE_TA){node.style.touchAction=value;}
-node[TOUCH_ACTION]=value;},fire:function(target,type,detail){var ev=Polymer.Base.fire(type,detail,{node:target,bubbles:true,cancelable:true});if(ev.defaultPrevented){var preventer=detail.preventer||detail.sourceEvent;if(preventer&&preventer.preventDefault){preventer.preventDefault();}}},prevent:function(evName){var recognizer=this.findRecognizerByEvent(evName);if(recognizer.info){recognizer.info.prevent=true;}},resetMouseCanceller:function(){if(POINTERSTATE.mouse.mouseIgnoreJob){POINTERSTATE.mouse.mouseIgnoreJob.complete();}}};Gestures.register({name:'downup',deps:['mousedown','touchstart','touchend'],flow:{start:['mousedown','touchstart'],end:['mouseup','touchend']},emits:['down','up'],info:{movefn:null,upfn:null},reset:function(){untrackDocument(this.info);},mousedown:function(e){if(!hasLeftMouseButton(e)){return;}
-var t=Gestures.findOriginalTarget(e);var self=this;var movefn=function movefn(e){if(!hasLeftMouseButton(e)){self.fire('up',t,e);untrackDocument(self.info);}};var upfn=function upfn(e){if(hasLeftMouseButton(e)){self.fire('up',t,e);}
-untrackDocument(self.info);};trackDocument(this.info,movefn,upfn);this.fire('down',t,e);},touchstart:function(e){this.fire('down',Gestures.findOriginalTarget(e),e.changedTouches[0],e);},touchend:function(e){this.fire('up',Gestures.findOriginalTarget(e),e.changedTouches[0],e);},fire:function(type,target,event,preventer){Gestures.fire(target,type,{x:event.clientX,y:event.clientY,sourceEvent:event,preventer:preventer,prevent:function(e){return Gestures.prevent(e);}});}});Gestures.register({name:'track',touchAction:'none',deps:['mousedown','touchstart','touchmove','touchend'],flow:{start:['mousedown','touchstart'],end:['mouseup','touchend']},emits:['track'],info:{x:0,y:0,state:'start',started:false,moves:[],addMove:function(move){if(this.moves.length>TRACK_LENGTH){this.moves.shift();}
-this.moves.push(move);},movefn:null,upfn:null,prevent:false},reset:function(){this.info.state='start';this.info.started=false;this.info.moves=[];this.info.x=0;this.info.y=0;this.info.prevent=false;untrackDocument(this.info);},hasMovedEnough:function(x,y){if(this.info.prevent){return false;}
-if(this.info.started){return true;}
-var dx=Math.abs(this.info.x-x);var dy=Math.abs(this.info.y-y);return dx>=TRACK_DISTANCE||dy>=TRACK_DISTANCE;},mousedown:function(e){if(!hasLeftMouseButton(e)){return;}
-var t=Gestures.findOriginalTarget(e);var self=this;var movefn=function movefn(e){var x=e.clientX,y=e.clientY;if(self.hasMovedEnough(x,y)){self.info.state=self.info.started?e.type==='mouseup'?'end':'track':'start';if(self.info.state==='start'){Gestures.prevent('tap');}
-self.info.addMove({x:x,y:y});if(!hasLeftMouseButton(e)){self.info.state='end';untrackDocument(self.info);}
-self.fire(t,e);self.info.started=true;}};var upfn=function upfn(e){if(self.info.started){movefn(e);}
-untrackDocument(self.info);};trackDocument(this.info,movefn,upfn);this.info.x=e.clientX;this.info.y=e.clientY;},touchstart:function(e){var ct=e.changedTouches[0];this.info.x=ct.clientX;this.info.y=ct.clientY;},touchmove:function(e){var t=Gestures.findOriginalTarget(e);var ct=e.changedTouches[0];var x=ct.clientX,y=ct.clientY;if(this.hasMovedEnough(x,y)){if(this.info.state==='start'){Gestures.prevent('tap');}
-this.info.addMove({x:x,y:y});this.fire(t,ct);this.info.state='track';this.info.started=true;}},touchend:function(e){var t=Gestures.findOriginalTarget(e);var ct=e.changedTouches[0];if(this.info.started){this.info.state='end';this.info.addMove({x:ct.clientX,y:ct.clientY});this.fire(t,ct,e);}},fire:function(target,touch,preventer){var secondlast=this.info.moves[this.info.moves.length-2];var lastmove=this.info.moves[this.info.moves.length-1];var dx=lastmove.x-this.info.x;var dy=lastmove.y-this.info.y;var ddx,ddy=0;if(secondlast){ddx=lastmove.x-secondlast.x;ddy=lastmove.y-secondlast.y;}
-return Gestures.fire(target,'track',{state:this.info.state,x:touch.clientX,y:touch.clientY,dx:dx,dy:dy,ddx:ddx,ddy:ddy,sourceEvent:touch,preventer:preventer,hover:function(){return Gestures.deepTargetFind(touch.clientX,touch.clientY);}});}});Gestures.register({name:'tap',deps:['mousedown','click','touchstart','touchend'],flow:{start:['mousedown','touchstart'],end:['click','touchend']},emits:['tap'],info:{x:NaN,y:NaN,prevent:false},reset:function(){this.info.x=NaN;this.info.y=NaN;this.info.prevent=false;},save:function(e){this.info.x=e.clientX;this.info.y=e.clientY;},mousedown:function(e){if(hasLeftMouseButton(e)){this.save(e);}},click:function(e){if(hasLeftMouseButton(e)){this.forward(e);}},touchstart:function(e){this.save(e.changedTouches[0],e);},touchend:function(e){this.forward(e.changedTouches[0],e);},forward:function(e,preventer){var dx=Math.abs(e.clientX-this.info.x);var dy=Math.abs(e.clientY-this.info.y);var t=Gestures.findOriginalTarget(e);if(isNaN(dx)||isNaN(dy)||dx<=TAP_DISTANCE&&dy<=TAP_DISTANCE||isSyntheticClick(e)){if(!this.info.prevent){Gestures.fire(t,'tap',{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:preventer});}}}});var DIRECTION_MAP={x:'pan-x',y:'pan-y',none:'none',all:'auto'};Polymer.Base._addFeature({_setupGestures:function(){this.__polymerGestures=null;},_listen:function(node,eventName,handler){if(Gestures.gestures[eventName]){Gestures.add(node,eventName,handler);}else{node.addEventListener(eventName,handler);}},_unlisten:function(node,eventName,handler){if(Gestures.gestures[eventName]){Gestures.remove(node,eventName,handler);}else{node.removeEventListener(eventName,handler);}},setScrollDirection:function(direction,node){node=node||this;Gestures.setTouchAction(node,DIRECTION_MAP[direction]||'auto');}});Polymer.Gestures=Gestures;}());(function(){'use strict';Polymer.Base._addFeature({$$:function(slctr){return Polymer.dom(this.root).querySelector(slctr);},toggleClass:function(name,bool,node){node=node||this;if(arguments.length==1){bool=!node.classList.contains(name);}
-if(bool){Polymer.dom(node).classList.add(name);}else{Polymer.dom(node).classList.remove(name);}},toggleAttribute:function(name,bool,node){node=node||this;if(arguments.length==1){bool=!node.hasAttribute(name);}
-if(bool){Polymer.dom(node).setAttribute(name,'');}else{Polymer.dom(node).removeAttribute(name);}},classFollows:function(name,toElement,fromElement){if(fromElement){Polymer.dom(fromElement).classList.remove(name);}
-if(toElement){Polymer.dom(toElement).classList.add(name);}},attributeFollows:function(name,toElement,fromElement){if(fromElement){Polymer.dom(fromElement).removeAttribute(name);}
-if(toElement){Polymer.dom(toElement).setAttribute(name,'');}},getEffectiveChildNodes:function(){return Polymer.dom(this).getEffectiveChildNodes();},getEffectiveChildren:function(){var list=Polymer.dom(this).getEffectiveChildNodes();return list.filter(function(n){return n.nodeType===Node.ELEMENT_NODE;});},getEffectiveTextContent:function(){var cn=this.getEffectiveChildNodes();var tc=[];for(var i=0,c;c=cn[i];i++){if(c.nodeType!==Node.COMMENT_NODE){tc.push(Polymer.dom(c).textContent);}}
-return tc.join('');},queryEffectiveChildren:function(slctr){var e$=Polymer.dom(this).queryDistributedElements(slctr);return e$&&e$[0];},queryAllEffectiveChildren:function(slctr){return Polymer.dom(this).queryDistributedElements(slctr);},getContentChildNodes:function(slctr){var content=Polymer.dom(this.root).querySelector(slctr||'content');return content?Polymer.dom(content).getDistributedNodes():[];},getContentChildren:function(slctr){return this.getContentChildNodes(slctr).filter(function(n){return n.nodeType===Node.ELEMENT_NODE;});},fire:function(type,detail,options){options=options||Polymer.nob;var node=options.node||this;detail=detail===null||detail===undefined?{}:detail;var bubbles=options.bubbles===undefined?true:options.bubbles;var cancelable=Boolean(options.cancelable);var useCache=options._useCache;var event=this._getEvent(type,bubbles,cancelable,useCache);event.detail=detail;if(useCache){this.__eventCache[type]=null;}
-node.dispatchEvent(event);if(useCache){this.__eventCache[type]=event;}
-return event;},__eventCache:{},_getEvent:function(type,bubbles,cancelable,useCache){var event=useCache&&this.__eventCache[type];if(!event||(event.bubbles!=bubbles||event.cancelable!=cancelable)){event=new Event(type,{bubbles:Boolean(bubbles),cancelable:cancelable});}
-return event;},async:function(callback,waitTime){var self=this;return Polymer.Async.run(function(){callback.call(self);},waitTime);},cancelAsync:function(handle){Polymer.Async.cancel(handle);},arrayDelete:function(path,item){var index;if(Array.isArray(path)){index=path.indexOf(item);if(index>=0){return path.splice(index,1);}}else{var arr=this._get(path);index=arr.indexOf(item);if(index>=0){return this.splice(path,index,1);}}},transform:function(transform,node){node=node||this;node.style.webkitTransform=transform;node.style.transform=transform;},translate3d:function(x,y,z,node){node=node||this;this.transform('translate3d('+x+','+y+','+z+')',node);},importHref:function(href,onload,onerror,optAsync){var link=document.createElement('link');link.rel='import';link.href=href;var list=Polymer.Base.importHref.imported=Polymer.Base.importHref.imported||{};var cached=list[link.href];var imprt=cached||link;var self=this;if(onload){var loadListener=function(e){e.target.__firedLoad=true;e.target.removeEventListener('load',loadListener);return onload.call(self,e);};imprt.addEventListener('load',loadListener);}
-if(onerror){var errorListener=function(e){e.target.__firedError=true;e.target.removeEventListener('error',errorListener);return onerror.call(self,e);};imprt.addEventListener('error',errorListener);}
-if(cached){if(cached.__firedLoad){cached.dispatchEvent(new Event('load'));}
-if(cached.__firedError){cached.dispatchEvent(new Event('error'));}}else{list[link.href]=link;optAsync=Boolean(optAsync);if(optAsync){link.setAttribute('async','');}
-document.head.appendChild(link);}
-return imprt;},create:function(tag,props){var elt=document.createElement(tag);if(props){for(var n in props){elt[n]=props[n];}}
-return elt;},isLightDescendant:function(node){return this!==node&&this.contains(node)&&Polymer.dom(this).getOwnerRoot()===Polymer.dom(node).getOwnerRoot();},isLocalDescendant:function(node){return this.root===Polymer.dom(node).getOwnerRoot();}});if(!Polymer.Settings.useNativeCustomElements){var importHref=Polymer.Base.importHref;Polymer.Base.importHref=function(href,onload,onerror,optAsync){CustomElements.ready=false;var loadFn=function(e){CustomElements.upgradeDocumentTree(document);CustomElements.ready=true;if(onload){return onload.call(this,e);}};return importHref.call(this,href,loadFn,onerror,optAsync);};}}());Polymer.Bind={prepareModel:function(model){Polymer.Base.mixin(model,this._modelApi);},_modelApi:{_notifyChange:function(source,event,value){value=value===undefined?this[source]:value;event=event||Polymer.CaseMap.camelToDashCase(source)+'-changed';this.fire(event,{value:value},{bubbles:false,cancelable:false,_useCache:true});},_propertySetter:function(property,value,effects,fromAbove){var old=this.__data__[property];if(old!==value&&(old===old||value===value)){this.__data__[property]=value;if(typeof value=='object'){this._clearPath(property);}
-if(this._propertyChanged){this._propertyChanged(property,value,old);}
-if(effects){this._effectEffects(property,value,effects,old,fromAbove);}}
-return old;},__setProperty:function(property,value,quiet,node){node=node||this;var effects=node._propertyEffects&&node._propertyEffects[property];if(effects){node._propertySetter(property,value,effects,quiet);}else{node[property]=value;}},_effectEffects:function(property,value,effects,old,fromAbove){for(var i=0,l=effects.length,fx;i<l&&(fx=effects[i]);i++){fx.fn.call(this,property,this[property],fx.effect,old,fromAbove);}},_clearPath:function(path){for(var prop in this.__data__){if(prop.indexOf(path+'.')===0){this.__data__[prop]=undefined;}}}},ensurePropertyEffects:function(model,property){if(!model._propertyEffects){model._propertyEffects={};}
-var fx=model._propertyEffects[property];if(!fx){fx=model._propertyEffects[property]=[];}
-return fx;},addPropertyEffect:function(model,property,kind,effect){var fx=this.ensurePropertyEffects(model,property);var propEffect={kind:kind,effect:effect,fn:Polymer.Bind['_'+kind+'Effect']};fx.push(propEffect);return propEffect;},createBindings:function(model){var fx$=model._propertyEffects;if(fx$){for(var n in fx$){var fx=fx$[n];fx.sort(this._sortPropertyEffects);this._createAccessors(model,n,fx);}}},_sortPropertyEffects:function(){var EFFECT_ORDER={'compute':0,'annotation':1,'annotatedComputation':2,'reflect':3,'notify':4,'observer':5,'complexObserver':6,'function':7};return function(a,b){return EFFECT_ORDER[a.kind]-EFFECT_ORDER[b.kind];};}(),_createAccessors:function(model,property,effects){var defun={get:function(){return this.__data__[property];}};var setter=function(value){this._propertySetter(property,value,effects);};var info=model.getPropertyInfo&&model.getPropertyInfo(property);if(info&&info.readOnly){if(!info.computed){model['_set'+this.upper(property)]=setter;}}else{defun.set=setter;}
-Object.defineProperty(model,property,defun);},upper:function(name){return name[0].toUpperCase()+name.substring(1);},_addAnnotatedListener:function(model,index,property,path,event,negated){if(!model._bindListeners){model._bindListeners=[];}
-var fn=this._notedListenerFactory(property,path,this._isStructured(path),negated);var eventName=event||Polymer.CaseMap.camelToDashCase(property)+'-changed';model._bindListeners.push({index:index,property:property,path:path,changedFn:fn,event:eventName});},_isStructured:function(path){return path.indexOf('.')>0;},_isEventBogus:function(e,target){return e.path&&e.path[0]!==target;},_notedListenerFactory:function(property,path,isStructured,negated){return function(target,value,targetPath){if(targetPath){this._notifyPath(this._fixPath(path,property,targetPath),value);}else{value=target[property];if(negated){value=!value;}
-if(!isStructured){this[path]=value;}else{if(this.__data__[path]!=value){this.set(path,value);}}}};},prepareInstance:function(inst){inst.__data__=Object.create(null);},setupBindListeners:function(inst){var b$=inst._bindListeners;for(var i=0,l=b$.length,info;i<l&&(info=b$[i]);i++){var node=inst._nodes[info.index];this._addNotifyListener(node,inst,info.event,info.changedFn);}},_addNotifyListener:function(element,context,event,changedFn){element.addEventListener(event,function(e){return context._notifyListener(changedFn,e);});}};Polymer.Base.extend(Polymer.Bind,{_shouldAddListener:function(effect){return effect.name&&effect.kind!='attribute'&&effect.kind!='text'&&!effect.isCompound&&effect.parts[0].mode==='{';},_annotationEffect:function(source,value,effect){if(source!=effect.value){value=this._get(effect.value);this.__data__[effect.value]=value;}
-this._applyEffectValue(effect,value);},_reflectEffect:function(source,value,effect){this.reflectPropertyToAttribute(source,effect.attribute,value);},_notifyEffect:function(source,value,effect,old,fromAbove){if(!fromAbove){this._notifyChange(source,effect.event,value);}},_functionEffect:function(source,value,fn,old,fromAbove){fn.call(this,source,value,old,fromAbove);},_observerEffect:function(source,value,effect,old){var fn=this[effect.method];if(fn){fn.call(this,value,old);}else{this._warn(this._logf('_observerEffect','observer method `'+effect.method+'` not defined'));}},_complexObserverEffect:function(source,value,effect){var fn=this[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){fn.apply(this,args);}}else if(effect.dynamicFn){}else{this._warn(this._logf('_complexObserverEffect','observer method `'+effect.method+'` not defined'));}},_computeEffect:function(source,value,effect){var fn=this[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){var computedvalue=fn.apply(this,args);this.__setProperty(effect.name,computedvalue);}}else if(effect.dynamicFn){}else{this._warn(this._logf('_computeEffect','compute method `'+effect.method+'` not defined'));}},_annotatedComputationEffect:function(source,value,effect){var computedHost=this._rootDataHost||this;var fn=computedHost[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){var computedvalue=fn.apply(computedHost,args);this._applyEffectValue(effect,computedvalue);}}else if(effect.dynamicFn){}else{computedHost._warn(computedHost._logf('_annotatedComputationEffect','compute method `'+effect.method+'` not defined'));}},_marshalArgs:function(model,effect,path,value){var values=[];var args=effect.args;var bailoutEarly=args.length>1||effect.dynamicFn;for(var i=0,l=args.length;i<l;i++){var arg=args[i];var name=arg.name;var v;if(arg.literal){v=arg.value;}else if(path===name){v=value;}else{v=model[name];if(v===undefined&&arg.structured){v=Polymer.Base._get(name,model);}}
-if(bailoutEarly&&v===undefined){return;}
-if(arg.wildcard){var matches=path.indexOf(name+'.')===0;values[i]={path:matches?path:name,value:matches?value:v,base:v};}else{values[i]=v;}}
-return values;}});Polymer.Base._addFeature({_addPropertyEffect:function(property,kind,effect){var prop=Polymer.Bind.addPropertyEffect(this,property,kind,effect);prop.pathFn=this['_'+prop.kind+'PathEffect'];},_prepEffects:function(){Polymer.Bind.prepareModel(this);this._addAnnotationEffects(this._notes);},_prepBindings:function(){Polymer.Bind.createBindings(this);},_addPropertyEffects:function(properties){if(properties){for(var p in properties){var prop=properties[p];if(prop.observer){this._addObserverEffect(p,prop.observer);}
-if(prop.computed){prop.readOnly=true;this._addComputedEffect(p,prop.computed);}
-if(prop.notify){this._addPropertyEffect(p,'notify',{event:Polymer.CaseMap.camelToDashCase(p)+'-changed'});}
-if(prop.reflectToAttribute){var attr=Polymer.CaseMap.camelToDashCase(p);if(attr[0]==='-'){this._warn(this._logf('_addPropertyEffects','Property '+p+' cannot be reflected to attribute '+attr+' because "-" is not a valid starting attribute name. Use a lowercase first letter for the property instead.'));}else{this._addPropertyEffect(p,'reflect',{attribute:attr});}}
-if(prop.readOnly){Polymer.Bind.ensurePropertyEffects(this,p);}}}},_addComputedEffect:function(name,expression){var sig=this._parseMethod(expression);var dynamicFn=sig.dynamicFn;for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){this._addPropertyEffect(arg.model,'compute',{method:sig.method,args:sig.args,trigger:arg,name:name,dynamicFn:dynamicFn});}
-if(dynamicFn){this._addPropertyEffect(sig.method,'compute',{method:sig.method,args:sig.args,trigger:null,name:name,dynamicFn:dynamicFn});}},_addObserverEffect:function(property,observer){this._addPropertyEffect(property,'observer',{method:observer,property:property});},_addComplexObserverEffects:function(observers){if(observers){for(var i=0,o;i<observers.length&&(o=observers[i]);i++){this._addComplexObserverEffect(o);}}},_addComplexObserverEffect:function(observer){var sig=this._parseMethod(observer);if(!sig){throw new Error('Malformed observer expression \''+observer+'\'');}
-var dynamicFn=sig.dynamicFn;for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){this._addPropertyEffect(arg.model,'complexObserver',{method:sig.method,args:sig.args,trigger:arg,dynamicFn:dynamicFn});}
-if(dynamicFn){this._addPropertyEffect(sig.method,'complexObserver',{method:sig.method,args:sig.args,trigger:null,dynamicFn:dynamicFn});}},_addAnnotationEffects:function(notes){for(var i=0,note;i<notes.length&&(note=notes[i]);i++){var b$=note.bindings;for(var j=0,binding;j<b$.length&&(binding=b$[j]);j++){this._addAnnotationEffect(binding,i);}}},_addAnnotationEffect:function(note,index){if(Polymer.Bind._shouldAddListener(note)){Polymer.Bind._addAnnotatedListener(this,index,note.name,note.parts[0].value,note.parts[0].event,note.parts[0].negate);}
-for(var i=0;i<note.parts.length;i++){var part=note.parts[i];if(part.signature){this._addAnnotatedComputationEffect(note,part,index);}else if(!part.literal){if(note.kind==='attribute'&&note.name[0]==='-'){this._warn(this._logf('_addAnnotationEffect','Cannot set attribute '+note.name+' because "-" is not a valid attribute starting character'));}else{this._addPropertyEffect(part.model,'annotation',{kind:note.kind,index:index,name:note.name,propertyName:note.propertyName,value:part.value,isCompound:note.isCompound,compoundIndex:part.compoundIndex,event:part.event,customEvent:part.customEvent,negate:part.negate});}}}},_addAnnotatedComputationEffect:function(note,part,index){var sig=part.signature;if(sig.static){this.__addAnnotatedComputationEffect('__static__',index,note,part,null);}else{for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){if(!arg.literal){this.__addAnnotatedComputationEffect(arg.model,index,note,part,arg);}}
-if(sig.dynamicFn){this.__addAnnotatedComputationEffect(sig.method,index,note,part,null);}}},__addAnnotatedComputationEffect:function(property,index,note,part,trigger){this._addPropertyEffect(property,'annotatedComputation',{index:index,isCompound:note.isCompound,compoundIndex:part.compoundIndex,kind:note.kind,name:note.name,negate:part.negate,method:part.signature.method,args:part.signature.args,trigger:trigger,dynamicFn:part.signature.dynamicFn});},_parseMethod:function(expression){var m=expression.match(/([^\s]+?)\(([\s\S]*)\)/);if(m){var sig={method:m[1],static:true};if(this.getPropertyInfo(sig.method)!==Polymer.nob){sig.static=false;sig.dynamicFn=true;}
-if(m[2].trim()){var args=m[2].replace(/\\,/g,'&comma;').split(',');return this._parseArgs(args,sig);}else{sig.args=Polymer.nar;return sig;}}},_parseArgs:function(argList,sig){sig.args=argList.map(function(rawArg){var arg=this._parseArg(rawArg);if(!arg.literal){sig.static=false;}
-return arg;},this);return sig;},_parseArg:function(rawArg){var arg=rawArg.trim().replace(/&comma;/g,',').replace(/\\(.)/g,'$1');var a={name:arg};var fc=arg[0];if(fc==='-'){fc=arg[1];}
-if(fc>='0'&&fc<='9'){fc='#';}
-switch(fc){case'\'':case'"':a.value=arg.slice(1,-1);a.literal=true;break;case'#':a.value=Number(arg);a.literal=true;break;}
-if(!a.literal){a.model=this._modelForPath(arg);a.structured=arg.indexOf('.')>0;if(a.structured){a.wildcard=arg.slice(-2)=='.*';if(a.wildcard){a.name=arg.slice(0,-2);}}}
-return a;},_marshalInstanceEffects:function(){Polymer.Bind.prepareInstance(this);if(this._bindListeners){Polymer.Bind.setupBindListeners(this);}},_applyEffectValue:function(info,value){var node=this._nodes[info.index];var property=info.name;value=this._computeFinalAnnotationValue(node,property,value,info);if(info.customEvent&&node[property]===value){return;}
-if(info.kind=='attribute'){this.serializeValueToAttribute(value,property,node);}else{var pinfo=node._propertyInfo&&node._propertyInfo[property];if(pinfo&&pinfo.readOnly){return;}
-this.__setProperty(property,value,false,node);}},_computeFinalAnnotationValue:function(node,property,value,info){if(info.negate){value=!value;}
-if(info.isCompound){var storage=node.__compoundStorage__[property];storage[info.compoundIndex]=value;value=storage.join('');}
-if(info.kind!=='attribute'){if(property==='className'){value=this._scopeElementClass(node,value);}
-if(property==='textContent'||node.localName=='input'&&property=='value'){value=value==undefined?'':value;}}
-return value;},_executeStaticEffects:function(){if(this._propertyEffects&&this._propertyEffects.__static__){this._effectEffects('__static__',null,this._propertyEffects.__static__);}}});(function(){var usePolyfillProto=Polymer.Settings.usePolyfillProto;Polymer.Base._addFeature({_setupConfigure:function(initialConfig){this._config={};this._handlers=[];this._aboveConfig=null;if(initialConfig){for(var i in initialConfig){if(initialConfig[i]!==undefined){this._config[i]=initialConfig[i];}}}},_marshalAttributes:function(){this._takeAttributesToModel(this._config);},_attributeChangedImpl:function(name){var model=this._clientsReadied?this:this._config;this._setAttributeToProperty(model,name);},_configValue:function(name,value){var info=this._propertyInfo[name];if(!info||!info.readOnly){this._config[name]=value;}},_beforeClientsReady:function(){this._configure();},_configure:function(){this._configureAnnotationReferences();this._aboveConfig=this.mixin({},this._config);var config={};for(var i=0;i<this.behaviors.length;i++){this._configureProperties(this.behaviors[i].properties,config);}
-this._configureProperties(this.properties,config);this.mixin(config,this._aboveConfig);this._config=config;if(this._clients&&this._clients.length){this._distributeConfig(this._config);}},_configureProperties:function(properties,config){for(var i in properties){var c=properties[i];if(!usePolyfillProto&&this.hasOwnProperty(i)&&this._propertyEffects&&this._propertyEffects[i]){config[i]=this[i];delete this[i];}else if(c.value!==undefined){var value=c.value;if(typeof value=='function'){value=value.call(this,this._config);}
-config[i]=value;}}},_distributeConfig:function(config){var fx$=this._propertyEffects;if(fx$){for(var p in config){var fx=fx$[p];if(fx){for(var i=0,l=fx.length,x;i<l&&(x=fx[i]);i++){if(x.kind==='annotation'){var node=this._nodes[x.effect.index];var name=x.effect.propertyName;var isAttr=x.effect.kind=='attribute';var hasEffect=node._propertyEffects&&node._propertyEffects[name];if(node._configValue&&(hasEffect||!isAttr)){var value=p===x.effect.value?config[p]:this._get(x.effect.value,config);value=this._computeFinalAnnotationValue(node,name,value,x.effect);if(isAttr){value=node.deserialize(this.serialize(value),node._propertyInfo[name].type);}
-node._configValue(name,value);}}}}}}},_afterClientsReady:function(){this._executeStaticEffects();this._applyConfig(this._config,this._aboveConfig);this._flushHandlers();},_applyConfig:function(config,aboveConfig){for(var n in config){if(this[n]===undefined){this.__setProperty(n,config[n],n in aboveConfig);}}},_notifyListener:function(fn,e){if(!Polymer.Bind._isEventBogus(e,e.target)){var value,path;if(e.detail){value=e.detail.value;path=e.detail.path;}
-if(!this._clientsReadied){this._queueHandler([fn,e.target,value,path]);}else{return fn.call(this,e.target,value,path);}}},_queueHandler:function(args){this._handlers.push(args);},_flushHandlers:function(){var h$=this._handlers;for(var i=0,l=h$.length,h;i<l&&(h=h$[i]);i++){h[0].call(this,h[1],h[2],h[3]);}
-this._handlers=[];}});}());(function(){'use strict';Polymer.Base._addFeature({notifyPath:function(path,value,fromAbove){var info={};var v=this._get(path,this,info);if(arguments.length===1){value=v;}
-if(info.path){this._notifyPath(info.path,value,fromAbove);}},_notifyPath:function(path,value,fromAbove){var old=this._propertySetter(path,value);if(old!==value&&(old===old||value===value)){this._pathEffector(path,value);if(!fromAbove){this._notifyPathUp(path,value);}
-return true;}},_getPathParts:function(path){if(Array.isArray(path)){var parts=[];for(var i=0;i<path.length;i++){var args=path[i].toString().split('.');for(var j=0;j<args.length;j++){parts.push(args[j]);}}
-return parts;}else{return path.toString().split('.');}},set:function(path,value,root){var prop=root||this;var parts=this._getPathParts(path);var array;var last=parts[parts.length-1];if(parts.length>1){for(var i=0;i<parts.length-1;i++){var part=parts[i];if(array&&part[0]=='#'){prop=Polymer.Collection.get(array).getItem(part);}else{prop=prop[part];if(array&&parseInt(part,10)==part){parts[i]=Polymer.Collection.get(array).getKey(prop);}}
-if(!prop){return;}
-array=Array.isArray(prop)?prop:null;}
-if(array){var coll=Polymer.Collection.get(array);var old,key;if(last[0]=='#'){key=last;old=coll.getItem(key);last=array.indexOf(old);coll.setItem(key,value);}else if(parseInt(last,10)==last){old=prop[last];key=coll.getKey(old);parts[i]=key;coll.setItem(key,value);}}
-prop[last]=value;if(!root){this._notifyPath(parts.join('.'),value);}}else{prop[path]=value;}},get:function(path,root){return this._get(path,root);},_get:function(path,root,info){var prop=root||this;var parts=this._getPathParts(path);var array;for(var i=0;i<parts.length;i++){if(!prop){return;}
-var part=parts[i];if(array&&part[0]=='#'){prop=Polymer.Collection.get(array).getItem(part);}else{prop=prop[part];if(info&&array&&parseInt(part,10)==part){parts[i]=Polymer.Collection.get(array).getKey(prop);}}
-array=Array.isArray(prop)?prop:null;}
-if(info){info.path=parts.join('.');}
-return prop;},_pathEffector:function(path,value){var model=this._modelForPath(path);var fx$=this._propertyEffects&&this._propertyEffects[model];if(fx$){for(var i=0,fx;i<fx$.length&&(fx=fx$[i]);i++){var fxFn=fx.pathFn;if(fxFn){fxFn.call(this,path,value,fx.effect);}}}
-if(this._boundPaths){this._notifyBoundPaths(path,value);}},_annotationPathEffect:function(path,value,effect){if(effect.value===path||effect.value.indexOf(path+'.')===0){Polymer.Bind._annotationEffect.call(this,path,value,effect);}else if(path.indexOf(effect.value+'.')===0&&!effect.negate){var node=this._nodes[effect.index];if(node&&node._notifyPath){var p=this._fixPath(effect.name,effect.value,path);node._notifyPath(p,value,true);}}},_complexObserverPathEffect:function(path,value,effect){if(this._pathMatchesEffect(path,effect)){Polymer.Bind._complexObserverEffect.call(this,path,value,effect);}},_computePathEffect:function(path,value,effect){if(this._pathMatchesEffect(path,effect)){Polymer.Bind._computeEffect.call(this,path,value,effect);}},_annotatedComputationPathEffect:function(path,value,effect){if(this._pathMatchesEffect(path,effect)){Polymer.Bind._annotatedComputationEffect.call(this,path,value,effect);}},_pathMatchesEffect:function(path,effect){var effectArg=effect.trigger.name;return effectArg==path||effectArg.indexOf(path+'.')===0||effect.trigger.wildcard&&path.indexOf(effectArg+'.')===0;},linkPaths:function(to,from){this._boundPaths=this._boundPaths||{};if(from){this._boundPaths[to]=from;}else{this.unlinkPaths(to);}},unlinkPaths:function(path){if(this._boundPaths){delete this._boundPaths[path];}},_notifyBoundPaths:function(path,value){for(var a in this._boundPaths){var b=this._boundPaths[a];if(path.indexOf(a+'.')==0){this._notifyPath(this._fixPath(b,a,path),value);}else if(path.indexOf(b+'.')==0){this._notifyPath(this._fixPath(a,b,path),value);}}},_fixPath:function(property,root,path){return property+path.slice(root.length);},_notifyPathUp:function(path,value){var rootName=this._modelForPath(path);var dashCaseName=Polymer.CaseMap.camelToDashCase(rootName);var eventName=dashCaseName+this._EVENT_CHANGED;this.fire(eventName,{path:path,value:value},{bubbles:false,_useCache:true});},_modelForPath:function(path){var dot=path.indexOf('.');return dot<0?path:path.slice(0,dot);},_EVENT_CHANGED:'-changed',notifySplices:function(path,splices){var info={};var array=this._get(path,this,info);this._notifySplices(array,info.path,splices);},_notifySplices:function(array,path,splices){var change={keySplices:Polymer.Collection.applySplices(array,splices),indexSplices:splices};var splicesPath=path+'.splices';this._notifyPath(splicesPath,change);this._notifyPath(path+'.length',array.length);this.__data__[splicesPath]={keySplices:null,indexSplices:null};},_notifySplice:function(array,path,index,added,removed){this._notifySplices(array,path,[{index:index,addedCount:added,removed:removed,object:array,type:'splice'}]);},push:function(path){var info={};var array=this._get(path,this,info);var args=Array.prototype.slice.call(arguments,1);var len=array.length;var ret=array.push.apply(array,args);if(args.length){this._notifySplice(array,info.path,len,args.length,[]);}
-return ret;},pop:function(path){var info={};var array=this._get(path,this,info);var hadLength=Boolean(array.length);var args=Array.prototype.slice.call(arguments,1);var ret=array.pop.apply(array,args);if(hadLength){this._notifySplice(array,info.path,array.length,0,[ret]);}
-return ret;},splice:function(path,start){var info={};var array=this._get(path,this,info);if(start<0){start=array.length-Math.floor(-start);}else{start=Math.floor(start);}
-if(!start){start=0;}
-var args=Array.prototype.slice.call(arguments,1);var ret=array.splice.apply(array,args);var addedCount=Math.max(args.length-2,0);if(addedCount||ret.length){this._notifySplice(array,info.path,start,addedCount,ret);}
-return ret;},shift:function(path){var info={};var array=this._get(path,this,info);var hadLength=Boolean(array.length);var args=Array.prototype.slice.call(arguments,1);var ret=array.shift.apply(array,args);if(hadLength){this._notifySplice(array,info.path,0,0,[ret]);}
-return ret;},unshift:function(path){var info={};var array=this._get(path,this,info);var args=Array.prototype.slice.call(arguments,1);var ret=array.unshift.apply(array,args);if(args.length){this._notifySplice(array,info.path,0,args.length,[]);}
-return ret;},prepareModelNotifyPath:function(model){this.mixin(model,{fire:Polymer.Base.fire,_getEvent:Polymer.Base._getEvent,__eventCache:Polymer.Base.__eventCache,notifyPath:Polymer.Base.notifyPath,_get:Polymer.Base._get,_EVENT_CHANGED:Polymer.Base._EVENT_CHANGED,_notifyPath:Polymer.Base._notifyPath,_notifyPathUp:Polymer.Base._notifyPathUp,_pathEffector:Polymer.Base._pathEffector,_annotationPathEffect:Polymer.Base._annotationPathEffect,_complexObserverPathEffect:Polymer.Base._complexObserverPathEffect,_annotatedComputationPathEffect:Polymer.Base._annotatedComputationPathEffect,_computePathEffect:Polymer.Base._computePathEffect,_modelForPath:Polymer.Base._modelForPath,_pathMatchesEffect:Polymer.Base._pathMatchesEffect,_notifyBoundPaths:Polymer.Base._notifyBoundPaths,_getPathParts:Polymer.Base._getPathParts});}});}());Polymer.Base._addFeature({resolveUrl:function(url){var module=Polymer.DomModule.import(this.is);var root='';if(module){var assetPath=module.getAttribute('assetpath')||'';root=Polymer.ResolveUrl.resolveUrl(assetPath,module.ownerDocument.baseURI);}
-return Polymer.ResolveUrl.resolveUrl(url,root);}});Polymer.CssParse=function(){return{parse:function(text){text=this._clean(text);return this._parseCss(this._lex(text),text);},_clean:function(cssText){return cssText.replace(this._rx.comments,'').replace(this._rx.port,'');},_lex:function(text){var root={start:0,end:text.length};var n=root;for(var i=0,l=text.length;i<l;i++){switch(text[i]){case this.OPEN_BRACE:if(!n.rules){n.rules=[];}
-var p=n;var previous=p.rules[p.rules.length-1];n={start:i+1,parent:p,previous:previous};p.rules.push(n);break;case this.CLOSE_BRACE:n.end=i+1;n=n.parent||root;break;}}
-return root;},_parseCss:function(node,text){var t=text.substring(node.start,node.end-1);node.parsedCssText=node.cssText=t.trim();if(node.parent){var ss=node.previous?node.previous.end:node.parent.start;t=text.substring(ss,node.start-1);t=this._expandUnicodeEscapes(t);t=t.replace(this._rx.multipleSpaces,' ');t=t.substring(t.lastIndexOf(';')+1);var s=node.parsedSelector=node.selector=t.trim();node.atRule=s.indexOf(this.AT_START)===0;if(node.atRule){if(s.indexOf(this.MEDIA_START)===0){node.type=this.types.MEDIA_RULE;}else if(s.match(this._rx.keyframesRule)){node.type=this.types.KEYFRAMES_RULE;node.keyframesName=node.selector.split(this._rx.multipleSpaces).pop();}}else{if(s.indexOf(this.VAR_START)===0){node.type=this.types.MIXIN_RULE;}else{node.type=this.types.STYLE_RULE;}}}
-var r$=node.rules;if(r$){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){this._parseCss(r,text);}}
-return node;},_expandUnicodeEscapes:function(s){return s.replace(/\\([0-9a-f]{1,6})\s/gi,function(){var code=arguments[1],repeat=6-code.length;while(repeat--){code='0'+code;}
-return'\\'+code;});},stringify:function(node,preserveProperties,text){text=text||'';var cssText='';if(node.cssText||node.rules){var r$=node.rules;if(r$&&!this._hasMixinRules(r$)){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){cssText=this.stringify(r,preserveProperties,cssText);}}else{cssText=preserveProperties?node.cssText:this.removeCustomProps(node.cssText);cssText=cssText.trim();if(cssText){cssText='  '+cssText+'\n';}}}
-if(cssText){if(node.selector){text+=node.selector+' '+this.OPEN_BRACE+'\n';}
-text+=cssText;if(node.selector){text+=this.CLOSE_BRACE+'\n\n';}}
-return text;},_hasMixinRules:function(rules){return rules[0].selector.indexOf(this.VAR_START)===0;},removeCustomProps:function(cssText){cssText=this.removeCustomPropAssignment(cssText);return this.removeCustomPropApply(cssText);},removeCustomPropAssignment:function(cssText){return cssText.replace(this._rx.customProp,'').replace(this._rx.mixinProp,'');},removeCustomPropApply:function(cssText){return cssText.replace(this._rx.mixinApply,'').replace(this._rx.varApply,'');},types:{STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE:1000},OPEN_BRACE:'{',CLOSE_BRACE:'}',_rx:{comments:/\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*keyframes/,multipleSpaces:/\s+/g},VAR_START:'--',MEDIA_START:'@media',AT_START:'@'};}();Polymer.StyleUtil=function(){var settings=Polymer.Settings;return{NATIVE_VARIABLES:Polymer.Settings.useNativeCSSProperties,MODULE_STYLES_SELECTOR:'style, link[rel=import][type~=css], template',INCLUDE_ATTR:'include',toCssText:function(rules,callback){if(typeof rules==='string'){rules=this.parser.parse(rules);}
-if(callback){this.forEachRule(rules,callback);}
-return this.parser.stringify(rules,this.NATIVE_VARIABLES);},forRulesInStyles:function(styles,styleRuleCallback,keyframesRuleCallback){if(styles){for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){this.forEachRuleInStyle(s,styleRuleCallback,keyframesRuleCallback);}}},forActiveRulesInStyles:function(styles,styleRuleCallback,keyframesRuleCallback){if(styles){for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){this.forEachRuleInStyle(s,styleRuleCallback,keyframesRuleCallback,true);}}},rulesForStyle:function(style){if(!style.__cssRules&&style.textContent){style.__cssRules=this.parser.parse(style.textContent);}
-return style.__cssRules;},isKeyframesSelector:function(rule){return rule.parent&&rule.parent.type===this.ruleTypes.KEYFRAMES_RULE;},forEachRuleInStyle:function(style,styleRuleCallback,keyframesRuleCallback,onlyActiveRules){var rules=this.rulesForStyle(style);var styleCallback,keyframeCallback;if(styleRuleCallback){styleCallback=function(rule){styleRuleCallback(rule,style);};}
-if(keyframesRuleCallback){keyframeCallback=function(rule){keyframesRuleCallback(rule,style);};}
-this.forEachRule(rules,styleCallback,keyframeCallback,onlyActiveRules);},forEachRule:function(node,styleRuleCallback,keyframesRuleCallback,onlyActiveRules){if(!node){return;}
-var skipRules=false;if(onlyActiveRules){if(node.type===this.ruleTypes.MEDIA_RULE){var matchMedia=node.selector.match(this.rx.MEDIA_MATCH);if(matchMedia){if(!window.matchMedia(matchMedia[1]).matches){skipRules=true;}}}}
-if(node.type===this.ruleTypes.STYLE_RULE){styleRuleCallback(node);}else if(keyframesRuleCallback&&node.type===this.ruleTypes.KEYFRAMES_RULE){keyframesRuleCallback(node);}else if(node.type===this.ruleTypes.MIXIN_RULE){skipRules=true;}
-var r$=node.rules;if(r$&&!skipRules){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){this.forEachRule(r,styleRuleCallback,keyframesRuleCallback,onlyActiveRules);}}},applyCss:function(cssText,moniker,target,contextNode){var style=this.createScopeStyle(cssText,moniker);return this.applyStyle(style,target,contextNode);},applyStyle:function(style,target,contextNode){target=target||document.head;var after=contextNode&&contextNode.nextSibling||target.firstChild;this.__lastHeadApplyNode=style;return target.insertBefore(style,after);},createScopeStyle:function(cssText,moniker){var style=document.createElement('style');if(moniker){style.setAttribute('scope',moniker);}
-style.textContent=cssText;return style;},__lastHeadApplyNode:null,applyStylePlaceHolder:function(moniker){var placeHolder=document.createComment(' Shady DOM styles for '+moniker+' ');var after=this.__lastHeadApplyNode?this.__lastHeadApplyNode.nextSibling:null;var scope=document.head;scope.insertBefore(placeHolder,after||scope.firstChild);this.__lastHeadApplyNode=placeHolder;return placeHolder;},cssFromModules:function(moduleIds,warnIfNotFound){var modules=moduleIds.trim().split(' ');var cssText='';for(var i=0;i<modules.length;i++){cssText+=this.cssFromModule(modules[i],warnIfNotFound);}
-return cssText;},cssFromModule:function(moduleId,warnIfNotFound){var m=Polymer.DomModule.import(moduleId);if(m&&!m._cssText){m._cssText=this.cssFromElement(m);}
-if(!m&&warnIfNotFound){console.warn('Could not find style data in module named',moduleId);}
-return m&&m._cssText||'';},cssFromElement:function(element){var cssText='';var content=element.content||element;var e$=Polymer.TreeApi.arrayCopy(content.querySelectorAll(this.MODULE_STYLES_SELECTOR));for(var i=0,e;i<e$.length;i++){e=e$[i];if(e.localName==='template'){cssText+=this.cssFromElement(e);}else{if(e.localName==='style'){var include=e.getAttribute(this.INCLUDE_ATTR);if(include){cssText+=this.cssFromModules(include,true);}
-e=e.__appliedElement||e;e.parentNode.removeChild(e);cssText+=this.resolveCss(e.textContent,element.ownerDocument);}else if(e.import&&e.import.body){cssText+=this.resolveCss(e.import.body.textContent,e.import);}}}
-return cssText;},isTargetedBuild:function(buildType){return settings.useNativeShadow?buildType==='shadow':buildType==='shady';},cssBuildTypeForModule:function(module){var dm=Polymer.DomModule.import(module);if(dm){return this.getCssBuildType(dm);}},getCssBuildType:function(element){return element.getAttribute('css-build');},rx:{VAR_ASSIGN:/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\s}])|$)/gi,MIXIN_MATCH:/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,VAR_MATCH:/(^|\W+)var\([\s]*([^,)]*)[\s]*,?[\s]*((?:[^,()]*)|(?:[^;()]*\([^;)]*\)+))[\s]*?\)/gi,VAR_CONSUMED:/(--[\w-]+)\s*([:,;)]|$)/gi,ANIMATION_MATCH:/(animation\s*:)|(animation-name\s*:)/,MEDIA_MATCH:/@media[^(]*(\([^)]*\))/,IS_VAR:/^--/,BRACKETED:/\{[^}]*\}/g,HOST_PREFIX:'(?:^|[^.#[:])',HOST_SUFFIX:'($|[.:[\\s>+~])'},resolveCss:Polymer.ResolveUrl.resolveCss,parser:Polymer.CssParse,ruleTypes:Polymer.CssParse.types};}();Polymer.StyleTransformer=function(){var styleUtil=Polymer.StyleUtil;var settings=Polymer.Settings;var api={dom:function(node,scope,useAttr,shouldRemoveScope){this._transformDom(node,scope||'',useAttr,shouldRemoveScope);},_transformDom:function(node,selector,useAttr,shouldRemoveScope){if(node.setAttribute){this.element(node,selector,useAttr,shouldRemoveScope);}
-var c$=Polymer.dom(node).childNodes;for(var i=0;i<c$.length;i++){this._transformDom(c$[i],selector,useAttr,shouldRemoveScope);}},element:function(element,scope,useAttr,shouldRemoveScope){if(useAttr){if(shouldRemoveScope){element.removeAttribute(SCOPE_NAME);}else{element.setAttribute(SCOPE_NAME,scope);}}else{if(scope){if(element.classList){if(shouldRemoveScope){element.classList.remove(SCOPE_NAME);element.classList.remove(scope);}else{element.classList.add(SCOPE_NAME);element.classList.add(scope);}}else if(element.getAttribute){var c=element.getAttribute(CLASS);if(shouldRemoveScope){if(c){element.setAttribute(CLASS,c.replace(SCOPE_NAME,'').replace(scope,''));}}else{element.setAttribute(CLASS,(c?c+' ':'')+SCOPE_NAME+' '+scope);}}}}},elementStyles:function(element,callback){var styles=element._styles;var cssText='';var cssBuildType=element.__cssBuild;for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){var rules=styleUtil.rulesForStyle(s);cssText+=settings.useNativeShadow||cssBuildType==='shady'?styleUtil.toCssText(rules,callback):this.css(rules,element.is,element.extends,callback,element._scopeCssViaAttr)+'\n\n';}
-return cssText.trim();},css:function(rules,scope,ext,callback,useAttr){var hostScope=this._calcHostScope(scope,ext);scope=this._calcElementScope(scope,useAttr);var self=this;return styleUtil.toCssText(rules,function(rule){if(!rule.isScoped){self.rule(rule,scope,hostScope);rule.isScoped=true;}
-if(callback){callback(rule,scope,hostScope);}});},_calcElementScope:function(scope,useAttr){if(scope){return useAttr?CSS_ATTR_PREFIX+scope+CSS_ATTR_SUFFIX:CSS_CLASS_PREFIX+scope;}else{return'';}},_calcHostScope:function(scope,ext){return ext?'[is='+scope+']':scope;},rule:function(rule,scope,hostScope){this._transformRule(rule,this._transformComplexSelector,scope,hostScope);},_transformRule:function(rule,transformer,scope,hostScope){rule.selector=rule.transformedSelector=this._transformRuleCss(rule,transformer,scope,hostScope);},_transformRuleCss:function(rule,transformer,scope,hostScope){var p$=rule.selector.split(COMPLEX_SELECTOR_SEP);if(!styleUtil.isKeyframesSelector(rule)){for(var i=0,l=p$.length,p;i<l&&(p=p$[i]);i++){p$[i]=transformer.call(this,p,scope,hostScope);}}
-return p$.join(COMPLEX_SELECTOR_SEP);},_transformComplexSelector:function(selector,scope,hostScope){var stop=false;var hostContext=false;var self=this;selector=selector.trim();selector=selector.replace(CONTENT_START,HOST+' $1');selector=selector.replace(SIMPLE_SELECTOR_SEP,function(m,c,s){if(!stop){var info=self._transformCompoundSelector(s,c,scope,hostScope);stop=stop||info.stop;hostContext=hostContext||info.hostContext;c=info.combinator;s=info.value;}else{s=s.replace(SCOPE_JUMP,' ');}
-return c+s;});if(hostContext){selector=selector.replace(HOST_CONTEXT_PAREN,function(m,pre,paren,post){return pre+paren+' '+hostScope+post+COMPLEX_SELECTOR_SEP+' '+pre+hostScope+paren+post;});}
-return selector;},_transformCompoundSelector:function(selector,combinator,scope,hostScope){var jumpIndex=selector.search(SCOPE_JUMP);var hostContext=false;if(selector.indexOf(HOST_CONTEXT)>=0){hostContext=true;}else if(selector.indexOf(HOST)>=0){selector=this._transformHostSelector(selector,hostScope);}else if(jumpIndex!==0){selector=scope?this._transformSimpleSelector(selector,scope):selector;}
-if(selector.indexOf(CONTENT)>=0){combinator='';}
-var stop;if(jumpIndex>=0){selector=selector.replace(SCOPE_JUMP,' ');stop=true;}
-return{value:selector,combinator:combinator,stop:stop,hostContext:hostContext};},_transformSimpleSelector:function(selector,scope){var p$=selector.split(PSEUDO_PREFIX);p$[0]+=scope;return p$.join(PSEUDO_PREFIX);},_transformHostSelector:function(selector,hostScope){var m=selector.match(HOST_PAREN);var paren=m&&m[2].trim()||'';if(paren){if(!paren[0].match(SIMPLE_SELECTOR_PREFIX)){var typeSelector=paren.split(SIMPLE_SELECTOR_PREFIX)[0];if(typeSelector===hostScope){return paren;}else{return SELECTOR_NO_MATCH;}}else{return selector.replace(HOST_PAREN,function(m,host,paren){return hostScope+paren;});}}else{return selector.replace(HOST,hostScope);}},documentRule:function(rule){rule.selector=rule.parsedSelector;this.normalizeRootSelector(rule);if(!settings.useNativeShadow){this._transformRule(rule,this._transformDocumentSelector);}},normalizeRootSelector:function(rule){if(rule.selector===ROOT){rule.selector='html';}},_transformDocumentSelector:function(selector){return selector.match(SCOPE_JUMP)?this._transformComplexSelector(selector,SCOPE_DOC_SELECTOR):this._transformSimpleSelector(selector.trim(),SCOPE_DOC_SELECTOR);},SCOPE_NAME:'style-scope'};var SCOPE_NAME=api.SCOPE_NAME;var SCOPE_DOC_SELECTOR=':not(['+SCOPE_NAME+'])'+':not(.'+SCOPE_NAME+')';var COMPLEX_SELECTOR_SEP=',';var SIMPLE_SELECTOR_SEP=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=\[])+)/g;var SIMPLE_SELECTOR_PREFIX=/[[.:#*]/;var HOST=':host';var ROOT=':root';var HOST_PAREN=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/;var HOST_CONTEXT=':host-context';var HOST_CONTEXT_PAREN=/(.*)(?::host-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/;var CONTENT='::content';var SCOPE_JUMP=/::content|::shadow|\/deep\//;var CSS_CLASS_PREFIX='.';var CSS_ATTR_PREFIX='['+SCOPE_NAME+'~=';var CSS_ATTR_SUFFIX=']';var PSEUDO_PREFIX=':';var CLASS='class';var CONTENT_START=new RegExp('^('+CONTENT+')');var SELECTOR_NO_MATCH='should_not_match';return api;}();Polymer.StyleExtends=function(){var styleUtil=Polymer.StyleUtil;return{hasExtends:function(cssText){return Boolean(cssText.match(this.rx.EXTEND));},transform:function(style){var rules=styleUtil.rulesForStyle(style);var self=this;styleUtil.forEachRule(rules,function(rule){self._mapRuleOntoParent(rule);if(rule.parent){var m;while(m=self.rx.EXTEND.exec(rule.cssText)){var extend=m[1];var extendor=self._findExtendor(extend,rule);if(extendor){self._extendRule(rule,extendor);}}}
-rule.cssText=rule.cssText.replace(self.rx.EXTEND,'');});return styleUtil.toCssText(rules,function(rule){if(rule.selector.match(self.rx.STRIP)){rule.cssText='';}},true);},_mapRuleOntoParent:function(rule){if(rule.parent){var map=rule.parent.map||(rule.parent.map={});var parts=rule.selector.split(',');for(var i=0,p;i<parts.length;i++){p=parts[i];map[p.trim()]=rule;}
-return map;}},_findExtendor:function(extend,rule){return rule.parent&&rule.parent.map&&rule.parent.map[extend]||this._findExtendor(extend,rule.parent);},_extendRule:function(target,source){if(target.parent!==source.parent){this._cloneAndAddRuleToParent(source,target.parent);}
-target.extends=target.extends||[];target.extends.push(source);source.selector=source.selector.replace(this.rx.STRIP,'');source.selector=(source.selector&&source.selector+',\n')+target.selector;if(source.extends){source.extends.forEach(function(e){this._extendRule(target,e);},this);}},_cloneAndAddRuleToParent:function(rule,parent){rule=Object.create(rule);rule.parent=parent;if(rule.extends){rule.extends=rule.extends.slice();}
-parent.rules.push(rule);},rx:{EXTEND:/@extends\(([^)]*)\)\s*?;/gim,STRIP:/%[^,]*$/}};}();Polymer.ApplyShim=function(){'use strict';var styleUtil=Polymer.StyleUtil;var MIXIN_MATCH=styleUtil.rx.MIXIN_MATCH;var VAR_ASSIGN=styleUtil.rx.VAR_ASSIGN;var VAR_MATCH=styleUtil.rx.VAR_MATCH;var APPLY_NAME_CLEAN=/;\s*/m;var MIXIN_VAR_SEP='_-_';var mixinMap={};function mapSet(name,prop){name=name.trim();mixinMap[name]=prop;}
-function mapGet(name){name=name.trim();return mixinMap[name];}
-function cssTextToMap(text){var props=text.split(';');var out={};for(var i=0,p,sp;i<props.length;i++){p=props[i];if(p){sp=p.split(':');if(sp.length>1){out[sp[0].trim()]=sp.slice(1).join(':');}}}
-return out;}
-function produceCssProperties(matchText,propertyName,valueProperty,valueMixin){if(valueProperty){VAR_MATCH.lastIndex=0;var m=VAR_MATCH.exec(valueProperty);if(m){var value=m[2];if(mapGet(value)){valueMixin='@apply '+value+';';}}}
-if(!valueMixin){return matchText;}
-var mixinAsProperties=consumeCssProperties(valueMixin);var prefix=matchText.slice(0,matchText.indexOf('--'));var mixinValues=cssTextToMap(mixinAsProperties);var oldProperties=mapGet(propertyName);var combinedProps=mixinValues;if(oldProperties){combinedProps=Polymer.Base.mixin(oldProperties,mixinValues);}else{mapSet(propertyName,combinedProps);}
-var out=[];var p,v;for(p in combinedProps){v=mixinValues[p];if(v===undefined){v='initial';}
-out.push(propertyName+MIXIN_VAR_SEP+p+': '+v);}
-return prefix+out.join('; ')+';';}
-function fixVars(matchText,prefix,value,fallback){if(!fallback||fallback.indexOf('--')!==0){return matchText;}
-return[prefix,'var(',value,', var(',fallback,'));'].join('');}
-function atApplyToCssProperties(mixinName,fallbacks){mixinName=mixinName.replace(APPLY_NAME_CLEAN,'');var vars=[];var mixinProperties=mapGet(mixinName);if(mixinProperties){var p,parts,f;for(p in mixinProperties){f=fallbacks&&fallbacks[p];parts=[p,': var(',mixinName,MIXIN_VAR_SEP,p];if(f){parts.push(',',f);}
-parts.push(')');vars.push(parts.join(''));}}
-return vars.join('; ');}
-function consumeCssProperties(text){var m;while(m=MIXIN_MATCH.exec(text)){var matchText=m[0];var mixinName=m[1];var idx=m.index;var applyPos=idx+matchText.indexOf('@apply');var afterApplyPos=idx+matchText.length;var textBeforeApply=text.slice(0,applyPos);var textAfterApply=text.slice(afterApplyPos);var defaults=cssTextToMap(textBeforeApply);var replacement=atApplyToCssProperties(mixinName,defaults);text=[textBeforeApply,replacement,textAfterApply].join('');MIXIN_MATCH.lastIndex=idx+replacement.length;}
-return text;}
-var ApplyShim={_map:mixinMap,_separator:MIXIN_VAR_SEP,transform:function(styles){styleUtil.forRulesInStyles(styles,this._boundTransformRule);},transformRule:function(rule){rule.cssText=this.transformCssText(rule.parsedCssText);if(rule.selector===':root'){rule.selector=':host > *';}},transformCssText:function(cssText){cssText=cssText.replace(VAR_MATCH,fixVars);cssText=cssText.replace(VAR_ASSIGN,produceCssProperties);return consumeCssProperties(cssText);}};ApplyShim._boundTransformRule=ApplyShim.transformRule.bind(ApplyShim);return ApplyShim;}();(function(){var prepElement=Polymer.Base._prepElement;var nativeShadow=Polymer.Settings.useNativeShadow;var styleUtil=Polymer.StyleUtil;var styleTransformer=Polymer.StyleTransformer;var styleExtends=Polymer.StyleExtends;var applyShim=Polymer.ApplyShim;var settings=Polymer.Settings;Polymer.Base._addFeature({_prepElement:function(element){if(this._encapsulateStyle&&this.__cssBuild!=='shady'){styleTransformer.element(element,this.is,this._scopeCssViaAttr);}
-prepElement.call(this,element);},_prepStyles:function(){if(this._encapsulateStyle===undefined){this._encapsulateStyle=!nativeShadow;}
-if(!nativeShadow){this._scopeStyle=styleUtil.applyStylePlaceHolder(this.is);}
-this.__cssBuild=styleUtil.cssBuildTypeForModule(this.is);},_prepShimStyles:function(){if(this._template){var hasTargetedCssBuild=styleUtil.isTargetedBuild(this.__cssBuild);if(settings.useNativeCSSProperties&&this.__cssBuild==='shadow'&&hasTargetedCssBuild){return;}
-this._styles=this._styles||this._collectStyles();if(settings.useNativeCSSProperties&&!this.__cssBuild){applyShim.transform(this._styles);}
-var cssText=settings.useNativeCSSProperties&&hasTargetedCssBuild?this._styles.length&&this._styles[0].textContent.trim():styleTransformer.elementStyles(this);this._prepStyleProperties();if(!this._needsStyleProperties()&&cssText){styleUtil.applyCss(cssText,this.is,nativeShadow?this._template.content:null,this._scopeStyle);}}else{this._styles=[];}},_collectStyles:function(){var styles=[];var cssText='',m$=this.styleModules;if(m$){for(var i=0,l=m$.length,m;i<l&&(m=m$[i]);i++){cssText+=styleUtil.cssFromModule(m);}}
-cssText+=styleUtil.cssFromModule(this.is);var p=this._template&&this._template.parentNode;if(this._template&&(!p||p.id.toLowerCase()!==this.is)){cssText+=styleUtil.cssFromElement(this._template);}
-if(cssText){var style=document.createElement('style');style.textContent=cssText;if(styleExtends.hasExtends(style.textContent)){cssText=styleExtends.transform(style);}
-styles.push(style);}
-return styles;},_elementAdd:function(node){if(this._encapsulateStyle){if(node.__styleScoped){node.__styleScoped=false;}else{styleTransformer.dom(node,this.is,this._scopeCssViaAttr);}}},_elementRemove:function(node){if(this._encapsulateStyle){styleTransformer.dom(node,this.is,this._scopeCssViaAttr,true);}},scopeSubtree:function(container,shouldObserve){if(nativeShadow){return;}
-var self=this;var scopify=function(node){if(node.nodeType===Node.ELEMENT_NODE){var className=node.getAttribute('class');node.setAttribute('class',self._scopeElementClass(node,className));var n$=node.querySelectorAll('*');for(var i=0,n;i<n$.length&&(n=n$[i]);i++){className=n.getAttribute('class');n.setAttribute('class',self._scopeElementClass(n,className));}}};scopify(container);if(shouldObserve){var mo=new MutationObserver(function(mxns){for(var i=0,m;i<mxns.length&&(m=mxns[i]);i++){if(m.addedNodes){for(var j=0;j<m.addedNodes.length;j++){scopify(m.addedNodes[j]);}}}});mo.observe(container,{childList:true,subtree:true});return mo;}}});}());Polymer.StyleProperties=function(){'use strict';var matchesSelector=Polymer.DomApi.matchesSelector;var styleUtil=Polymer.StyleUtil;var styleTransformer=Polymer.StyleTransformer;var settings=Polymer.Settings;return{decorateStyles:function(styles,scope){var self=this,props={},keyframes=[],ruleIndex=0;var scopeSelector=styleTransformer._calcHostScope(scope.is,scope.extends);styleUtil.forRulesInStyles(styles,function(rule,style){self.decorateRule(rule);rule.index=ruleIndex++;self.whenHostOrRootRule(scope,rule,style,function(info){if(rule.parent.type===styleUtil.ruleTypes.MEDIA_RULE){scope.__notStyleScopeCacheable=true;}
-if(info.isHost){var hostContextOrFunction=info.selector.split(' ').some(function(s){return s.indexOf(scopeSelector)===0&&s.length!==scopeSelector.length;});scope.__notStyleScopeCacheable=scope.__notStyleScopeCacheable||hostContextOrFunction;}});self.collectPropertiesInCssText(rule.propertyInfo.cssText,props);},function onKeyframesRule(rule){keyframes.push(rule);});styles._keyframes=keyframes;var names=[];for(var i in props){names.push(i);}
-return names;},decorateRule:function(rule){if(rule.propertyInfo){return rule.propertyInfo;}
-var info={},properties={};var hasProperties=this.collectProperties(rule,properties);if(hasProperties){info.properties=properties;rule.rules=null;}
-info.cssText=this.collectCssText(rule);rule.propertyInfo=info;return info;},collectProperties:function(rule,properties){var info=rule.propertyInfo;if(info){if(info.properties){Polymer.Base.mixin(properties,info.properties);return true;}}else{var m,rx=this.rx.VAR_ASSIGN;var cssText=rule.parsedCssText;var any;while(m=rx.exec(cssText)){properties[m[1].trim()]=(m[2]||m[3]).trim();any=true;}
-return any;}},collectCssText:function(rule){return this.collectConsumingCssText(rule.parsedCssText);},collectConsumingCssText:function(cssText){return cssText.replace(this.rx.BRACKETED,'').replace(this.rx.VAR_ASSIGN,'');},collectPropertiesInCssText:function(cssText,props){var m;while(m=this.rx.VAR_CONSUMED.exec(cssText)){var name=m[1];if(m[2]!==':'){props[name]=true;}}},reify:function(props){var names=Object.getOwnPropertyNames(props);for(var i=0,n;i<names.length;i++){n=names[i];props[n]=this.valueForProperty(props[n],props);}},valueForProperty:function(property,props){if(property){if(property.indexOf(';')>=0){property=this.valueForProperties(property,props);}else{var self=this;var fn=function(all,prefix,value,fallback){var propertyValue=self.valueForProperty(props[value],props)||self.valueForProperty(props[fallback]||fallback,props)||fallback;return prefix+(propertyValue||'');};property=property.replace(this.rx.VAR_MATCH,fn);}}
-return property&&property.trim()||'';},valueForProperties:function(property,props){var parts=property.split(';');for(var i=0,p,m;i<parts.length;i++){if(p=parts[i]){this.rx.MIXIN_MATCH.lastIndex=0;m=this.rx.MIXIN_MATCH.exec(p);if(m){p=this.valueForProperty(props[m[1]],props);}else{var colon=p.indexOf(':');if(colon!==-1){var pp=p.substring(colon);pp=pp.trim();pp=this.valueForProperty(pp,props)||pp;p=p.substring(0,colon)+pp;}}
-parts[i]=p&&p.lastIndexOf(';')===p.length-1?p.slice(0,-1):p||'';}}
-return parts.join(';');},applyProperties:function(rule,props){var output='';if(!rule.propertyInfo){this.decorateRule(rule);}
-if(rule.propertyInfo.cssText){output=this.valueForProperties(rule.propertyInfo.cssText,props);}
-rule.cssText=output;},applyKeyframeTransforms:function(rule,keyframeTransforms){var input=rule.cssText;var output=rule.cssText;if(rule.hasAnimations==null){rule.hasAnimations=this.rx.ANIMATION_MATCH.test(input);}
-if(rule.hasAnimations){var transform;if(rule.keyframeNamesToTransform==null){rule.keyframeNamesToTransform=[];for(var keyframe in keyframeTransforms){transform=keyframeTransforms[keyframe];output=transform(input);if(input!==output){input=output;rule.keyframeNamesToTransform.push(keyframe);}}}else{for(var i=0;i<rule.keyframeNamesToTransform.length;++i){transform=keyframeTransforms[rule.keyframeNamesToTransform[i]];input=transform(input);}
-output=input;}}
-rule.cssText=output;},propertyDataFromStyles:function(styles,element){var props={},self=this;var o=[];styleUtil.forActiveRulesInStyles(styles,function(rule){if(!rule.propertyInfo){self.decorateRule(rule);}
-var selectorToMatch=rule.transformedSelector||rule.parsedSelector;if(element&&rule.propertyInfo.properties&&selectorToMatch){if(matchesSelector.call(element,selectorToMatch)){self.collectProperties(rule,props);addToBitMask(rule.index,o);}}});return{properties:props,key:o};},whenHostOrRootRule:function(scope,rule,style,callback){if(!rule.propertyInfo){self.decorateRule(rule);}
-if(!rule.propertyInfo.properties){return;}
-var hostScope=scope.is?styleTransformer._calcHostScope(scope.is,scope.extends):'html';var parsedSelector=rule.parsedSelector;var isRoot=parsedSelector===':root';var isHost=parsedSelector.indexOf(':host')===0;var cssBuild=scope.__cssBuild||style.__cssBuild;if(cssBuild==='shady'){isRoot=parsedSelector===hostScope+'> *.'+hostScope||parsedSelector.indexOf('html')!==-1;isHost=!isRoot&&parsedSelector.indexOf(hostScope)===0;}
-if(cssBuild==='shadow'){isRoot=parsedSelector===':host > *'||parsedSelector==='html';isHost=isHost&&!isRoot;}
-if(!isRoot&&!isHost){return;}
-var selectorToMatch=hostScope;if(isHost){if(settings.useNativeShadow&&!rule.transformedSelector){rule.transformedSelector=styleTransformer._transformRuleCss(rule,styleTransformer._transformComplexSelector,scope.is,hostScope);}
-selectorToMatch=rule.transformedSelector||hostScope;}
-callback({selector:selectorToMatch,isHost:isHost,isRoot:isRoot});},hostAndRootPropertiesForScope:function(scope){var hostProps={},rootProps={},self=this;styleUtil.forActiveRulesInStyles(scope._styles,function(rule,style){self.whenHostOrRootRule(scope,rule,style,function(info){var element=scope._element||scope;if(matchesSelector.call(element,info.selector)){if(info.isHost){self.collectProperties(rule,hostProps);}else{self.collectProperties(rule,rootProps);}}});});return{rootProps:rootProps,hostProps:hostProps};},transformStyles:function(element,properties,scopeSelector){var self=this;var hostSelector=styleTransformer._calcHostScope(element.is,element.extends);var rxHostSelector=element.extends?'\\'+hostSelector.slice(0,-1)+'\\]':hostSelector;var hostRx=new RegExp(this.rx.HOST_PREFIX+rxHostSelector+this.rx.HOST_SUFFIX);var keyframeTransforms=this._elementKeyframeTransforms(element,scopeSelector);return styleTransformer.elementStyles(element,function(rule){self.applyProperties(rule,properties);if(!settings.useNativeShadow&&!Polymer.StyleUtil.isKeyframesSelector(rule)&&rule.cssText){self.applyKeyframeTransforms(rule,keyframeTransforms);self._scopeSelector(rule,hostRx,hostSelector,element._scopeCssViaAttr,scopeSelector);}});},_elementKeyframeTransforms:function(element,scopeSelector){var keyframesRules=element._styles._keyframes;var keyframeTransforms={};if(!settings.useNativeShadow&&keyframesRules){for(var i=0,keyframesRule=keyframesRules[i];i<keyframesRules.length;keyframesRule=keyframesRules[++i]){this._scopeKeyframes(keyframesRule,scopeSelector);keyframeTransforms[keyframesRule.keyframesName]=this._keyframesRuleTransformer(keyframesRule);}}
-return keyframeTransforms;},_keyframesRuleTransformer:function(keyframesRule){return function(cssText){return cssText.replace(keyframesRule.keyframesNameRx,keyframesRule.transformedKeyframesName);};},_scopeKeyframes:function(rule,scopeId){rule.keyframesNameRx=new RegExp(rule.keyframesName,'g');rule.transformedKeyframesName=rule.keyframesName+'-'+scopeId;rule.transformedSelector=rule.transformedSelector||rule.selector;rule.selector=rule.transformedSelector.replace(rule.keyframesName,rule.transformedKeyframesName);},_scopeSelector:function(rule,hostRx,hostSelector,viaAttr,scopeId){rule.transformedSelector=rule.transformedSelector||rule.selector;var selector=rule.transformedSelector;var scope=viaAttr?'['+styleTransformer.SCOPE_NAME+'~='+scopeId+']':'.'+scopeId;var parts=selector.split(',');for(var i=0,l=parts.length,p;i<l&&(p=parts[i]);i++){parts[i]=p.match(hostRx)?p.replace(hostSelector,scope):scope+' '+p;}
-rule.selector=parts.join(',');},applyElementScopeSelector:function(element,selector,old,viaAttr){var c=viaAttr?element.getAttribute(styleTransformer.SCOPE_NAME):element.getAttribute('class')||'';var v=old?c.replace(old,selector):(c?c+' ':'')+this.XSCOPE_NAME+' '+selector;if(c!==v){if(viaAttr){element.setAttribute(styleTransformer.SCOPE_NAME,v);}else{element.setAttribute('class',v);}}},applyElementStyle:function(element,properties,selector,style){var cssText=style?style.textContent||'':this.transformStyles(element,properties,selector);var s=element._customStyle;if(s&&!settings.useNativeShadow&&s!==style){s._useCount--;if(s._useCount<=0&&s.parentNode){s.parentNode.removeChild(s);}}
-if(settings.useNativeShadow){if(element._customStyle){element._customStyle.textContent=cssText;style=element._customStyle;}else if(cssText){style=styleUtil.applyCss(cssText,selector,element.root,element._scopeStyle);}}else{if(!style){if(cssText){style=styleUtil.applyCss(cssText,selector,null,element._scopeStyle);}}else if(!style.parentNode){styleUtil.applyStyle(style,null,element._scopeStyle);}}
-if(style){style._useCount=style._useCount||0;if(element._customStyle!=style){style._useCount++;}
-element._customStyle=style;}
-return style;},mixinCustomStyle:function(props,customStyle){var v;for(var i in customStyle){v=customStyle[i];if(v||v===0){props[i]=v;}}},updateNativeStyleProperties:function(element,properties){for(var i=0;i<element.style.length;i++){element.style.removeProperty(element.style[i]);}
-for(var p in properties){if(properties[p]!==null){element.style.setProperty(p,properties[p]);}}},rx:styleUtil.rx,XSCOPE_NAME:'x-scope'};function addToBitMask(n,bits){var o=parseInt(n/32);var v=1<<n%32;bits[o]=(bits[o]||0)|v;}}();(function(){Polymer.StyleCache=function(){this.cache={};};Polymer.StyleCache.prototype={MAX:100,store:function(is,data,keyValues,keyStyles){data.keyValues=keyValues;data.styles=keyStyles;var s$=this.cache[is]=this.cache[is]||[];s$.push(data);if(s$.length>this.MAX){s$.shift();}},retrieve:function(is,keyValues,keyStyles){var cache=this.cache[is];if(cache){for(var i=cache.length-1,data;i>=0;i--){data=cache[i];if(keyStyles===data.styles&&this._objectsEqual(keyValues,data.keyValues)){return data;}}}},clear:function(){this.cache={};},_objectsEqual:function(target,source){var t,s;for(var i in target){t=target[i],s=source[i];if(!(typeof t==='object'&&t?this._objectsStrictlyEqual(t,s):t===s)){return false;}}
-if(Array.isArray(target)){return target.length===source.length;}
-return true;},_objectsStrictlyEqual:function(target,source){return this._objectsEqual(target,source)&&this._objectsEqual(source,target);}};}());Polymer.StyleDefaults=function(){var styleProperties=Polymer.StyleProperties;var StyleCache=Polymer.StyleCache;var nativeVariables=Polymer.Settings.useNativeCSSProperties;var api={_styles:[],_properties:null,customStyle:{},_styleCache:new StyleCache(),_element:Polymer.DomApi.wrap(document.documentElement),addStyle:function(style){this._styles.push(style);this._properties=null;},get _styleProperties(){if(!this._properties){styleProperties.decorateStyles(this._styles,this);this._styles._scopeStyleProperties=null;this._properties=styleProperties.hostAndRootPropertiesForScope(this).rootProps;styleProperties.mixinCustomStyle(this._properties,this.customStyle);styleProperties.reify(this._properties);}
-return this._properties;},hasStyleProperties:function(){return Boolean(this._properties);},_needsStyleProperties:function(){},_computeStyleProperties:function(){return this._styleProperties;},updateStyles:function(properties){this._properties=null;if(properties){Polymer.Base.mixin(this.customStyle,properties);}
-this._styleCache.clear();for(var i=0,s;i<this._styles.length;i++){s=this._styles[i];s=s.__importElement||s;s._apply();}
-if(nativeVariables){styleProperties.updateNativeStyleProperties(document.documentElement,this.customStyle);}}};return api;}();(function(){'use strict';var serializeValueToAttribute=Polymer.Base.serializeValueToAttribute;var propertyUtils=Polymer.StyleProperties;var styleTransformer=Polymer.StyleTransformer;var styleDefaults=Polymer.StyleDefaults;var nativeShadow=Polymer.Settings.useNativeShadow;var nativeVariables=Polymer.Settings.useNativeCSSProperties;Polymer.Base._addFeature({_prepStyleProperties:function(){if(!nativeVariables){this._ownStylePropertyNames=this._styles&&this._styles.length?propertyUtils.decorateStyles(this._styles,this):null;}},customStyle:null,getComputedStyleValue:function(property){return!nativeVariables&&this._styleProperties&&this._styleProperties[property]||getComputedStyle(this).getPropertyValue(property);},_setupStyleProperties:function(){this.customStyle={};this._styleCache=null;this._styleProperties=null;this._scopeSelector=null;this._ownStyleProperties=null;this._customStyle=null;},_needsStyleProperties:function(){return Boolean(!nativeVariables&&this._ownStylePropertyNames&&this._ownStylePropertyNames.length);},_beforeAttached:function(){if((!this._scopeSelector||this.__stylePropertiesInvalid)&&this._needsStyleProperties()){this.__stylePropertiesInvalid=false;this._updateStyleProperties();}},_findStyleHost:function(){var e=this,root;while(root=Polymer.dom(e).getOwnerRoot()){if(Polymer.isInstance(root.host)){return root.host;}
-e=root.host;}
-return styleDefaults;},_updateStyleProperties:function(){var info,scope=this._findStyleHost();if(!scope._styleCache){scope._styleCache=new Polymer.StyleCache();}
-var scopeData=propertyUtils.propertyDataFromStyles(scope._styles,this);var scopeCacheable=!this.__notStyleScopeCacheable;if(scopeCacheable){scopeData.key.customStyle=this.customStyle;info=scope._styleCache.retrieve(this.is,scopeData.key,this._styles);}
-var scopeCached=Boolean(info);if(scopeCached){this._styleProperties=info._styleProperties;}else{this._computeStyleProperties(scopeData.properties);}
-this._computeOwnStyleProperties();if(!scopeCached){info=styleCache.retrieve(this.is,this._ownStyleProperties,this._styles);}
-var globalCached=Boolean(info)&&!scopeCached;var style=this._applyStyleProperties(info);if(!scopeCached){style=style&&nativeShadow?style.cloneNode(true):style;info={style:style,_scopeSelector:this._scopeSelector,_styleProperties:this._styleProperties};if(scopeCacheable){scopeData.key.customStyle={};this.mixin(scopeData.key.customStyle,this.customStyle);scope._styleCache.store(this.is,info,scopeData.key,this._styles);}
-if(!globalCached){styleCache.store(this.is,Object.create(info),this._ownStyleProperties,this._styles);}}},_computeStyleProperties:function(scopeProps){var scope=this._findStyleHost();if(!scope._styleProperties){scope._computeStyleProperties();}
-var props=Object.create(scope._styleProperties);var hostAndRootProps=propertyUtils.hostAndRootPropertiesForScope(this);this.mixin(props,hostAndRootProps.hostProps);scopeProps=scopeProps||propertyUtils.propertyDataFromStyles(scope._styles,this).properties;this.mixin(props,scopeProps);this.mixin(props,hostAndRootProps.rootProps);propertyUtils.mixinCustomStyle(props,this.customStyle);propertyUtils.reify(props);this._styleProperties=props;},_computeOwnStyleProperties:function(){var props={};for(var i=0,n;i<this._ownStylePropertyNames.length;i++){n=this._ownStylePropertyNames[i];props[n]=this._styleProperties[n];}
-this._ownStyleProperties=props;},_scopeCount:0,_applyStyleProperties:function(info){var oldScopeSelector=this._scopeSelector;this._scopeSelector=info?info._scopeSelector:this.is+'-'+this.__proto__._scopeCount++;var style=propertyUtils.applyElementStyle(this,this._styleProperties,this._scopeSelector,info&&info.style);if(!nativeShadow){propertyUtils.applyElementScopeSelector(this,this._scopeSelector,oldScopeSelector,this._scopeCssViaAttr);}
-return style;},serializeValueToAttribute:function(value,attribute,node){node=node||this;if(attribute==='class'&&!nativeShadow){var host=node===this?this.domHost||this.dataHost:this;if(host){value=host._scopeElementClass(node,value);}}
-node=this.shadyRoot&&this.shadyRoot._hasDistributed?Polymer.dom(node):node;serializeValueToAttribute.call(this,value,attribute,node);},_scopeElementClass:function(element,selector){if(!nativeShadow&&!this._scopeCssViaAttr){selector=(selector?selector+' ':'')+SCOPE_NAME+' '+this.is+(element._scopeSelector?' '+XSCOPE_NAME+' '+element._scopeSelector:'');}
-return selector;},updateStyles:function(properties){if(properties){this.mixin(this.customStyle,properties);}
-if(nativeVariables){propertyUtils.updateNativeStyleProperties(this,this.customStyle);}else{if(this.isAttached){if(this._needsStyleProperties()){this._updateStyleProperties();}else{this._styleProperties=null;}}else{this.__stylePropertiesInvalid=true;}
-if(this._styleCache){this._styleCache.clear();}
-this._updateRootStyles();}},_updateRootStyles:function(root){root=root||this.root;var c$=Polymer.dom(root)._query(function(e){return e.shadyRoot||e.shadowRoot;});for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.updateStyles){c.updateStyles();}}}});Polymer.updateStyles=function(properties){styleDefaults.updateStyles(properties);Polymer.Base._updateRootStyles(document);};var styleCache=new Polymer.StyleCache();Polymer.customStyleCache=styleCache;var SCOPE_NAME=styleTransformer.SCOPE_NAME;var XSCOPE_NAME=propertyUtils.XSCOPE_NAME;}());Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();this._prepConstructor();this._prepStyles();},_finishRegisterFeatures:function(){this._prepTemplate();this._prepShimStyles();this._prepAnnotations();this._prepEffects();this._prepBehaviors();this._prepPropertyInfo();this._prepBindings();this._prepShady();},_prepBehavior:function(b){this._addPropertyEffects(b.properties);this._addComplexObserverEffects(b.observers);this._addHostAttributes(b.hostAttributes);},_initFeatures:function(){this._setupGestures();this._setupConfigure();this._setupStyleProperties();this._setupDebouncers();this._setupShady();this._registerHost();if(this._template){this._poolContent();this._beginHosting();this._stampTemplate();this._endHosting();this._marshalAnnotationReferences();}
-this._marshalInstanceEffects();this._marshalBehaviors();this._marshalHostAttributes();this._marshalAttributes();this._tryReady();},_marshalBehavior:function(b){if(b.listeners){this._listenListeners(b.listeners);}}});(function(){var propertyUtils=Polymer.StyleProperties;var styleUtil=Polymer.StyleUtil;var cssParse=Polymer.CssParse;var styleDefaults=Polymer.StyleDefaults;var styleTransformer=Polymer.StyleTransformer;var applyShim=Polymer.ApplyShim;var debounce=Polymer.Debounce;var settings=Polymer.Settings;var updateDebouncer;Polymer({is:'custom-style',extends:'style',_template:null,properties:{include:String},ready:function(){this.__appliedElement=this.__appliedElement||this;this.__cssBuild=styleUtil.getCssBuildType(this);if(this.__appliedElement!==this){this.__appliedElement.__cssBuild=this.__cssBuild;}
-this._tryApply();},attached:function(){this._tryApply();},_tryApply:function(){if(!this._appliesToDocument){if(this.parentNode&&this.parentNode.localName!=='dom-module'){this._appliesToDocument=true;var e=this.__appliedElement;if(!settings.useNativeCSSProperties){this.__needsUpdateStyles=styleDefaults.hasStyleProperties();styleDefaults.addStyle(e);}
-if(e.textContent||this.include){this._apply(true);}else{var self=this;var observer=new MutationObserver(function(){observer.disconnect();self._apply(true);});observer.observe(e,{childList:true});}}}},_updateStyles:function(){Polymer.updateStyles();},_apply:function(initialApply){var e=this.__appliedElement;if(this.include){e.textContent=styleUtil.cssFromModules(this.include,true)+e.textContent;}
-if(!e.textContent){return;}
-var buildType=this.__cssBuild;var targetedBuild=styleUtil.isTargetedBuild(buildType);if(settings.useNativeCSSProperties&&targetedBuild){return;}
-var styleRules=styleUtil.rulesForStyle(e);if(!targetedBuild){styleUtil.forEachRule(styleRules,function(rule){styleTransformer.documentRule(rule);if(settings.useNativeCSSProperties&&!buildType){applyShim.transformRule(rule);}});}
-if(settings.useNativeCSSProperties){e.textContent=styleUtil.toCssText(styleRules);}else{var self=this;var fn=function fn(){self._flushCustomProperties();};if(initialApply){Polymer.RenderStatus.whenReady(fn);}else{fn();}}},_flushCustomProperties:function(){if(this.__needsUpdateStyles){this.__needsUpdateStyles=false;updateDebouncer=debounce(updateDebouncer,this._updateStyles);}else{this._applyCustomProperties();}},_applyCustomProperties:function(){var element=this.__appliedElement;this._computeStyleProperties();var props=this._styleProperties;var rules=styleUtil.rulesForStyle(element);if(!rules){return;}
-element.textContent=styleUtil.toCssText(rules,function(rule){var css=rule.cssText=rule.parsedCssText;if(rule.propertyInfo&&rule.propertyInfo.cssText){css=cssParse.removeCustomPropAssignment(css);rule.cssText=propertyUtils.valueForProperties(css,props);}});}});}());Polymer.Templatizer={properties:{__hideTemplateChildren__:{observer:'_showHideChildren'}},_instanceProps:Polymer.nob,_parentPropPrefix:'_parent_',templatize:function(template){this._templatized=template;if(!template._content){template._content=template.content;}
-if(template._content._ctor){this.ctor=template._content._ctor;this._prepParentProperties(this.ctor.prototype,template);return;}
-var archetype=Object.create(Polymer.Base);this._customPrepAnnotations(archetype,template);this._prepParentProperties(archetype,template);archetype._prepEffects();this._customPrepEffects(archetype);archetype._prepBehaviors();archetype._prepPropertyInfo();archetype._prepBindings();archetype._notifyPathUp=this._notifyPathUpImpl;archetype._scopeElementClass=this._scopeElementClassImpl;archetype.listen=this._listenImpl;archetype._showHideChildren=this._showHideChildrenImpl;archetype.__setPropertyOrig=this.__setProperty;archetype.__setProperty=this.__setPropertyImpl;var _constructor=this._constructorImpl;var ctor=function TemplateInstance(model,host){_constructor.call(this,model,host);};ctor.prototype=archetype;archetype.constructor=ctor;template._content._ctor=ctor;this.ctor=ctor;},_getRootDataHost:function(){return this.dataHost&&this.dataHost._rootDataHost||this.dataHost;},_showHideChildrenImpl:function(hide){var c=this._children;for(var i=0;i<c.length;i++){var n=c[i];if(Boolean(hide)!=Boolean(n.__hideTemplateChildren__)){if(n.nodeType===Node.TEXT_NODE){if(hide){n.__polymerTextContent__=n.textContent;n.textContent='';}else{n.textContent=n.__polymerTextContent__;}}else if(n.style){if(hide){n.__polymerDisplay__=n.style.display;n.style.display='none';}else{n.style.display=n.__polymerDisplay__;}}}
-n.__hideTemplateChildren__=hide;}},__setPropertyImpl:function(property,value,fromAbove,node){if(node&&node.__hideTemplateChildren__&&property=='textContent'){property='__polymerTextContent__';}
-this.__setPropertyOrig(property,value,fromAbove,node);},_debounceTemplate:function(fn){Polymer.dom.addDebouncer(this.debounce('_debounceTemplate',fn));},_flushTemplates:function(){Polymer.dom.flush();},_customPrepEffects:function(archetype){var parentProps=archetype._parentProps;for(var prop in parentProps){archetype._addPropertyEffect(prop,'function',this._createHostPropEffector(prop));}
-for(prop in this._instanceProps){archetype._addPropertyEffect(prop,'function',this._createInstancePropEffector(prop));}},_customPrepAnnotations:function(archetype,template){archetype._template=template;var c=template._content;if(!c._notes){var rootDataHost=archetype._rootDataHost;if(rootDataHost){Polymer.Annotations.prepElement=function(){rootDataHost._prepElement();};}
-c._notes=Polymer.Annotations.parseAnnotations(template);Polymer.Annotations.prepElement=null;this._processAnnotations(c._notes);}
-archetype._notes=c._notes;archetype._parentProps=c._parentProps;},_prepParentProperties:function(archetype,template){var parentProps=this._parentProps=archetype._parentProps;if(this._forwardParentProp&&parentProps){var proto=archetype._parentPropProto;var prop;if(!proto){for(prop in this._instanceProps){delete parentProps[prop];}
-proto=archetype._parentPropProto=Object.create(null);if(template!=this){Polymer.Bind.prepareModel(proto);Polymer.Base.prepareModelNotifyPath(proto);}
-for(prop in parentProps){var parentProp=this._parentPropPrefix+prop;var effects=[{kind:'function',effect:this._createForwardPropEffector(prop),fn:Polymer.Bind._functionEffect},{kind:'notify',fn:Polymer.Bind._notifyEffect,effect:{event:Polymer.CaseMap.camelToDashCase(parentProp)+'-changed'}}];Polymer.Bind._createAccessors(proto,parentProp,effects);}}
-var self=this;if(template!=this){Polymer.Bind.prepareInstance(template);template._forwardParentProp=function(source,value){self._forwardParentProp(source,value);};}
-this._extendTemplate(template,proto);template._pathEffector=function(path,value,fromAbove){return self._pathEffectorImpl(path,value,fromAbove);};}},_createForwardPropEffector:function(prop){return function(source,value){this._forwardParentProp(prop,value);};},_createHostPropEffector:function(prop){var prefix=this._parentPropPrefix;return function(source,value){this.dataHost._templatized[prefix+prop]=value;};},_createInstancePropEffector:function(prop){return function(source,value,old,fromAbove){if(!fromAbove){this.dataHost._forwardInstanceProp(this,prop,value);}};},_extendTemplate:function(template,proto){var n$=Object.getOwnPropertyNames(proto);if(proto._propertySetter){template._propertySetter=proto._propertySetter;}
-for(var i=0,n;i<n$.length&&(n=n$[i]);i++){var val=template[n];var pd=Object.getOwnPropertyDescriptor(proto,n);Object.defineProperty(template,n,pd);if(val!==undefined){template._propertySetter(n,val);}}},_showHideChildren:function(hidden){},_forwardInstancePath:function(inst,path,value){},_forwardInstanceProp:function(inst,prop,value){},_notifyPathUpImpl:function(path,value){var dataHost=this.dataHost;var dot=path.indexOf('.');var root=dot<0?path:path.slice(0,dot);dataHost._forwardInstancePath.call(dataHost,this,path,value);if(root in dataHost._parentProps){dataHost._templatized._notifyPath(dataHost._parentPropPrefix+path,value);}},_pathEffectorImpl:function(path,value,fromAbove){if(this._forwardParentPath){if(path.indexOf(this._parentPropPrefix)===0){var subPath=path.substring(this._parentPropPrefix.length);var model=this._modelForPath(subPath);if(model in this._parentProps){this._forwardParentPath(subPath,value);}}}
-Polymer.Base._pathEffector.call(this._templatized,path,value,fromAbove);},_constructorImpl:function(model,host){this._rootDataHost=host._getRootDataHost();this._setupConfigure(model);this._registerHost(host);this._beginHosting();this.root=this.instanceTemplate(this._template);this.root.__noContent=!this._notes._hasContent;this.root.__styleScoped=true;this._endHosting();this._marshalAnnotatedNodes();this._marshalInstanceEffects();this._marshalAnnotatedListeners();var children=[];for(var n=this.root.firstChild;n;n=n.nextSibling){children.push(n);n._templateInstance=this;}
-this._children=children;if(host.__hideTemplateChildren__){this._showHideChildren(true);}
-this._tryReady();},_listenImpl:function(node,eventName,methodName){var model=this;var host=this._rootDataHost;var handler=host._createEventHandler(node,eventName,methodName);var decorated=function(e){e.model=model;handler(e);};host._listen(node,eventName,decorated);},_scopeElementClassImpl:function(node,value){var host=this._rootDataHost;if(host){return host._scopeElementClass(node,value);}
-return value;},stamp:function(model){model=model||{};if(this._parentProps){var templatized=this._templatized;for(var prop in this._parentProps){if(model[prop]===undefined){model[prop]=templatized[this._parentPropPrefix+prop];}}}
-return new this.ctor(model,this);},modelForElement:function(el){var model;while(el){if(model=el._templateInstance){if(model.dataHost!=this){el=model.dataHost;}else{return model;}}else{el=el.parentNode;}}}};Polymer({is:'dom-template',extends:'template',_template:null,behaviors:[Polymer.Templatizer],ready:function(){this.templatize(this);}});Polymer._collections=new WeakMap();Polymer.Collection=function(userArray){Polymer._collections.set(userArray,this);this.userArray=userArray;this.store=userArray.slice();this.initMap();};Polymer.Collection.prototype={constructor:Polymer.Collection,initMap:function(){var omap=this.omap=new WeakMap();var pmap=this.pmap={};var s=this.store;for(var i=0;i<s.length;i++){var item=s[i];if(item&&typeof item=='object'){omap.set(item,i);}else{pmap[item]=i;}}},add:function(item){var key=this.store.push(item)-1;if(item&&typeof item=='object'){this.omap.set(item,key);}else{this.pmap[item]=key;}
-return'#'+key;},removeKey:function(key){if(key=this._parseKey(key)){this._removeFromMap(this.store[key]);delete this.store[key];}},_removeFromMap:function(item){if(item&&typeof item=='object'){this.omap.delete(item);}else{delete this.pmap[item];}},remove:function(item){var key=this.getKey(item);this.removeKey(key);return key;},getKey:function(item){var key;if(item&&typeof item=='object'){key=this.omap.get(item);}else{key=this.pmap[item];}
-if(key!=undefined){return'#'+key;}},getKeys:function(){return Object.keys(this.store).map(function(key){return'#'+key;});},_parseKey:function(key){if(key&&key[0]=='#'){return key.slice(1);}},setItem:function(key,item){if(key=this._parseKey(key)){var old=this.store[key];if(old){this._removeFromMap(old);}
-if(item&&typeof item=='object'){this.omap.set(item,key);}else{this.pmap[item]=key;}
-this.store[key]=item;}},getItem:function(key){if(key=this._parseKey(key)){return this.store[key];}},getItems:function(){var items=[],store=this.store;for(var key in store){items.push(store[key]);}
-return items;},_applySplices:function(splices){var keyMap={},key;for(var i=0,s;i<splices.length&&(s=splices[i]);i++){s.addedKeys=[];for(var j=0;j<s.removed.length;j++){key=this.getKey(s.removed[j]);keyMap[key]=keyMap[key]?null:-1;}
-for(j=0;j<s.addedCount;j++){var item=this.userArray[s.index+j];key=this.getKey(item);key=key===undefined?this.add(item):key;keyMap[key]=keyMap[key]?null:1;s.addedKeys.push(key);}}
-var removed=[];var added=[];for(key in keyMap){if(keyMap[key]<0){this.removeKey(key);removed.push(key);}
-if(keyMap[key]>0){added.push(key);}}
-return[{removed:removed,added:added}];}};Polymer.Collection.get=function(userArray){return Polymer._collections.get(userArray)||new Polymer.Collection(userArray);};Polymer.Collection.applySplices=function(userArray,splices){var coll=Polymer._collections.get(userArray);return coll?coll._applySplices(splices):null;};Polymer({is:'dom-repeat',extends:'template',_template:null,properties:{items:{type:Array},as:{type:String,value:'item'},indexAs:{type:String,value:'index'},sort:{type:Function,observer:'_sortChanged'},filter:{type:Function,observer:'_filterChanged'},observe:{type:String,observer:'_observeChanged'},delay:Number,renderedItemCount:{type:Number,notify:true,readOnly:true},initialCount:{type:Number,observer:'_initializeChunking'},targetFramerate:{type:Number,value:20},_targetFrameTime:{type:Number,computed:'_computeFrameTime(targetFramerate)'}},behaviors:[Polymer.Templatizer],observers:['_itemsChanged(items.*)'],created:function(){this._instances=[];this._pool=[];this._limit=Infinity;var self=this;this._boundRenderChunk=function(){self._renderChunk();};},detached:function(){this.__isDetached=true;for(var i=0;i<this._instances.length;i++){this._detachInstance(i);}},attached:function(){if(this.__isDetached){this.__isDetached=false;var parent=Polymer.dom(Polymer.dom(this).parentNode);for(var i=0;i<this._instances.length;i++){this._attachInstance(i,parent);}}},ready:function(){this._instanceProps={__key__:true};this._instanceProps[this.as]=true;this._instanceProps[this.indexAs]=true;if(!this.ctor){this.templatize(this);}},_sortChanged:function(sort){var dataHost=this._getRootDataHost();this._sortFn=sort&&(typeof sort=='function'?sort:function(){return dataHost[sort].apply(dataHost,arguments);});this._needFullRefresh=true;if(this.items){this._debounceTemplate(this._render);}},_filterChanged:function(filter){var dataHost=this._getRootDataHost();this._filterFn=filter&&(typeof filter=='function'?filter:function(){return dataHost[filter].apply(dataHost,arguments);});this._needFullRefresh=true;if(this.items){this._debounceTemplate(this._render);}},_computeFrameTime:function(rate){return Math.ceil(1000/rate);},_initializeChunking:function(){if(this.initialCount){this._limit=this.initialCount;this._chunkCount=this.initialCount;this._lastChunkTime=performance.now();}},_tryRenderChunk:function(){if(this.items&&this._limit<this.items.length){this.debounce('renderChunk',this._requestRenderChunk);}},_requestRenderChunk:function(){requestAnimationFrame(this._boundRenderChunk);},_renderChunk:function(){var currChunkTime=performance.now();var ratio=this._targetFrameTime/(currChunkTime-this._lastChunkTime);this._chunkCount=Math.round(this._chunkCount*ratio)||1;this._limit+=this._chunkCount;this._lastChunkTime=currChunkTime;this._debounceTemplate(this._render);},_observeChanged:function(){this._observePaths=this.observe&&this.observe.replace('.*','.').split(' ');},_itemsChanged:function(change){if(change.path=='items'){if(Array.isArray(this.items)){this.collection=Polymer.Collection.get(this.items);}else if(!this.items){this.collection=null;}else{this._error(this._logf('dom-repeat','expected array for `items`,'+' found',this.items));}
-this._keySplices=[];this._indexSplices=[];this._needFullRefresh=true;this._initializeChunking();this._debounceTemplate(this._render);}else if(change.path=='items.splices'){this._keySplices=this._keySplices.concat(change.value.keySplices);this._indexSplices=this._indexSplices.concat(change.value.indexSplices);this._debounceTemplate(this._render);}else{var subpath=change.path.slice(6);this._forwardItemPath(subpath,change.value);this._checkObservedPaths(subpath);}},_checkObservedPaths:function(path){if(this._observePaths){path=path.substring(path.indexOf('.')+1);var paths=this._observePaths;for(var i=0;i<paths.length;i++){if(path.indexOf(paths[i])===0){this._needFullRefresh=true;if(this.delay){this.debounce('render',this._render,this.delay);}else{this._debounceTemplate(this._render);}
-return;}}}},render:function(){this._needFullRefresh=true;this._debounceTemplate(this._render);this._flushTemplates();},_render:function(){if(this._needFullRefresh){this._applyFullRefresh();this._needFullRefresh=false;}else if(this._keySplices.length){if(this._sortFn){this._applySplicesUserSort(this._keySplices);}else{if(this._filterFn){this._applyFullRefresh();}else{this._applySplicesArrayOrder(this._indexSplices);}}}else{}
-this._keySplices=[];this._indexSplices=[];var keyToIdx=this._keyToInstIdx={};for(var i=this._instances.length-1;i>=0;i--){var inst=this._instances[i];if(inst.isPlaceholder&&i<this._limit){inst=this._insertInstance(i,inst.__key__);}else if(!inst.isPlaceholder&&i>=this._limit){inst=this._downgradeInstance(i,inst.__key__);}
-keyToIdx[inst.__key__]=i;if(!inst.isPlaceholder){inst.__setProperty(this.indexAs,i,true);}}
-this._pool.length=0;this._setRenderedItemCount(this._instances.length);this.fire('dom-change');this._tryRenderChunk();},_applyFullRefresh:function(){var c=this.collection;var keys;if(this._sortFn){keys=c?c.getKeys():[];}else{keys=[];var items=this.items;if(items){for(var i=0;i<items.length;i++){keys.push(c.getKey(items[i]));}}}
-var self=this;if(this._filterFn){keys=keys.filter(function(a){return self._filterFn(c.getItem(a));});}
-if(this._sortFn){keys.sort(function(a,b){return self._sortFn(c.getItem(a),c.getItem(b));});}
-for(i=0;i<keys.length;i++){var key=keys[i];var inst=this._instances[i];if(inst){inst.__key__=key;if(!inst.isPlaceholder&&i<this._limit){inst.__setProperty(this.as,c.getItem(key),true);}}else if(i<this._limit){this._insertInstance(i,key);}else{this._insertPlaceholder(i,key);}}
-for(var j=this._instances.length-1;j>=i;j--){this._detachAndRemoveInstance(j);}},_numericSort:function(a,b){return a-b;},_applySplicesUserSort:function(splices){var c=this.collection;var keyMap={};var key;for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0;j<s.removed.length;j++){key=s.removed[j];keyMap[key]=keyMap[key]?null:-1;}
-for(j=0;j<s.added.length;j++){key=s.added[j];keyMap[key]=keyMap[key]?null:1;}}
-var removedIdxs=[];var addedKeys=[];for(key in keyMap){if(keyMap[key]===-1){removedIdxs.push(this._keyToInstIdx[key]);}
-if(keyMap[key]===1){addedKeys.push(key);}}
-if(removedIdxs.length){removedIdxs.sort(this._numericSort);for(i=removedIdxs.length-1;i>=0;i--){var idx=removedIdxs[i];if(idx!==undefined){this._detachAndRemoveInstance(idx);}}}
-var self=this;if(addedKeys.length){if(this._filterFn){addedKeys=addedKeys.filter(function(a){return self._filterFn(c.getItem(a));});}
-addedKeys.sort(function(a,b){return self._sortFn(c.getItem(a),c.getItem(b));});var start=0;for(i=0;i<addedKeys.length;i++){start=this._insertRowUserSort(start,addedKeys[i]);}}},_insertRowUserSort:function(start,key){var c=this.collection;var item=c.getItem(key);var end=this._instances.length-1;var idx=-1;while(start<=end){var mid=start+end>>1;var midKey=this._instances[mid].__key__;var cmp=this._sortFn(c.getItem(midKey),item);if(cmp<0){start=mid+1;}else if(cmp>0){end=mid-1;}else{idx=mid;break;}}
-if(idx<0){idx=end+1;}
-this._insertPlaceholder(idx,key);return idx;},_applySplicesArrayOrder:function(splices){for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0;j<s.removed.length;j++){this._detachAndRemoveInstance(s.index);}
-for(j=0;j<s.addedKeys.length;j++){this._insertPlaceholder(s.index+j,s.addedKeys[j]);}}},_detachInstance:function(idx){var inst=this._instances[idx];if(!inst.isPlaceholder){for(var i=0;i<inst._children.length;i++){var el=inst._children[i];Polymer.dom(inst.root).appendChild(el);}
-return inst;}},_attachInstance:function(idx,parent){var inst=this._instances[idx];if(!inst.isPlaceholder){parent.insertBefore(inst.root,this);}},_detachAndRemoveInstance:function(idx){var inst=this._detachInstance(idx);if(inst){this._pool.push(inst);}
-this._instances.splice(idx,1);},_insertPlaceholder:function(idx,key){this._instances.splice(idx,0,{isPlaceholder:true,__key__:key});},_stampInstance:function(idx,key){var model={__key__:key};model[this.as]=this.collection.getItem(key);model[this.indexAs]=idx;return this.stamp(model);},_insertInstance:function(idx,key){var inst=this._pool.pop();if(inst){inst.__setProperty(this.as,this.collection.getItem(key),true);inst.__setProperty('__key__',key,true);}else{inst=this._stampInstance(idx,key);}
-var beforeRow=this._instances[idx+1];var beforeNode=beforeRow&&!beforeRow.isPlaceholder?beforeRow._children[0]:this;var parentNode=Polymer.dom(this).parentNode;Polymer.dom(parentNode).insertBefore(inst.root,beforeNode);this._instances[idx]=inst;return inst;},_downgradeInstance:function(idx,key){var inst=this._detachInstance(idx);if(inst){this._pool.push(inst);}
-inst={isPlaceholder:true,__key__:key};this._instances[idx]=inst;return inst;},_showHideChildren:function(hidden){for(var i=0;i<this._instances.length;i++){this._instances[i]._showHideChildren(hidden);}},_forwardInstanceProp:function(inst,prop,value){if(prop==this.as){var idx;if(this._sortFn||this._filterFn){idx=this.items.indexOf(this.collection.getItem(inst.__key__));}else{idx=inst[this.indexAs];}
-this.set('items.'+idx,value);}},_forwardInstancePath:function(inst,path,value){if(path.indexOf(this.as+'.')===0){this._notifyPath('items.'+inst.__key__+'.'+path.slice(this.as.length+1),value);}},_forwardParentProp:function(prop,value){var i$=this._instances;for(var i=0,inst;i<i$.length&&(inst=i$[i]);i++){if(!inst.isPlaceholder){inst.__setProperty(prop,value,true);}}},_forwardParentPath:function(path,value){var i$=this._instances;for(var i=0,inst;i<i$.length&&(inst=i$[i]);i++){if(!inst.isPlaceholder){inst._notifyPath(path,value,true);}}},_forwardItemPath:function(path,value){if(this._keyToInstIdx){var dot=path.indexOf('.');var key=path.substring(0,dot<0?path.length:dot);var idx=this._keyToInstIdx[key];var inst=this._instances[idx];if(inst&&!inst.isPlaceholder){if(dot>=0){path=this.as+'.'+path.substring(dot+1);inst._notifyPath(path,value,true);}else{inst.__setProperty(this.as,value,true);}}}},itemForElement:function(el){var instance=this.modelForElement(el);return instance&&instance[this.as];},keyForElement:function(el){var instance=this.modelForElement(el);return instance&&instance.__key__;},indexForElement:function(el){var instance=this.modelForElement(el);return instance&&instance[this.indexAs];}});Polymer({is:'array-selector',_template:null,properties:{items:{type:Array,observer:'clearSelection'},multi:{type:Boolean,value:false,observer:'clearSelection'},selected:{type:Object,notify:true},selectedItem:{type:Object,notify:true},toggle:{type:Boolean,value:false}},clearSelection:function(){if(Array.isArray(this.selected)){for(var i=0;i<this.selected.length;i++){this.unlinkPaths('selected.'+i);}}else{this.unlinkPaths('selected');this.unlinkPaths('selectedItem');}
-if(this.multi){if(!this.selected||this.selected.length){this.selected=[];this._selectedColl=Polymer.Collection.get(this.selected);}}else{this.selected=null;this._selectedColl=null;}
-this.selectedItem=null;},isSelected:function(item){if(this.multi){return this._selectedColl.getKey(item)!==undefined;}else{return this.selected==item;}},deselect:function(item){if(this.multi){if(this.isSelected(item)){var skey=this._selectedColl.getKey(item);this.arrayDelete('selected',item);this.unlinkPaths('selected.'+skey);}}else{this.selected=null;this.selectedItem=null;this.unlinkPaths('selected');this.unlinkPaths('selectedItem');}},select:function(item){var icol=Polymer.Collection.get(this.items);var key=icol.getKey(item);if(this.multi){if(this.isSelected(item)){if(this.toggle){this.deselect(item);}}else{this.push('selected',item);var skey=this._selectedColl.getKey(item);this.linkPaths('selected.'+skey,'items.'+key);}}else{if(this.toggle&&item==this.selected){this.deselect();}else{this.selected=item;this.selectedItem=item;this.linkPaths('selected','items.'+key);this.linkPaths('selectedItem','items.'+key);}}}});Polymer({is:'dom-if',extends:'template',_template:null,properties:{'if':{type:Boolean,value:false,observer:'_queueRender'},restamp:{type:Boolean,value:false,observer:'_queueRender'}},behaviors:[Polymer.Templatizer],_queueRender:function(){this._debounceTemplate(this._render);},detached:function(){if(!this.parentNode||this.parentNode.nodeType==Node.DOCUMENT_FRAGMENT_NODE&&(!Polymer.Settings.hasShadow||!(this.parentNode instanceof ShadowRoot))){this._teardownInstance();}},attached:function(){if(this.if&&this.ctor){this.async(this._ensureInstance);}},render:function(){this._flushTemplates();},_render:function(){if(this.if){if(!this.ctor){this.templatize(this);}
-this._ensureInstance();this._showHideChildren();}else if(this.restamp){this._teardownInstance();}
-if(!this.restamp&&this._instance){this._showHideChildren();}
-if(this.if!=this._lastIf){this.fire('dom-change');this._lastIf=this.if;}},_ensureInstance:function(){var parentNode=Polymer.dom(this).parentNode;if(parentNode){var parent=Polymer.dom(parentNode);if(!this._instance){this._instance=this.stamp();var root=this._instance.root;parent.insertBefore(root,this);}else{var c$=this._instance._children;if(c$&&c$.length){var lastChild=Polymer.dom(this).previousSibling;if(lastChild!==c$[c$.length-1]){for(var i=0,n;i<c$.length&&(n=c$[i]);i++){parent.insertBefore(n,this);}}}}}},_teardownInstance:function(){if(this._instance){var c$=this._instance._children;if(c$&&c$.length){var parent=Polymer.dom(Polymer.dom(c$[0]).parentNode);for(var i=0,n;i<c$.length&&(n=c$[i]);i++){parent.removeChild(n);}}
-this._instance=null;}},_showHideChildren:function(){var hidden=this.__hideTemplateChildren__||!this.if;if(this._instance){this._instance._showHideChildren(hidden);}},_forwardParentProp:function(prop,value){if(this._instance){this._instance[prop]=value;}},_forwardParentPath:function(path,value){if(this._instance){this._instance._notifyPath(path,value,true);}}});Polymer({is:'dom-bind',extends:'template',_template:null,created:function(){var self=this;Polymer.RenderStatus.whenReady(function(){if(document.readyState=='loading'){document.addEventListener('DOMContentLoaded',function(){self._markImportsReady();});}else{self._markImportsReady();}});},_ensureReady:function(){if(!this._readied){this._readySelf();}},_markImportsReady:function(){this._importsReady=true;this._ensureReady();},_registerFeatures:function(){this._prepConstructor();},_insertChildren:function(){var parentDom=Polymer.dom(Polymer.dom(this).parentNode);parentDom.insertBefore(this.root,this);},_removeChildren:function(){if(this._children){for(var i=0;i<this._children.length;i++){this.root.appendChild(this._children[i]);}}},_initFeatures:function(){},_scopeElementClass:function(element,selector){if(this.dataHost){return this.dataHost._scopeElementClass(element,selector);}else{return selector;}},_prepConfigure:function(){var config={};for(var prop in this._propertyEffects){config[prop]=this[prop];}
-var setupConfigure=this._setupConfigure;this._setupConfigure=function(){setupConfigure.call(this,config);};},attached:function(){if(this._importsReady){this.render();}},detached:function(){this._removeChildren();},render:function(){this._ensureReady();if(!this._children){this._template=this;this._prepAnnotations();this._prepEffects();this._prepBehaviors();this._prepConfigure();this._prepBindings();this._prepPropertyInfo();Polymer.Base._initFeatures.call(this);this._children=Polymer.TreeApi.arrayCopyChildNodes(this.root);}
-this._insertChildren();this.fire('dom-change');}});'use strict';if(!Polymer.Settings.useNativeShadow){tr.b.showPanic('Polymer error','base only works in shadow mode');}'use strict';var global=this;this.tr=(function(){if(global.tr){console.warn('Base was multiply initialized. First init wins.');return global.tr;}
-function exportPath(name){var parts=name.split('.');var cur=global;for(var part;parts.length&&(part=parts.shift());){if(part in cur){cur=cur[part];}else{cur=cur[part]={};}}
-return cur;};function isExported(name){var parts=name.split('.');var cur=global;for(var part;parts.length&&(part=parts.shift());){if(part in cur){cur=cur[part];}else{return false;}}
-return true;}
-function isDefined(name){var parts=name.split('.');var curObject=global;for(var i=0;i<parts.length;i++){var partName=parts[i];var nextObject=curObject[partName];if(nextObject===undefined)
-return false;curObject=nextObject;}
-return true;}
-var panicElement=undefined;var rawPanicMessages=[];function showPanicElementIfNeeded(){if(panicElement)
-return;var panicOverlay=document.createElement('div');panicOverlay.style.backgroundColor='white';panicOverlay.style.border='3px solid red';panicOverlay.style.boxSizing='border-box';panicOverlay.style.color='black';panicOverlay.style.display='-webkit-flex';panicOverlay.style.height='100%';panicOverlay.style.left=0;panicOverlay.style.padding='8px';panicOverlay.style.position='fixed';panicOverlay.style.top=0;panicOverlay.style.webkitFlexDirection='column';panicOverlay.style.width='100%';panicElement=document.createElement('div');panicElement.style.webkitFlex='1 1 auto';panicElement.style.overflow='auto';panicOverlay.appendChild(panicElement);if(!document.body){setTimeout(function(){document.body.appendChild(panicOverlay);},150);}else{document.body.appendChild(panicOverlay);}}
-function showPanic(panicTitle,panicDetails){if(tr.isHeadless){if(panicDetails instanceof Error)
-throw panicDetails;throw new Error('Panic: '+panicTitle+':\n'+panicDetails);}
-if(panicDetails instanceof Error)
-panicDetails=panicDetails.stack;showPanicElementIfNeeded();var panicMessageEl=document.createElement('div');panicMessageEl.innerHTML='<h2 id="message"></h2>'+'<pre id="details"></pre>';panicMessageEl.querySelector('#message').textContent=panicTitle;panicMessageEl.querySelector('#details').textContent=panicDetails;panicElement.appendChild(panicMessageEl);rawPanicMessages.push({title:panicTitle,details:panicDetails});}
-function hasPanic(){return rawPanicMessages.length!==0;}
-function getPanicText(){return rawPanicMessages.map(function(msg){return msg.title;}).join(', ');}
-function exportTo(namespace,fn){var obj=exportPath(namespace);var exports=fn();for(var propertyName in exports){var propertyDescriptor=Object.getOwnPropertyDescriptor(exports,propertyName);if(propertyDescriptor)
-Object.defineProperty(obj,propertyName,propertyDescriptor);}};function initialize(){if(global.isVinn){tr.isVinn=true;}else if(global.process&&global.process.versions.node){tr.isNode=true;}else{tr.isVinn=false;tr.isNode=false;tr.doc=document;tr.isMac=/Mac/.test(navigator.platform);tr.isWindows=/Win/.test(navigator.platform);tr.isChromeOS=/CrOS/.test(navigator.userAgent);tr.isLinux=/Linux/.test(navigator.userAgent);}
-tr.isHeadless=tr.isVinn||tr.isNode;}
-return{initialize:initialize,exportTo:exportTo,isExported:isExported,isDefined:isDefined,showPanic:showPanic,hasPanic:hasPanic,getPanicText:getPanicText};})();tr.initialize();'use strict';tr.exportTo('tr.b',function(){function Base64(){}
-function b64ToUint6(nChr){if(nChr>64&&nChr<91)
-return nChr-65;if(nChr>96&&nChr<123)
-return nChr-71;if(nChr>47&&nChr<58)
-return nChr+4;if(nChr===43)
-return 62;if(nChr===47)
-return 63;return 0;}
-Base64.getDecodedBufferLength=function(input){return input.length*3+1>>2;};Base64.EncodeArrayBufferToString=function(input){var binary='';var bytes=new Uint8Array(input);var len=bytes.byteLength;for(var i=0;i<len;i++)
-binary+=String.fromCharCode(bytes[i]);return btoa(binary);};Base64.DecodeToTypedArray=function(input,output){var nInLen=input.length;var nOutLen=nInLen*3+1>>2;var nMod3=0;var nMod4=0;var nUint24=0;var nOutIdx=0;if(nOutLen>output.byteLength)
-throw new Error('Output buffer too small to decode.');for(var nInIdx=0;nInIdx<nInLen;nInIdx++){nMod4=nInIdx&3;nUint24|=b64ToUint6(input.charCodeAt(nInIdx))<<18-6*nMod4;if(nMod4===3||nInLen-nInIdx===1){for(nMod3=0;nMod3<3&&nOutIdx<nOutLen;nMod3++,nOutIdx++){output.setUint8(nOutIdx,nUint24>>>(16>>>nMod3&24)&255);}
-nUint24=0;}}
-return nOutIdx-1;};Base64.btoa=function(input){return btoa(input);};Base64.atob=function(input){return atob(input);};return{Base64:Base64};});'use strict';tr.exportTo('tr.b',function(){function clamp01(value){return Math.max(0,Math.min(1,value));}
-function Color(opt_r,opt_g,opt_b,opt_a){this.r=Math.floor(opt_r)||0;this.g=Math.floor(opt_g)||0;this.b=Math.floor(opt_b)||0;this.a=opt_a;}
-Color.fromString=function(str){var tmp;var values;if(str.substr(0,4)=='rgb('){tmp=str.substr(4,str.length-5);values=tmp.split(',').map(function(v){return v.replace(/^\s+/,'','g');});if(values.length!=3)
-throw new Error('Malformatted rgb-expression');return new Color(parseInt(values[0]),parseInt(values[1]),parseInt(values[2]));}else if(str.substr(0,5)=='rgba('){tmp=str.substr(5,str.length-6);values=tmp.split(',').map(function(v){return v.replace(/^\s+/,'','g');});if(values.length!=4)
-throw new Error('Malformatted rgb-expression');return new Color(parseInt(values[0]),parseInt(values[1]),parseInt(values[2]),parseFloat(values[3]));}else if(str[0]=='#'&&str.length==7){return new Color(parseInt(str.substr(1,2),16),parseInt(str.substr(3,2),16),parseInt(str.substr(5,2),16));}else{throw new Error('Unrecognized string format.');}};Color.lerp=function(a,b,percent){if(a.a!==undefined&&b.a!==undefined)
-return Color.lerpRGBA(a,b,percent);return Color.lerpRGB(a,b,percent);};Color.lerpRGB=function(a,b,percent){return new Color(((b.r-a.r)*percent)+a.r,((b.g-a.g)*percent)+a.g,((b.b-a.b)*percent)+a.b);};Color.lerpRGBA=function(a,b,percent){return new Color(((b.r-a.r)*percent)+a.r,((b.g-a.g)*percent)+a.g,((b.b-a.b)*percent)+a.b,((b.a-a.a)*percent)+a.a);};Color.fromDict=function(dict){return new Color(dict.r,dict.g,dict.b,dict.a);};Color.fromHSLExplicit=function(h,s,l,a){var r,g,b;function hue2rgb(p,q,t){if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return p+(q-p)*6*t;if(t<1/2)return q;if(t<2/3)return p+(q-p)*(2/3-t)*6;return p;}
-if(s===0){r=g=b=l;}else{var q=l<0.5?l*(1+s):l+s-l*s;var p=2*l-q;r=hue2rgb(p,q,h+1/3);g=hue2rgb(p,q,h);b=hue2rgb(p,q,h-1/3);}
-return new Color(Math.floor(r*255),Math.floor(g*255),Math.floor(b*255),a);}
-Color.fromHSL=function(hsl){return Color.fromHSLExplicit(hsl.h,hsl.s,hsl.l,hsl.a);}
-Color.prototype={clone:function(){var c=new Color();c.r=this.r;c.g=this.g;c.b=this.b;c.a=this.a;return c;},blendOver:function(bgColor){var oneMinusThisAlpha=1-this.a;var outA=this.a+bgColor.a*oneMinusThisAlpha;var bgBlend=(bgColor.a*oneMinusThisAlpha)/bgColor.a;return new Color(this.r*this.a+bgColor.r*bgBlend,this.g*this.a+bgColor.g*bgBlend,this.b*this.a+bgColor.b*bgBlend,outA);},brighten:function(opt_k){var k;k=opt_k||0.45;return new Color(Math.min(255,this.r+Math.floor(this.r*k)),Math.min(255,this.g+Math.floor(this.g*k)),Math.min(255,this.b+Math.floor(this.b*k)),this.a);},lighten:function(k,opt_maxL){var maxL=opt_maxL!==undefined?opt_maxL:1.0;var hsl=this.toHSL();hsl.l=clamp01(hsl.l+k);return Color.fromHSL(hsl);},darken:function(opt_k){var k;if(opt_k!==undefined)
-k=opt_k;else
-k=0.45;return new Color(Math.min(255,this.r-Math.floor(this.r*k)),Math.min(255,this.g-Math.floor(this.g*k)),Math.min(255,this.b-Math.floor(this.b*k)),this.a);},desaturate:function(opt_desaturateFactor){var desaturateFactor;if(opt_desaturateFactor!==undefined)
-desaturateFactor=opt_desaturateFactor;else
-desaturateFactor=1;var hsl=this.toHSL();hsl.s=clamp01(hsl.s*(1-desaturateFactor));return Color.fromHSL(hsl);},withAlpha:function(a){return new Color(this.r,this.g,this.b,a);},toString:function(){if(this.a!==undefined){return'rgba('+
-this.r+','+this.g+','+
-this.b+','+this.a+')';}
-return'rgb('+this.r+','+this.g+','+this.b+')';},toHSL:function(){var r=this.r/255;var g=this.g/255;var b=this.b/255;var max=Math.max(r,g,b);var min=Math.min(r,g,b);var h,s;var l=(max+min)/2;if(min===max){h=0;s=0;}else{var delta=max-min;if(l>0.5)
-s=delta/(2-max-min);else
-s=delta/(max+min);if(r===max){h=(g-b)/delta;if(g<b)
-h+=6;}else if(g===max){h=2+((b-r)/delta);}else{h=4+((r-g)/delta);}
-h/=6;}
-return{h:h,s:s,l:l,a:this.a};},toStringWithAlphaOverride:function(alpha){return'rgba('+
-this.r+','+this.g+','+
-this.b+','+alpha+')';}};return{Color:Color};});'use strict';tr.exportTo('tr.b',function(){function asArray(x){var values=[];if(x[Symbol.iterator])
-for(var value of x)
-values.push(value);else
-for(var i=0;i<x.length;i++)
-values.push(x[i]);return values;}
-function getOnlyElement(iterable){var iterator=iterable[Symbol.iterator]();var firstIteration=iterator.next();if(firstIteration.done)
-throw new Error('getOnlyElement was passed an empty iterable.');var secondIteration=iterator.next();if(!secondIteration.done)
-throw new Error('getOnlyElement was passed an iterable with multiple elements.');return firstIteration.value;}
-function getFirstElement(iterable){var iterator=iterable[Symbol.iterator]();var result=iterator.next();if(result.done)
-throw new Error('getFirstElement was passed an empty iterable.');return result.value;}
-function compareArrays(x,y,elementCmp){var minLength=Math.min(x.length,y.length);for(var i=0;i<minLength;i++){var tmp=elementCmp(x[i],y[i]);if(tmp)
-return tmp;}
-if(x.length==y.length)
-return 0;if(x[i]===undefined)
-return-1;return 1;}
-function comparePossiblyUndefinedValues(x,y,cmp,opt_this){if(x!==undefined&&y!==undefined)
-return cmp.call(opt_this,x,y);if(x!==undefined)
-return-1;if(y!==undefined)
-return 1;return 0;}
-function compareNumericWithNaNs(x,y){if(!isNaN(x)&&!isNaN(y))
-return x-y;if(isNaN(x))
-return 1;if(isNaN(y))
-return-1;return 0;}
-function concatenateArrays(){var values=[];for(var i=0;i<arguments.length;i++){if(!(arguments[i]instanceof Array))
-throw new Error('Arguments '+i+'is not an array');values.push.apply(values,arguments[i]);}
-return values;}
-function concatenateObjects(){var result={};for(var i=0;i<arguments.length;i++){var object=arguments[i];for(var j in object){result[j]=object[j];}}
-return result;}
-function cloneDictionary(dict){var clone={};for(var k in dict){clone[k]=dict[k];}
-return clone;}
-function dictionaryKeys(dict){var keys=[];for(var key in dict)
-keys.push(key);return keys;}
-function dictionaryValues(dict){var values=[];for(var key in dict)
-values.push(dict[key]);return values;}
-function dictionaryLength(dict){var n=0;for(var key in dict)
-n++;return n;}
-function dictionaryContainsValue(dict,value){for(var key in dict)
-if(dict[key]===value)
-return true;return false;}
-function every(iterable,predicate){for(var x of iterable)
-if(!predicate(x))
-return false;return true;}
-function group(ary,callback,opt_this,opt_arrayConstructor){var arrayConstructor=opt_arrayConstructor||Array;var results={};for(var element of ary){var key=callback.call(opt_this,element);if(!(key in results))
-results[key]=new arrayConstructor();results[key].push(element);}
-return results;}
-function groupIntoMap(ary,callback,opt_this,opt_arrayConstructor){var arrayConstructor=opt_arrayConstructor||Array;var results=new Map();for(var element of ary){var key=callback.call(opt_this,element);var items=results.get(key);if(items===undefined){items=new arrayConstructor();results.set(key,items);}
-items.push(element);}
-return results;}
-function iterItems(dict,fn,opt_this){opt_this=opt_this||this;var keys=Object.keys(dict);for(var i=0;i<keys.length;i++){var key=keys[i];fn.call(opt_this,key,dict[key]);}}
-function mapItems(dict,fn,opt_this){opt_this=opt_this||this;var result={};var keys=Object.keys(dict);for(var i=0;i<keys.length;i++){var key=keys[i];result[key]=fn.call(opt_this,key,dict[key]);}
-return result;}
-function filterItems(dict,predicate,opt_this){opt_this=opt_this||this;var result={};var keys=Object.keys(dict);for(var i=0;i<keys.length;i++){var key=keys[i];var value=dict[key];if(predicate.call(opt_this,key,value))
-result[key]=value;}
-return result;}
-function iterObjectFieldsRecursively(object,func){if(!(object instanceof Object))
-return;if(object instanceof Array){for(var i=0;i<object.length;i++){func(object,i,object[i]);iterObjectFieldsRecursively(object[i],func);}
-return;}
-for(var key in object){var value=object[key];func(object,key,value);iterObjectFieldsRecursively(value,func);}}
-function invertArrayOfDicts(array,opt_dictGetter,opt_this){opt_this=opt_this||this;var result={};for(var i=0;i<array.length;i++){var item=array[i];if(item===undefined)
-continue;var dict=opt_dictGetter?opt_dictGetter.call(opt_this,item):item;if(dict===undefined)
-continue;for(var key in dict){var valueList=result[key];if(valueList===undefined)
-result[key]=valueList=new Array(array.length);valueList[i]=dict[key];}}
-return result;}
-function arrayToDict(array,valueToKeyFn,opt_this){opt_this=opt_this||this;var result={};var length=array.length;for(var i=0;i<length;i++){var value=array[i];var key=valueToKeyFn.call(opt_this,value);result[key]=value;}
-return result;}
-function identity(d){return d;}
-function findFirstIndexInArray(ary,opt_func,opt_this){var func=opt_func||identity;for(var i=0;i<ary.length;i++){if(func.call(opt_this,ary[i],i))
-return i;}
-return-1;}
-function findFirstInArray(ary,opt_func,opt_this){var i=findFirstIndexInArray(ary,opt_func,opt_func);if(i===-1)
-return undefined;return ary[i];}
-function findFirstKeyInDictMatching(dict,opt_func,opt_this){var func=opt_func||identity;for(var key in dict){if(func.call(opt_this,key,dict[key]))
-return key;}
-return undefined;}
-function mapValues(map){var values=[];for(var value of map.values())
-values.push(value);return values;}
-function iterMapItems(map,fn,opt_this){opt_this=opt_this||this;for(var key of map.keys())
-fn.call(opt_this,key,map.get(key));}
-return{asArray:asArray,concatenateArrays:concatenateArrays,concatenateObjects:concatenateObjects,compareArrays:compareArrays,comparePossiblyUndefinedValues:comparePossiblyUndefinedValues,compareNumericWithNaNs:compareNumericWithNaNs,cloneDictionary:cloneDictionary,dictionaryLength:dictionaryLength,dictionaryKeys:dictionaryKeys,dictionaryValues:dictionaryValues,dictionaryContainsValue:dictionaryContainsValue,every:every,getOnlyElement:getOnlyElement,getFirstElement:getFirstElement,group:group,groupIntoMap:groupIntoMap,iterItems:iterItems,mapItems:mapItems,filterItems:filterItems,iterObjectFieldsRecursively:iterObjectFieldsRecursively,invertArrayOfDicts:invertArrayOfDicts,arrayToDict:arrayToDict,identity:identity,findFirstIndexInArray:findFirstIndexInArray,findFirstInArray:findFirstInArray,findFirstKeyInDictMatching:findFirstKeyInDictMatching,mapValues:mapValues,iterMapItems:iterMapItems};});'use strict';tr.exportTo('tr.b',function(){var generalPurposeColors=[new tr.b.Color(122,98,135),new tr.b.Color(150,83,105),new tr.b.Color(44,56,189),new tr.b.Color(99,86,147),new tr.b.Color(104,129,107),new tr.b.Color(130,178,55),new tr.b.Color(87,109,147),new tr.b.Color(111,145,88),new tr.b.Color(81,152,131),new tr.b.Color(142,91,111),new tr.b.Color(81,163,70),new tr.b.Color(148,94,86),new tr.b.Color(144,89,118),new tr.b.Color(83,150,97),new tr.b.Color(105,94,139),new tr.b.Color(89,144,122),new tr.b.Color(105,119,128),new tr.b.Color(96,128,137),new tr.b.Color(145,88,145),new tr.b.Color(88,145,144),new tr.b.Color(90,100,143),new tr.b.Color(121,97,136),new tr.b.Color(111,160,73),new tr.b.Color(112,91,142),new tr.b.Color(86,147,86),new tr.b.Color(63,100,170),new tr.b.Color(81,152,107),new tr.b.Color(60,164,173),new tr.b.Color(143,72,161),new tr.b.Color(159,74,86)];var reservedColorsByName={thread_state_uninterruptible:new tr.b.Color(182,125,143),thread_state_iowait:new tr.b.Color(255,140,0),thread_state_running:new tr.b.Color(126,200,148),thread_state_runnable:new tr.b.Color(133,160,210),thread_state_sleeping:new tr.b.Color(240,240,240),thread_state_unknown:new tr.b.Color(199,155,125),background_memory_dump:new tr.b.Color(0,180,180),light_memory_dump:new tr.b.Color(0,0,180),detailed_memory_dump:new tr.b.Color(180,0,180),generic_work:new tr.b.Color(125,125,125),good:new tr.b.Color(0,125,0),bad:new tr.b.Color(180,125,0),terrible:new tr.b.Color(180,0,0),black:new tr.b.Color(0,0,0),rail_response:new tr.b.Color(67,135,253),rail_animation:new tr.b.Color(244,74,63),rail_idle:new tr.b.Color(238,142,0),rail_load:new tr.b.Color(13,168,97),startup:new tr.b.Color(230,230,0),used_memory_column:new tr.b.Color(0,0,255),older_used_memory_column:new tr.b.Color(153,204,255),tracing_memory_column:new tr.b.Color(153,153,153),heap_dump_stack_frame:new tr.b.Color(128,128,128),heap_dump_object_type:new tr.b.Color(0,0,255),heap_dump_child_node_arrow:new tr.b.Color(204,102,0),cq_build_running:new tr.b.Color(255,255,119),cq_build_passed:new tr.b.Color(153,238,102),cq_build_failed:new tr.b.Color(238,136,136),cq_build_abandoned:new tr.b.Color(187,187,187),cq_build_attempt_runnig:new tr.b.Color(222,222,75),cq_build_attempt_passed:new tr.b.Color(103,218,35),cq_build_attempt_failed:new tr.b.Color(197,81,81)};var numGeneralPurposeColorIds=generalPurposeColors.length;var numReservedColorIds=tr.b.dictionaryLength(reservedColorsByName);var numColorsPerVariant=numGeneralPurposeColorIds+numReservedColorIds;function ColorScheme(){}
-var paletteBase=[];paletteBase.push.apply(paletteBase,generalPurposeColors);paletteBase.push.apply(paletteBase,tr.b.dictionaryValues(reservedColorsByName));ColorScheme.colors=[];ColorScheme.properties={};ColorScheme.properties={numColorsPerVariant:numColorsPerVariant};function pushVariant(func){var variantColors=paletteBase.map(func);ColorScheme.colors.push.apply(ColorScheme.colors,variantColors);}
-pushVariant(function(c){return c;});ColorScheme.properties.brightenedOffsets=[];ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.3,0.9);});ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.48,0.9);});ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.65,0.9);});ColorScheme.properties.dimmedOffsets=[];ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate();});ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate(0.5);});ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate(0.3);});ColorScheme.colorsAsStrings=ColorScheme.colors.map(function(c){return c.toString();});var reservedColorNameToIdMap=(function(){var m=new Map();var i=generalPurposeColors.length;tr.b.iterItems(reservedColorsByName,function(key,value){m.set(key,i++);});return m;})();ColorScheme.getColorIdForReservedName=function(name){var id=reservedColorNameToIdMap.get(name);if(id===undefined)
-throw new Error('Unrecognized color ')+name;return id;};ColorScheme.getColorForReservedNameAsString=function(reservedName){var id=ColorScheme.getColorIdForReservedName(reservedName);return ColorScheme.colorsAsStrings[id];};ColorScheme.getStringHash=function(name){var hash=0;for(var i=0;i<name.length;++i)
-hash=(hash+37*hash+11*name.charCodeAt(i))%0xFFFFFFFF;return hash;};var stringColorIdCache=new Map();ColorScheme.getColorIdForGeneralPurposeString=function(string){if(stringColorIdCache.get(string)===undefined){var hash=ColorScheme.getStringHash(string);stringColorIdCache.set(string,hash%numGeneralPurposeColorIds);}
-return stringColorIdCache.get(string);};return{ColorScheme:ColorScheme};});!function(t,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define(n);else{var r=n();for(var a in r)("object"==typeof exports?exports:t)[a]=r[a]}}(this,function(){return function(t){function n(a){if(r[a])return r[a].exports;var e=r[a]={exports:{},id:a,loaded:!1};return t[a].call(e.exports,e,e.exports,n),e.loaded=!0,e.exports}var r={};return n.m=t,n.c=r,n.p="",n(0)}([function(t,n,r){n.glMatrix=r(1),n.mat2=r(2),n.mat2d=r(3),n.mat3=r(4),n.mat4=r(5),n.quat=r(6),n.vec2=r(9),n.vec3=r(7),n.vec4=r(8)},function(t,n,r){var a={};a.EPSILON=1e-6,a.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,a.RANDOM=Math.random,a.setMatrixArrayType=function(t){GLMAT_ARRAY_TYPE=t};var e=Math.PI/180;a.toRadian=function(t){return t*e},t.exports=a},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},e.clone=function(t){var n=new a.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1];t[1]=n[2],t[2]=r}else t[0]=n[0],t[1]=n[2],t[2]=n[1],t[3]=n[3];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*u-e*a;return o?(o=1/o,t[0]=u*o,t[1]=-a*o,t[2]=-e*o,t[3]=r*o,t):null},e.adjoint=function(t,n){var r=n[0];return t[0]=n[3],t[1]=-n[1],t[2]=-n[2],t[3]=r,t},e.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1],f=r[2],s=r[3];return t[0]=a*i+u*c,t[1]=e*i+o*c,t[2]=a*f+u*s,t[3]=e*f+o*s,t},e.mul=e.multiply,e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+u*i,t[1]=e*c+o*i,t[2]=a*-i+u*c,t[3]=e*-i+o*c,t},e.scale=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1];return t[0]=a*i,t[1]=e*i,t[2]=u*c,t[3]=o*c,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=-r,t[3]=a,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t},e.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},e.LDU=function(t,n,r,a){return t[2]=a[2]/a[0],r[0]=a[0],r[1]=a[1],r[3]=a[3]-t[2]*r[1],[t,n,r]},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(6);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=r*u-a*e;return c?(c=1/c,t[0]=u*c,t[1]=-a*c,t[2]=-e*c,t[3]=r*c,t[4]=(e*i-u*o)*c,t[5]=(a*o-r*i)*c,t):null},e.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1],h=r[2],M=r[3],l=r[4],v=r[5];return t[0]=a*f+u*s,t[1]=e*f+o*s,t[2]=a*h+u*M,t[3]=e*h+o*M,t[4]=a*l+u*v+i,t[5]=e*l+o*v+c,t},e.mul=e.multiply,e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=Math.sin(r),s=Math.cos(r);return t[0]=a*s+u*f,t[1]=e*s+o*f,t[2]=a*-f+u*s,t[3]=e*-f+o*s,t[4]=i,t[5]=c,t},e.scale=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1];return t[0]=a*f,t[1]=e*f,t[2]=u*s,t[3]=o*s,t[4]=i,t[5]=c,t},e.translate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1];return t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=a*f+u*s+i,t[5]=e*f+o*s+c,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=-r,t[3]=a,t[4]=0,t[5]=0,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t[4]=0,t[5]=0,t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=n[0],t[5]=n[1],t},e.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromMat4=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[4],t[4]=n[5],t[5]=n[6],t[6]=n[8],t[7]=n[9],t[8]=n[10],t},e.clone=function(t){var n=new a.ARRAY_TYPE(9);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1],a=n[2],e=n[5];t[1]=n[3],t[2]=n[6],t[3]=r,t[5]=n[7],t[6]=a,t[7]=e}else t[0]=n[0],t[1]=n[3],t[2]=n[6],t[3]=n[1],t[4]=n[4],t[5]=n[7],t[6]=n[2],t[7]=n[5],t[8]=n[8];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=s*o-i*f,M=-s*u+i*c,l=f*u-o*c,v=r*h+a*M+e*l;return v?(v=1/v,t[0]=h*v,t[1]=(-s*a+e*f)*v,t[2]=(i*a-e*o)*v,t[3]=M*v,t[4]=(s*r-e*c)*v,t[5]=(-i*r+e*u)*v,t[6]=l*v,t[7]=(-f*r+a*c)*v,t[8]=(o*r-a*u)*v,t):null},e.adjoint=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8];return t[0]=o*s-i*f,t[1]=e*f-a*s,t[2]=a*i-e*o,t[3]=i*c-u*s,t[4]=r*s-e*c,t[5]=e*u-r*i,t[6]=u*f-o*c,t[7]=a*c-r*f,t[8]=r*o-a*u,t},e.determinant=function(t){var n=t[0],r=t[1],a=t[2],e=t[3],u=t[4],o=t[5],i=t[6],c=t[7],f=t[8];return n*(f*u-o*c)+r*(-f*e+o*i)+a*(c*e-u*i)},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=r[0],l=r[1],v=r[2],m=r[3],p=r[4],d=r[5],A=r[6],R=r[7],w=r[8];return t[0]=M*a+l*o+v*f,t[1]=M*e+l*i+v*s,t[2]=M*u+l*c+v*h,t[3]=m*a+p*o+d*f,t[4]=m*e+p*i+d*s,t[5]=m*u+p*c+d*h,t[6]=A*a+R*o+w*f,t[7]=A*e+R*i+w*s,t[8]=A*u+R*c+w*h,t},e.mul=e.multiply,e.translate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=r[0],l=r[1];return t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=i,t[5]=c,t[6]=M*a+l*o+f,t[7]=M*e+l*i+s,t[8]=M*u+l*c+h,t},e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=Math.sin(r),l=Math.cos(r);return t[0]=l*a+M*o,t[1]=l*e+M*i,t[2]=l*u+M*c,t[3]=l*o-M*a,t[4]=l*i-M*e,t[5]=l*c-M*u,t[6]=f,t[7]=s,t[8]=h,t},e.scale=function(t,n,r){var a=r[0],e=r[1];return t[0]=a*n[0],t[1]=a*n[1],t[2]=a*n[2],t[3]=e*n[3],t[4]=e*n[4],t[5]=e*n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=n[0],t[7]=n[1],t[8]=1,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=0,t[3]=-r,t[4]=a,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=n[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromMat2d=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=0,t[3]=n[2],t[4]=n[3],t[5]=0,t[6]=n[4],t[7]=n[5],t[8]=1,t},e.fromQuat=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r+r,i=a+a,c=e+e,f=r*o,s=a*o,h=a*i,M=e*o,l=e*i,v=e*c,m=u*o,p=u*i,d=u*c;return t[0]=1-h-v,t[3]=s-d,t[6]=M+p,t[1]=s+d,t[4]=1-f-v,t[7]=l-m,t[2]=M-p,t[5]=l+m,t[8]=1-f-h,t},e.normalFromMat4=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15],A=r*i-a*o,R=r*c-e*o,w=r*f-u*o,q=a*c-e*i,Y=a*f-u*i,g=e*f-u*c,y=s*m-h*v,x=s*p-M*v,P=s*d-l*v,E=h*p-M*m,T=h*d-l*m,b=M*d-l*p,D=A*b-R*T+w*E+q*P-Y*x+g*y;return D?(D=1/D,t[0]=(i*b-c*T+f*E)*D,t[1]=(c*P-o*b-f*x)*D,t[2]=(o*T-i*P+f*y)*D,t[3]=(e*T-a*b-u*E)*D,t[4]=(r*b-e*P+u*x)*D,t[5]=(a*P-r*T-u*y)*D,t[6]=(m*g-p*Y+d*q)*D,t[7]=(p*w-v*g-d*R)*D,t[8]=(v*Y-m*w+d*A)*D,t):null},e.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.clone=function(t){var n=new a.ARRAY_TYPE(16);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1],a=n[2],e=n[3],u=n[6],o=n[7],i=n[11];t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=r,t[6]=n[9],t[7]=n[13],t[8]=a,t[9]=u,t[11]=n[14],t[12]=e,t[13]=o,t[14]=i}else t[0]=n[0],t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=n[1],t[5]=n[5],t[6]=n[9],t[7]=n[13],t[8]=n[2],t[9]=n[6],t[10]=n[10],t[11]=n[14],t[12]=n[3],t[13]=n[7],t[14]=n[11],t[15]=n[15];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15],A=r*i-a*o,R=r*c-e*o,w=r*f-u*o,q=a*c-e*i,Y=a*f-u*i,g=e*f-u*c,y=s*m-h*v,x=s*p-M*v,P=s*d-l*v,E=h*p-M*m,T=h*d-l*m,b=M*d-l*p,D=A*b-R*T+w*E+q*P-Y*x+g*y;return D?(D=1/D,t[0]=(i*b-c*T+f*E)*D,t[1]=(e*T-a*b-u*E)*D,t[2]=(m*g-p*Y+d*q)*D,t[3]=(M*Y-h*g-l*q)*D,t[4]=(c*P-o*b-f*x)*D,t[5]=(r*b-e*P+u*x)*D,t[6]=(p*w-v*g-d*R)*D,t[7]=(s*g-M*w+l*R)*D,t[8]=(o*T-i*P+f*y)*D,t[9]=(a*P-r*T-u*y)*D,t[10]=(v*Y-m*w+d*A)*D,t[11]=(h*w-s*Y-l*A)*D,t[12]=(i*x-o*E-c*y)*D,t[13]=(r*E-a*x+e*y)*D,t[14]=(m*R-v*q-p*A)*D,t[15]=(s*q-h*R+M*A)*D,t):null},e.adjoint=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15];return t[0]=i*(M*d-l*p)-h*(c*d-f*p)+m*(c*l-f*M),t[1]=-(a*(M*d-l*p)-h*(e*d-u*p)+m*(e*l-u*M)),t[2]=a*(c*d-f*p)-i*(e*d-u*p)+m*(e*f-u*c),t[3]=-(a*(c*l-f*M)-i*(e*l-u*M)+h*(e*f-u*c)),t[4]=-(o*(M*d-l*p)-s*(c*d-f*p)+v*(c*l-f*M)),t[5]=r*(M*d-l*p)-s*(e*d-u*p)+v*(e*l-u*M),t[6]=-(r*(c*d-f*p)-o*(e*d-u*p)+v*(e*f-u*c)),t[7]=r*(c*l-f*M)-o*(e*l-u*M)+s*(e*f-u*c),t[8]=o*(h*d-l*m)-s*(i*d-f*m)+v*(i*l-f*h),t[9]=-(r*(h*d-l*m)-s*(a*d-u*m)+v*(a*l-u*h)),t[10]=r*(i*d-f*m)-o*(a*d-u*m)+v*(a*f-u*i),t[11]=-(r*(i*l-f*h)-o*(a*l-u*h)+s*(a*f-u*i)),t[12]=-(o*(h*p-M*m)-s*(i*p-c*m)+v*(i*M-c*h)),t[13]=r*(h*p-M*m)-s*(a*p-e*m)+v*(a*M-e*h),t[14]=-(r*(i*p-c*m)-o*(a*p-e*m)+v*(a*c-e*i)),t[15]=r*(i*M-c*h)-o*(a*M-e*h)+s*(a*c-e*i),t},e.determinant=function(t){var n=t[0],r=t[1],a=t[2],e=t[3],u=t[4],o=t[5],i=t[6],c=t[7],f=t[8],s=t[9],h=t[10],M=t[11],l=t[12],v=t[13],m=t[14],p=t[15],d=n*o-r*u,A=n*i-a*u,R=n*c-e*u,w=r*i-a*o,q=r*c-e*o,Y=a*c-e*i,g=f*v-s*l,y=f*m-h*l,x=f*p-M*l,P=s*m-h*v,E=s*p-M*v,T=h*p-M*m;return d*T-A*E+R*P+w*x-q*y+Y*g},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=n[9],l=n[10],v=n[11],m=n[12],p=n[13],d=n[14],A=n[15],R=r[0],w=r[1],q=r[2],Y=r[3];return t[0]=R*a+w*i+q*h+Y*m,t[1]=R*e+w*c+q*M+Y*p,t[2]=R*u+w*f+q*l+Y*d,t[3]=R*o+w*s+q*v+Y*A,R=r[4],w=r[5],q=r[6],Y=r[7],t[4]=R*a+w*i+q*h+Y*m,t[5]=R*e+w*c+q*M+Y*p,t[6]=R*u+w*f+q*l+Y*d,t[7]=R*o+w*s+q*v+Y*A,R=r[8],w=r[9],q=r[10],Y=r[11],t[8]=R*a+w*i+q*h+Y*m,t[9]=R*e+w*c+q*M+Y*p,t[10]=R*u+w*f+q*l+Y*d,t[11]=R*o+w*s+q*v+Y*A,R=r[12],w=r[13],q=r[14],Y=r[15],t[12]=R*a+w*i+q*h+Y*m,t[13]=R*e+w*c+q*M+Y*p,t[14]=R*u+w*f+q*l+Y*d,t[15]=R*o+w*s+q*v+Y*A,t},e.mul=e.multiply,e.translate=function(t,n,r){var a,e,u,o,i,c,f,s,h,M,l,v,m=r[0],p=r[1],d=r[2];return n===t?(t[12]=n[0]*m+n[4]*p+n[8]*d+n[12],t[13]=n[1]*m+n[5]*p+n[9]*d+n[13],t[14]=n[2]*m+n[6]*p+n[10]*d+n[14],t[15]=n[3]*m+n[7]*p+n[11]*d+n[15]):(a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=n[9],l=n[10],v=n[11],t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=i,t[5]=c,t[6]=f,t[7]=s,t[8]=h,t[9]=M,t[10]=l,t[11]=v,t[12]=a*m+i*p+h*d+n[12],t[13]=e*m+c*p+M*d+n[13],t[14]=u*m+f*p+l*d+n[14],t[15]=o*m+s*p+v*d+n[15]),t},e.scale=function(t,n,r){var a=r[0],e=r[1],u=r[2];return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=n[3]*a,t[4]=n[4]*e,t[5]=n[5]*e,t[6]=n[6]*e,t[7]=n[7]*e,t[8]=n[8]*u,t[9]=n[9]*u,t[10]=n[10]*u,t[11]=n[11]*u,t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t},e.rotate=function(t,n,r,e){var u,o,i,c,f,s,h,M,l,v,m,p,d,A,R,w,q,Y,g,y,x,P,E,T,b=e[0],D=e[1],L=e[2],_=Math.sqrt(b*b+D*D+L*L);return Math.abs(_)<a.EPSILON?null:(_=1/_,b*=_,D*=_,L*=_,u=Math.sin(r),o=Math.cos(r),i=1-o,c=n[0],f=n[1],s=n[2],h=n[3],M=n[4],l=n[5],v=n[6],m=n[7],p=n[8],d=n[9],A=n[10],R=n[11],w=b*b*i+o,q=D*b*i+L*u,Y=L*b*i-D*u,g=b*D*i-L*u,y=D*D*i+o,x=L*D*i+b*u,P=b*L*i+D*u,E=D*L*i-b*u,T=L*L*i+o,t[0]=c*w+M*q+p*Y,t[1]=f*w+l*q+d*Y,t[2]=s*w+v*q+A*Y,t[3]=h*w+m*q+R*Y,t[4]=c*g+M*y+p*x,t[5]=f*g+l*y+d*x,t[6]=s*g+v*y+A*x,t[7]=h*g+m*y+R*x,t[8]=c*P+M*E+p*T,t[9]=f*P+l*E+d*T,t[10]=s*P+v*E+A*T,t[11]=h*P+m*E+R*T,n!==t&&(t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t)},e.rotateX=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[4],o=n[5],i=n[6],c=n[7],f=n[8],s=n[9],h=n[10],M=n[11];return n!==t&&(t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[4]=u*e+f*a,t[5]=o*e+s*a,t[6]=i*e+h*a,t[7]=c*e+M*a,t[8]=f*e-u*a,t[9]=s*e-o*a,t[10]=h*e-i*a,t[11]=M*e-c*a,t},e.rotateY=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[0],o=n[1],i=n[2],c=n[3],f=n[8],s=n[9],h=n[10],M=n[11];return n!==t&&(t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=u*e-f*a,t[1]=o*e-s*a,t[2]=i*e-h*a,t[3]=c*e-M*a,t[8]=u*a+f*e,t[9]=o*a+s*e,t[10]=i*a+h*e,t[11]=c*a+M*e,t},e.rotateZ=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[0],o=n[1],i=n[2],c=n[3],f=n[4],s=n[5],h=n[6],M=n[7];return n!==t&&(t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=u*e+f*a,t[1]=o*e+s*a,t[2]=i*e+h*a,t[3]=c*e+M*a,t[4]=f*e-u*a,t[5]=s*e-o*a,t[6]=h*e-i*a,t[7]=M*e-c*a,t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=n[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromRotation=function(t,n,r){var e,u,o,i=r[0],c=r[1],f=r[2],s=Math.sqrt(i*i+c*c+f*f);return Math.abs(s)<a.EPSILON?null:(s=1/s,i*=s,c*=s,f*=s,e=Math.sin(n),u=Math.cos(n),o=1-u,t[0]=i*i*o+u,t[1]=c*i*o+f*e,t[2]=f*i*o-c*e,t[3]=0,t[4]=i*c*o-f*e,t[5]=c*c*o+u,t[6]=f*c*o+i*e,t[7]=0,t[8]=i*f*o+c*e,t[9]=c*f*o-i*e,t[10]=f*f*o+u,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},e.fromXRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromYRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromZRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromRotationTranslation=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=a+a,c=e+e,f=u+u,s=a*i,h=a*c,M=a*f,l=e*c,v=e*f,m=u*f,p=o*i,d=o*c,A=o*f;return t[0]=1-(l+m),t[1]=h+A,t[2]=M-d,t[3]=0,t[4]=h-A,t[5]=1-(s+m),t[6]=v+p,t[7]=0,t[8]=M+d,t[9]=v-p,t[10]=1-(s+l),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},e.fromRotationTranslationScale=function(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3],c=e+e,f=u+u,s=o+o,h=e*c,M=e*f,l=e*s,v=u*f,m=u*s,p=o*s,d=i*c,A=i*f,R=i*s,w=a[0],q=a[1],Y=a[2];return t[0]=(1-(v+p))*w,t[1]=(M+R)*w,t[2]=(l-A)*w,t[3]=0,t[4]=(M-R)*q,t[5]=(1-(h+p))*q,t[6]=(m+d)*q,t[7]=0,t[8]=(l+A)*Y,t[9]=(m-d)*Y,t[10]=(1-(h+v))*Y,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},e.fromRotationTranslationScaleOrigin=function(t,n,r,a,e){var u=n[0],o=n[1],i=n[2],c=n[3],f=u+u,s=o+o,h=i+i,M=u*f,l=u*s,v=u*h,m=o*s,p=o*h,d=i*h,A=c*f,R=c*s,w=c*h,q=a[0],Y=a[1],g=a[2],y=e[0],x=e[1],P=e[2];return t[0]=(1-(m+d))*q,t[1]=(l+w)*q,t[2]=(v-R)*q,t[3]=0,t[4]=(l-w)*Y,t[5]=(1-(M+d))*Y,t[6]=(p+A)*Y,t[7]=0,t[8]=(v+R)*g,t[9]=(p-A)*g,t[10]=(1-(M+m))*g,t[11]=0,t[12]=r[0]+y-(t[0]*y+t[4]*x+t[8]*P),t[13]=r[1]+x-(t[1]*y+t[5]*x+t[9]*P),t[14]=r[2]+P-(t[2]*y+t[6]*x+t[10]*P),t[15]=1,t},e.fromQuat=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r+r,i=a+a,c=e+e,f=r*o,s=a*o,h=a*i,M=e*o,l=e*i,v=e*c,m=u*o,p=u*i,d=u*c;return t[0]=1-h-v,t[1]=s+d,t[2]=M-p,t[3]=0,t[4]=s-d,t[5]=1-f-v,t[6]=l+m,t[7]=0,t[8]=M+p,t[9]=l-m,t[10]=1-f-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.frustum=function(t,n,r,a,e,u,o){var i=1/(r-n),c=1/(e-a),f=1/(u-o);return t[0]=2*u*i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*u*c,t[6]=0,t[7]=0,t[8]=(r+n)*i,t[9]=(e+a)*c,t[10]=(o+u)*f,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*u*2*f,t[15]=0,t},e.perspective=function(t,n,r,a,e){var u=1/Math.tan(n/2),o=1/(a-e);return t[0]=u/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(e+a)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*e*a*o,t[15]=0,t},e.perspectiveFromFieldOfView=function(t,n,r,a){var e=Math.tan(n.upDegrees*Math.PI/180),u=Math.tan(n.downDegrees*Math.PI/180),o=Math.tan(n.leftDegrees*Math.PI/180),i=Math.tan(n.rightDegrees*Math.PI/180),c=2/(o+i),f=2/(e+u);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=f,t[6]=0,t[7]=0,t[8]=-((o-i)*c*.5),t[9]=(e-u)*f*.5,t[10]=a/(r-a),t[11]=-1,t[12]=0,t[13]=0,t[14]=a*r/(r-a),t[15]=0,t},e.ortho=function(t,n,r,a,e,u,o){var i=1/(n-r),c=1/(a-e),f=1/(u-o);return t[0]=-2*i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*f,t[11]=0,t[12]=(n+r)*i,t[13]=(e+a)*c,t[14]=(o+u)*f,t[15]=1,t},e.lookAt=function(t,n,r,u){var o,i,c,f,s,h,M,l,v,m,p=n[0],d=n[1],A=n[2],R=u[0],w=u[1],q=u[2],Y=r[0],g=r[1],y=r[2];return Math.abs(p-Y)<a.EPSILON&&Math.abs(d-g)<a.EPSILON&&Math.abs(A-y)<a.EPSILON?e.identity(t):(M=p-Y,l=d-g,v=A-y,m=1/Math.sqrt(M*M+l*l+v*v),M*=m,l*=m,v*=m,o=w*v-q*l,i=q*M-R*v,c=R*l-w*M,m=Math.sqrt(o*o+i*i+c*c),m?(m=1/m,o*=m,i*=m,c*=m):(o=0,i=0,c=0),f=l*c-v*i,s=v*o-M*c,h=M*i-l*o,m=Math.sqrt(f*f+s*s+h*h),m?(m=1/m,f*=m,s*=m,h*=m):(f=0,s=0,h=0),t[0]=o,t[1]=f,t[2]=M,t[3]=0,t[4]=i,t[5]=s,t[6]=l,t[7]=0,t[8]=c,t[9]=h,t[10]=v,t[11]=0,t[12]=-(o*p+i*d+c*A),t[13]=-(f*p+s*d+h*A),t[14]=-(M*p+l*d+v*A),t[15]=1,t)},e.str=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},t.exports=e},function(t,n,r){var a=r(1),e=r(4),u=r(7),o=r(8),i={};i.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},i.rotationTo=function(){var t=u.create(),n=u.fromValues(1,0,0),r=u.fromValues(0,1,0);return function(a,e,o){var c=u.dot(e,o);return-.999999>c?(u.cross(t,n,e),u.length(t)<1e-6&&u.cross(t,r,e),u.normalize(t,t),i.setAxisAngle(a,t,Math.PI),a):c>.999999?(a[0]=0,a[1]=0,a[2]=0,a[3]=1,a):(u.cross(t,e,o),a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=1+c,i.normalize(a,a))}}(),i.setAxes=function(){var t=e.create();return function(n,r,a,e){return t[0]=a[0],t[3]=a[1],t[6]=a[2],t[1]=e[0],t[4]=e[1],t[7]=e[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],i.normalize(n,i.fromMat3(n,t))}}(),i.clone=o.clone,i.fromValues=o.fromValues,i.copy=o.copy,i.set=o.set,i.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},i.setAxisAngle=function(t,n,r){r=.5*r;var a=Math.sin(r);return t[0]=a*n[0],t[1]=a*n[1],t[2]=a*n[2],t[3]=Math.cos(r),t},i.add=o.add,i.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1],f=r[2],s=r[3];return t[0]=a*s+o*i+e*f-u*c,t[1]=e*s+o*c+u*i-a*f,t[2]=u*s+o*f+a*c-e*i,t[3]=o*s-a*i-e*c-u*f,t},i.mul=i.multiply,i.scale=o.scale,i.rotateX=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+o*i,t[1]=e*c+u*i,t[2]=u*c-e*i,t[3]=o*c-a*i,t},i.rotateY=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c-u*i,t[1]=e*c+o*i,t[2]=u*c+a*i,t[3]=o*c-e*i,t},i.rotateZ=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+e*i,t[1]=e*c-a*i,t[2]=u*c+o*i,t[3]=o*c-u*i,t},i.calculateW=function(t,n){var r=n[0],a=n[1],e=n[2];return t[0]=r,t[1]=a,t[2]=e,t[3]=Math.sqrt(Math.abs(1-r*r-a*a-e*e)),t},i.dot=o.dot,i.lerp=o.lerp,i.slerp=function(t,n,r,a){var e,u,o,i,c,f=n[0],s=n[1],h=n[2],M=n[3],l=r[0],v=r[1],m=r[2],p=r[3];return u=f*l+s*v+h*m+M*p,0>u&&(u=-u,l=-l,v=-v,m=-m,p=-p),1-u>1e-6?(e=Math.acos(u),o=Math.sin(e),i=Math.sin((1-a)*e)/o,c=Math.sin(a*e)/o):(i=1-a,c=a),t[0]=i*f+c*l,t[1]=i*s+c*v,t[2]=i*h+c*m,t[3]=i*M+c*p,t},i.sqlerp=function(){var t=i.create(),n=i.create();return function(r,a,e,u,o,c){return i.slerp(t,a,o,c),i.slerp(n,e,u,c),i.slerp(r,t,n,2*c*(1-c)),r}}(),i.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*r+a*a+e*e+u*u,i=o?1/o:0;return t[0]=-r*i,t[1]=-a*i,t[2]=-e*i,t[3]=u*i,t},i.conjugate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=n[3],t},i.length=o.length,i.len=i.length,i.squaredLength=o.squaredLength,i.sqrLen=i.squaredLength,i.normalize=o.normalize,i.fromMat3=function(t,n){var r,a=n[0]+n[4]+n[8];if(a>0)r=Math.sqrt(a+1),t[3]=.5*r,r=.5/r,t[0]=(n[5]-n[7])*r,t[1]=(n[6]-n[2])*r,t[2]=(n[1]-n[3])*r;else{var e=0;n[4]>n[0]&&(e=1),n[8]>n[3*e+e]&&(e=2);var u=(e+1)%3,o=(e+2)%3;r=Math.sqrt(n[3*e+e]-n[3*u+u]-n[3*o+o]+1),t[e]=.5*r,r=.5/r,t[3]=(n[3*u+o]-n[3*o+u])*r,t[u]=(n[3*u+e]+n[3*e+u])*r,t[o]=(n[3*o+e]+n[3*e+o])*r}return t},i.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},t.exports=i},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(3);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n},e.fromValues=function(t,n,r){var e=new a.ARRAY_TYPE(3);return e[0]=t,e[1]=n,e[2]=r,e},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},e.set=function(t,n,r,a){return t[0]=n,t[1]=r,t[2]=a,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2];return Math.sqrt(r*r+a*a+e*e)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2];return r*r+a*a+e*e},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1],a=t[2];return Math.sqrt(n*n+r*r+a*a)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1],a=t[2];return n*n+r*r+a*a},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=n[2],u=r*r+a*a+e*e;return u>0&&(u=1/Math.sqrt(u),t[0]=n[0]*u,t[1]=n[1]*u,t[2]=n[2]*u),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]},e.cross=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2];return t[0]=e*c-u*i,t[1]=u*o-a*c,t[2]=a*i-e*o,t},e.lerp=function(t,n,r,a){var e=n[0],u=n[1],o=n[2];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t[2]=o+a*(r[2]-o),t},e.hermite=function(t,n,r,a,e,u){var o=u*u,i=o*(2*u-3)+1,c=o*(u-2)+u,f=o*(u-1),s=o*(3-2*u);return t[0]=n[0]*i+r[0]*c+a[0]*f+e[0]*s,t[1]=n[1]*i+r[1]*c+a[1]*f+e[1]*s,t[2]=n[2]*i+r[2]*c+a[2]*f+e[2]*s,t},e.bezier=function(t,n,r,a,e,u){var o=1-u,i=o*o,c=u*u,f=i*o,s=3*u*i,h=3*c*o,M=c*u;return t[0]=n[0]*f+r[0]*s+a[0]*h+e[0]*M,t[1]=n[1]*f+r[1]*s+a[1]*h+e[1]*M,t[2]=n[2]*f+r[2]*s+a[2]*h+e[2]*M,t},e.random=function(t,n){n=n||1;var r=2*a.RANDOM()*Math.PI,e=2*a.RANDOM()-1,u=Math.sqrt(1-e*e)*n;return t[0]=Math.cos(r)*u,t[1]=Math.sin(r)*u,t[2]=e*n,t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[3]*a+r[7]*e+r[11]*u+r[15];return o=o||1,t[0]=(r[0]*a+r[4]*e+r[8]*u+r[12])/o,t[1]=(r[1]*a+r[5]*e+r[9]*u+r[13])/o,t[2]=(r[2]*a+r[6]*e+r[10]*u+r[14])/o,t},e.transformMat3=function(t,n,r){var a=n[0],e=n[1],u=n[2];return t[0]=a*r[0]+e*r[3]+u*r[6],t[1]=a*r[1]+e*r[4]+u*r[7],t[2]=a*r[2]+e*r[5]+u*r[8],t},e.transformQuat=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2],f=r[3],s=f*a+i*u-c*e,h=f*e+c*a-o*u,M=f*u+o*e-i*a,l=-o*a-i*e-c*u;return t[0]=s*f+l*-o+h*-c-M*-i,t[1]=h*f+l*-i+M*-o-s*-c,t[2]=M*f+l*-c+s*-i-h*-o,t},e.rotateX=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[0],u[1]=e[1]*Math.cos(a)-e[2]*Math.sin(a),u[2]=e[1]*Math.sin(a)+e[2]*Math.cos(a),t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.rotateY=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[2]*Math.sin(a)+e[0]*Math.cos(a),u[1]=e[1],u[2]=e[2]*Math.cos(a)-e[0]*Math.sin(a),t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.rotateZ=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[0]*Math.cos(a)-e[1]*Math.sin(a),u[1]=e[0]*Math.sin(a)+e[1]*Math.cos(a),u[2]=e[2],t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=3),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],t[2]=n[i+2],u(t,t,o),n[i]=t[0],n[i+1]=t[1],n[i+2]=t[2];return n}}(),e.angle=function(t,n){var r=e.fromValues(t[0],t[1],t[2]),a=e.fromValues(n[0],n[1],n[2]);e.normalize(r,r),e.normalize(a,a);var u=e.dot(r,a);return u>1?0:Math.acos(u)},e.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},e.fromValues=function(t,n,r,e){var u=new a.ARRAY_TYPE(4);return u[0]=t,u[1]=n,u[2]=r,u[3]=e,u},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},e.set=function(t,n,r,a,e){return t[0]=n,t[1]=r,t[2]=a,t[3]=e,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t[3]=n[3]*r[3],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t[3]=n[3]/r[3],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t[3]=Math.min(n[3],r[3]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t[3]=Math.max(n[3],r[3]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t[3]=n[3]+r[3]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2],u=n[3]-t[3];return Math.sqrt(r*r+a*a+e*e+u*u)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2],u=n[3]-t[3];return r*r+a*a+e*e+u*u},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1],a=t[2],e=t[3];return Math.sqrt(n*n+r*r+a*a+e*e)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1],a=t[2],e=t[3];return n*n+r*r+a*a+e*e},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*r+a*a+e*e+u*u;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=a*o,t[2]=e*o,t[3]=u*o),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]},e.lerp=function(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t[2]=o+a*(r[2]-o),t[3]=i+a*(r[3]-i),t},e.random=function(t,n){return n=n||1,t[0]=a.RANDOM(),t[1]=a.RANDOM(),t[2]=a.RANDOM(),t[3]=a.RANDOM(),e.normalize(t,t),e.scale(t,t,n),t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3];return t[0]=r[0]*a+r[4]*e+r[8]*u+r[12]*o,t[1]=r[1]*a+r[5]*e+r[9]*u+r[13]*o,t[2]=r[2]*a+r[6]*e+r[10]*u+r[14]*o,t[3]=r[3]*a+r[7]*e+r[11]*u+r[15]*o,t},e.transformQuat=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2],f=r[3],s=f*a+i*u-c*e,h=f*e+c*a-o*u,M=f*u+o*e-i*a,l=-o*a-i*e-c*u;return t[0]=s*f+l*-o+h*-c-M*-i,t[1]=h*f+l*-i+M*-o-s*-c,t[2]=M*f+l*-c+s*-i-h*-o,t[3]=n[3],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=4),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],t[2]=n[i+2],t[3]=n[i+3],u(t,t,o),n[i]=t[0],n[i+1]=t[1],n[i+2]=t[2],n[i+3]=t[3];return n}}(),e.str=function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(2);return n[0]=t[0],n[1]=t[1],n},e.fromValues=function(t,n){var r=new a.ARRAY_TYPE(2);return r[0]=t,r[1]=n,r},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t},e.set=function(t,n,r){return t[0]=n,t[1]=r,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1];return Math.sqrt(r*r+a*a)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1];return r*r+a*a},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1];return Math.sqrt(n*n+r*r)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1];return n*n+r*r},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=r*r+a*a;return e>0&&(e=1/Math.sqrt(e),t[0]=n[0]*e,t[1]=n[1]*e),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]},e.cross=function(t,n,r){var a=n[0]*r[1]-n[1]*r[0];return t[0]=t[1]=0,t[2]=a,t},e.lerp=function(t,n,r,a){var e=n[0],u=n[1];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t},e.random=function(t,n){n=n||1;var r=2*a.RANDOM()*Math.PI;return t[0]=Math.cos(r)*n,t[1]=Math.sin(r)*n,t},e.transformMat2=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[2]*e,t[1]=r[1]*a+r[3]*e,t},e.transformMat2d=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[2]*e+r[4],t[1]=r[1]*a+r[3]*e+r[5],t},e.transformMat3=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[3]*e+r[6],t[1]=r[1]*a+r[4]*e+r[7],t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[4]*e+r[12],t[1]=r[1]*a+r[5]*e+r[13],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=2),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],u(t,t,o),n[i]=t[0],n[i+1]=t[1];return n}}(),e.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},t.exports=e}])});'use strict';(function(global){if(tr.isNode){var glMatrixAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/gl-matrix-min.js');var glMatrixModule=require(glMatrixAbsPath);for(var exportName in glMatrixModule){global[exportName]=glMatrixModule[exportName];}}})(this);'use strict';tr.exportTo('tr.b',function(){function approximately(x,y,delta){if(delta===undefined)
-delta=1e-9;return Math.abs(x-y)<delta;}
-function clamp(x,lo,hi){return Math.min(Math.max(x,lo),hi);}
-function lerp(percentage,lo,hi){var range=hi-lo;return lo+percentage*range;}
-function normalize(value,lo,hi){return(value-lo)/(hi-lo);}
-function deg2rad(deg){return(Math.PI*deg)/180.0;}
-function erf(x){var sign=(x>=0)?1:-1;x=Math.abs(x);var a1=0.254829592;var a2=-0.284496736;var a3=1.421413741;var a4=-1.453152027;var a5=1.061405429;var p=0.3275911;var t=1.0/(1.0+p*x);var y=1.0-(((((a5*t+a4)*t)+a3)*t+a2)*t+a1)*t*Math.exp(-x*x);return sign*y;}
-var tmpVec2=vec2.create();var tmpVec2b=vec2.create();var tmpVec4=vec4.create();var tmpMat2d=mat2d.create();vec2.createFromArray=function(arr){if(arr.length!=2)
-throw new Error('Should be length 2');var v=vec2.create();vec2.set(v,arr[0],arr[1]);return v;};vec2.createXY=function(x,y){var v=vec2.create();vec2.set(v,x,y);return v;};vec2.toString=function(a){return'['+a[0]+', '+a[1]+']';};vec2.addTwoScaledUnitVectors=function(out,u1,scale1,u2,scale2){vec2.scale(tmpVec2,u1,scale1);vec2.scale(tmpVec2b,u2,scale2);vec2.add(out,tmpVec2,tmpVec2b);};vec2.interpolatePiecewiseFunction=function(points,x){if(x<points[0][0])
-return points[0][1];for(var i=1;i<points.length;++i){if(x<points[i][0]){var percent=normalize(x,points[i-1][0],points[i][0]);return lerp(percent,points[i-1][1],points[i][1]);}}
-return points[points.length-1][1];};vec3.createXYZ=function(x,y,z){var v=vec3.create();vec3.set(v,x,y,z);return v;};vec3.toString=function(a){return'vec3('+a[0]+', '+a[1]+', '+a[2]+')';};mat2d.translateXY=function(out,x,y){vec2.set(tmpVec2,x,y);mat2d.translate(out,out,tmpVec2);};mat2d.scaleXY=function(out,x,y){vec2.set(tmpVec2,x,y);mat2d.scale(out,out,tmpVec2);};vec4.unitize=function(out,a){out[0]=a[0]/a[3];out[1]=a[1]/a[3];out[2]=a[2]/a[3];out[3]=1;return out;};vec2.copyFromVec4=function(out,a){vec4.unitize(tmpVec4,a);vec2.copy(out,tmpVec4);};return{approximately:approximately,clamp:clamp,lerp:lerp,normalize:normalize,deg2rad:deg2rad,erf:erf};});'use strict';tr.exportTo('tr.b',function(){function Range(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;}
-Range.prototype={__proto__:Object.prototype,reset:function(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;},get isEmpty(){return this.isEmpty_;},addRange:function(range){if(range.isEmpty)
-return;this.addValue(range.min);this.addValue(range.max);},addValue:function(value){if(this.isEmpty_){this.max_=value;this.min_=value;this.isEmpty_=false;return;}
-this.max_=Math.max(this.max_,value);this.min_=Math.min(this.min_,value);},set min(min){this.isEmpty_=false;this.min_=min;},get min(){if(this.isEmpty_)
-return undefined;return this.min_;},get max(){if(this.isEmpty_)
-return undefined;return this.max_;},set max(max){this.isEmpty_=false;this.max_=max;},get range(){if(this.isEmpty_)
-return undefined;return this.max_-this.min_;},get center(){return(this.min_+this.max_)*0.5;},get duration(){if(this.isEmpty_)
-return 0;return this.max_-this.min_;},normalize:function(x){return tr.b.normalize(x,this.min,this.max);},lerp:function(x){return tr.b.lerp(x,this.min,this.max);},equals:function(that){if(this.isEmpty&&that.isEmpty)
-return true;if(this.isEmpty!=that.isEmpty)
-return false;return(tr.b.approximately(this.min,that.min)&&tr.b.approximately(this.max,that.max));},containsExplicitRangeInclusive:function(min,max){if(this.isEmpty)
-return false;return this.min_<=min&&max<=this.max_;},containsExplicitRangeExclusive:function(min,max){if(this.isEmpty)
-return false;return this.min_<min&&max<this.max_;},intersectsExplicitRangeInclusive:function(min,max){if(this.isEmpty)
-return false;return this.min_<=max&&min<=this.max_;},intersectsExplicitRangeExclusive:function(min,max){if(this.isEmpty)
-return false;return this.min_<max&&min<this.max_;},containsRangeInclusive:function(range){if(range.isEmpty)
-return false;return this.containsExplicitRangeInclusive(range.min_,range.max_);},containsRangeExclusive:function(range){if(range.isEmpty)
-return false;return this.containsExplicitRangeExclusive(range.min_,range.max_);},intersectsRangeInclusive:function(range){if(range.isEmpty)
-return false;return this.intersectsExplicitRangeInclusive(range.min_,range.max_);},intersectsRangeExclusive:function(range){if(range.isEmpty)
-return false;return this.intersectsExplicitRangeExclusive(range.min_,range.max_);},findExplicitIntersectionDuration:function(min,max){var min=Math.max(this.min,min);var max=Math.min(this.max,max);if(max<min)
-return 0;return max-min;},findIntersection:function(range){if(this.isEmpty||range.isEmpty)
-return new Range();var min=Math.max(this.min,range.min);var max=Math.min(this.max,range.max);if(max<min)
-return new Range();return Range.fromExplicitRange(min,max);},toJSON:function(){if(this.isEmpty_)
-return{isEmpty:true};return{isEmpty:false,max:this.max,min:this.min};},filterArray:function(array,opt_keyFunc,opt_this){if(this.isEmpty_)
-return[];function binSearch(test){var i0=0;var i1=array.length;while(i0<i1){var i=Math.trunc((i0+i1)/2);if(test(i))
-i1=i;else
-i0=i+1;}
-return i1;}
-var keyFunc=opt_keyFunc||tr.b.identity;function getValue(index){return keyFunc.call(opt_this,array[index]);}
-var first=binSearch(function(i){return this.min_===undefined||this.min_<=getValue(i);}.bind(this));var last=binSearch(function(i){return this.max_!==undefined&&this.max_<getValue(i);}.bind(this));return array.slice(first,last);}};Range.fromDict=function(d){if(d.isEmpty===true){return new Range();}else if(d.isEmpty===false){var range=new Range();range.min=d.min;range.max=d.max;return range;}else{throw new Error('Not a range');}};Range.fromExplicitRange=function(min,max){var range=new Range();range.min=min;range.max=max;return range;};Range.compareByMinTimes=function(a,b){if(!a.isEmpty&&!b.isEmpty)
-return a.min_-b.min_;if(a.isEmpty&&!b.isEmpty)
-return-1;if(!a.isEmpty&&b.isEmpty)
-return 1;return 0;};Range.PERCENT_RANGE=Range.fromExplicitRange(0,1);Object.freeze(Range.PERCENT_RANGE);return{Range:Range};});'use strict';tr.exportTo('tr.b',function(){function EventTarget(){}
-EventTarget.decorate=function(target){for(var k in EventTarget.prototype){if(k=='decorate')
-continue;var v=EventTarget.prototype[k];if(typeof v!=='function')
-continue;target[k]=v;}};EventTarget.prototype={addEventListener:function(type,handler){if(!this.listeners_)
-this.listeners_=Object.create(null);if(!(type in this.listeners_)){this.listeners_[type]=[handler];}else{var handlers=this.listeners_[type];if(handlers.indexOf(handler)<0)
-handlers.push(handler);}},removeEventListener:function(type,handler){if(!this.listeners_)
-return;if(type in this.listeners_){var handlers=this.listeners_[type];var index=handlers.indexOf(handler);if(index>=0){if(handlers.length==1)
-delete this.listeners_[type];else
-handlers.splice(index,1);}}},dispatchEvent:function(event){if(!this.listeners_)
-return true;var self=this;event.__defineGetter__('target',function(){return self;});var realPreventDefault=event.preventDefault;event.preventDefault=function(){realPreventDefault.call(this);this.rawReturnValue=false;};var type=event.type;var prevented=0;if(type in this.listeners_){var handlers=this.listeners_[type].concat();for(var i=0,handler;handler=handlers[i];i++){if(handler.handleEvent)
-prevented|=handler.handleEvent.call(handler,event)===false;else
-prevented|=handler.call(this,event)===false;}}
-return!prevented&&event.rawReturnValue;},hasEventListener:function(type){return this.listeners_[type]!==undefined;}};var EventTargetHelper={decorate:function(target){for(var k in EventTargetHelper){if(k=='decorate')
-continue;var v=EventTargetHelper[k];if(typeof v!=='function')
-continue;target[k]=v;}
-target.listenerCounts_={};},addEventListener:function(type,listener,useCapture){this.__proto__.addEventListener.call(this,type,listener,useCapture);if(this.listenerCounts_[type]===undefined)
-this.listenerCounts_[type]=0;this.listenerCounts_[type]++;},removeEventListener:function(type,listener,useCapture){this.__proto__.removeEventListener.call(this,type,listener,useCapture);this.listenerCounts_[type]--;},hasEventListener:function(type){return this.listenerCounts_[type]>0;}};return{EventTarget:EventTarget,EventTargetHelper:EventTargetHelper};});'use strict';tr.exportTo('tr.b',function(){var Event;if(tr.isHeadless){function HeadlessEvent(type,opt_bubbles,opt_preventable){this.type=type;this.bubbles=(opt_bubbles!==undefined?!!opt_bubbles:false);this.cancelable=(opt_preventable!==undefined?!!opt_preventable:false);this.defaultPrevented=false;this.cancelBubble=false;};HeadlessEvent.prototype={preventDefault:function(){this.defaultPrevented=true;},stopPropagation:function(){this.cancelBubble=true;}};Event=HeadlessEvent;}else{function TrEvent(type,opt_bubbles,opt_preventable){var e=tr.doc.createEvent('Event');e.initEvent(type,!!opt_bubbles,!!opt_preventable);e.__proto__=global.Event.prototype;return e;};TrEvent.prototype={__proto__:global.Event.prototype};Event=TrEvent;}
-function dispatchSimpleEvent(target,type,opt_bubbles,opt_cancelable,opt_fields){var e=new tr.b.Event(type,opt_bubbles,opt_cancelable);if(opt_fields){tr.b.iterItems(opt_fields,function(name,value){e[name]=value;});}
-return target.dispatchEvent(e);}
-return{Event:Event,dispatchSimpleEvent:dispatchSimpleEvent};});'use strict';var GREEK_SMALL_LETTER_MU=String.fromCharCode(956);tr.exportTo('tr.b',function(){var UnitScale={};function defineUnitScale(name,prefixes){if(UnitScale[name]!==undefined)
-throw new Error('Unit scale \''+name+'\' already exists');if(prefixes.AUTO!==undefined){throw new Error('\'AUTO\' unit prefix will be added automatically '+'for unit scale \''+name+'\'');}
-prefixes.AUTO=tr.b.dictionaryValues(prefixes);prefixes.AUTO.sort((a,b)=>a.value-b.value);UnitScale[name]=prefixes;}
-function convertUnit(value,fromPrefix,toPrefix){if(value===undefined)
-return undefined;return value*(fromPrefix.value/toPrefix.value);}
-defineUnitScale('Binary',{NONE:{value:Math.pow(1024,0),symbol:''},KIBI:{value:Math.pow(1024,1),symbol:'Ki'},MEBI:{value:Math.pow(1024,2),symbol:'Mi'},GIBI:{value:Math.pow(1024,3),symbol:'Gi'},TEBI:{value:Math.pow(1024,4),symbol:'Ti'}});defineUnitScale('Metric',{NANO:{value:1e-9,symbol:'n'},MICRO:{value:1e-6,symbol:GREEK_SMALL_LETTER_MU},MILLI:{value:1e-3,symbol:'m'},NONE:{value:1,symbol:''},KILO:{value:1e3,symbol:'k'},MEGA:{value:1e6,symbol:'M'},GIGA:{value:1e9,symbol:'G'}});return{UnitScale:UnitScale,convertUnit:convertUnit};});'use strict';tr.exportTo('tr.b',function(){var msDisplayMode={scale:1e-3,suffix:'ms',roundedLess:function(a,b){return Math.round(a*1000)<Math.round(b*1000);},formatSpec:{unit:'s',unitPrefix:tr.b.UnitScale.Metric.MILLI,minimumFractionDigits:3,}};var nsDisplayMode={scale:1e-9,suffix:'ns',roundedLess:function(a,b){return Math.round(a*1000000)<Math.round(b*1000000);},formatSpec:{unit:'s',unitPrefix:tr.b.UnitScale.Metric.NANO,maximumFractionDigits:0}};var TimeDisplayModes={ns:nsDisplayMode,ms:msDisplayMode};return{TimeDisplayModes:TimeDisplayModes};});'use strict';tr.exportTo('tr.b',function(){var TimeDisplayModes=tr.b.TimeDisplayModes;var PLUS_MINUS_SIGN=String.fromCharCode(177);function max(a,b){if(a===undefined)
-return b;if(b===undefined)
-return a;return a.scale>b.scale?a:b;}
-var ImprovementDirection={DONT_CARE:0,BIGGER_IS_BETTER:1,SMALLER_IS_BETTER:2};function Unit(unitName,jsonName,basePrefix,isDelta,improvementDirection,formatSpec){this.unitName=unitName;this.jsonName=jsonName;this.basePrefix=basePrefix;this.isDelta=isDelta;this.improvementDirection=improvementDirection;this.formatSpec_=formatSpec;this.baseUnit=undefined;this.correspondingDeltaUnit=undefined;}
-Unit.prototype={asJSON:function(){return this.jsonName;},get unitString(){var formatSpec=this.formatSpec_;if(typeof formatSpec==='function')
-formatSpec=formatSpec();if(!formatSpec.unit){return'';}
-var unitString='';var unitPrefix=formatSpec.unitPrefix;if(unitPrefix!==undefined){var selectedPrefix;if(unitPrefix instanceof Array){selectedPrefix=unitPrefix[0];}else{selectedPrefix=unitPrefix;}
-unitString+=selectedPrefix.symbol||'';}
-unitString+=formatSpec.unit;return unitString;},format:function(value,opt_context){var context=opt_context||{};var formatSpec=this.formatSpec_;if(typeof formatSpec==='function')
-formatSpec=formatSpec();function resolveProperty(propertyName){if(propertyName in context)
-return context[propertyName];else if(propertyName in formatSpec)
-return formatSpec[propertyName];else
-return undefined;}
-var signString='';if(value<0){signString='-';value=-value;}else if(this.isDelta){signString=value===0?PLUS_MINUS_SIGN:'+';}
-var unitString='';if(formatSpec.unit){if(formatSpec.unitHasPrecedingSpace!==false)
-unitString+=' ';var unitPrefix=resolveProperty('unitPrefix');if(unitPrefix!==undefined){var selectedPrefix;if(unitPrefix instanceof Array){var i=0;while(i<unitPrefix.length-1&&value/unitPrefix[i+1].value>=1){i++;}
-selectedPrefix=unitPrefix[i];}else{selectedPrefix=unitPrefix;}
-unitString+=selectedPrefix.symbol||'';value=tr.b.convertUnit(value,this.basePrefix,selectedPrefix);}else{value=tr.b.convertUnit(value,this.basePrefix,tr.b.UnitScale.Metric.NONE);}
-unitString+=formatSpec.unit;}
-var minimumFractionDigits=resolveProperty('minimumFractionDigits');var maximumFractionDigits=resolveProperty('maximumFractionDigits');if(minimumFractionDigits>maximumFractionDigits){if('minimumFractionDigits'in context&&!('maximumFractionDigits'in context)){maximumFractionDigits=minimumFractionDigits;}else if('maximumFractionDigits'in context&&!('minimumFractionDigits'in context)){minimumFractionDigits=maximumFractionDigits;}}
-var numberString=value.toLocaleString(undefined,{minimumFractionDigits:minimumFractionDigits,maximumFractionDigits:maximumFractionDigits});return signString+numberString+unitString;}};Unit.reset=function(){Unit.currentTimeDisplayMode=TimeDisplayModes.ms;};Unit.timestampFromUs=function(us){return tr.b.convertUnit(us,tr.b.UnitScale.Metric.MICRO,tr.b.UnitScale.Metric.MILLI);};Object.defineProperty(Unit,'currentTimeDisplayMode',{get:function(){return Unit.currentTimeDisplayMode_;},set:function(value){if(Unit.currentTimeDisplayMode_===value)
-return;Unit.currentTimeDisplayMode_=value;Unit.dispatchEvent(new tr.b.Event('display-mode-changed'));}});Unit.didPreferredTimeDisplayUnitChange=function(){var largest=undefined;var els=tr.b.findDeepElementsMatching(document.body,'tr-v-ui-preferred-display-unit');els.forEach(function(el){largest=max(largest,el.preferredTimeDisplayMode);});Unit.currentDisplayUnit=largest===undefined?TimeDisplayModes.ms:largest;};Unit.byName={};Unit.byJSONName={};Unit.fromJSON=function(object){var u=Unit.byJSONName[object];if(u){return u;}
-throw new Error('Unrecognized unit');};Unit.define=function(params){var definedUnits=[];tr.b.iterItems(ImprovementDirection,function(_,improvementDirection){var regularUnit=Unit.defineUnitVariant_(params,false,improvementDirection);var deltaUnit=Unit.defineUnitVariant_(params,true,improvementDirection);regularUnit.correspondingDeltaUnit=deltaUnit;deltaUnit.correspondingDeltaUnit=deltaUnit;definedUnits.push(regularUnit,deltaUnit);});var baseUnit=Unit.byName[params.baseUnitName];definedUnits.forEach(u=>u.baseUnit=baseUnit);};Unit.nameSuffixForImprovementDirection=function(improvementDirection){switch(improvementDirection){case ImprovementDirection.DONT_CARE:return'';case ImprovementDirection.BIGGER_IS_BETTER:return'_biggerIsBetter';case ImprovementDirection.SMALLER_IS_BETTER:return'_smallerIsBetter';default:throw new Error('Unknown improvement direction: '+improvementDirection);}};Unit.defineUnitVariant_=function(params,isDelta,improvementDirection){var nameSuffix=isDelta?'Delta':'';nameSuffix+=Unit.nameSuffixForImprovementDirection(improvementDirection);var unitName=params.baseUnitName+nameSuffix;var jsonName=params.baseJsonName+nameSuffix;if(Unit.byName[unitName]!==undefined)
-throw new Error('Unit \''+unitName+'\' already exists');if(Unit.byJSONName[jsonName]!==undefined)
-throw new Error('JSON unit \''+jsonName+'\' alread exists');var basePrefix=params.basePrefix?params.basePrefix:tr.b.UnitScale.Metric.NONE;var unit=new Unit(unitName,jsonName,basePrefix,isDelta,improvementDirection,params.formatSpec);Unit.byName[unitName]=unit;Unit.byJSONName[jsonName]=unit;return unit;};tr.b.EventTarget.decorate(Unit);Unit.reset();Unit.define({baseUnitName:'timeDurationInMs',baseJsonName:'ms',basePrefix:tr.b.UnitScale.Metric.MILLI,formatSpec:function(){return Unit.currentTimeDisplayMode_.formatSpec;}});Unit.define({baseUnitName:'timeStampInMs',baseJsonName:'tsMs',basePrefix:tr.b.UnitScale.Metric.MILLI,formatSpec:function(){return Unit.currentTimeDisplayMode_.formatSpec;}});Unit.define({baseUnitName:'normalizedPercentage',baseJsonName:'n%',formatSpec:{unit:'%',unitPrefix:{value:0.01},unitHasPrecedingSpace:false,minimumFractionDigits:3,maximumFractionDigits:3}});Unit.define({baseUnitName:'sizeInBytes',baseJsonName:'sizeInBytes',formatSpec:{unit:'B',unitPrefix:tr.b.UnitScale.Binary.AUTO,minimumFractionDigits:1,maximumFractionDigits:1}});Unit.define({baseUnitName:'energyInJoules',baseJsonName:'J',formatSpec:{unit:'J',minimumFractionDigits:3}});Unit.define({baseUnitName:'powerInWatts',baseJsonName:'W',formatSpec:{unit:'W',minimumFractionDigits:3}});Unit.define({baseUnitName:'unitlessNumber',baseJsonName:'unitless',formatSpec:{minimumFractionDigits:3,maximumFractionDigits:3}});Unit.define({baseUnitName:'count',baseJsonName:'count',formatSpec:{minimumFractionDigits:0,maximumFractionDigits:0}});Unit.define({baseUnitName:'sigma',baseJsonName:'sigma',formatSpec:{unit:String.fromCharCode(963),minimumFractionDigits:1,maximumFractionDigits:1}});return{ImprovementDirection:ImprovementDirection,Unit:Unit};});'use strict';tr.exportTo('tr.b',function(){function addSingletonGetter(ctor){ctor.getInstance=function(){return ctor.instance_||(ctor.instance_=new ctor());};}
-function deepCopy(value){if(!(value instanceof Object)){if(value===undefined||value===null)
-return value;if(typeof value=='string')
-return value.substring();if(typeof value=='boolean')
-return value;if(typeof value=='number')
-return value;throw new Error('Unrecognized: '+typeof value);}
-var object=value;if(object instanceof Array){var res=new Array(object.length);for(var i=0;i<object.length;i++)
-res[i]=deepCopy(object[i]);return res;}
-if(object.__proto__!=Object.prototype)
-throw new Error('Can only clone simple types');var res={};for(var key in object){res[key]=deepCopy(object[key]);}
-return res;}
-function normalizeException(e){if(e===undefined||e===null){return{typeName:'UndefinedError',message:'Unknown: null or undefined exception',stack:'Unknown'};}
-if(typeof(e)=='string'){return{typeName:'StringError',message:e,stack:[e]};}
-var typeName;if(e.name){typeName=e.name;}else if(e.constructor){if(e.constructor.name){typeName=e.constructor.name;}else{typeName='AnonymousError';}}else{typeName='ErrorWithNoConstructor';}
-var msg=e.message?e.message:'Unknown';return{typeName:typeName,message:msg,stack:e.stack?e.stack:[msg]};}
-function stackTraceAsString(){return new Error().stack+'';}
-function stackTrace(){var stack=stackTraceAsString();stack=stack.split('\n');return stack.slice(2);}
-function getUsingPath(path,fromDict){var parts=path.split('.');var cur=fromDict;for(var part;parts.length&&(part=parts.shift());){if(!parts.length){return cur[part];}else if(part in cur){cur=cur[part];}else{return undefined;}}
-return undefined;}
-function formatDate(date){return date.toISOString().replace('T',' ').slice(0,19);}
-return{addSingletonGetter:addSingletonGetter,deepCopy:deepCopy,normalizeException:normalizeException,stackTrace:stackTrace,stackTraceAsString:stackTraceAsString,formatDate:formatDate,getUsingPath:getUsingPath};});'use strict';tr.exportTo('tr.model.source_info',function(){function SourceInfo(file,opt_line,opt_column){this.file_=file;this.line_=opt_line||-1;this.column_=opt_column||-1;}
-SourceInfo.prototype={get file(){return this.file_;},get line(){return this.line_;},get column(){return this.column_;},get domain(){if(!this.file_)
-return undefined;var domain=this.file_.match(/(.*:\/\/[^:\/]*)/i);return domain?domain[1]:undefined;},toString:function(){var str='';if(this.file_)
-str+=this.file_;if(this.line_>0)
-str+=':'+this.line_;if(this.column_>0)
-str+=':'+this.column_;return str;}};return{SourceInfo:SourceInfo};});'use strict';tr.exportTo('tr.model.source_info',function(){function JSSourceInfo(file,line,column,isNative,scriptId,state){tr.model.source_info.SourceInfo.call(this,file,line,column);this.isNative_=isNative;this.scriptId_=scriptId;this.state_=state;}
-JSSourceInfo.prototype={__proto__:tr.model.source_info.SourceInfo.prototype,get state(){return this.state_;},get isNative(){return this.isNative_;},get scriptId(){return this.scriptId_;},toString:function(){var str=this.isNative_?'[native v8] ':'';return str+
-tr.model.source_info.SourceInfo.prototype.toString.call(this);}};return{JSSourceInfo:JSSourceInfo,JSSourceState:{COMPILED:'compiled',OPTIMIZABLE:'optimizable',OPTIMIZED:'optimized',UNKNOWN:'unknown'}};});'use strict';tr.exportTo('tr.e.importer',function(){function TraceCodeEntry(address,size,name,scriptId){this.id_=tr.b.GUID.allocateSimple();this.address_=address;this.size_=size;var rePrefix=/^(\w*:)?([*~]?)(.*)$/m;var tokens=rePrefix.exec(name);var prefix=tokens[1];var state=tokens[2];var body=tokens[3];if(state==='*'){state=tr.model.source_info.JSSourceState.OPTIMIZED;}else if(state==='~'){state=tr.model.source_info.JSSourceState.OPTIMIZABLE;}else if(state===''){state=tr.model.source_info.JSSourceState.COMPILED;}else{console.warning('Unknown v8 code state '+state);state=tr.model.source_info.JSSourceState.UNKNOWN;}
-var rawName;var rawUrl;if(prefix==='Script:'){rawName='';rawUrl=body;}else{var spacePos=body.lastIndexOf(' ');rawName=spacePos!==-1?body.substr(0,spacePos):body;rawUrl=spacePos!==-1?body.substr(spacePos+1):'';}
-function splitLineAndColumn(url){var lineColumnRegEx=/(?::(\d+))?(?::(\d+))?$/;var lineColumnMatch=lineColumnRegEx.exec(url);var lineNumber;var columnNumber;if(typeof(lineColumnMatch[1])==='string'){lineNumber=parseInt(lineColumnMatch[1],10);lineNumber=isNaN(lineNumber)?undefined:lineNumber-1;}
-if(typeof(lineColumnMatch[2])==='string'){columnNumber=parseInt(lineColumnMatch[2],10);columnNumber=isNaN(columnNumber)?undefined:columnNumber-1;}
-return{url:url.substring(0,url.length-lineColumnMatch[0].length),lineNumber:lineNumber,columnNumber:columnNumber};}
-var nativeSuffix=' native';var isNative=rawName.endsWith(nativeSuffix);this.name_=isNative?rawName.slice(0,-nativeSuffix.length):rawName;var urlData=splitLineAndColumn(rawUrl);var url=urlData.url||'';var line=urlData.lineNumber||0;var column=urlData.columnNumber||0;this.sourceInfo_=new tr.model.source_info.JSSourceInfo(url,line,column,isNative,scriptId,state);};TraceCodeEntry.prototype={get id(){return this.id_;},get sourceInfo(){return this.sourceInfo_;},get name(){return this.name_;},set address(address){this.address_=address;},get address(){return this.address_;},set size(size){this.size_=size;},get size(){return this.size_;}};return{TraceCodeEntry:TraceCodeEntry};});'use strict';tr.exportTo('tr.e.importer',function(){function TraceCodeMap(){this.banks_=new Map();}
-TraceCodeMap.prototype={addEntry:function(addressHex,size,name,scriptId){var entry=new tr.e.importer.TraceCodeEntry(this.getAddress_(addressHex),size,name,scriptId);this.addEntry_(addressHex,entry);},moveEntry:function(oldAddressHex,newAddressHex,size){var entry=this.getBank_(oldAddressHex).removeEntry(this.getAddress_(oldAddressHex));if(!entry)
-return;entry.address=this.getAddress_(newAddressHex);entry.size=size;this.addEntry_(newAddressHex,entry);},lookupEntry:function(addressHex){return this.getBank_(addressHex).lookupEntry(this.getAddress_(addressHex));},addEntry_:function(addressHex,entry){this.getBank_(addressHex).addEntry(entry);},getAddress_:function(addressHex){var bankSizeHexDigits=13;addressHex=addressHex.slice(2);return parseInt(addressHex.slice(-bankSizeHexDigits),16);},getBank_:function(addressHex){addressHex=addressHex.slice(2);var bankSizeHexDigits=13;var maxHexDigits=16;var bankName=addressHex.slice(-maxHexDigits,-bankSizeHexDigits);var bank=this.banks_.get(bankName);if(!bank){bank=new TraceCodeBank();this.banks_.set(bankName,bank);}
-return bank;}};function TraceCodeBank(){this.entries_=[];}
-TraceCodeBank.prototype={removeEntry:function(address){if(this.entries_.length===0)
-return undefined;var index=tr.b.findLowIndexInSortedArray(this.entries_,function(entry){return entry.address;},address);var entry=this.entries_[index];if(!entry||entry.address!==address)
-return undefined;this.entries_.splice(index,1);return entry;},lookupEntry:function(address){var index=tr.b.findHighIndexInSortedArray(this.entries_,function(e){return address-e.address;})-1;var entry=this.entries_[index];return entry&&address<entry.address+entry.size?entry:undefined;},addEntry:function(newEntry){if(this.entries_.length===0)
-this.entries_.push(newEntry);var endAddress=newEntry.address+newEntry.size;var lastIndex=tr.b.findLowIndexInSortedArray(this.entries_,function(entry){return entry.address;},endAddress);var index;for(index=lastIndex-1;index>=0;--index){var entry=this.entries_[index];var entryEndAddress=entry.address+entry.size;if(entryEndAddress<=newEntry.address)
-break;}
-++index;this.entries_.splice(index,lastIndex-index,newEntry);}};return{TraceCodeMap:TraceCodeMap};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function SplayTree(){};SplayTree.prototype.root_=null;SplayTree.prototype.isEmpty=function(){return!this.root_;};SplayTree.prototype.insert=function(key,value){if(this.isEmpty()){this.root_=new SplayTree.Node(key,value);return;}
-this.splay_(key);if(this.root_.key==key){return;}
-var node=new SplayTree.Node(key,value);if(key>this.root_.key){node.left=this.root_;node.right=this.root_.right;this.root_.right=null;}else{node.right=this.root_;node.left=this.root_.left;this.root_.left=null;}
-this.root_=node;};SplayTree.prototype.remove=function(key){if(this.isEmpty()){throw Error('Key not found: '+key);}
-this.splay_(key);if(this.root_.key!=key){throw Error('Key not found: '+key);}
-var removed=this.root_;if(!this.root_.left){this.root_=this.root_.right;}else{var right=this.root_.right;this.root_=this.root_.left;this.splay_(key);this.root_.right=right;}
-return removed;};SplayTree.prototype.find=function(key){if(this.isEmpty()){return null;}
-this.splay_(key);return this.root_.key==key?this.root_:null;};SplayTree.prototype.findMin=function(){if(this.isEmpty()){return null;}
-var current=this.root_;while(current.left){current=current.left;}
-return current;};SplayTree.prototype.findMax=function(opt_startNode){if(this.isEmpty()){return null;}
-var current=opt_startNode||this.root_;while(current.right){current=current.right;}
-return current;};SplayTree.prototype.findGreatestLessThan=function(key){if(this.isEmpty()){return null;}
-this.splay_(key);if(this.root_.key<=key){return this.root_;}else if(this.root_.left){return this.findMax(this.root_.left);}else{return null;}};SplayTree.prototype.exportKeysAndValues=function(){var result=[];this.traverse_(function(node){result.push([node.key,node.value]);});return result;};SplayTree.prototype.exportValues=function(){var result=[];this.traverse_(function(node){result.push(node.value);});return result;};SplayTree.prototype.splay_=function(key){if(this.isEmpty()){return;}
-var dummy,left,right;dummy=left=right=new SplayTree.Node(null,null);var current=this.root_;while(true){if(key<current.key){if(!current.left){break;}
-if(key<current.left.key){var tmp=current.left;current.left=tmp.right;tmp.right=current;current=tmp;if(!current.left){break;}}
-right.left=current;right=current;current=current.left;}else if(key>current.key){if(!current.right){break;}
-if(key>current.right.key){var tmp=current.right;current.right=tmp.left;tmp.left=current;current=tmp;if(!current.right){break;}}
-left.right=current;left=current;current=current.right;}else{break;}}
-left.right=current.left;right.left=current.right;current.left=dummy.right;current.right=dummy.left;this.root_=current;};SplayTree.prototype.traverse_=function(f){var nodesToVisit=[this.root_];while(nodesToVisit.length>0){var node=nodesToVisit.shift();if(node==null){continue;}
-f(node);nodesToVisit.push(node.left);nodesToVisit.push(node.right);}};SplayTree.Node=function(key,value){this.key=key;this.value=value;};SplayTree.Node.prototype.left=null;SplayTree.Node.prototype.right=null;return{SplayTree:SplayTree};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function CodeMap(){this.dynamics_=new tr.e.importer.v8.SplayTree();this.dynamicsNameGen_=new tr.e.importer.v8.CodeMap.NameGenerator();this.statics_=new tr.e.importer.v8.SplayTree();this.libraries_=new tr.e.importer.v8.SplayTree();this.pages_=[];}
-CodeMap.PAGE_ALIGNMENT=12;CodeMap.PAGE_SIZE=1<<CodeMap.PAGE_ALIGNMENT;CodeMap.prototype.addCode=function(start,codeEntry){this.deleteAllCoveredNodes_(this.dynamics_,start,start+codeEntry.size);this.dynamics_.insert(start,codeEntry);};CodeMap.prototype.moveCode=function(from,to){var removedNode=this.dynamics_.remove(from);this.deleteAllCoveredNodes_(this.dynamics_,to,to+removedNode.value.size);this.dynamics_.insert(to,removedNode.value);};CodeMap.prototype.deleteCode=function(start){var removedNode=this.dynamics_.remove(start);};CodeMap.prototype.addLibrary=function(start,codeEntry){this.markPages_(start,start+codeEntry.size);this.libraries_.insert(start,codeEntry);};CodeMap.prototype.addStaticCode=function(start,codeEntry){this.statics_.insert(start,codeEntry);};CodeMap.prototype.markPages_=function(start,end){for(var addr=start;addr<=end;addr+=CodeMap.PAGE_SIZE){this.pages_[addr>>>CodeMap.PAGE_ALIGNMENT]=1;}};CodeMap.prototype.deleteAllCoveredNodes_=function(tree,start,end){var toDelete=[];var addr=end-1;while(addr>=start){var node=tree.findGreatestLessThan(addr);if(!node)break;var start2=node.key,end2=start2+node.value.size;if(start2<end&&start<end2)toDelete.push(start2);addr=start2-1;}
-for(var i=0,l=toDelete.length;i<l;++i)tree.remove(toDelete[i]);};CodeMap.prototype.isAddressBelongsTo_=function(addr,node){return addr>=node.key&&addr<(node.key+node.value.size);};CodeMap.prototype.findInTree_=function(tree,addr){var node=tree.findGreatestLessThan(addr);return node&&this.isAddressBelongsTo_(addr,node)?node.value:null;};CodeMap.prototype.findEntryInLibraries=function(addr){var pageAddr=addr>>>CodeMap.PAGE_ALIGNMENT;if(pageAddr in this.pages_)
-return this.findInTree_(this.libraries_,addr);return undefined;};CodeMap.prototype.findEntry=function(addr){var pageAddr=addr>>>CodeMap.PAGE_ALIGNMENT;if(pageAddr in this.pages_){return this.findInTree_(this.statics_,addr)||this.findInTree_(this.libraries_,addr);}
-var min=this.dynamics_.findMin();var max=this.dynamics_.findMax();if(max!=null&&addr<(max.key+max.value.size)&&addr>=min.key){var dynaEntry=this.findInTree_(this.dynamics_,addr);if(dynaEntry==null)return null;if(!dynaEntry.nameUpdated_){dynaEntry.name=this.dynamicsNameGen_.getName(dynaEntry.name);dynaEntry.nameUpdated_=true;}
-return dynaEntry;}
-return null;};CodeMap.prototype.findDynamicEntryByStartAddress=function(addr){var node=this.dynamics_.find(addr);return node?node.value:null;};CodeMap.prototype.getAllDynamicEntries=function(){return this.dynamics_.exportValues();};CodeMap.prototype.getAllDynamicEntriesWithAddresses=function(){return this.dynamics_.exportKeysAndValues();};CodeMap.prototype.getAllStaticEntries=function(){return this.statics_.exportValues();};CodeMap.prototype.getAllLibrariesEntries=function(){return this.libraries_.exportValues();};CodeMap.CodeState={COMPILED:0,OPTIMIZABLE:1,OPTIMIZED:2};CodeMap.CodeEntry=function(size,opt_name,opt_type){this.id=tr.b.GUID.allocateSimple();this.size=size;this.name_=opt_name||'';this.type=opt_type||'';this.nameUpdated_=false;};CodeMap.CodeEntry.prototype={__proto__:Object.prototype,get name(){return this.name_;},set name(value){this.name_=value;},toString:function(){this.name_+': '+this.size.toString(16);}};CodeMap.CodeEntry.TYPE={SHARED_LIB:'SHARED_LIB',CPP:'CPP'};CodeMap.DynamicFuncCodeEntry=function(size,type,func,state){CodeMap.CodeEntry.call(this,size,'',type);this.func=func;this.state=state;};CodeMap.DynamicFuncCodeEntry.STATE_PREFIX=['','~','*'];CodeMap.DynamicFuncCodeEntry.prototype={__proto__:CodeMap.CodeEntry.prototype,get name(){return CodeMap.DynamicFuncCodeEntry.STATE_PREFIX[this.state]+
-this.func.name;},set name(value){this.name_=value;},getRawName:function(){return this.func.getName();},isJSFunction:function(){return true;},toString:function(){return this.type+': '+this.name+': '+this.size.toString(16);}};CodeMap.FunctionEntry=function(name){CodeMap.CodeEntry.call(this,0,name);};CodeMap.FunctionEntry.prototype={__proto__:CodeMap.CodeEntry.prototype,get name(){var name=this.name_;if(name.length==0){name='<anonymous>';}else if(name.charAt(0)==' '){name='<anonymous>'+name;}
-return name;},set name(value){this.name_=value;}};CodeMap.NameGenerator=function(){this.knownNames_={};};CodeMap.NameGenerator.prototype.getName=function(name){if(!(name in this.knownNames_)){this.knownNames_[name]=0;return name;}
-var count=++this.knownNames_[name];return name+' {'+count+'}';};return{CodeMap:CodeMap};});'use strict';tr.exportTo('tr.importer',function(){function ContextProcessor(model){this.model_=model;this.activeContexts_=[];this.stackPerType_={};this.contextCache_={};this.contextSetCache_={};this.cachedEntryForActiveContexts_=undefined;this.seenSnapshots_={};};ContextProcessor.prototype={enterContext:function(contextType,scopedId){var newActiveContexts=[this.getOrCreateContext_(contextType,scopedId)];for(var oldContext of this.activeContexts_){if(oldContext.type===contextType){this.pushContext_(oldContext);}else{newActiveContexts.push(oldContext);}}
-this.activeContexts_=newActiveContexts;this.cachedEntryForActiveContexts_=undefined;},leaveContext:function(contextType,scopedId){this.leaveContextImpl_(context=>context.type===contextType&&context.snapshot.scope===scopedId.scope&&context.snapshot.idRef===scopedId.id);},destroyContext:function(scopedId){tr.b.iterItems(this.stackPerType_,function(contextType,stack){var newLength=0;for(var i=0;i<stack.length;++i){if(stack[i].snapshot.scope!==scopedId.scope||stack[i].snapshot.idRef!==scopedId.id){stack[newLength++]=stack[i];}}
-stack.length=newLength;});this.leaveContextImpl_(context=>context.snapshot.scope===scopedId.scope&&context.snapshot.idRef===scopedId.id);},leaveContextImpl_:function(predicate){var newActiveContexts=[];for(var oldContext of this.activeContexts_){if(predicate(oldContext)){var previousContext=this.popContext_(oldContext.type);if(previousContext)
-newActiveContexts.push(previousContext);}else{newActiveContexts.push(oldContext);}}
-this.activeContexts_=newActiveContexts;this.cachedEntryForActiveContexts_=undefined;},getOrCreateContext_:function(contextType,scopedId){var context={type:contextType,snapshot:{scope:scopedId.scope,idRef:scopedId.id}};var key=this.getContextKey_(context);if(key in this.contextCache_)
-return this.contextCache_[key];this.contextCache_[key]=context;var snapshotKey=this.getSnapshotKey_(scopedId);this.seenSnapshots_[snapshotKey]=true;return context;},pushContext_:function(context){if(!(context.type in this.stackPerType_))
-this.stackPerType_[context.type]=[];this.stackPerType_[context.type].push(context);},popContext_:function(contextType){if(!(contextType in this.stackPerType_))
-return undefined;return this.stackPerType_[contextType].pop();},getContextKey_:function(context){return[context.type,context.snapshot.scope,context.snapshot.idRef].join('\x00');},getSnapshotKey_:function(scopedId){return[scopedId.scope,scopedId.idRef].join('\x00');},get activeContexts(){if(this.cachedEntryForActiveContexts_===undefined){var key=[];for(var context of this.activeContexts_)
-key.push(this.getContextKey_(context));key.sort();key=key.join('\x00');if(key in this.contextSetCache_){this.cachedEntryForActiveContexts_=this.contextSetCache_[key];}else{this.activeContexts_.sort(function(a,b){var keyA=this.getContextKey_(a);var keyB=this.getContextKey_(b);if(keyA<keyB)
-return-1;if(keyA>keyB)
-return 1;return 0;}.bind(this));this.contextSetCache_[key]=Object.freeze(this.activeContexts_);this.cachedEntryForActiveContexts_=this.contextSetCache_[key];}}
-return this.cachedEntryForActiveContexts_;},invalidateContextCacheForSnapshot:function(scopedId){var snapshotKey=this.getSnapshotKey_(scopedId);if(!(snapshotKey in this.seenSnapshots_))
-return;this.contextCache_={};this.contextSetCache_={};this.cachedEntryForActiveContexts_=undefined;this.activeContexts_=this.activeContexts_.map(function(context){if(context.snapshot.scope!==scopedId.scope||context.snapshot.idRef!==scopedId.id)
-return context;return{type:context.type,snapshot:{scope:context.snapshot.scope,idRef:context.snapshot.idRef}};});this.seenSnapshots_={};},};return{ContextProcessor:ContextProcessor};});'use strict';tr.exportTo('tr.b',function(){function RegisteredTypeInfo(constructor,metadata){this.constructor=constructor;this.metadata=metadata;};var BASIC_REGISTRY_MODE='BASIC_REGISTRY_MODE';var TYPE_BASED_REGISTRY_MODE='TYPE_BASED_REGISTRY_MODE';var ALL_MODES={BASIC_REGISTRY_MODE:true,TYPE_BASED_REGISTRY_MODE:true};function ExtensionRegistryOptions(mode){if(mode===undefined)
-throw new Error('Mode is required');if(!ALL_MODES[mode])
-throw new Error('Not a mode.');this.mode_=mode;this.defaultMetadata_={};this.defaultConstructor_=undefined;this.defaultTypeInfo_=undefined;this.frozen_=false;}
-ExtensionRegistryOptions.prototype={freeze:function(){if(this.frozen_)
-throw new Error('Frozen');this.frozen_=true;},get mode(){return this.mode_;},get defaultMetadata(){return this.defaultMetadata_;},set defaultMetadata(defaultMetadata){if(this.frozen_)
-throw new Error('Frozen');this.defaultMetadata_=defaultMetadata;this.defaultTypeInfo_=undefined;},get defaultConstructor(){return this.defaultConstructor_;},set defaultConstructor(defaultConstructor){if(this.frozen_)
-throw new Error('Frozen');this.defaultConstructor_=defaultConstructor;this.defaultTypeInfo_=undefined;},get defaultTypeInfo(){if(this.defaultTypeInfo_===undefined&&this.defaultConstructor_){this.defaultTypeInfo_=new RegisteredTypeInfo(this.defaultConstructor,this.defaultMetadata);}
-return this.defaultTypeInfo_;},validateConstructor:function(constructor){if(!this.mandatoryBaseClass)
-return;var curProto=constructor.prototype.__proto__;var ok=false;while(curProto){if(curProto===this.mandatoryBaseClass.prototype){ok=true;break;}
-curProto=curProto.__proto__;}
-if(!ok)
-throw new Error(constructor+'must be subclass of '+registry);}};return{BASIC_REGISTRY_MODE:BASIC_REGISTRY_MODE,TYPE_BASED_REGISTRY_MODE:TYPE_BASED_REGISTRY_MODE,ExtensionRegistryOptions:ExtensionRegistryOptions,RegisteredTypeInfo:RegisteredTypeInfo};});'use strict';tr.exportTo('tr.b',function(){var RegisteredTypeInfo=tr.b.RegisteredTypeInfo;var ExtensionRegistryOptions=tr.b.ExtensionRegistryOptions;function decorateBasicExtensionRegistry(registry,extensionRegistryOptions){var savedStateStack=[];registry.registeredTypeInfos_=[];registry.register=function(constructor,opt_metadata){if(registry.findIndexOfRegisteredConstructor(constructor)!==undefined)
-throw new Error('Handler already registered for '+constructor);extensionRegistryOptions.validateConstructor(constructor);var metadata={};for(var k in extensionRegistryOptions.defaultMetadata)
-metadata[k]=extensionRegistryOptions.defaultMetadata[k];if(opt_metadata){for(var k in opt_metadata)
-metadata[k]=opt_metadata[k];}
-var typeInfo=new RegisteredTypeInfo(constructor,metadata);var e=new tr.b.Event('will-register');e.typeInfo=typeInfo;registry.dispatchEvent(e);registry.registeredTypeInfos_.push(typeInfo);e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.pushCleanStateBeforeTest=function(){savedStateStack.push(registry.registeredTypeInfos_);registry.registeredTypeInfos_=[];var e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.popCleanStateAfterTest=function(){registry.registeredTypeInfos_=savedStateStack[0];savedStateStack.splice(0,1);var e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.findIndexOfRegisteredConstructor=function(constructor){for(var i=0;i<registry.registeredTypeInfos_.length;i++)
-if(registry.registeredTypeInfos_[i].constructor==constructor)
-return i;return undefined;};registry.unregister=function(constructor){var foundIndex=registry.findIndexOfRegisteredConstructor(constructor);if(foundIndex===undefined)
-throw new Error(constructor+' not registered');registry.registeredTypeInfos_.splice(foundIndex,1);var e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.getAllRegisteredTypeInfos=function(){return registry.registeredTypeInfos_;};registry.findTypeInfo=function(constructor){var foundIndex=this.findIndexOfRegisteredConstructor(constructor);if(foundIndex!==undefined)
-return this.registeredTypeInfos_[foundIndex];return undefined;};registry.findTypeInfoMatching=function(predicate,opt_this){opt_this=opt_this?opt_this:undefined;for(var i=0;i<registry.registeredTypeInfos_.length;++i){var typeInfo=registry.registeredTypeInfos_[i];if(predicate.call(opt_this,typeInfo))
-return typeInfo;}
-return extensionRegistryOptions.defaultTypeInfo;};registry.findTypeInfoWithName=function(name){if(typeof(name)!=='string')
-throw new Error('Name is not a string.');var typeInfo=registry.findTypeInfoMatching(function(ti){return ti.constructor.name===name;});if(typeInfo)
-return typeInfo;return undefined;};}
-return{_decorateBasicExtensionRegistry:decorateBasicExtensionRegistry};});'use strict';tr.exportTo('tr.b',function(){var categoryPartsFor={};function getCategoryParts(category){var parts=categoryPartsFor[category];if(parts!==undefined)
-return parts;parts=category.split(',');categoryPartsFor[category]=parts;return parts;}
-return{getCategoryParts:getCategoryParts};});'use strict';tr.exportTo('tr.b',function(){var getCategoryParts=tr.b.getCategoryParts;var RegisteredTypeInfo=tr.b.RegisteredTypeInfo;var ExtensionRegistryOptions=tr.b.ExtensionRegistryOptions;function decorateTypeBasedExtensionRegistry(registry,extensionRegistryOptions){var savedStateStack=[];registry.registeredTypeInfos_=[];registry.categoryPartToTypeInfoMap_=new Map();registry.typeNameToTypeInfoMap_=new Map();registry.register=function(constructor,metadata){extensionRegistryOptions.validateConstructor(constructor);var typeInfo=new RegisteredTypeInfo(constructor,metadata||extensionRegistryOptions.defaultMetadata);typeInfo.typeNames=[];typeInfo.categoryParts=[];if(metadata&&metadata.typeName)
-typeInfo.typeNames.push(metadata.typeName);if(metadata&&metadata.typeNames){typeInfo.typeNames.push.apply(typeInfo.typeNames,metadata.typeNames);}
-if(metadata&&metadata.categoryParts){typeInfo.categoryParts.push.apply(typeInfo.categoryParts,metadata.categoryParts);}
-if(typeInfo.typeNames.length===0&&typeInfo.categoryParts.length===0)
-throw new Error('typeName or typeNames must be provided');typeInfo.typeNames.forEach(function(typeName){if(registry.typeNameToTypeInfoMap_.has(typeName))
-throw new Error('typeName '+typeName+' already registered');});typeInfo.categoryParts.forEach(function(categoryPart){if(registry.categoryPartToTypeInfoMap_.has(categoryPart)){throw new Error('categoryPart '+categoryPart+' already registered');}});var e=new tr.b.Event('will-register');e.typeInfo=typeInfo;registry.dispatchEvent(e);typeInfo.typeNames.forEach(function(typeName){registry.typeNameToTypeInfoMap_.set(typeName,typeInfo);});typeInfo.categoryParts.forEach(function(categoryPart){registry.categoryPartToTypeInfoMap_.set(categoryPart,typeInfo);});registry.registeredTypeInfos_.push(typeInfo);var e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.pushCleanStateBeforeTest=function(){savedStateStack.push({registeredTypeInfos:registry.registeredTypeInfos_,typeNameToTypeInfoMap:registry.typeNameToTypeInfoMap_,categoryPartToTypeInfoMap:registry.categoryPartToTypeInfoMap_});registry.registeredTypeInfos_=[];registry.typeNameToTypeInfoMap_=new Map();registry.categoryPartToTypeInfoMap_=new Map();var e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.popCleanStateAfterTest=function(){var state=savedStateStack[0];savedStateStack.splice(0,1);registry.registeredTypeInfos_=state.registeredTypeInfos;registry.typeNameToTypeInfoMap_=state.typeNameToTypeInfoMap;registry.categoryPartToTypeInfoMap_=state.categoryPartToTypeInfoMap;var e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.unregister=function(constructor){var typeInfoIndex=-1;for(var i=0;i<registry.registeredTypeInfos_.length;i++){if(registry.registeredTypeInfos_[i].constructor==constructor){typeInfoIndex=i;break;}}
-if(typeInfoIndex===-1)
-throw new Error(constructor+' not registered');var typeInfo=registry.registeredTypeInfos_[typeInfoIndex];registry.registeredTypeInfos_.splice(typeInfoIndex,1);typeInfo.typeNames.forEach(function(typeName){registry.typeNameToTypeInfoMap_.delete(typeName);});typeInfo.categoryParts.forEach(function(categoryPart){registry.categoryPartToTypeInfoMap_.delete(categoryPart);});var e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.getTypeInfo=function(category,typeName){if(category){var categoryParts=getCategoryParts(category);for(var i=0;i<categoryParts.length;i++){var categoryPart=categoryParts[i];var typeInfo=registry.categoryPartToTypeInfoMap_.get(categoryPart);if(typeInfo!==undefined)
-return typeInfo;}}
-var typeInfo=registry.typeNameToTypeInfoMap_.get(typeName);if(typeInfo!==undefined)
-return typeInfo;return extensionRegistryOptions.defaultTypeInfo;};registry.getConstructor=function(category,typeName){var typeInfo=registry.getTypeInfo(category,typeName);if(typeInfo)
-return typeInfo.constructor;return undefined;};}
-return{_decorateTypeBasedExtensionRegistry:decorateTypeBasedExtensionRegistry};});'use strict';tr.exportTo('tr.b',function(){function decorateExtensionRegistry(registry,registryOptions){if(registry.register)
-throw new Error('Already has registry');registryOptions.freeze();if(registryOptions.mode==tr.b.BASIC_REGISTRY_MODE){tr.b._decorateBasicExtensionRegistry(registry,registryOptions);}else if(registryOptions.mode==tr.b.TYPE_BASED_REGISTRY_MODE){tr.b._decorateTypeBasedExtensionRegistry(registry,registryOptions);}else{throw new Error('Unrecognized mode');}
-if(registry.addEventListener===undefined)
-tr.b.EventTarget.decorate(registry);}
-return{decorateExtensionRegistry:decorateExtensionRegistry};});'use strict';tr.exportTo('tr.importer',function(){function Importer(){}
-Importer.prototype={__proto__:Object.prototype,get importerName(){return'Importer';},isTraceDataContainer:function(){return false;},extractSubtraces:function(){return[];},importClockSyncMarkers:function(){},importEvents:function(){},importSampleData:function(){},finalizeImport:function(){}};var options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Importer;tr.b.decorateExtensionRegistry(Importer,options);Importer.findImporterFor=function(eventData){var typeInfo=Importer.findTypeInfoMatching(function(ti){return ti.constructor.canImport(eventData);});if(typeInfo)
-return typeInfo.constructor;return undefined;};return{Importer:Importer};});'use strict';tr.exportTo('tr.model',function(){function YComponent(stableId,yPercentOffset){this.stableId=stableId;this.yPercentOffset=yPercentOffset;}
-YComponent.prototype={toDict:function(){return{stableId:this.stableId,yPercentOffset:this.yPercentOffset};}};function Location(xWorld,yComponents){this.xWorld_=xWorld;this.yComponents_=yComponents;};Location.fromViewCoordinates=function(viewport,viewX,viewY){var dt=viewport.currentDisplayTransform;var xWorld=dt.xViewToWorld(viewX);var yComponents=[];var elem=document.elementFromPoint(viewX+viewport.modelTrackContainer.canvas.offsetLeft,viewY+viewport.modelTrackContainer.canvas.offsetTop);while(elem instanceof tr.ui.tracks.Track){if(elem.eventContainer){var boundRect=elem.getBoundingClientRect();var yPercentOffset=(viewY-boundRect.top)/boundRect.height;yComponents.push(new YComponent(elem.eventContainer.stableId,yPercentOffset));}
-elem=elem.parentElement;}
-if(yComponents.length==0)
-return;return new Location(xWorld,yComponents);}
-Location.fromStableIdAndTimestamp=function(viewport,stableId,ts){var xWorld=ts;var yComponents=[];var containerToTrack=viewport.containerToTrackMap;var elem=containerToTrack.getTrackByStableId(stableId);if(!elem)
-return;var firstY=elem.getBoundingClientRect().top;while(elem instanceof tr.ui.tracks.Track){if(elem.eventContainer){var boundRect=elem.getBoundingClientRect();var yPercentOffset=(firstY-boundRect.top)/boundRect.height;yComponents.push(new YComponent(elem.eventContainer.stableId,yPercentOffset));}
-elem=elem.parentElement;}
-if(yComponents.length==0)
-return;return new Location(xWorld,yComponents);}
-Location.prototype={get xWorld(){return this.xWorld_;},getContainingTrack:function(viewport){var containerToTrack=viewport.containerToTrackMap;for(var i in this.yComponents_){var yComponent=this.yComponents_[i];var track=containerToTrack.getTrackByStableId(yComponent.stableId);if(track!==undefined)
-return track;}},toViewCoordinates:function(viewport){var dt=viewport.currentDisplayTransform;var containerToTrack=viewport.containerToTrackMap;var viewX=dt.xWorldToView(this.xWorld_);var viewY=-1;for(var index in this.yComponents_){var yComponent=this.yComponents_[index];var track=containerToTrack.getTrackByStableId(yComponent.stableId);if(track!==undefined){var boundRect=track.getBoundingClientRect();viewY=yComponent.yPercentOffset*boundRect.height+boundRect.top;break;}}
-return{viewX:viewX,viewY:viewY};},toDict:function(){return{xWorld:this.xWorld_,yComponents:this.yComponents_};}};return{Location:Location};});'use strict';tr.exportTo('tr.b',function(){var nextGUID=1;var UUID4_PATTERN='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';var GUID={allocateSimple:function(){return nextGUID++;},getLastSimpleGuid:function(){return nextGUID-1;},allocateUUID4:function(){return UUID4_PATTERN.replace(/[xy]/g,function(c){var r=parseInt(Math.random()*16);if(c==='y')
-r=(r&3)+8;return r.toString(16);});}};return{GUID:GUID};});'use strict';tr.exportTo('tr.model',function(){function Annotation(){this.guid_=tr.b.GUID.allocateSimple();this.view_=undefined;};Annotation.fromDictIfPossible=function(args){if(args.typeName===undefined)
-throw new Error('Missing typeName argument');var typeInfo=Annotation.findTypeInfoMatching(function(typeInfo){return typeInfo.metadata.typeName===args.typeName;});if(typeInfo===undefined)
-return undefined;return typeInfo.constructor.fromDict(args);};Annotation.fromDict=function(){throw new Error('Not implemented');};Annotation.prototype={get guid(){return this.guid_;},onRemove:function(){},toDict:function(){throw new Error('Not implemented');},getOrCreateView:function(viewport){if(!this.view_)
-this.view_=this.createView_(viewport);return this.view_;},createView_:function(){throw new Error('Not implemented');}};var options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(Annotation,options);Annotation.addEventListener('will-register',function(e){if(!e.typeInfo.constructor.hasOwnProperty('fromDict'))
-throw new Error('Must have fromDict method');if(!e.typeInfo.metadata.typeName)
-throw new Error('Registered Annotations must provide typeName');});return{Annotation:Annotation};});'use strict';tr.exportTo('tr.ui.annotations',function(){function AnnotationView(viewport,annotation){}
-AnnotationView.prototype={draw:function(ctx){throw new Error('Not implemented');}};return{AnnotationView:AnnotationView};});'use strict';tr.exportTo('tr.ui.annotations',function(){function RectAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;}
-RectAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,draw:function(ctx){var dt=this.viewport_.currentDisplayTransform;var startCoords=this.annotation_.startLocation.toViewCoordinates(this.viewport_);var endCoords=this.annotation_.endLocation.toViewCoordinates(this.viewport_);var startY=startCoords.viewY-ctx.canvas.getBoundingClientRect().top;var sizeY=endCoords.viewY-startCoords.viewY;if(startY+sizeY<0){startY=sizeY;}else if(startY<0){startY=0;}
-ctx.fillStyle=this.annotation_.fillStyle;ctx.fillRect(startCoords.viewX,startY,endCoords.viewX-startCoords.viewX,sizeY);}};return{RectAnnotationView:RectAnnotationView};});'use strict';tr.exportTo('tr.model',function(){function RectAnnotation(start,end){tr.model.Annotation.apply(this,arguments);this.startLocation_=start;this.endLocation_=end;this.fillStyle='rgba(255, 180, 0, 0.3)';}
-RectAnnotation.fromDict=function(dict){var args=dict.args;var startLoc=new tr.model.Location(args.start.xWorld,args.start.yComponents);var endLoc=new tr.model.Location(args.end.xWorld,args.end.yComponents);return new tr.model.RectAnnotation(startLoc,endLoc);}
-RectAnnotation.prototype={__proto__:tr.model.Annotation.prototype,get startLocation(){return this.startLocation_;},get endLocation(){return this.endLocation_;},toDict:function(){return{typeName:'rect',args:{start:this.startLocation.toDict(),end:this.endLocation.toDict()}};},createView_:function(viewport){return new tr.ui.annotations.RectAnnotationView(viewport,this);}};tr.model.Annotation.register(RectAnnotation,{typeName:'rect'});return{RectAnnotation:RectAnnotation};});'use strict';tr.exportTo('tr.ui.annotations',function(){function CommentBoxAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;this.textArea_=undefined;this.styleWidth=250;this.styleHeight=50;this.fontSize=10;this.rightOffset=50;this.topOffset=25;}
-CommentBoxAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,removeTextArea:function(){Polymer.dom(Polymer.dom(this.textArea_).parentNode).removeChild(this.textArea_);},draw:function(ctx){var coords=this.annotation_.location.toViewCoordinates(this.viewport_);if(coords.viewX<0){if(this.textArea_)
-this.textArea_.style.visibility='hidden';return;}
-if(!this.textArea_){this.textArea_=document.createElement('textarea');this.textArea_.style.position='absolute';this.textArea_.readOnly=true;this.textArea_.value=this.annotation_.text;this.textArea_.style.zIndex=1;Polymer.dom(Polymer.dom(ctx.canvas).parentNode).appendChild(this.textArea_);}
-this.textArea_.style.width=this.styleWidth+'px';this.textArea_.style.height=this.styleHeight+'px';this.textArea_.style.fontSize=this.fontSize+'px';this.textArea_.style.visibility='visible';this.textArea_.style.left=coords.viewX+ctx.canvas.getBoundingClientRect().left+
-this.rightOffset+'px';this.textArea_.style.top=coords.viewY-ctx.canvas.getBoundingClientRect().top-
-this.topOffset+'px';ctx.strokeStyle='rgb(0, 0, 0)';ctx.lineWidth=2;ctx.beginPath();tr.ui.b.drawLine(ctx,coords.viewX,coords.viewY-ctx.canvas.getBoundingClientRect().top,coords.viewX+this.rightOffset,coords.viewY-this.topOffset-
-ctx.canvas.getBoundingClientRect().top);ctx.stroke();}};return{CommentBoxAnnotationView:CommentBoxAnnotationView};});'use strict';tr.exportTo('tr.model',function(){function CommentBoxAnnotation(location,text){tr.model.Annotation.apply(this,arguments);this.location=location;this.text=text;}
-CommentBoxAnnotation.fromDict=function(dict){var args=dict.args;var location=new tr.model.Location(args.location.xWorld,args.location.yComponents);return new tr.model.CommentBoxAnnotation(location,args.text);};CommentBoxAnnotation.prototype={__proto__:tr.model.Annotation.prototype,onRemove:function(){this.view_.removeTextArea();},toDict:function(){return{typeName:'comment_box',args:{text:this.text,location:this.location.toDict()}};},createView_:function(viewport){return new tr.ui.annotations.CommentBoxAnnotationView(viewport,this);}};tr.model.Annotation.register(CommentBoxAnnotation,{typeName:'comment_box'});return{CommentBoxAnnotation:CommentBoxAnnotation};});'use strict';tr.exportTo('tr.model',function(){return{BROWSER_PROCESS_PID_REF:-1,OBJECT_DEFAULT_SCOPE:'ptr'};});'use strict';tr.exportTo('tr.model',function(){function EventRegistry(){}
-var options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(EventRegistry,options);EventRegistry.addEventListener('will-register',function(e){var metadata=e.typeInfo.metadata;if(metadata.name===undefined)
-throw new Error('Registered events must provide name metadata');if(metadata.pluralName===undefined)
-throw new Error('Registered events must provide pluralName metadata');if(metadata.subTypes===undefined){metadata.subTypes={};var options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=e.typeInfo.constructor;options.defaultConstructor=e.typeInfo.constructor;tr.b.decorateExtensionRegistry(metadata.subTypes,options);}else{if(!metadata.subTypes.register)
-throw new Error('metadata.subTypes must be an extension registry.');}
-e.typeInfo.constructor.subTypes=metadata.subTypes;});var eventsByTypeName=undefined;EventRegistry.getEventTypeInfoByTypeName=function(typeName){if(eventsByTypeName===undefined){eventsByTypeName={};EventRegistry.getAllRegisteredTypeInfos().forEach(function(typeInfo){eventsByTypeName[typeInfo.metadata.name]=typeInfo;});}
-return eventsByTypeName[typeName];};EventRegistry.addEventListener('registry-changed',function(){eventsByTypeName=undefined;});function convertCamelCaseToTitleCase(name){var result=name.replace(/[A-Z]/g,' $&');result=result.charAt(0).toUpperCase()+result.slice(1);return result;}
-EventRegistry.getUserFriendlySingularName=function(typeName){var typeInfo=EventRegistry.getEventTypeInfoByTypeName(typeName);var str=typeInfo.metadata.name;return convertCamelCaseToTitleCase(str);};EventRegistry.getUserFriendlyPluralName=function(typeName){var typeInfo=EventRegistry.getEventTypeInfoByTypeName(typeName);var str=typeInfo.metadata.pluralName;return convertCamelCaseToTitleCase(str);};return{EventRegistry:EventRegistry};});'use strict';tr.exportTo('tr.model',function(){var EventRegistry=tr.model.EventRegistry;var RequestSelectionChangeEvent=tr.b.Event.bind(undefined,'requestSelectionChange',true,false);function EventSet(opt_events){this.bounds_=new tr.b.Range();this.events_=new Set();if(opt_events){if(opt_events instanceof Array){for(var event of opt_events)
-this.push(event);}else if(opt_events instanceof EventSet){this.addEventSet(opt_events);}else{this.push(opt_events);}}}
-EventSet.prototype={__proto__:Object.prototype,get bounds(){return this.bounds_;},get duration(){if(this.bounds_.isEmpty)
-return 0;return this.bounds_.max-this.bounds_.min;},get length(){return this.events_.size;},get guid(){return this.guid_;},*[Symbol.iterator](){for(var event of this.events_)
-yield event;},clear:function(){this.bounds_=new tr.b.Range();this.events_.clear();},push:function(event){if(event.guid==undefined)
-throw new Error('Event must have a GUID');if(!this.events_.has(event)){this.events_.add(event);if(event.addBoundsToRange)
-if(this.bounds_!==undefined)
-event.addBoundsToRange(this.bounds_);}
-return event;},contains:function(event){if(this.events_.has(event))
-return event;else
-return undefined;},addEventSet:function(eventSet){for(var event of eventSet)
-this.push(event);},intersectionIsEmpty:function(otherEventSet){return!this.some(event=>otherEventSet.contains(event));},equals:function(that){if(this.length!==that.length)
-return false;return this.every(event=>that.contains(event));},sortEvents:function(compare){var ary=this.toArray();ary.sort(compare);this.clear();for(var event of ary)
-this.push(event);},getEventsOrganizedByBaseType:function(opt_pruneEmpty){var allTypeInfos=EventRegistry.getAllRegisteredTypeInfos();var events=this.getEventsOrganizedByCallback(function(event){var maxEventIndex=-1;var maxEventTypeInfo=undefined;allTypeInfos.forEach(function(eventTypeInfo,eventIndex){if(!(event instanceof eventTypeInfo.constructor))
-return;if(eventIndex>maxEventIndex){maxEventIndex=eventIndex;maxEventTypeInfo=eventTypeInfo;}});if(maxEventIndex==-1){console.log(event);throw new Error('Unrecognized event type');}
-return maxEventTypeInfo.metadata.name;});if(!opt_pruneEmpty){allTypeInfos.forEach(function(eventTypeInfo){if(events[eventTypeInfo.metadata.name]===undefined)
-events[eventTypeInfo.metadata.name]=new EventSet();});}
-return events;},getEventsOrganizedByTitle:function(){return this.getEventsOrganizedByCallback(function(event){if(event.title===undefined)
-throw new Error('An event didn\'t have a title!');return event.title;});},getEventsOrganizedByCallback:function(cb,opt_this){var groupedEvents=tr.b.group(this,cb,opt_this||this);return tr.b.mapItems(groupedEvents,(_,events)=>new EventSet(events));},enumEventsOfType:function(type,func){for(var event of this)
-if(event instanceof type)
-func(event);},get userFriendlyName(){if(this.length===0){throw new Error('Empty event set');}
-var eventsByBaseType=this.getEventsOrganizedByBaseType(true);var eventTypeName=tr.b.dictionaryKeys(eventsByBaseType)[0];if(this.length===1){var tmp=EventRegistry.getUserFriendlySingularName(eventTypeName);return tr.b.getOnlyElement(this.events_).userFriendlyName;}
-var numEventTypes=tr.b.dictionaryLength(eventsByBaseType);if(numEventTypes!==1){return this.length+' events of various types';}
-var tmp=EventRegistry.getUserFriendlyPluralName(eventTypeName);return this.length+' '+tmp;},filter:function(fn,opt_this){var res=new EventSet();for(var event of this)
-if(fn.call(opt_this,event))
-res.push(event);return res;},toArray:function(){var ary=[];for(var event of this)
-ary.push(event);return ary;},forEach:function(fn,opt_this){for(var event of this)
-fn.call(opt_this,event);},map:function(fn,opt_this){var res=[];for(var event of this)
-res.push(fn.call(opt_this,event));return res;},every:function(fn,opt_this){for(var event of this)
-if(!fn.call(opt_this,event))
-return false;return true;},some:function(fn,opt_this){for(var event of this)
-if(fn.call(opt_this,event))
-return true;return false;},asDict:function(){var stableIds=[];for(var event of this)
-stableIds.push(event.stableId);return{'events':stableIds};},asSet:function(){return this.events_;}};EventSet.IMMUTABLE_EMPTY_SET=(function(){var s=new EventSet();s.push=function(){throw new Error('Cannot push to an immutable event set');};s.addEventSet=function(){throw new Error('Cannot add to an immutable event set');};Object.freeze(s);return s;})();return{EventSet:EventSet,RequestSelectionChangeEvent:RequestSelectionChangeEvent};});'use strict';tr.exportTo('tr.model',function(){var ColorScheme=tr.b.ColorScheme;var SelectionState={NONE:0,SELECTED:ColorScheme.properties.brightenedOffsets[0],HIGHLIGHTED:ColorScheme.properties.brightenedOffsets[1],DIMMED:ColorScheme.properties.dimmedOffsets[0],BRIGHTENED0:ColorScheme.properties.brightenedOffsets[0],BRIGHTENED1:ColorScheme.properties.brightenedOffsets[1],BRIGHTENED2:ColorScheme.properties.brightenedOffsets[2],DIMMED0:ColorScheme.properties.dimmedOffsets[0],DIMMED1:ColorScheme.properties.dimmedOffsets[1],DIMMED2:ColorScheme.properties.dimmedOffsets[2]};var brighteningLevels=[SelectionState.NONE,SelectionState.BRIGHTENED0,SelectionState.BRIGHTENED1,SelectionState.BRIGHTENED2];SelectionState.getFromBrighteningLevel=function(level){return brighteningLevels[level];}
-var dimmingLevels=[SelectionState.DIMMED0,SelectionState.DIMMED1,SelectionState.DIMMED2];SelectionState.getFromDimmingLevel=function(level){return dimmingLevels[level];}
-return{SelectionState:SelectionState};});'use strict';tr.exportTo('tr.model',function(){var SelectionState=tr.model.SelectionState;function SelectableItem(modelItem){this.modelItem_=modelItem;}
-SelectableItem.prototype={get modelItem(){return this.modelItem_;},get selected(){return this.selectionState===SelectionState.SELECTED;},addToSelection:function(selection){var modelItem=this.modelItem_;if(!modelItem)
-return;selection.push(modelItem);},addToTrackMap:function(eventToTrackMap,track){var modelItem=this.modelItem_;if(!modelItem)
-return;eventToTrackMap.addEvent(modelItem,track);}};return{SelectableItem:SelectableItem};});'use strict';tr.exportTo('tr.model',function(){var SelectableItem=tr.model.SelectableItem;var SelectionState=tr.model.SelectionState;var IMMUTABLE_EMPTY_SET=tr.model.EventSet.IMMUTABLE_EMPTY_SET;function Event(){SelectableItem.call(this,this);this.guid_=tr.b.GUID.allocateSimple();this.selectionState=SelectionState.NONE;this.info=undefined;}
-Event.prototype={__proto__:SelectableItem.prototype,get guid(){return this.guid_;},get stableId(){return undefined;},get range(){var range=new tr.b.Range();this.addBoundsToRange(range);return range;},associatedAlerts:IMMUTABLE_EMPTY_SET,addAssociatedAlert:function(alert){if(this.associatedAlerts===IMMUTABLE_EMPTY_SET)
-this.associatedAlerts=new tr.model.EventSet();this.associatedAlerts.push(alert);},addBoundsToRange:function(range){}};return{Event:Event};});'use strict';tr.exportTo('tr.model',function(){function TimedEvent(start){tr.model.Event.call(this);this.start=start;this.duration=0;this.cpuStart=undefined;this.cpuDuration=undefined;this.contexts=Object.freeze([]);}
-TimedEvent.prototype={__proto__:tr.model.Event.prototype,get end(){return this.start+this.duration;},addBoundsToRange:function(range){range.addValue(this.start);range.addValue(this.end);},bounds:function(that,opt_precisionUnit){if(opt_precisionUnit===undefined)
-opt_precisionUnit=tr.b.TimeDisplayModes.ms;var startsBefore=opt_precisionUnit.roundedLess(that.start,this.start);var endsAfter=opt_precisionUnit.roundedLess(this.end,that.end);return!startsBefore&&!endsAfter;}};return{TimedEvent:TimedEvent};});'use strict';tr.exportTo('tr.model',function(){function ContainerMemoryDump(start){tr.model.TimedEvent.call(this,start);this.levelOfDetail=undefined;this.memoryAllocatorDumps_=undefined;this.memoryAllocatorDumpsByFullName_=undefined;};ContainerMemoryDump.LevelOfDetail={BACKGROUND:0,LIGHT:1,DETAILED:2};ContainerMemoryDump.prototype={__proto__:tr.model.TimedEvent.prototype,shiftTimestampsForward:function(amount){this.start+=amount;},get memoryAllocatorDumps(){return this.memoryAllocatorDumps_;},set memoryAllocatorDumps(memoryAllocatorDumps){this.memoryAllocatorDumps_=memoryAllocatorDumps;this.forceRebuildingMemoryAllocatorDumpByFullNameIndex();},getMemoryAllocatorDumpByFullName:function(fullName){if(this.memoryAllocatorDumps_===undefined)
-return undefined;if(this.memoryAllocatorDumpsByFullName_===undefined){var index={};function addDumpsToIndex(dumps){dumps.forEach(function(dump){index[dump.fullName]=dump;addDumpsToIndex(dump.children);});};addDumpsToIndex(this.memoryAllocatorDumps_);this.memoryAllocatorDumpsByFullName_=index;}
-return this.memoryAllocatorDumpsByFullName_[fullName];},forceRebuildingMemoryAllocatorDumpByFullNameIndex:function(){this.memoryAllocatorDumpsByFullName_=undefined;},iterateRootAllocatorDumps:function(fn,opt_this){if(this.memoryAllocatorDumps===undefined)
-return;this.memoryAllocatorDumps.forEach(fn,opt_this||this);}};return{ContainerMemoryDump:ContainerMemoryDump};});'use strict';tr.exportTo('tr.b',function(){function findLowIndexInSortedArray(ary,mapFn,loVal){if(ary.length==0)
-return 1;var low=0;var high=ary.length-1;var i,comparison;var hitPos=-1;while(low<=high){i=Math.floor((low+high)/2);comparison=mapFn(ary[i])-loVal;if(comparison<0){low=i+1;continue;}else if(comparison>0){high=i-1;continue;}else{hitPos=i;high=i-1;}}
-return hitPos!=-1?hitPos:low;}
-function findHighIndexInSortedArray(ary,mapFn,loVal,hiVal){var lo=loVal||0;var hi=hiVal!==undefined?hiVal:ary.length;while(lo<hi){var mid=(lo+hi)>>1;if(mapFn(ary[mid])>=0)
-lo=mid+1;else
-hi=mid;}
-return hi;}
-function findIndexInSortedIntervals(ary,mapLoFn,mapWidthFn,loVal){var first=findLowIndexInSortedArray(ary,mapLoFn,loVal);if(first==0){if(loVal>=mapLoFn(ary[0])&&loVal<mapLoFn(ary[0])+mapWidthFn(ary[0],0)){return 0;}else{return-1;}}else if(first<ary.length){if(loVal>=mapLoFn(ary[first])&&loVal<mapLoFn(ary[first])+mapWidthFn(ary[first],first)){return first;}else if(loVal>=mapLoFn(ary[first-1])&&loVal<mapLoFn(ary[first-1])+
-mapWidthFn(ary[first-1],first-1)){return first-1;}else{return ary.length;}}else if(first==ary.length){if(loVal>=mapLoFn(ary[first-1])&&loVal<mapLoFn(ary[first-1])+
-mapWidthFn(ary[first-1],first-1)){return first-1;}else{return ary.length;}}else{return ary.length;}}
-function findIndexInSortedClosedIntervals(ary,mapLoFn,mapHiFn,val){var i=findLowIndexInSortedArray(ary,mapLoFn,val);if(i===0){if(val>=mapLoFn(ary[0],0)&&val<=mapHiFn(ary[0],0)){return 0;}else{return-1;}}else if(i<ary.length){if(val>=mapLoFn(ary[i-1],i-1)&&val<=mapHiFn(ary[i-1],i-1)){return i-1;}else if(val>=mapLoFn(ary[i],i)&&val<=mapHiFn(ary[i],i)){return i;}else{return ary.length;}}else if(i==ary.length){if(val>=mapLoFn(ary[i-1],i-1)&&val<=mapHiFn(ary[i-1],i-1)){return i-1;}else{return ary.length;}}else{return ary.length;}}
-function iterateOverIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal,cb){if(ary.length==0)
-return;if(loVal>hiVal)return;var i=findLowIndexInSortedArray(ary,mapLoFn,loVal);if(i==-1){return;}
-if(i>0){var hi=mapLoFn(ary[i-1])+mapWidthFn(ary[i-1],i-1);if(hi>=loVal){cb(ary[i-1],i-1);}}
-if(i==ary.length){return;}
-for(var n=ary.length;i<n;i++){var lo=mapLoFn(ary[i]);if(lo>=hiVal)
-break;cb(ary[i],i);}}
-function getIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal){var tmp=[];iterateOverIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal,function(d){tmp.push(d);});return tmp;}
-function findClosestElementInSortedArray(ary,mapFn,val,maxDiff){if(ary.length===0)
-return null;var aftIdx=findLowIndexInSortedArray(ary,mapFn,val);var befIdx=aftIdx>0?aftIdx-1:0;if(aftIdx===ary.length)
-aftIdx-=1;var befDiff=Math.abs(val-mapFn(ary[befIdx]));var aftDiff=Math.abs(val-mapFn(ary[aftIdx]));if(befDiff>maxDiff&&aftDiff>maxDiff)
-return null;var idx=befDiff<aftDiff?befIdx:aftIdx;return ary[idx];}
-function findClosestIntervalInSortedIntervals(ary,mapLoFn,mapHiFn,val,maxDiff){if(ary.length===0)
-return null;var idx=findLowIndexInSortedArray(ary,mapLoFn,val);if(idx>0)
-idx-=1;var hiInt=ary[idx];var loInt=hiInt;if(val>mapHiFn(hiInt)&&idx+1<ary.length)
-loInt=ary[idx+1];var loDiff=Math.abs(val-mapLoFn(loInt));var hiDiff=Math.abs(val-mapHiFn(hiInt));if(loDiff>maxDiff&&hiDiff>maxDiff)
-return null;if(loDiff<hiDiff)
-return loInt;else
-return hiInt;}
-return{findLowIndexInSortedArray:findLowIndexInSortedArray,findHighIndexInSortedArray:findHighIndexInSortedArray,findIndexInSortedIntervals:findIndexInSortedIntervals,findIndexInSortedClosedIntervals:findIndexInSortedClosedIntervals,iterateOverIntersectingIntervals:iterateOverIntersectingIntervals,getIntersectingIntervals:getIntersectingIntervals,findClosestElementInSortedArray:findClosestElementInSortedArray,findClosestIntervalInSortedIntervals:findClosestIntervalInSortedIntervals};});'use strict';tr.exportTo('tr.model',function(){function CounterSample(series,timestamp,value){tr.model.Event.call(this);this.series_=series;this.timestamp_=timestamp;this.value_=value;}
-CounterSample.groupByTimestamp=function(samples){var samplesByTimestamp=tr.b.group(samples,function(sample){return sample.timestamp;});var timestamps=tr.b.dictionaryKeys(samplesByTimestamp);timestamps.sort();var groups=[];for(var i=0;i<timestamps.length;i++){var ts=timestamps[i];var group=samplesByTimestamp[ts];group.sort(function(x,y){return x.series.seriesIndex-y.series.seriesIndex;});groups.push(group);}
-return groups;};CounterSample.prototype={__proto__:tr.model.Event.prototype,get series(){return this.series_;},get timestamp(){return this.timestamp_;},get value(){return this.value_;},set timestamp(timestamp){this.timestamp_=timestamp;},addBoundsToRange:function(range){range.addValue(this.timestamp);},getSampleIndex:function(){return tr.b.findLowIndexInSortedArray(this.series.timestamps,function(x){return x;},this.timestamp_);},get userFriendlyName(){return'Counter sample from '+this.series_.title+' at '+
-tr.b.Unit.byName.timeStampInMs.format(this.timestamp);}};tr.model.EventRegistry.register(CounterSample,{name:'counterSample',pluralName:'counterSamples'});return{CounterSample:CounterSample};});'use strict';tr.exportTo('tr.model',function(){function EventContainer(){this.guid_=tr.b.GUID.allocateSimple();this.important=true;this.bounds_=new tr.b.Range();}
-EventContainer.prototype={get guid(){return this.guid_;},get stableId(){throw new Error('Not implemented');},get bounds(){return this.bounds_;},updateBounds:function(){throw new Error('Not implemented');},shiftTimestampsForward:function(amount){throw new Error('Not implemented');},childEvents:function*(){},getDescendantEvents:function*(){yield*this.childEvents();for(var container of this.childEventContainers())
-yield*container.getDescendantEvents();},childEventContainers:function*(){},getDescendantEventContainers:function*(){yield this;for(var container of this.childEventContainers())
-yield*container.getDescendantEventContainers();},findTopmostSlicesInThisContainer:function*(eventPredicate,opt_this){},findTopmostSlices:function*(eventPredicate){for(var ec of this.getDescendantEventContainers())
-yield*ec.findTopmostSlicesInThisContainer(eventPredicate);},findTopmostSlicesNamed:function*(name){yield*this.findTopmostSlices(e=>e.title===name);}};return{EventContainer:EventContainer};});'use strict';tr.exportTo('tr.model',function(){var CounterSample=tr.model.CounterSample;function CounterSeries(name,color){tr.model.EventContainer.call(this);this.name_=name;this.color_=color;this.timestamps_=[];this.samples_=[];this.counter=undefined;this.seriesIndex=undefined;}
-CounterSeries.prototype={__proto__:tr.model.EventContainer.prototype,get length(){return this.timestamps_.length;},get name(){return this.name_;},get color(){return this.color_;},get samples(){return this.samples_;},get timestamps(){return this.timestamps_;},getSample:function(idx){return this.samples_[idx];},getTimestamp:function(idx){return this.timestamps_[idx];},addCounterSample:function(ts,val){var sample=new CounterSample(this,ts,val);this.addSample(sample);return sample;},addSample:function(sample){this.timestamps_.push(sample.timestamp);this.samples_.push(sample);},getStatistics:function(sampleIndices){var sum=0;var min=Number.MAX_VALUE;var max=-Number.MAX_VALUE;for(var i=0;i<sampleIndices.length;++i){var sample=this.getSample(sampleIndices[i]).value;sum+=sample;min=Math.min(sample,min);max=Math.max(sample,max);}
-return{min:min,max:max,avg:(sum/sampleIndices.length),start:this.getSample(sampleIndices[0]).value,end:this.getSample(sampleIndices.length-1).value};},shiftTimestampsForward:function(amount){for(var i=0;i<this.timestamps_.length;++i){this.timestamps_[i]+=amount;this.samples_[i].timestamp=this.timestamps_[i];}},childEvents:function*(){yield*this.samples_;},childEventContainers:function*(){}};return{CounterSeries:CounterSeries};});'use strict';tr.exportTo('tr.model',function(){function FlowEvent(category,id,title,colorId,start,args,opt_duration){tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.start=start;this.args=args;this.id=id;this.startSlice=undefined;this.endSlice=undefined;this.startStackFrame=undefined;this.endStackFrame=undefined;if(opt_duration!==undefined)
-this.duration=opt_duration;}
-FlowEvent.prototype={__proto__:tr.model.TimedEvent.prototype,get userFriendlyName(){return'Flow event named '+this.title+' at '+
-tr.b.Unit.byName.timeStampInMs.format(this.timestamp);}};tr.model.EventRegistry.register(FlowEvent,{name:'flowEvent',pluralName:'flowEvents'});return{FlowEvent:FlowEvent};});'use strict';tr.exportTo('tr.v',function(){class NumericBase{constructor(unit){if(!(unit instanceof tr.b.Unit))
-throw new Error('Expected provided unit to be instance of Unit');this.unit=unit;}
-asDict(){var d={unit:this.unit.asJSON()};this.asDictInto_(d);return d;}
-static fromDict(d){if(d.type==='scalar')
-return ScalarNumeric.fromDict(d);throw new Error('Not implemented');}}
-class ScalarNumeric extends NumericBase{constructor(unit,value){if(!(unit instanceof tr.b.Unit))
-throw new Error('Expected Unit');if(!(typeof(value)=='number'))
-throw new Error('Expected value to be number');super(unit);this.value=value;}
-asDictInto_(d){d.type='scalar';if(this.value===Infinity)
-d.value='Infinity';else if(this.value===-Infinity)
-d.value='-Infinity';else if(isNaN(this.value))
-d.value='NaN';else
-d.value=this.value;}
-toString(){return this.unit.format(this.value);}
-static fromDict(d){if(typeof(d.value)==='string'){if(d.value==='-Infinity'){d.value=-Infinity;}else if(d.value==='Infinity'){d.value=Infinity;}else if(d.value==='NaN'){d.value=NaN;}}
-return new ScalarNumeric(tr.b.Unit.fromJSON(d.unit),d.value);}}
-return{NumericBase:NumericBase,ScalarNumeric:ScalarNumeric};});'use strict';tr.exportTo('tr.model',function(){function MemoryAllocatorDump(containerMemoryDump,fullName,opt_guid){this.fullName=fullName;this.parent=undefined;this.children=[];this.numerics={};this.diagnostics={};this.containerMemoryDump=containerMemoryDump;this.owns=undefined;this.ownedBy=[];this.ownedBySiblingSizes=new Map();this.retains=[];this.retainedBy=[];this.weak=false;this.infos=[];this.guid=opt_guid;}
-MemoryAllocatorDump.SIZE_NUMERIC_NAME='size';MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME='effective_size';MemoryAllocatorDump.RESIDENT_SIZE_NUMERIC_NAME='resident_size';MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME=MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME;MemoryAllocatorDump.prototype={get name(){return this.fullName.substring(this.fullName.lastIndexOf('/')+1);},get quantifiedName(){return'\''+this.fullName+'\' in '+
-this.containerMemoryDump.containerName;},getDescendantDumpByFullName:function(fullName){return this.containerMemoryDump.getMemoryAllocatorDumpByFullName(this.fullName+'/'+fullName);},isDescendantOf:function(otherDump){var dump=this;while(dump!==undefined){if(dump===otherDump)
-return true;dump=dump.parent;}
-return false;},addNumeric:function(name,numeric){if(!(numeric instanceof tr.v.ScalarNumeric))
-throw new Error('Numeric value must be an instance of ScalarNumeric.');if(name in this.numerics)
-throw new Error('Duplicate numeric name: '+name+'.');this.numerics[name]=numeric;},addDiagnostic:function(name,text){if(typeof text!=='string')
-throw new Error('Diagnostic text must be a string.');if(name in this.diagnostics)
-throw new Error('Duplicate diagnostic name: '+name+'.');this.diagnostics[name]=text;},aggregateNumericsRecursively:function(opt_model){var numericNames=new Set();this.children.forEach(function(child){child.aggregateNumericsRecursively(opt_model);tr.b.iterItems(child.numerics,numericNames.add,numericNames);},this);numericNames.forEach(function(numericName){if(numericName===MemoryAllocatorDump.SIZE_NUMERIC_NAME||numericName===MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME||this.numerics[numericName]!==undefined){return;}
-this.numerics[numericName]=MemoryAllocatorDump.aggregateNumerics(this.children.map(function(child){return child.numerics[numericName];}),opt_model);},this);}};MemoryAllocatorDump.aggregateNumerics=function(numerics,opt_model){var shouldLogWarning=!!opt_model;var aggregatedUnit=undefined;var aggregatedValue=0;numerics.forEach(function(numeric){if(numeric===undefined)
-return;var unit=numeric.unit;if(aggregatedUnit===undefined){aggregatedUnit=unit;}else if(aggregatedUnit!==unit){if(shouldLogWarning){opt_model.importWarning({type:'numeric_parse_error',message:'Multiple units provided for numeric: \''+
-aggregatedUnit.unitName+'\' and \''+unit.unitName+'\'.'});shouldLogWarning=false;}
-aggregatedUnit=tr.b.Unit.byName.unitlessNumber_smallerIsBetter;}
-aggregatedValue+=numeric.value;},this);if(aggregatedUnit===undefined)
-return undefined;return new tr.v.ScalarNumeric(aggregatedUnit,aggregatedValue);};function MemoryAllocatorDumpLink(source,target,opt_importance){this.source=source;this.target=target;this.importance=opt_importance;this.size=undefined;}
-var MemoryAllocatorDumpInfoType={PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN:0,PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER:1};return{MemoryAllocatorDump:MemoryAllocatorDump,MemoryAllocatorDumpLink:MemoryAllocatorDumpLink,MemoryAllocatorDumpInfoType:MemoryAllocatorDumpInfoType};});'use strict';tr.exportTo('tr.model',function(){function GlobalMemoryDump(model,start){tr.model.ContainerMemoryDump.call(this,start);this.model=model;this.processMemoryDumps={};}
-var SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME;var EFFECTIVE_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME;var MemoryAllocatorDumpInfoType=tr.model.MemoryAllocatorDumpInfoType;var PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN;var PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER;function inPlaceFilter(array,predicate,opt_this){opt_this=opt_this||this;var nextPosition=0;for(var i=0;i<array.length;i++){if(!predicate.call(opt_this,array[i],i))
-continue;if(nextPosition<i)
-array[nextPosition]=array[i];nextPosition++;}
-if(nextPosition<array.length)
-array.length=nextPosition;}
-function getSize(dump){var numeric=dump.numerics[SIZE_NUMERIC_NAME];if(numeric===undefined)
-return 0;return numeric.value;}
-function hasSize(dump){return dump.numerics[SIZE_NUMERIC_NAME]!==undefined;}
-function optional(value,defaultValue){if(value===undefined)
-return defaultValue;return value;}
-GlobalMemoryDump.prototype={__proto__:tr.model.ContainerMemoryDump.prototype,get userFriendlyName(){return'Global memory dump at '+
-tr.b.Unit.byName.timeStampInMs.format(this.start);},get containerName(){return'global space';},finalizeGraph:function(){this.removeWeakDumps();this.setUpTracingOverheadOwnership();this.aggregateNumerics();this.calculateSizes();this.calculateEffectiveSizes();this.discountTracingOverheadFromVmRegions();this.forceRebuildingMemoryAllocatorDumpByFullNameIndices();},removeWeakDumps:function(){this.traverseAllocatorDumpsInDepthFirstPreOrder(function(dump){if(dump.weak)
-return;if((dump.owns!==undefined&&dump.owns.target.weak)||(dump.parent!==undefined&&dump.parent.weak)){dump.weak=true;}});function removeWeakDumpsFromListRecursively(dumps){inPlaceFilter(dumps,function(dump){if(dump.weak){return false;}
-removeWeakDumpsFromListRecursively(dump.children);inPlaceFilter(dump.ownedBy,function(ownershipLink){return!ownershipLink.source.weak;});return true;});}
-this.iterateContainerDumps(function(containerDump){var memoryAllocatorDumps=containerDump.memoryAllocatorDumps;if(memoryAllocatorDumps!==undefined)
-removeWeakDumpsFromListRecursively(memoryAllocatorDumps);});},calculateSizes:function(){this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateMemoryAllocatorDumpSize_.bind(this));},calculateMemoryAllocatorDumpSize_:function(dump){var shouldDefineSize=false;function getDependencySize(dependencyDump){var numeric=dependencyDump.numerics[SIZE_NUMERIC_NAME];if(numeric===undefined)
-return 0;shouldDefineSize=true;return numeric.value;}
-var sizeNumeric=dump.numerics[SIZE_NUMERIC_NAME];var size=0;var checkDependencySizeIsConsistent=function(){};if(sizeNumeric!==undefined){size=sizeNumeric.value;shouldDefineSize=true;if(sizeNumeric.unit!==tr.b.Unit.byName.sizeInBytes_smallerIsBetter){this.model.importWarning({type:'memory_dump_parse_error',message:'Invalid unit of \'size\' numeric of memory allocator '+'dump '+dump.quantifiedName+': '+
-sizeNumeric.unit.unitName+'.'});}
-checkDependencySizeIsConsistent=function(dependencySize,dependencyInfoType,dependencyName){if(size>=dependencySize)
-return;this.model.importWarning({type:'memory_dump_parse_error',message:'Size provided by memory allocator dump \''+
-dump.fullName+'\''+
-tr.b.Unit.byName.sizeInBytes.format(size)+') is less than '+dependencyName+' ('+
-tr.b.Unit.byName.sizeInBytes.format(dependencySize)+').'});dump.infos.push({type:dependencyInfoType,providedSize:size,dependencySize:dependencySize});}.bind(this);}
-var aggregatedChildrenSize=0;var allOverlaps={};dump.children.forEach(function(childDump){function aggregateDescendantDump(descendantDump){var ownedDumpLink=descendantDump.owns;if(ownedDumpLink!==undefined&&ownedDumpLink.target.isDescendantOf(dump)){var ownedChildDump=ownedDumpLink.target;while(ownedChildDump.parent!==dump)
-ownedChildDump=ownedChildDump.parent;if(childDump!==ownedChildDump){var ownedBySiblingSize=getDependencySize(descendantDump);if(ownedBySiblingSize>0){var previousTotalOwnedBySiblingSize=ownedChildDump.ownedBySiblingSizes.get(childDump)||0;var updatedTotalOwnedBySiblingSize=previousTotalOwnedBySiblingSize+ownedBySiblingSize;ownedChildDump.ownedBySiblingSizes.set(childDump,updatedTotalOwnedBySiblingSize);}}
-return;}
-if(descendantDump.children.length===0){aggregatedChildrenSize+=getDependencySize(descendantDump);return;}
-descendantDump.children.forEach(aggregateDescendantDump);}
-aggregateDescendantDump(childDump);});checkDependencySizeIsConsistent(aggregatedChildrenSize,PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN,'the aggregated size of its children');var largestOwnerSize=0;dump.ownedBy.forEach(function(ownershipLink){var owner=ownershipLink.source;var ownerSize=getDependencySize(owner);largestOwnerSize=Math.max(largestOwnerSize,ownerSize);});checkDependencySizeIsConsistent(largestOwnerSize,PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER,'the size of its largest owner');if(!shouldDefineSize){delete dump.numerics[SIZE_NUMERIC_NAME];return;}
-size=Math.max(size,aggregatedChildrenSize,largestOwnerSize);dump.numerics[SIZE_NUMERIC_NAME]=new tr.v.ScalarNumeric(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,size);if(aggregatedChildrenSize<size&&dump.children!==undefined&&dump.children.length>0){var virtualChild=new tr.model.MemoryAllocatorDump(dump.containerMemoryDump,dump.fullName+'/<unspecified>');virtualChild.parent=dump;dump.children.unshift(virtualChild);virtualChild.numerics[SIZE_NUMERIC_NAME]=new tr.v.ScalarNumeric(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,size-aggregatedChildrenSize);}},calculateEffectiveSizes:function(){this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpSubSizes_.bind(this));this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpOwnershipCoefficient_.bind(this));this.traverseAllocatorDumpsInDepthFirstPreOrder(this.calculateDumpCumulativeOwnershipCoefficient_.bind(this));this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpEffectiveSize_.bind(this));},calculateDumpSubSizes_:function(dump){if(!hasSize(dump))
-return;if(dump.children===undefined||dump.children.length===0){var size=getSize(dump);dump.notOwningSubSize_=size;dump.notOwnedSubSize_=size;return;}
-var notOwningSubSize=0;dump.children.forEach(function(childDump){if(childDump.owns!==undefined)
-return;notOwningSubSize+=optional(childDump.notOwningSubSize_,0);});dump.notOwningSubSize_=notOwningSubSize;var notOwnedSubSize=0;dump.children.forEach(function(childDump){if(childDump.ownedBy.length===0){notOwnedSubSize+=optional(childDump.notOwnedSubSize_,0);return;}
-var largestChildOwnerSize=0;childDump.ownedBy.forEach(function(ownershipLink){largestChildOwnerSize=Math.max(largestChildOwnerSize,getSize(ownershipLink.source));});notOwnedSubSize+=getSize(childDump)-largestChildOwnerSize;});dump.notOwnedSubSize_=notOwnedSubSize;},calculateDumpOwnershipCoefficient_:function(dump){if(!hasSize(dump))
-return;if(dump.ownedBy.length===0)
-return;var owners=dump.ownedBy.map(function(ownershipLink){return{dump:ownershipLink.source,importance:optional(ownershipLink.importance,0),notOwningSubSize:optional(ownershipLink.source.notOwningSubSize_,0)};});owners.sort(function(a,b){if(a.importance===b.importance)
-return a.notOwningSubSize-b.notOwningSubSize;return b.importance-a.importance;});var currentImportanceStartPos=0;var alreadyAttributedSubSize=0;while(currentImportanceStartPos<owners.length){var currentImportance=owners[currentImportanceStartPos].importance;var nextImportanceStartPos=currentImportanceStartPos+1;while(nextImportanceStartPos<owners.length&&owners[nextImportanceStartPos].importance===currentImportance){nextImportanceStartPos++;}
-var attributedNotOwningSubSize=0;for(var pos=currentImportanceStartPos;pos<nextImportanceStartPos;pos++){var owner=owners[pos];var notOwningSubSize=owner.notOwningSubSize;if(notOwningSubSize>alreadyAttributedSubSize){attributedNotOwningSubSize+=(notOwningSubSize-alreadyAttributedSubSize)/(nextImportanceStartPos-pos);alreadyAttributedSubSize=notOwningSubSize;}
-var owningCoefficient=0;if(notOwningSubSize!==0)
-owningCoefficient=attributedNotOwningSubSize/notOwningSubSize;owner.dump.owningCoefficient_=owningCoefficient;}
-currentImportanceStartPos=nextImportanceStartPos;}
-var notOwnedSubSize=optional(dump.notOwnedSubSize_,0);var remainderSubSize=notOwnedSubSize-alreadyAttributedSubSize;var ownedCoefficient=0;if(notOwnedSubSize!==0)
-ownedCoefficient=remainderSubSize/notOwnedSubSize;dump.ownedCoefficient_=ownedCoefficient;},calculateDumpCumulativeOwnershipCoefficient_:function(dump){if(!hasSize(dump))
-return;var cumulativeOwnedCoefficient=optional(dump.ownedCoefficient_,1);var parent=dump.parent;if(dump.parent!==undefined)
-cumulativeOwnedCoefficient*=dump.parent.cumulativeOwnedCoefficient_;dump.cumulativeOwnedCoefficient_=cumulativeOwnedCoefficient;var cumulativeOwningCoefficient;if(dump.owns!==undefined){cumulativeOwningCoefficient=dump.owningCoefficient_*dump.owns.target.cumulativeOwningCoefficient_;}else if(dump.parent!==undefined){cumulativeOwningCoefficient=dump.parent.cumulativeOwningCoefficient_;}else{cumulativeOwningCoefficient=1;}
-dump.cumulativeOwningCoefficient_=cumulativeOwningCoefficient;},calculateDumpEffectiveSize_:function(dump){if(!hasSize(dump)){delete dump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME];return;}
-var effectiveSize;if(dump.children===undefined||dump.children.length===0){effectiveSize=getSize(dump)*dump.cumulativeOwningCoefficient_*dump.cumulativeOwnedCoefficient_;}else{effectiveSize=0;dump.children.forEach(function(childDump){if(!hasSize(childDump))
-return;effectiveSize+=childDump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME].value;});}
-dump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME]=new tr.v.ScalarNumeric(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,effectiveSize);},aggregateNumerics:function(){this.iterateRootAllocatorDumps(function(dump){dump.aggregateNumericsRecursively(this.model);});this.iterateRootAllocatorDumps(this.propagateNumericsAndDiagnosticsRecursively);tr.b.iterItems(this.processMemoryDumps,function(pid,processMemoryDump){processMemoryDump.iterateRootAllocatorDumps(function(dump){dump.aggregateNumericsRecursively(this.model);},this);},this);},propagateNumericsAndDiagnosticsRecursively:function(globalAllocatorDump){['numerics','diagnostics'].forEach(function(field){tr.b.iterItems(globalAllocatorDump[field],function(name,value){globalAllocatorDump.ownedBy.forEach(function(ownershipLink){var processAllocatorDump=ownershipLink.source;if(processAllocatorDump[field][name]!==undefined){return;}
-processAllocatorDump[field][name]=value;});});});globalAllocatorDump.children.forEach(this.propagateNumericsAndDiagnosticsRecursively,this);},setUpTracingOverheadOwnership:function(){tr.b.iterItems(this.processMemoryDumps,function(pid,dump){dump.setUpTracingOverheadOwnership(this.model);},this);},discountTracingOverheadFromVmRegions:function(){tr.b.iterItems(this.processMemoryDumps,function(pid,dump){dump.discountTracingOverheadFromVmRegions(this.model);},this);},forceRebuildingMemoryAllocatorDumpByFullNameIndices:function(){this.iterateContainerDumps(function(containerDump){containerDump.forceRebuildingMemoryAllocatorDumpByFullNameIndex();});},iterateContainerDumps:function(fn){fn.call(this,this);tr.b.iterItems(this.processMemoryDumps,function(pid,processDump){fn.call(this,processDump);},this);},iterateAllRootAllocatorDumps:function(fn){this.iterateContainerDumps(function(containerDump){containerDump.iterateRootAllocatorDumps(fn,this);});},traverseAllocatorDumpsInDepthFirstPostOrder:function(fn){var visitedDumps=new WeakSet();var openDumps=new WeakSet();function visit(dump){if(visitedDumps.has(dump))
-return;if(openDumps.has(dump))
-throw new Error(dump.userFriendlyName+' contains a cycle');openDumps.add(dump);dump.ownedBy.forEach(function(ownershipLink){visit.call(this,ownershipLink.source);},this);dump.children.forEach(visit,this);fn.call(this,dump);visitedDumps.add(dump);openDumps.delete(dump);}
-this.iterateAllRootAllocatorDumps(visit);},traverseAllocatorDumpsInDepthFirstPreOrder:function(fn){var visitedDumps=new WeakSet();function visit(dump){if(visitedDumps.has(dump))
-return;if(dump.owns!==undefined&&!visitedDumps.has(dump.owns.target))
-return;if(dump.parent!==undefined&&!visitedDumps.has(dump.parent))
-return;fn.call(this,dump);visitedDumps.add(dump);dump.ownedBy.forEach(function(ownershipLink){visit.call(this,ownershipLink.source);},this);dump.children.forEach(visit,this);}
-this.iterateAllRootAllocatorDumps(visit);}};tr.model.EventRegistry.register(GlobalMemoryDump,{name:'globalMemoryDump',pluralName:'globalMemoryDumps'});return{GlobalMemoryDump:GlobalMemoryDump};});'use strict';tr.exportTo('tr.model',function(){function HeapEntry(heapDump,leafStackFrame,objectTypeName,size,count){this.heapDump=heapDump;this.leafStackFrame=leafStackFrame;this.objectTypeName=objectTypeName;this.size=size;this.count=count;}
-function HeapDump(processMemoryDump,allocatorName){this.processMemoryDump=processMemoryDump;this.allocatorName=allocatorName;this.entries=[];}
-HeapDump.prototype={addEntry:function(leafStackFrame,objectTypeName,size,count){var entry=new HeapEntry(this,leafStackFrame,objectTypeName,size,count);this.entries.push(entry);return entry;}};return{HeapEntry:HeapEntry,HeapDump:HeapDump};});'use strict';tr.exportTo('tr.model',function(){var InstantEventType={GLOBAL:1,PROCESS:2};function InstantEvent(category,title,colorId,start,args){tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.args=args;this.type=undefined;}
-InstantEvent.prototype={__proto__:tr.model.TimedEvent.prototype};function GlobalInstantEvent(category,title,colorId,start,args){InstantEvent.apply(this,arguments);this.type=InstantEventType.GLOBAL;}
-GlobalInstantEvent.prototype={__proto__:InstantEvent.prototype,get userFriendlyName(){return'Global instant event '+this.title+' @ '+
-tr.b.Unit.byName.timeStampInMs.format(start);}};function ProcessInstantEvent(category,title,colorId,start,args){InstantEvent.apply(this,arguments);this.type=InstantEventType.PROCESS;}
-ProcessInstantEvent.prototype={__proto__:InstantEvent.prototype,get userFriendlyName(){return'Process-level instant event '+this.title+' @ '+
-tr.b.Unit.byName.timeStampInMs.format(start);}};tr.model.EventRegistry.register(InstantEvent,{name:'instantEvent',pluralName:'instantEvents'});return{GlobalInstantEvent:GlobalInstantEvent,ProcessInstantEvent:ProcessInstantEvent,InstantEventType:InstantEventType,InstantEvent:InstantEvent};});'use strict';tr.exportTo('tr.b',function(){function max(a,b){if(a===undefined)
-return b;if(b===undefined)
-return a;return Math.max(a,b);}
-function IntervalTree(beginPositionCb,endPositionCb){this.beginPositionCb_=beginPositionCb;this.endPositionCb_=endPositionCb;this.root_=undefined;this.size_=0;}
-IntervalTree.prototype={insert:function(datum){var startPosition=this.beginPositionCb_(datum);var endPosition=this.endPositionCb_(datum);var node=new IntervalTreeNode(datum,startPosition,endPosition);this.size_++;this.root_=this.insertNode_(this.root_,node);this.root_.colour=Colour.BLACK;return datum;},insertNode_:function(root,node){if(root===undefined)
-return node;if(root.leftNode&&root.leftNode.isRed&&root.rightNode&&root.rightNode.isRed)
-this.flipNodeColour_(root);if(node.key<root.key)
-root.leftNode=this.insertNode_(root.leftNode,node);else if(node.key===root.key)
-root.merge(node);else
-root.rightNode=this.insertNode_(root.rightNode,node);if(root.rightNode&&root.rightNode.isRed&&(root.leftNode===undefined||!root.leftNode.isRed))
-root=this.rotateLeft_(root);if(root.leftNode&&root.leftNode.isRed&&root.leftNode.leftNode&&root.leftNode.leftNode.isRed)
-root=this.rotateRight_(root);return root;},rotateRight_:function(node){var sibling=node.leftNode;node.leftNode=sibling.rightNode;sibling.rightNode=node;sibling.colour=node.colour;node.colour=Colour.RED;return sibling;},rotateLeft_:function(node){var sibling=node.rightNode;node.rightNode=sibling.leftNode;sibling.leftNode=node;sibling.colour=node.colour;node.colour=Colour.RED;return sibling;},flipNodeColour_:function(node){node.colour=this.flipColour_(node.colour);node.leftNode.colour=this.flipColour_(node.leftNode.colour);node.rightNode.colour=this.flipColour_(node.rightNode.colour);},flipColour_:function(colour){return colour===Colour.RED?Colour.BLACK:Colour.RED;},updateHighValues:function(){this.updateHighValues_(this.root_);},updateHighValues_:function(node){if(node===undefined)
-return undefined;node.maxHighLeft=this.updateHighValues_(node.leftNode);node.maxHighRight=this.updateHighValues_(node.rightNode);return max(max(node.maxHighLeft,node.highValue),node.maxHighRight);},validateFindArguments_:function(queryLow,queryHigh){if(queryLow===undefined||queryHigh===undefined)
-throw new Error('queryLow and queryHigh must be defined');if((typeof queryLow!=='number')||(typeof queryHigh!=='number'))
-throw new Error('queryLow and queryHigh must be numbers');},findIntersection:function(queryLow,queryHigh){this.validateFindArguments_(queryLow,queryHigh);if(this.root_===undefined)
-return[];var ret=[];this.root_.appendIntersectionsInto_(ret,queryLow,queryHigh);return ret;},get size(){return this.size_;},get root(){return this.root_;},dump_:function(){if(this.root_===undefined)
-return[];return this.root_.dump();}};var Colour={RED:'red',BLACK:'black'};function IntervalTreeNode(datum,lowValue,highValue){this.lowValue_=lowValue;this.data_=[{datum:datum,high:highValue,low:lowValue}];this.colour_=Colour.RED;this.parentNode_=undefined;this.leftNode_=undefined;this.rightNode_=undefined;this.maxHighLeft_=undefined;this.maxHighRight_=undefined;}
-IntervalTreeNode.prototype={appendIntersectionsInto_:function(ret,queryLow,queryHigh){if(this.lowValue_>=queryHigh){if(!this.leftNode_)
-return;return this.leftNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);}
-if(this.maxHighLeft_>queryLow){this.leftNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);}
-if(this.highValue>queryLow){for(var i=(this.data.length-1);i>=0;--i){if(this.data[i].high<queryLow)
-break;ret.push(this.data[i].datum);}}
-if(this.rightNode_){this.rightNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);}},get colour(){return this.colour_;},set colour(colour){this.colour_=colour;},get key(){return this.lowValue_;},get lowValue(){return this.lowValue_;},get highValue(){return this.data_[this.data_.length-1].high;},set leftNode(left){this.leftNode_=left;},get leftNode(){return this.leftNode_;},get hasLeftNode(){return this.leftNode_!==undefined;},set rightNode(right){this.rightNode_=right;},get rightNode(){return this.rightNode_;},get hasRightNode(){return this.rightNode_!==undefined;},set parentNode(parent){this.parentNode_=parent;},get parentNode(){return this.parentNode_;},get isRootNode(){return this.parentNode_===undefined;},set maxHighLeft(high){this.maxHighLeft_=high;},get maxHighLeft(){return this.maxHighLeft_;},set maxHighRight(high){this.maxHighRight_=high;},get maxHighRight(){return this.maxHighRight_;},get data(){return this.data_;},get isRed(){return this.colour_===Colour.RED;},merge:function(node){for(var i=0;i<node.data.length;i++)
-this.data_.push(node.data[i]);this.data_.sort(function(a,b){return a.high-b.high;});},dump:function(){var ret={};if(this.leftNode_)
-ret['left']=this.leftNode_.dump();ret['data']=this.data_.map(function(d){return[d.low,d.high];});if(this.rightNode_)
-ret['right']=this.rightNode_.dump();return ret;}};return{IntervalTree:IntervalTree};});'use strict';tr.exportTo('tr.b',function(){var tmpVec2s=[];for(var i=0;i<8;i++)
-tmpVec2s[i]=vec2.create();var tmpVec2a=vec4.create();var tmpVec4a=vec4.create();var tmpVec4b=vec4.create();var tmpMat4=mat4.create();var tmpMat4b=mat4.create();var p00=vec2.createXY(0,0);var p10=vec2.createXY(1,0);var p01=vec2.createXY(0,1);var p11=vec2.createXY(1,1);var lerpingVecA=vec2.create();var lerpingVecB=vec2.create();function lerpVec2(out,a,b,amt){vec2.scale(lerpingVecA,a,amt);vec2.scale(lerpingVecB,b,1-amt);vec2.add(out,lerpingVecA,lerpingVecB);vec2.normalize(out,out);return out;}
-function Quad(){this.p1=vec2.create();this.p2=vec2.create();this.p3=vec2.create();this.p4=vec2.create();}
-Quad.fromXYWH=function(x,y,w,h){var q=new Quad();vec2.set(q.p1,x,y);vec2.set(q.p2,x+w,y);vec2.set(q.p3,x+w,y+h);vec2.set(q.p4,x,y+h);return q;}
-Quad.fromRect=function(r){return new Quad.fromXYWH(r.x,r.y,r.width,r.height);}
-Quad.from4Vecs=function(p1,p2,p3,p4){var q=new Quad();vec2.set(q.p1,p1[0],p1[1]);vec2.set(q.p2,p2[0],p2[1]);vec2.set(q.p3,p3[0],p3[1]);vec2.set(q.p4,p4[0],p4[1]);return q;}
-Quad.from8Array=function(arr){if(arr.length!=8)
-throw new Error('Array must be 8 long');var q=new Quad();q.p1[0]=arr[0];q.p1[1]=arr[1];q.p2[0]=arr[2];q.p2[1]=arr[3];q.p3[0]=arr[4];q.p3[1]=arr[5];q.p4[0]=arr[6];q.p4[1]=arr[7];return q;};Quad.prototype={pointInside:function(point){return pointInImplicitQuad(point,this.p1,this.p2,this.p3,this.p4);},boundingRect:function(){var x0=Math.min(this.p1[0],this.p2[0],this.p3[0],this.p4[0]);var y0=Math.min(this.p1[1],this.p2[1],this.p3[1],this.p4[1]);var x1=Math.max(this.p1[0],this.p2[0],this.p3[0],this.p4[0]);var y1=Math.max(this.p1[1],this.p2[1],this.p3[1],this.p4[1]);return new tr.b.Rect.fromXYWH(x0,y0,x1-x0,y1-y0);},clone:function(){var q=new Quad();vec2.copy(q.p1,this.p1);vec2.copy(q.p2,this.p2);vec2.copy(q.p3,this.p3);vec2.copy(q.p4,this.p4);return q;},scale:function(s){var q=new Quad();this.scaleFast(q,s);return q;},scaleFast:function(dstQuad,s){vec2.copy(dstQuad.p1,this.p1,s);vec2.copy(dstQuad.p2,this.p2,s);vec2.copy(dstQuad.p3,this.p3,s);vec2.copy(dstQuad.p3,this.p3,s);},isRectangle:function(){var bounds=this.boundingRect();return(bounds.x==this.p1[0]&&bounds.y==this.p1[1]&&bounds.width==this.p2[0]-this.p1[0]&&bounds.y==this.p2[1]&&bounds.width==this.p3[0]-this.p1[0]&&bounds.height==this.p3[1]-this.p2[1]&&bounds.x==this.p4[0]&&bounds.height==this.p4[1]-this.p2[1]);},projectUnitRect:function(rect){var q=new Quad();this.projectUnitRectFast(q,rect);return q;},projectUnitRectFast:function(dstQuad,rect){var v12=tmpVec2s[0];var v14=tmpVec2s[1];var v23=tmpVec2s[2];var v43=tmpVec2s[3];var l12,l14,l23,l43;vec2.sub(v12,this.p2,this.p1);l12=vec2.length(v12);vec2.scale(v12,v12,1/l12);vec2.sub(v14,this.p4,this.p1);l14=vec2.length(v14);vec2.scale(v14,v14,1/l14);vec2.sub(v23,this.p3,this.p2);l23=vec2.length(v23);vec2.scale(v23,v23,1/l23);vec2.sub(v43,this.p3,this.p4);l43=vec2.length(v43);vec2.scale(v43,v43,1/l43);var b12=tmpVec2s[0];var b14=tmpVec2s[1];var b23=tmpVec2s[2];var b43=tmpVec2s[3];lerpVec2(b12,v12,v43,rect.y);lerpVec2(b43,v12,v43,1-rect.bottom);lerpVec2(b14,v14,v23,rect.x);lerpVec2(b23,v14,v23,1-rect.right);vec2.addTwoScaledUnitVectors(tmpVec2a,b12,l12*rect.x,b14,l14*rect.y);vec2.add(dstQuad.p1,this.p1,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b12,l12*-(1.0-rect.right),b23,l23*rect.y);vec2.add(dstQuad.p2,this.p2,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b43,l43*-(1.0-rect.right),b23,l23*-(1.0-rect.bottom));vec2.add(dstQuad.p3,this.p3,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b43,l43*rect.left,b14,l14*-(1.0-rect.bottom));vec2.add(dstQuad.p4,this.p4,tmpVec2a);},toString:function(){return'Quad('+
-vec2.toString(this.p1)+', '+
-vec2.toString(this.p2)+', '+
-vec2.toString(this.p3)+', '+
-vec2.toString(this.p4)+')';}};function sign(p1,p2,p3){return(p1[0]-p3[0])*(p2[1]-p3[1])-
-(p2[0]-p3[0])*(p1[1]-p3[1]);}
-function pointInTriangle2(pt,p1,p2,p3){var b1=sign(pt,p1,p2)<0.0;var b2=sign(pt,p2,p3)<0.0;var b3=sign(pt,p3,p1)<0.0;return((b1==b2)&&(b2==b3));}
-function pointInImplicitQuad(point,p1,p2,p3,p4){return pointInTriangle2(point,p1,p2,p3)||pointInTriangle2(point,p1,p3,p4);}
-return{pointInTriangle2:pointInTriangle2,pointInImplicitQuad:pointInImplicitQuad,Quad:Quad};});'use strict';tr.exportTo('tr.b',function(){var ESTIMATED_IDLE_PERIOD_LENGTH_MILLISECONDS=10;var REQUEST_IDLE_CALLBACK_TIMEOUT_MILLISECONDS=100;var recordRAFStacks=false;var pendingPreAFs=[];var pendingRAFs=[];var pendingIdleCallbacks=[];var currentRAFDispatchList=undefined;var rafScheduled=false;var idleWorkScheduled=false;function scheduleRAF(){if(rafScheduled)
-return;rafScheduled=true;if(tr.isHeadless){Promise.resolve().then(function(){processRequests(false,0);},function(e){console.log(e.stack);throw e;});}else{if(window.requestAnimationFrame){window.requestAnimationFrame(processRequests.bind(this,false));}else{var delta=Date.now()-window.performance.now();window.webkitRequestAnimationFrame(function(domTimeStamp){processRequests(false,domTimeStamp-delta);});}}}
-function nativeRequestIdleCallbackSupported(){return!tr.isHeadless&&window.requestIdleCallback;}
-function scheduleIdleWork(){if(idleWorkScheduled)
-return;if(!nativeRequestIdleCallbackSupported()){scheduleRAF();return;}
-idleWorkScheduled=true;window.requestIdleCallback(function(deadline,didTimeout){processIdleWork(false,deadline);},{timeout:REQUEST_IDLE_CALLBACK_TIMEOUT_MILLISECONDS});}
-function onAnimationFrameError(e,opt_stack){console.log(e.stack);if(tr.isHeadless)
-throw e;if(opt_stack)
-console.log(opt_stack);if(e.message)
-console.error(e.message,e.stack);else
-console.error(e);}
-function runTask(task,frameBeginTime){try{task.callback.call(task.context,frameBeginTime);}catch(e){tr.b.onAnimationFrameError(e,task.stack);}}
-function processRequests(forceAllTasksToRun,frameBeginTime){rafScheduled=false;var currentPreAFs=pendingPreAFs;currentRAFDispatchList=pendingRAFs;pendingPreAFs=[];pendingRAFs=[];var hasRAFTasks=currentPreAFs.length||currentRAFDispatchList.length;for(var i=0;i<currentPreAFs.length;i++)
-runTask(currentPreAFs[i],frameBeginTime);while(currentRAFDispatchList.length>0)
-runTask(currentRAFDispatchList.shift(),frameBeginTime);currentRAFDispatchList=undefined;if((!hasRAFTasks&&!nativeRequestIdleCallbackSupported())||forceAllTasksToRun){var rafCompletionDeadline=frameBeginTime+ESTIMATED_IDLE_PERIOD_LENGTH_MILLISECONDS;processIdleWork(forceAllTasksToRun,{timeRemaining:function(){return rafCompletionDeadline-window.performance.now();}});}
-if(pendingIdleCallbacks.length>0)
-scheduleIdleWork();}
-function processIdleWork(forceAllTasksToRun,deadline){idleWorkScheduled=false;while(pendingIdleCallbacks.length>0){runTask(pendingIdleCallbacks.shift());if(!forceAllTasksToRun&&(tr.isHeadless||deadline.timeRemaining()<=0)){break;}}
-if(pendingIdleCallbacks.length>0)
-scheduleIdleWork();}
-function getStack_(){if(!recordRAFStacks)
-return'';var stackLines=tr.b.stackTrace();stackLines.shift();return stackLines.join('\n');}
-function requestPreAnimationFrame(callback,opt_this){pendingPreAFs.push({callback:callback,context:opt_this||global,stack:getStack_()});scheduleRAF();}
-function requestAnimationFrameInThisFrameIfPossible(callback,opt_this){if(!currentRAFDispatchList){requestAnimationFrame(callback,opt_this);return;}
-currentRAFDispatchList.push({callback:callback,context:opt_this||global,stack:getStack_()});return;}
-function requestAnimationFrame(callback,opt_this){pendingRAFs.push({callback:callback,context:opt_this||global,stack:getStack_()});scheduleRAF();}
-function requestIdleCallback(callback,opt_this){pendingIdleCallbacks.push({callback:callback,context:opt_this||global,stack:getStack_()});scheduleIdleWork();}
-function forcePendingRAFTasksToRun(frameBeginTime){if(!rafScheduled)
-return;processRequests(false,frameBeginTime);}
-function forceAllPendingTasksToRunForTest(){if(!rafScheduled&&!idleWorkScheduled)
-return;processRequests(true,0);}
-return{onAnimationFrameError:onAnimationFrameError,requestPreAnimationFrame:requestPreAnimationFrame,requestAnimationFrame:requestAnimationFrame,requestAnimationFrameInThisFrameIfPossible:requestAnimationFrameInThisFrameIfPossible,requestIdleCallback:requestIdleCallback,forcePendingRAFTasksToRun:forcePendingRAFTasksToRun,forceAllPendingTasksToRunForTest:forceAllPendingTasksToRunForTest};});'use strict';tr.exportTo('tr.b',function(){var Base64=tr.b.Base64;function computeUserTimingMarkName(groupName,functionName,opt_args){if(groupName===undefined)
-throw new Error('getMeasureString should have group name');if(functionName===undefined)
-throw new Error('getMeasureString should have function name');var userTimingMarkName=groupName+':'+functionName;if(opt_args!==undefined){userTimingMarkName+='/';userTimingMarkName+=Base64.btoa(JSON.stringify(opt_args));}
-return userTimingMarkName;}
-function Timing(){}
-Timing.nextMarkNumber=0;Timing.mark=function(groupName,functionName,opt_args){if(tr.isHeadless){return{end:function(){}};}
-var userTimingMarkName=computeUserTimingMarkName(groupName,functionName,opt_args);var markBeginName='tvcm.mark'+Timing.nextMarkNumber++;var markEndName='tvcm.mark'+Timing.nextMarkNumber++;window.performance.mark(markBeginName);return{end:function(){window.performance.mark(markEndName);window.performance.measure(userTimingMarkName,markBeginName,markEndName);}};};Timing.wrap=function(groupName,callback,opt_args){if(groupName===undefined)
-throw new Error('Timing.wrap should have group name');if(callback.name==='')
-throw new Error('Anonymous function is not allowed');return Timing.wrapNamedFunction(groupName,callback.name,callback,opt_args);};Timing.wrapNamedFunction=function(groupName,functionName,callback,opt_args){function timedNamedFunction(){var markedTime=Timing.mark(groupName,functionName,opt_args);try{callback.apply(this,arguments);}finally{markedTime.end();}}
-return timedNamedFunction;};function TimedNamedPromise(groupName,name,executor,opt_args){var markedTime=Timing.mark(groupName,name,opt_args);var promise=new Promise(executor);promise.then(function(result){markedTime.end();return result;},function(e){markedTime.end();throw e;});return promise;}
-return{_computeUserTimingMarkName:computeUserTimingMarkName,TimedNamedPromise:TimedNamedPromise,Timing:Timing};});'use strict';tr.exportTo('tr.b',function(){var Timing=tr.b.Timing;function Task(runCb,thisArg){if(runCb!==undefined&&thisArg===undefined)
-throw new Error('Almost certainly, you meant to pass a thisArg.');this.runCb_=runCb;this.thisArg_=thisArg;this.afterTask_=undefined;this.subTasks_=[];}
-Task.prototype={get name(){return this.runCb_.name;},subTask:function(cb,thisArg){if(cb instanceof Task)
-this.subTasks_.push(cb);else
-this.subTasks_.push(new Task(cb,thisArg));return this.subTasks_[this.subTasks_.length-1];},run:function(){if(this.runCb_!==undefined)
-this.runCb_.call(this.thisArg_,this);var subTasks=this.subTasks_;this.subTasks_=undefined;if(!subTasks.length)
-return this.afterTask_;for(var i=1;i<subTasks.length;i++)
-subTasks[i-1].afterTask_=subTasks[i];subTasks[subTasks.length-1].afterTask_=this.afterTask_;return subTasks[0];},after:function(cb,thisArg){if(this.afterTask_)
-throw new Error('Has an after task already');if(cb instanceof Task)
-this.afterTask_=cb;else
-this.afterTask_=new Task(cb,thisArg);return this.afterTask_;},timedAfter:function(groupName,cb,thisArg,opt_args){if(cb.name==='')
-throw new Error('Anonymous Task is not allowed');return this.namedTimedAfter(groupName,cb.name,cb,thisArg,opt_args);},namedTimedAfter:function(groupName,name,cb,thisArg,opt_args){if(this.afterTask_)
-throw new Error('Has an after task already');var realTask;if(cb instanceof Task)
-realTask=cb;else
-realTask=new Task(cb,thisArg);this.afterTask_=new Task(function(task){var markedTask=Timing.mark(groupName,name,opt_args);task.subTask(realTask,thisArg);task.subTask(function(){markedTask.end();},thisArg);},thisArg);return this.afterTask_;},enqueue:function(cb,thisArg){var lastTask=this;while(lastTask.afterTask_)
-lastTask=lastTask.afterTask_;return lastTask.after(cb,thisArg);}};Task.RunSynchronously=function(task){var curTask=task;while(curTask)
-curTask=curTask.run();}
-Task.RunWhenIdle=function(task){return new Promise(function(resolve,reject){var curTask=task;function runAnother(){try{curTask=curTask.run();}catch(e){reject(e);console.error(e.stack);return;}
-if(curTask){tr.b.requestIdleCallback(runAnother);return;}
-resolve();}
-tr.b.requestIdleCallback(runAnother);});}
-return{Task:Task};});'use strict';tr.exportTo('tr.c',function(){function Auditor(model){this.model_=model;}
-Auditor.prototype={__proto__:Object.prototype,get model(){return this.model_;},runAnnotate:function(){},installUserFriendlyCategoryDriverIfNeeded:function(){},runAudit:function(){}};var options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Auditor;tr.b.decorateExtensionRegistry(Auditor,options);return{Auditor:Auditor};});'use strict';tr.exportTo('tr.c',function(){function makeCaseInsensitiveRegex(pattern){pattern=pattern.replace(/[.*+?^${}()|[\]\\]/g,'\\$&');return new RegExp(pattern,'i');}
-function Filter(){}
-Filter.prototype={__proto__:Object.prototype,matchCounter:function(counter){return true;},matchCpu:function(cpu){return true;},matchProcess:function(process){return true;},matchSlice:function(slice){return true;},matchThread:function(thread){return true;}};function TitleOrCategoryFilter(text){Filter.call(this);this.regex_=makeCaseInsensitiveRegex(text);if(!text.length)
-throw new Error('Filter text is empty.');}
-TitleOrCategoryFilter.prototype={__proto__:Filter.prototype,matchSlice:function(slice){if(slice.title===undefined&&slice.category===undefined)
-return false;return this.regex_.test(slice.title)||(!!slice.category&&this.regex_.test(slice.category));}};function ExactTitleFilter(text){Filter.call(this);this.text_=text;if(!text.length)
-throw new Error('Filter text is empty.');}
-ExactTitleFilter.prototype={__proto__:Filter.prototype,matchSlice:function(slice){return slice.title===this.text_;}};function FullTextFilter(text){Filter.call(this);this.regex_=makeCaseInsensitiveRegex(text);this.titleOrCategoryFilter_=new TitleOrCategoryFilter(text);}
-FullTextFilter.prototype={__proto__:Filter.prototype,matchObject_:function(obj){for(var key in obj){if(!obj.hasOwnProperty(key))
-continue;if(this.regex_.test(key))
-return true;if(this.regex_.test(obj[key]))
-return true;}
-return false;},matchSlice:function(slice){if(this.titleOrCategoryFilter_.matchSlice(slice))
-return true;return this.matchObject_(slice.args);}};return{Filter:Filter,TitleOrCategoryFilter:TitleOrCategoryFilter,ExactTitleFilter:ExactTitleFilter,FullTextFilter:FullTextFilter};});'use strict';tr.exportTo('tr.model',function(){var ColorScheme=tr.b.ColorScheme;function EventInfo(title,description,docLinks){this.title=title;this.description=description;this.docLinks=docLinks;this.colorId=ColorScheme.getColorIdForGeneralPurposeString(title);}
-return{EventInfo:EventInfo};});'use strict';tr.exportTo('tr.model',function(){function Alert(info,start,opt_associatedEvents,opt_args){tr.model.TimedEvent.call(this,start);this.info=info;this.args=opt_args||{};this.associatedEvents=new tr.model.EventSet(opt_associatedEvents);this.associatedEvents.forEach(function(event){event.addAssociatedAlert(this);},this);}
-Alert.prototype={__proto__:tr.model.TimedEvent.prototype,get title(){return this.info.title;},get colorId(){return this.info.colorId;},get userFriendlyName(){return'Alert '+this.title+' at '+
-tr.b.Unit.byName.timeStampInMs.format(this.start);}};tr.model.EventRegistry.register(Alert,{name:'alert',pluralName:'alerts'});return{Alert:Alert};});'use strict';tr.exportTo('tr.model',function(){var ClockDomainId={BATTOR:'BATTOR',UNKNOWN_CHROME_LEGACY:'UNKNOWN_CHROME_LEGACY',LINUX_CLOCK_MONOTONIC:'LINUX_CLOCK_MONOTONIC',LINUX_FTRACE_GLOBAL:'LINUX_FTRACE_GLOBAL',MAC_MACH_ABSOLUTE_TIME:'MAC_MACH_ABSOLUTE_TIME',WIN_ROLLOVER_PROTECTED_TIME_GET_TIME:'WIN_ROLLOVER_PROTECTED_TIME_GET_TIME',WIN_QPC:'WIN_QPC',TELEMETRY:'TELEMETRY'};var POSSIBLE_CHROME_CLOCK_DOMAINS=new Set([ClockDomainId.UNKNOWN_CHROME_LEGACY,ClockDomainId.LINUX_CLOCK_MONOTONIC,ClockDomainId.MAC_MACH_ABSOLUTE_TIME,ClockDomainId.WIN_ROLLOVER_PROTECTED_TIME_GET_TIME,ClockDomainId.WIN_QPC]);var BATTOR_FAST_SYNC_THRESHOLD_MS=3;function ClockSyncManager(){this.domainsSeen_=new Set();this.markersBySyncId_=new Map();this.transformerMapByDomainId_={};}
-ClockSyncManager.prototype={addClockSyncMarker:function(domainId,syncId,startTs,opt_endTs){this.onDomainSeen_(domainId);if(tr.b.dictionaryValues(ClockDomainId).indexOf(domainId)<0){throw new Error('"'+domainId+'" is not in the list of known '+'clock domain IDs.');}
-if(this.modelDomainId_){throw new Error('Cannot add new clock sync markers after getting '+'a model time transformer.');}
-var marker=new ClockSyncMarker(domainId,startTs,opt_endTs);if(!this.markersBySyncId_.has(syncId)){this.markersBySyncId_.set(syncId,[marker]);return;}
-var markers=this.markersBySyncId_.get(syncId);if(markers.length===2){throw new Error('Clock sync with ID "'+syncId+'" is already '+'complete - cannot add a third clock sync marker to it.');}
-if(markers[0].domainId===domainId)
-throw new Error('A clock domain cannot sync with itself.');markers.push(marker);this.onSyncCompleted_(markers[0],marker);},get markersBySyncId(){return this.markersBySyncId_;},get domainsSeen(){return this.domainsSeen_;},getModelTimeTransformer:function(domainId){return this.getModelTimeTransformerRaw_(domainId).fn;},getModelTimeTransformerError:function(domainId){return this.getModelTimeTransformerRaw_(domainId).error;},getModelTimeTransformerRaw_:function(domainId){this.onDomainSeen_(domainId);if(!this.modelDomainId_)
-this.selectModelDomainId_();var transformer=this.getTransformerBetween_(domainId,this.modelDomainId_);if(!transformer){throw new Error('No clock sync markers exist pairing clock domain "'+
-domainId+'" '+'with model clock domain "'+
-this.modelDomainId_+'".');}
-return transformer;},getTransformerBetween_:function(fromDomainId,toDomainId){var visitedDomainIds=new Set();var queue=[{domainId:fromDomainId,transformer:Transformer.IDENTITY}];while(queue.length>0){queue.sort((domain1,domain2)=>domain1.transformer.error-domain2.transformer.error);var current=queue.shift();if(current.domainId===toDomainId)
-return current.transformer;if(visitedDomainIds.has(current.domainId))
-continue;visitedDomainIds.add(current.domainId);var outgoingTransformers=this.transformerMapByDomainId_[current.domainId];if(!outgoingTransformers)
-continue;for(var outgoingDomainId in outgoingTransformers){var toNextDomainTransformer=outgoingTransformers[outgoingDomainId];var toCurrentDomainTransformer=current.transformer;queue.push({domainId:outgoingDomainId,transformer:Transformer.compose(toNextDomainTransformer,toCurrentDomainTransformer)});}}
-return undefined;},selectModelDomainId_:function(){this.ensureAllDomainsAreConnected_();for(var chromeDomainId of POSSIBLE_CHROME_CLOCK_DOMAINS){if(this.domainsSeen_.has(chromeDomainId)){this.modelDomainId_=chromeDomainId;return;}}
-var domainsSeenArray=Array.from(this.domainsSeen_);domainsSeenArray.sort();this.modelDomainId_=domainsSeenArray[0];},ensureAllDomainsAreConnected_:function(){var firstDomainId=undefined;for(var domainId of this.domainsSeen_){if(!firstDomainId){firstDomainId=domainId;continue;}
-if(!this.getTransformerBetween_(firstDomainId,domainId)){throw new Error('Unable to select a master clock domain because no '+'path can be found from "'+firstDomainId+'" to "'+domainId+'".');}}
-return true;},onDomainSeen_:function(domainId){if(domainId===ClockDomainId.UNKNOWN_CHROME_LEGACY&&!this.domainsSeen_.has(ClockDomainId.UNKNOWN_CHROME_LEGACY)){for(var chromeDomainId of POSSIBLE_CHROME_CLOCK_DOMAINS){if(chromeDomainId===ClockDomainId.UNKNOWN_CHROME_LEGACY)
-continue;this.collapseDomains_(ClockDomainId.UNKNOWN_CHROME_LEGACY,chromeDomainId);}}
-this.domainsSeen_.add(domainId);},onSyncCompleted_:function(marker1,marker2){var forwardTransformer=Transformer.fromMarkers(marker1,marker2);var backwardTransformer=Transformer.fromMarkers(marker2,marker1);var existingTransformer=this.getOrCreateTransformerMap_(marker1.domainId)[marker2.domainId];if(!existingTransformer||forwardTransformer.error<existingTransformer.error){this.getOrCreateTransformerMap_(marker1.domainId)[marker2.domainId]=forwardTransformer;this.getOrCreateTransformerMap_(marker2.domainId)[marker1.domainId]=backwardTransformer;}},collapseDomains_:function(domain1Id,domain2Id){this.getOrCreateTransformerMap_(domain1Id)[domain2Id]=this.getOrCreateTransformerMap_(domain2Id)[domain1Id]=Transformer.IDENTITY;},getOrCreateTransformerMap_:function(domainId){if(!this.transformerMapByDomainId_[domainId])
-this.transformerMapByDomainId_[domainId]={};return this.transformerMapByDomainId_[domainId];}};function ClockSyncMarker(domainId,startTs,opt_endTs){this.domainId=domainId;this.startTs=startTs;this.endTs=opt_endTs===undefined?startTs:opt_endTs;}
-ClockSyncMarker.prototype={get duration(){return this.endTs-this.startTs;},get ts(){return this.startTs+this.duration/2;}};function Transformer(fn,error){this.fn=fn;this.error=error;}
-Transformer.IDENTITY=new Transformer(tr.b.identity,0);Transformer.compose=function(aToB,bToC){return new Transformer((ts)=>bToC.fn(aToB.fn(ts)),aToB.error+bToC.error);};Transformer.fromMarkers=function(fromMarker,toMarker){var fromTs=fromMarker.ts,toTs=toMarker.ts;if(fromMarker.domainId===ClockDomainId.BATTOR&&toMarker.duration>BATTOR_FAST_SYNC_THRESHOLD_MS){toTs=toMarker.startTs;}else if(toMarker.domainId===ClockDomainId.BATTOR&&fromMarker.duration>BATTOR_FAST_SYNC_THRESHOLD_MS){fromTs=fromMarker.startTs;}
-var tsShift=toTs-fromTs;return new Transformer((ts)=>ts+tsShift,fromMarker.duration+toMarker.duration);};return{ClockDomainId:ClockDomainId,ClockSyncManager:ClockSyncManager};});'use strict';tr.exportTo('tr.model',function(){var Event=tr.model.Event;var EventRegistry=tr.model.EventRegistry;function PowerSample(series,start,powerInW){Event.call(this);this.series_=series;this.start_=start;this.powerInW_=powerInW;}
-PowerSample.prototype={__proto__:Event.prototype,get series(){return this.series_;},get start(){return this.start_;},set start(value){this.start_=value;},get powerInW(){return this.powerInW_;},set powerInW(value){this.powerInW_=value;},addBoundsToRange:function(range){range.addValue(this.start);}};EventRegistry.register(PowerSample,{name:'powerSample',pluralName:'powerSamples'});return{PowerSample:PowerSample};});'use strict';tr.exportTo('tr.model',function(){var PowerSample=tr.model.PowerSample;function PowerSeries(device){tr.model.EventContainer.call(this);this.device_=device;this.samples_=[];}
-PowerSeries.prototype={__proto__:tr.model.EventContainer.prototype,get device(){return this.device_;},get samples(){return this.samples_;},get stableId(){return this.device_.stableId+'.PowerSeries';},addPowerSample:function(ts,val){var sample=new PowerSample(this,ts,val);this.samples_.push(sample);return sample;},getEnergyConsumedInJ:function(start,end){var measurementRange=tr.b.Range.fromExplicitRange(start,end);var energyConsumedInJ=0;var startIndex=tr.b.findLowIndexInSortedArray(this.samples,x=>x.start,start)-1;var endIndex=tr.b.findLowIndexInSortedArray(this.samples,x=>x.start,end);if(startIndex<0)
-startIndex=0;for(var i=startIndex;i<endIndex;i++){var sample=this.samples[i];var nextSample=this.samples[i+1];var sampleRange=new tr.b.Range();sampleRange.addValue(sample.start);sampleRange.addValue(nextSample?nextSample.start:sample.start);var intersectionRangeInMs=measurementRange.findIntersection(sampleRange);var durationInS=tr.b.convertUnit(intersectionRangeInMs.duration,tr.b.UnitScale.Metric.MILLI,tr.b.UnitScale.Metric.NONE);energyConsumedInJ+=durationInS*sample.powerInW;}
-return energyConsumedInJ;},getSamplesWithinRange:function(start,end){var startIndex=tr.b.findLowIndexInSortedArray(this.samples,x=>x.start,start);var endIndex=tr.b.findLowIndexInSortedArray(this.samples,x=>x.start,end);return this.samples.slice(startIndex,endIndex);},shiftTimestampsForward:function(amount){for(var i=0;i<this.samples_.length;++i)
-this.samples_[i].start+=amount;},updateBounds:function(){this.bounds.reset();if(this.samples_.length===0)
-return;this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].start);},childEvents:function*(){yield*this.samples_;},};return{PowerSeries:PowerSeries};});'use strict';tr.exportTo('tr.model',function(){function Device(model){if(!model)
-throw new Error('Must provide a model.');tr.model.EventContainer.call(this);this.powerSeries_=undefined;this.vSyncTimestamps_=[];};Device.compare=function(x,y){return x.guid-y.guid;};Device.prototype={__proto__:tr.model.EventContainer.prototype,compareTo:function(that){return Device.compare(this,that);},get userFriendlyName(){return'Device';},get userFriendlyDetails(){return'Device';},get stableId(){return'Device';},getSettingsKey:function(){return'device';},get powerSeries(){return this.powerSeries_;},set powerSeries(powerSeries){this.powerSeries_=powerSeries;},get vSyncTimestamps(){return this.vSyncTimestamps_;},set vSyncTimestamps(value){this.vSyncTimestamps_=value;},updateBounds:function(){this.bounds.reset();for(var child of this.childEventContainers()){child.updateBounds();this.bounds.addRange(child.bounds);}},shiftTimestampsForward:function(amount){for(var child of this.childEventContainers()){child.shiftTimestampsForward(amount);}
-for(var i=0;i<this.vSyncTimestamps_.length;i++)
-this.vSyncTimestamps_[i]+=amount;},addCategoriesToDict:function(categoriesDict){},childEventContainers:function*(){if(this.powerSeries_)
-yield this.powerSeries_;}};return{Device:Device};});'use strict';(function(exports){var rank={standard:function(array,key){array=array.sort(function(a,b){var x=a[key];var y=b[key];return((x<y)?-1:((x>y)?1:0));});for(var i=1;i<array.length+1;i++){array[i-1]['rank']=i;}
-return array;},fractional:function(array,key){array=this.standard(array,key);var pos=0;while(pos<array.length){var sum=0;var i=0;for(i=0;array[pos+i+1]&&(array[pos+i][key]===array[pos+i+1][key]);i++){sum+=array[pos+i]['rank'];}
-sum+=array[pos+i]['rank'];var endPos=pos+i+1;for(pos;pos<endPos;pos++){array[pos]['rank']=sum/(i+1);}
-pos=endPos;}
-return array;},rank:function(x,y){var nx=x.length,ny=y.length,combined=[],ranked;while(nx--){combined.push({set:'x',val:x[nx]});}
-while(ny--){combined.push({set:'y',val:y[ny]});}
-ranked=this.fractional(combined,'val');return ranked}};var erf=function erf(x){var cof=[-1.3026537197817094,6.4196979235649026e-1,1.9476473204185836e-2,-9.561514786808631e-3,-9.46595344482036e-4,3.66839497852761e-4,4.2523324806907e-5,-2.0278578112534e-5,-1.624290004647e-6,1.303655835580e-6,1.5626441722e-8,-8.5238095915e-8,6.529054439e-9,5.059343495e-9,-9.91364156e-10,-2.27365122e-10,9.6467911e-11,2.394038e-12,-6.886027e-12,8.94487e-13,3.13092e-13,-1.12708e-13,3.81e-16,7.106e-15,-1.523e-15,-9.4e-17,1.21e-16,-2.8e-17];var j=cof.length-1;var isneg=false;var d=0;var dd=0;var t,ty,tmp,res;if(x<0){x=-x;isneg=true;}
-t=2/(2+x);ty=4*t-2;for(;j>0;j--){tmp=d;d=ty*d-dd+cof[j];dd=tmp;}
-res=t*Math.exp(-x*x+0.5*(cof[0]+ty*d)-dd);return isneg?res-1:1-res;};var dnorm=function(x,mean,std){return 0.5*(1+erf((x-mean)/Math.sqrt(2*std*std)));}
-var statistic=function(x,y){var ranked=rank.rank(x,y),nr=ranked.length,nx=x.length,ny=y.length,ranksums={x:0,y:0},i=0,t=0,nt=1,tcf,ux,uy;while(i<nr){if(i>0){if(ranked[i].val==ranked[i-1].val){nt++;}else{if(nt>1){t+=Math.pow(nt,3)-nt
-nt=1;}}}
-ranksums[ranked[i].set]+=ranked[i].rank
-i++;}
-tcf=1-(t/(Math.pow(nr,3)-nr))
-ux=nx*ny+(nx*(nx+1)/2)-ranksums.x;uy=nx*ny-ux;return{tcf:tcf,ux:ux,uy:uy,big:Math.max(ux,uy),small:Math.min(ux,uy)}}
-exports.test=function(x,y,alt,corr){alt=typeof alt!=='undefined'?alt:'two-sided';corr=typeof corr!=='undefined'?corr:true;var nx=x.length,ny=y.length,f=1,u,mu,std,z,p;u=statistic(x,y);if(corr){mu=(nx*ny/2)+0.5;}else{mu=nx*ny/2;}
-std=Math.sqrt(u.tcf*nx*ny*(nx+ny+1)/12);if(alt=='less'){z=(u.ux-mu)/std;}else if(alt=='greater'){z=(u.uy-mu)/std;}else if(alt=='two-sided'){z=Math.abs((u.big-mu)/std);}else{console.log('Unknown alternative argument');}
-if(alt=='two-sided'){f=2;}
-p=dnorm(-z,0,1)*f;return{U:u.small,p:p};}})(typeof exports==='undefined'?this['mannwhitneyu']={}:exports);'use strict';(function(global){if(tr.isNode){var mwuAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/mannwhitneyu.js');var mwuModule=require(mwuAbsPath);for(var exportName in mwuModule){global[exportName]=mwuModule[exportName];}}})(this);'use strict';tr.exportTo('tr.b',function(){var identity=x=>x;var Statistics={};Statistics.divideIfPossibleOrZero=function(numerator,denominator){if(denominator===0)
-return 0;return numerator/denominator;};Statistics.sum=function(ary,opt_func,opt_this){var func=opt_func||identity;var ret=0;var i=0;for(var elt of ary)
-ret+=func.call(opt_this,elt,i++);return ret;};Statistics.mean=function(ary,opt_func,opt_this){var func=opt_func||identity;var sum=0;var i=0;for(var elt of ary)
-sum+=func.call(opt_this,elt,i++);if(i===0)
-return undefined;return sum/i;};Statistics.geometricMean=function(ary,opt_func,opt_this){var func=opt_func||identity;var i=0;var logsum=0;for(var elt of ary){var x=func.call(opt_this,elt,i++);if(x<=0)
-return 0;logsum+=Math.log(Math.abs(x));}
-if(i===0)
-return 1;return Math.exp(logsum/i);};Statistics.weightedMean=function(ary,weightCallback,opt_valueCallback,opt_this){var valueCallback=opt_valueCallback||identity;var numerator=0;var denominator=0;var i=-1;for(var elt of ary){i++;var value=valueCallback.call(opt_this,elt,i);if(value===undefined)
-continue;var weight=weightCallback.call(opt_this,elt,i,value);numerator+=weight*value;denominator+=weight;}
-if(denominator===0)
-return undefined;return numerator/denominator;};Statistics.variance=function(ary,opt_func,opt_this){if(ary.length===0)
-return undefined;if(ary.length===1)
-return 0;var func=opt_func||identity;var mean=Statistics.mean(ary,func,opt_this);var sumOfSquaredDistances=Statistics.sum(ary,function(d,i){var v=func.call(this,d,i)-mean;return v*v;},opt_this);return sumOfSquaredDistances/(ary.length-1);};Statistics.stddev=function(ary,opt_func,opt_this){if(ary.length==0)
-return undefined;return Math.sqrt(Statistics.variance(ary,opt_func,opt_this));};Statistics.max=function(ary,opt_func,opt_this){var func=opt_func||identity;var ret=-Infinity;var i=0;for(var elt of ary)
-ret=Math.max(ret,func.call(opt_this,elt,i++));return ret;};Statistics.min=function(ary,opt_func,opt_this){var func=opt_func||identity;var ret=Infinity;var i=0;for(var elt of ary)
-ret=Math.min(ret,func.call(opt_this,elt,i++));return ret;};Statistics.range=function(ary,opt_func,opt_this){var func=opt_func||identity;var ret=new tr.b.Range();var i=0;for(var elt of ary)
-ret.addValue(func.call(opt_this,elt,i++));return ret;};Statistics.percentile=function(ary,percent,opt_func,opt_this){if(!(percent>=0&&percent<=1))
-throw new Error('percent must be [0,1]');var func=opt_func||identity;var tmp=new Array(ary.length);var i=0;for(var elt of ary)
-tmp[i]=func.call(opt_this,elt,i++);tmp.sort((a,b)=>a-b);var idx=Math.floor((ary.length-1)*percent);return tmp[idx];};Statistics.normalizeSamples=function(samples){if(samples.length===0){return{normalized_samples:samples,scale:1.0};}
-samples=samples.slice().sort(function(a,b){return a-b;});var low=Math.min.apply(null,samples);var high=Math.max.apply(null,samples);var newLow=0.5/samples.length;var newHigh=(samples.length-0.5)/samples.length;if(high-low===0.0){samples=Array.apply(null,new Array(samples.length)).map(function(){return 0.5;});return{normalized_samples:samples,scale:1.0};}
-var scale=(newHigh-newLow)/(high-low);for(var i=0;i<samples.length;i++){samples[i]=(samples[i]-low)*scale+newLow;}
-return{normalized_samples:samples,scale:scale};};Statistics.discrepancy=function(samples,opt_locationCount){if(samples.length===0)
-return 0.0;var maxLocalDiscrepancy=0;var invSampleCount=1.0/samples.length;var locations=[];var countLess=[];var countLessEqual=[];if(opt_locationCount!==undefined){var sampleIndex=0;for(var i=0;i<opt_locationCount;i++){var location=i/(opt_locationCount-1);locations.push(location);while(sampleIndex<samples.length&&samples[sampleIndex]<location){sampleIndex+=1;}
-countLess.push(sampleIndex);while(sampleIndex<samples.length&&samples[sampleIndex]<=location){sampleIndex+=1;}
-countLessEqual.push(sampleIndex);}}else{if(samples[0]>0.0){locations.push(0.0);countLess.push(0);countLessEqual.push(0);}
-for(var i=0;i<samples.length;i++){locations.push(samples[i]);countLess.push(i);countLessEqual.push(i+1);}
-if(samples[-1]<1.0){locations.push(1.0);countLess.push(samples.length);countLessEqual.push(samples.length);}}
-var maxDiff=0;var minDiff=0;for(var i=1;i<locations.length;i++){var length=locations[i]-locations[i-1];var countClosed=countLessEqual[i]-countLess[i-1];var countOpen=countLess[i]-countLessEqual[i-1];var countClosedIncrement=countLessEqual[i]-countLessEqual[i-1];var countOpenIncrement=countLess[i]-countLess[i-1];maxDiff=Math.max(countClosedIncrement*invSampleCount-length+maxDiff,countClosed*invSampleCount-length);minDiff=Math.min(countOpenIncrement*invSampleCount-length+minDiff,countOpen*invSampleCount-length);maxLocalDiscrepancy=Math.max(maxDiff,-minDiff,maxLocalDiscrepancy);}
-return maxLocalDiscrepancy;};Statistics.timestampsDiscrepancy=function(timestamps,opt_absolute,opt_locationCount){if(timestamps.length===0)
-return 0.0;if(opt_absolute===undefined)
-opt_absolute=true;if(Array.isArray(timestamps[0])){var rangeDiscrepancies=timestamps.map(function(r){return Statistics.timestampsDiscrepancy(r);});return Math.max.apply(null,rangeDiscrepancies);}
-var s=Statistics.normalizeSamples(timestamps);var samples=s.normalized_samples;var sampleScale=s.scale;var discrepancy=Statistics.discrepancy(samples,opt_locationCount);var invSampleCount=1.0/samples.length;if(opt_absolute===true){discrepancy/=sampleScale;}else{discrepancy=tr.b.clamp((discrepancy-invSampleCount)/(1.0-invSampleCount),0.0,1.0);}
-return discrepancy;};Statistics.durationsDiscrepancy=function(durations,opt_absolute,opt_locationCount){if(durations.length===0)
-return 0.0;var timestamps=durations.reduce(function(prev,curr,index,array){prev.push(prev[prev.length-1]+curr);return prev;},[0]);return Statistics.timestampsDiscrepancy(timestamps,opt_absolute,opt_locationCount);};Statistics.uniformlySampleArray=function(samples,count){if(samples.length<=count){return samples;}
-while(samples.length>count){var i=parseInt(Math.random()*samples.length);samples.splice(i,1);}
-return samples;};Statistics.uniformlySampleStream=function(samples,streamLength,newElement,numSamples){if(streamLength<=numSamples){if(samples.length>=streamLength)
-samples[streamLength-1]=newElement;else
-samples.push(newElement);return;}
-var probToKeep=numSamples/streamLength;if(Math.random()>probToKeep)
-return;var index=Math.floor(Math.random()*numSamples);samples[index]=newElement;};Statistics.mergeSampledStreams=function(samplesA,streamLengthA,samplesB,streamLengthB,numSamples){if(streamLengthB<numSamples){var nbElements=Math.min(streamLengthB,samplesB.length);for(var i=0;i<nbElements;++i){Statistics.uniformlySampleStream(samplesA,streamLengthA+i+1,samplesB[i],numSamples);}
-return;}
-if(streamLengthA<numSamples){var nbElements=Math.min(streamLengthA,samplesA.length);var tempSamples=samplesB.slice();for(var i=0;i<nbElements;++i){Statistics.uniformlySampleStream(tempSamples,streamLengthB+i+1,samplesA[i],numSamples);}
-for(var i=0;i<tempSamples.length;++i){samplesA[i]=tempSamples[i];}
-return;}
-var nbElements=Math.min(numSamples,samplesB.length);var probOfSwapping=streamLengthB/(streamLengthA+streamLengthB);for(var i=0;i<nbElements;++i){if(Math.random()<probOfSwapping){samplesA[i]=samplesB[i];}}};function Distribution(){}
-Distribution.prototype={computeDensity:function(x){throw Error('Not implemented');},computePercentile:function(x){throw Error('Not implemented');},computeComplementaryPercentile:function(x){return 1-this.computePercentile(x);},get mean(){throw Error('Not implemented');},get mode(){throw Error('Not implemented');},get median(){throw Error('Not implemented');},get standardDeviation(){throw Error('Not implemented');},get variance(){throw Error('Not implemented');}};Statistics.UniformDistribution=function(opt_range){if(!opt_range)
-opt_range=tr.b.Range.fromExplicitRange(0,1);this.range=opt_range;};Statistics.UniformDistribution.prototype={__proto__:Distribution.prototype,computeDensity:function(x){return 1/this.range.range;},computePercentile:function(x){return tr.b.normalize(x,this.range.min,this.range.max);},get mean(){return this.range.center;},get mode(){return undefined;},get median(){return this.mean;},get standardDeviation(){return Math.sqrt(this.variance);},get variance(){return Math.pow(this.range.range,2)/12;}};Statistics.NormalDistribution=function(opt_mean,opt_variance){this.mean_=opt_mean||0;this.variance_=opt_variance||1;this.standardDeviation_=Math.sqrt(this.variance_);};Statistics.NormalDistribution.prototype={__proto__:Distribution.prototype,computeDensity:function(x){var scale=(1.0/(this.standardDeviation*Math.sqrt(2.0*Math.PI)));var exponent=-Math.pow(x-this.mean,2)/(2.0*this.variance);return scale*Math.exp(exponent);},computePercentile:function(x){var standardizedX=((x-this.mean)/Math.sqrt(2.0*this.variance));return(1.0+tr.b.erf(standardizedX))/2.0;},get mean(){return this.mean_;},get median(){return this.mean;},get mode(){return this.mean;},get standardDeviation(){return this.standardDeviation_;},get variance(){return this.variance_;}};Statistics.LogNormalDistribution=function(opt_location,opt_shape){this.normalDistribution_=new Statistics.NormalDistribution(opt_location,Math.pow(opt_shape||1,2));};Statistics.LogNormalDistribution.prototype={__proto__:Statistics.NormalDistribution.prototype,computeDensity:function(x){return this.normalDistribution_.computeDensity(Math.log(x))/x;},computePercentile:function(x){return this.normalDistribution_.computePercentile(Math.log(x));},get mean(){return Math.exp(this.normalDistribution_.mean+
-(this.normalDistribution_.variance/2));},get variance(){var nm=this.normalDistribution_.mean;var nv=this.normalDistribution_.variance;return(Math.exp(2*(nm+nv))-
-Math.exp(2*nm+nv));},get standardDeviation(){return Math.sqrt(this.variance);},get median(){return Math.exp(this.normalDistribution_.mean);},get mode(){return Math.exp(this.normalDistribution_.mean-
-this.normalDistribution_.variance);}};Statistics.LogNormalDistribution.fromMedianAndDiminishingReturns=function(median,diminishingReturns){diminishingReturns=Math.log(diminishingReturns/median);var shape=Math.sqrt(1-3*diminishingReturns-
-Math.sqrt(Math.pow(diminishingReturns-3,2)-8))/2;var location=Math.log(median);return new Statistics.LogNormalDistribution(location,shape);};Statistics.DEFAULT_ALPHA=0.01;Statistics.MAX_SUGGESTED_SAMPLE_SIZE=20;Statistics.Significance={SIGNIFICANT:'REJECT',INSIGNIFICANT:'FAIL_TO_REJECT',NEED_MORE_DATA:'NEED_MORE_DATA',DONT_CARE:'DONT_CARE',};Statistics.mwu=function(a,b,opt_alpha,opt_reqSampleSize){var result=mannwhitneyu.test(a,b);var alpha=opt_alpha||Statistics.DEFAULT_ALPHA;if(result.p<alpha){result.significance=Statistics.Significance.SIGNIFICANT;}else if(opt_reqSampleSize&&(a.length<opt_reqSampleSize||b.length<opt_reqSampleSize)){result.significance=Statistics.Significance.NEED_MORE_DATA;}else{result.significance=Statistics.Significance.INSIGNIFICANT;}
-return result;};return{Statistics:Statistics};});'use strict';tr.exportTo('tr.model',function(){var ColorScheme=tr.b.ColorScheme;var Statistics=tr.b.Statistics;var FRAME_PERF_CLASS={GOOD:'good',BAD:'bad',TERRIBLE:'terrible',NEUTRAL:'generic_work'};function Frame(associatedEvents,threadTimeRanges,opt_args){tr.model.Event.call(this);this.threadTimeRanges=threadTimeRanges;this.associatedEvents=new tr.model.EventSet(associatedEvents);this.args=opt_args||{};this.title='Frame';this.start=Statistics.min(threadTimeRanges,function(x){return x.start;});this.end=Statistics.max(threadTimeRanges,function(x){return x.end;});this.totalDuration=Statistics.sum(threadTimeRanges,function(x){return x.end-x.start;});this.perfClass=FRAME_PERF_CLASS.NEUTRAL;};Frame.prototype={__proto__:tr.model.Event.prototype,set perfClass(perfClass){this.colorId=ColorScheme.getColorIdForReservedName(perfClass);this.perfClass_=perfClass;},get perfClass(){return this.perfClass_;},shiftTimestampsForward:function(amount){this.start+=amount;this.end+=amount;for(var i=0;i<this.threadTimeRanges.length;i++){this.threadTimeRanges[i].start+=amount;this.threadTimeRanges[i].end+=amount;}},addBoundsToRange:function(range){range.addValue(this.start);range.addValue(this.end);}};tr.model.EventRegistry.register(Frame,{name:'frame',pluralName:'frames'});return{Frame:Frame,FRAME_PERF_CLASS:FRAME_PERF_CLASS};});'use strict';tr.exportTo('tr.model',function(){function Counter(parent,id,category,name){tr.model.EventContainer.call(this);this.parent_=parent;this.id_=id;this.category_=category||'';this.name_=name;this.series_=[];this.totals=[];}
-Counter.prototype={__proto__:tr.model.EventContainer.prototype,get parent(){return this.parent_;},get id(){return this.id_;},get category(){return this.category_;},get name(){return this.name_;},childEvents:function*(){},childEventContainers:function*(){yield*this.series;},set timestamps(arg){throw new Error('Bad counter API. No cookie.');},set seriesNames(arg){throw new Error('Bad counter API. No cookie.');},set seriesColors(arg){throw new Error('Bad counter API. No cookie.');},set samples(arg){throw new Error('Bad counter API. No cookie.');},addSeries:function(series){series.counter=this;series.seriesIndex=this.series_.length;this.series_.push(series);return series;},getSeries:function(idx){return this.series_[idx];},get series(){return this.series_;},get numSeries(){return this.series_.length;},get numSamples(){if(this.series_.length===0)
-return 0;return this.series_[0].length;},get timestamps(){if(this.series_.length===0)
-return[];return this.series_[0].timestamps;},getSampleStatistics:function(sampleIndices){sampleIndices.sort();var ret=[];this.series_.forEach(function(series){ret.push(series.getStatistics(sampleIndices));});return ret;},shiftTimestampsForward:function(amount){for(var i=0;i<this.series_.length;++i)
-this.series_[i].shiftTimestampsForward(amount);},updateBounds:function(){this.totals=[];this.maxTotal=0;this.bounds.reset();if(this.series_.length===0)
-return;var firstSeries=this.series_[0];var lastSeries=this.series_[this.series_.length-1];this.bounds.addValue(firstSeries.getTimestamp(0));this.bounds.addValue(lastSeries.getTimestamp(lastSeries.length-1));var numSeries=this.numSeries;this.maxTotal=-Infinity;for(var i=0;i<firstSeries.length;++i){var total=0;this.series_.forEach(function(series){total+=series.getSample(i).value;this.totals.push(total);}.bind(this));this.maxTotal=Math.max(total,this.maxTotal);}}};Counter.compare=function(x,y){var tmp=x.parent.compareTo(y.parent);if(tmp!=0)
-return tmp;var tmp=x.name.localeCompare(y.name);if(tmp==0)
-return x.tid-y.tid;return tmp;};return{Counter:Counter};});'use strict';tr.exportTo('tr.model',function(){function Slice(category,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId){if(new.target){throw new Error("Can't instantiate pure virtual class Slice");}
-tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.args=args;this.startStackFrame=undefined;this.endStackFrame=undefined;this.didNotFinish=false;this.inFlowEvents=[];this.outFlowEvents=[];this.subSlices=[];this.selfTime=undefined;this.cpuSelfTime=undefined;this.important=false;this.parentContainer=undefined;this.argsStripped=false;this.bind_id_=opt_bindId;this.parentSlice=undefined;this.isTopLevel=false;if(opt_duration!==undefined)
-this.duration=opt_duration;if(opt_cpuStart!==undefined)
-this.cpuStart=opt_cpuStart;if(opt_cpuDuration!==undefined)
-this.cpuDuration=opt_cpuDuration;if(opt_argsStripped!==undefined)
-this.argsStripped=true;}
-Slice.prototype={__proto__:tr.model.TimedEvent.prototype,get analysisTypeName(){return this.title;},get userFriendlyName(){return'Slice '+this.title+' at '+
-tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){var parentSliceGroup=this.parentContainer.sliceGroup;return parentSliceGroup.stableId+'.'+
-parentSliceGroup.slices.indexOf(this);},findDescendentSlice:function(targetTitle){if(!this.subSlices)
-return undefined;for(var i=0;i<this.subSlices.length;i++){if(this.subSlices[i].title==targetTitle)
-return this.subSlices[i];var slice=this.subSlices[i].findDescendentSlice(targetTitle);if(slice)return slice;}
-return undefined;},get mostTopLevelSlice(){var curSlice=this;while(curSlice.parentSlice)
-curSlice=curSlice.parentSlice;return curSlice;},getProcess:function(){var thread=this.parentContainer;if(thread&&thread.getProcess)
-return thread.getProcess();return undefined;},get model(){var process=this.getProcess();if(process!==undefined)
-return this.getProcess().model;return undefined;},findTopmostSlicesRelativeToThisSlice:function*(eventPredicate){if(eventPredicate(this)){yield this;return;}
-for(var s of this.subSlices)
-yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);},iterateAllSubsequentSlices:function(callback,opt_this){var parentStack=[];var started=false;var topmostSlice=this.mostTopLevelSlice;parentStack.push(topmostSlice);while(parentStack.length!==0){var curSlice=parentStack.pop();if(started)
-callback.call(opt_this,curSlice);else
-started=(curSlice.guid===this.guid);for(var i=curSlice.subSlices.length-1;i>=0;i--){parentStack.push(curSlice.subSlices[i]);}}},get subsequentSlices(){var res=[];this.iterateAllSubsequentSlices(function(subseqSlice){res.push(subseqSlice);});return res;},enumerateAllAncestors:function*(){var curSlice=this;while(curSlice.parentSlice){curSlice=curSlice.parentSlice;yield curSlice;}},get ancestorSlices(){var res=[];for(var slice of this.enumerateAllAncestors())
-res.push(slice);return res;},iterateEntireHierarchy:function(callback,opt_this){var mostTopLevelSlice=this.mostTopLevelSlice;callback.call(opt_this,mostTopLevelSlice);mostTopLevelSlice.iterateAllSubsequentSlices(callback,opt_this);},get entireHierarchy(){var res=[];this.iterateEntireHierarchy(function(slice){res.push(slice);});return res;},get ancestorAndSubsequentSlices(){var res=[];res.push(this);for(var aSlice of this.enumerateAllAncestors())
-res.push(aSlice);this.iterateAllSubsequentSlices(function(sSlice){res.push(sSlice);});return res;},enumerateAllDescendents:function*(){for(var slice of this.subSlices)
-yield slice;for(var slice of this.subSlices)
-yield*slice.enumerateAllDescendents();},get descendentSlices(){var res=[];for(var slice of this.enumerateAllDescendents())
-res.push(slice);return res;}};return{Slice:Slice};});'use strict';tr.exportTo('tr.model',function(){var Slice=tr.model.Slice;var SCHEDULING_STATE={DEBUG:'Debug',EXIT_DEAD:'Exit Dead',RUNNABLE:'Runnable',RUNNING:'Running',SLEEPING:'Sleeping',STOPPED:'Stopped',TASK_DEAD:'Task Dead',UNINTR_SLEEP:'Uninterruptible Sleep',UNINTR_SLEEP_WAKE_KILL:'Uninterruptible Sleep | WakeKill',UNINTR_SLEEP_WAKING:'Uninterruptible Sleep | Waking',UNINTR_SLEEP_IO:'Uninterruptible Sleep - Block I/O',UNINTR_SLEEP_WAKE_KILL_IO:'Uninterruptible Sleep | WakeKill - Block I/O',UNINTR_SLEEP_WAKING_IO:'Uninterruptible Sleep | Waking - Block I/O',UNKNOWN:'UNKNOWN',WAKE_KILL:'Wakekill',WAKING:'Waking',ZOMBIE:'Zombie'};function ThreadTimeSlice(thread,schedulingState,cat,start,args,opt_duration){Slice.call(this,cat,schedulingState,this.getColorForState_(schedulingState),start,args,opt_duration);this.thread=thread;this.schedulingState=schedulingState;this.cpuOnWhichThreadWasRunning=undefined;}
-ThreadTimeSlice.prototype={__proto__:Slice.prototype,getColorForState_:function(state){var getColorIdForReservedName=tr.b.ColorScheme.getColorIdForReservedName;switch(state){case SCHEDULING_STATE.RUNNABLE:return getColorIdForReservedName('thread_state_runnable');case SCHEDULING_STATE.RUNNING:return getColorIdForReservedName('thread_state_running');case SCHEDULING_STATE.SLEEPING:return getColorIdForReservedName('thread_state_sleeping');case SCHEDULING_STATE.DEBUG:case SCHEDULING_STATE.EXIT_DEAD:case SCHEDULING_STATE.STOPPED:case SCHEDULING_STATE.TASK_DEAD:case SCHEDULING_STATE.UNINTR_SLEEP:case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL:case SCHEDULING_STATE.UNINTR_SLEEP_WAKING:case SCHEDULING_STATE.UNKNOWN:case SCHEDULING_STATE.WAKE_KILL:case SCHEDULING_STATE.WAKING:case SCHEDULING_STATE.ZOMBIE:return getColorIdForReservedName('thread_state_uninterruptible');case SCHEDULING_STATE.UNINTR_SLEEP_IO:case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO:case SCHEDULING_STATE.UNINTR_SLEEP_WAKING_IO:return getColorIdForReservedName('thread_state_iowait');default:return getColorIdForReservedName('thread_state_unknown');}},get analysisTypeName(){return'tr.ui.analysis.ThreadTimeSlice';},getAssociatedCpuSlice:function(){if(!this.cpuOnWhichThreadWasRunning)
-return undefined;var cpuSlices=this.cpuOnWhichThreadWasRunning.slices;for(var i=0;i<cpuSlices.length;i++){var cpuSlice=cpuSlices[i];if(cpuSlice.start!==this.start)
-continue;if(cpuSlice.duration!==this.duration)
-continue;return cpuSlice;}
-return undefined;},getCpuSliceThatTookCpu:function(){if(this.cpuOnWhichThreadWasRunning)
-return undefined;var curIndex=this.thread.indexOfTimeSlice(this);var cpuSliceWhenLastRunning;while(curIndex>=0){var curSlice=this.thread.timeSlices[curIndex];if(!curSlice.cpuOnWhichThreadWasRunning){curIndex--;continue;}
-cpuSliceWhenLastRunning=curSlice.getAssociatedCpuSlice();break;}
-if(!cpuSliceWhenLastRunning)
-return undefined;var cpu=cpuSliceWhenLastRunning.cpu;var indexOfSliceOnCpuWhenLastRunning=cpu.indexOf(cpuSliceWhenLastRunning);var nextRunningSlice=cpu.slices[indexOfSliceOnCpuWhenLastRunning+1];if(!nextRunningSlice)
-return undefined;if(Math.abs(nextRunningSlice.start-cpuSliceWhenLastRunning.end)<0.00001)
-return nextRunningSlice;return undefined;}};tr.model.EventRegistry.register(ThreadTimeSlice,{name:'threadTimeSlice',pluralName:'threadTimeSlices'});return{ThreadTimeSlice:ThreadTimeSlice,SCHEDULING_STATE:SCHEDULING_STATE};});'use strict';tr.exportTo('tr.model',function(){var Slice=tr.model.Slice;function CpuSlice(cat,title,colorId,start,args,opt_duration){Slice.apply(this,arguments);this.threadThatWasRunning=undefined;this.cpu=undefined;}
-CpuSlice.prototype={__proto__:Slice.prototype,get analysisTypeName(){return'tr.ui.analysis.CpuSlice';},getAssociatedTimeslice:function(){if(!this.threadThatWasRunning)
-return undefined;var timeSlices=this.threadThatWasRunning.timeSlices;for(var i=0;i<timeSlices.length;i++){var timeSlice=timeSlices[i];if(timeSlice.start!==this.start)
-continue;if(timeSlice.duration!==this.duration)
-continue;return timeSlice;}
-return undefined;}};tr.model.EventRegistry.register(CpuSlice,{name:'cpuSlice',pluralName:'cpuSlices'});return{CpuSlice:CpuSlice};});'use strict';tr.exportTo('tr.model',function(){function ObjectSnapshot(objectInstance,ts,args){tr.model.Event.call(this);this.objectInstance=objectInstance;this.ts=ts;this.args=args;}
-ObjectSnapshot.prototype={__proto__:tr.model.Event.prototype,preInitialize:function(){},initialize:function(){},referencedAt:function(item,object,field){},addBoundsToRange:function(range){range.addValue(this.ts);},get userFriendlyName(){return'Snapshot of '+
-this.objectInstance.typeName+' '+
-this.objectInstance.id+' @ '+
-tr.b.Unit.byName.timeStampInMs.format(this.ts);}};tr.model.EventRegistry.register(ObjectSnapshot,{name:'objectSnapshot',pluralName:'objectSnapshots'});return{ObjectSnapshot:ObjectSnapshot};});'use strict';tr.exportTo('tr.model',function(){var ObjectSnapshot=tr.model.ObjectSnapshot;function ObjectInstance(parent,scopedId,category,name,creationTs,opt_baseTypeName){tr.model.Event.call(this);this.parent=parent;this.scopedId=scopedId;this.category=category;this.baseTypeName=opt_baseTypeName?opt_baseTypeName:name;this.name=name;this.creationTs=creationTs;this.creationTsWasExplicit=false;this.deletionTs=Number.MAX_VALUE;this.deletionTsWasExplicit=false;this.colorId=0;this.bounds=new tr.b.Range();this.snapshots=[];this.hasImplicitSnapshots=false;}
-ObjectInstance.prototype={__proto__:tr.model.Event.prototype,get typeName(){return this.name;},addBoundsToRange:function(range){range.addRange(this.bounds);},addSnapshot:function(ts,args,opt_name,opt_baseTypeName){if(ts<this.creationTs)
-throw new Error('Snapshots must be >= instance.creationTs');if(ts>=this.deletionTs)
-throw new Error('Snapshots cannot be added after '+'an objects deletion timestamp.');var lastSnapshot;if(this.snapshots.length>0){lastSnapshot=this.snapshots[this.snapshots.length-1];if(lastSnapshot.ts==ts)
-throw new Error('Snapshots already exists at this time!');if(ts<lastSnapshot.ts){throw new Error('Snapshots must be added in increasing timestamp order');}}
-if(opt_name&&(this.name!=opt_name)){if(!opt_baseTypeName)
-throw new Error('Must provide base type name for name update');if(this.baseTypeName!=opt_baseTypeName)
-throw new Error('Cannot update type name: base types dont match');this.name=opt_name;}
-var snapshotConstructor=tr.model.ObjectSnapshot.subTypes.getConstructor(this.category,this.name);var snapshot=new snapshotConstructor(this,ts,args);this.snapshots.push(snapshot);return snapshot;},wasDeleted:function(ts){var lastSnapshot;if(this.snapshots.length>0){lastSnapshot=this.snapshots[this.snapshots.length-1];if(lastSnapshot.ts>ts)
-throw new Error('Instance cannot be deleted at ts='+
-ts+'. A snapshot exists that is older.');}
-this.deletionTs=ts;this.deletionTsWasExplicit=true;},preInitialize:function(){for(var i=0;i<this.snapshots.length;i++)
-this.snapshots[i].preInitialize();},initialize:function(){for(var i=0;i<this.snapshots.length;i++)
-this.snapshots[i].initialize();},isAliveAt:function(ts){if(ts<this.creationTs&&this.creationTsWasExplicit)
-return false;if(ts>this.deletionTs)
-return false;return true;},getSnapshotAt:function(ts){if(ts<this.creationTs){if(this.creationTsWasExplicit)
-throw new Error('ts must be within lifetime of this instance');return this.snapshots[0];}
-if(ts>this.deletionTs)
-throw new Error('ts must be within lifetime of this instance');var snapshots=this.snapshots;var i=tr.b.findIndexInSortedIntervals(snapshots,function(snapshot){return snapshot.ts;},function(snapshot,i){if(i==snapshots.length-1)
-return snapshots[i].objectInstance.deletionTs;return snapshots[i+1].ts-snapshots[i].ts;},ts);if(i<0){return this.snapshots[0];}
-if(i>=this.snapshots.length)
-return this.snapshots[this.snapshots.length-1];return this.snapshots[i];},updateBounds:function(){this.bounds.reset();this.bounds.addValue(this.creationTs);if(this.deletionTs!=Number.MAX_VALUE)
-this.bounds.addValue(this.deletionTs);else if(this.snapshots.length>0)
-this.bounds.addValue(this.snapshots[this.snapshots.length-1].ts);},shiftTimestampsForward:function(amount){this.creationTs+=amount;if(this.deletionTs!=Number.MAX_VALUE)
-this.deletionTs+=amount;this.snapshots.forEach(function(snapshot){snapshot.ts+=amount;});},get userFriendlyName(){return this.typeName+' object '+this.scopedId;}};tr.model.EventRegistry.register(ObjectInstance,{name:'objectInstance',pluralName:'objectInstances'});return{ObjectInstance:ObjectInstance};});'use strict';tr.exportTo('tr.model',function(){function TimeToObjectInstanceMap(createObjectInstanceFunction,parent,scopedId){this.createObjectInstanceFunction_=createObjectInstanceFunction;this.parent=parent;this.scopedId=scopedId;this.instances=[];}
-TimeToObjectInstanceMap.prototype={idWasCreated:function(category,name,ts){if(this.instances.length==0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts));this.instances[0].creationTsWasExplicit=true;return this.instances[0];}
-var lastInstance=this.instances[this.instances.length-1];if(ts<lastInstance.deletionTs){throw new Error('Mutation of the TimeToObjectInstanceMap must be '+'done in ascending timestamp order.');}
-lastInstance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts);lastInstance.creationTsWasExplicit=true;this.instances.push(lastInstance);return lastInstance;},addSnapshot:function(category,name,ts,args,opt_baseTypeName){if(this.instances.length==0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts,opt_baseTypeName));}
-var i=tr.b.findIndexInSortedIntervals(this.instances,function(inst){return inst.creationTs;},function(inst){return inst.deletionTs-inst.creationTs;},ts);var instance;if(i<0){instance=this.instances[0];if(ts>instance.deletionTs||instance.creationTsWasExplicit){throw new Error('At the provided timestamp, no instance was still alive');}
-if(instance.snapshots.length!=0){throw new Error('Cannot shift creationTs forward, '+'snapshots have been added. First snap was at ts='+
-instance.snapshots[0].ts+' and creationTs was '+
-instance.creationTs);}
-instance.creationTs=ts;}else if(i>=this.instances.length){instance=this.instances[this.instances.length-1];if(ts>=instance.deletionTs){instance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts,opt_baseTypeName);this.instances.push(instance);}else{var lastValidIndex;for(var i=this.instances.length-1;i>=0;i--){var tmp=this.instances[i];if(ts>=tmp.deletionTs)
-break;if(tmp.creationTsWasExplicit==false&&tmp.snapshots.length==0)
-lastValidIndex=i;}
-if(lastValidIndex===undefined){throw new Error('Cannot add snapshot. No instance was alive that was mutable.');}
-instance=this.instances[lastValidIndex];instance.creationTs=ts;}}else{instance=this.instances[i];}
-return instance.addSnapshot(ts,args,name,opt_baseTypeName);},get lastInstance(){if(this.instances.length==0)
-return undefined;return this.instances[this.instances.length-1];},idWasDeleted:function(category,name,ts){if(this.instances.length==0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts));}
-var lastInstance=this.instances[this.instances.length-1];if(ts<lastInstance.creationTs)
-throw new Error('Cannot delete an id before it was created');if(lastInstance.deletionTs==Number.MAX_VALUE){lastInstance.wasDeleted(ts);return lastInstance;}
-if(ts<lastInstance.deletionTs)
-throw new Error('id was already deleted earlier.');lastInstance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts);this.instances.push(lastInstance);lastInstance.wasDeleted(ts);return lastInstance;},getInstanceAt:function(ts){var i=tr.b.findIndexInSortedIntervals(this.instances,function(inst){return inst.creationTs;},function(inst){return inst.deletionTs-inst.creationTs;},ts);if(i<0){if(this.instances[0].creationTsWasExplicit)
-return undefined;return this.instances[0];}else if(i>=this.instances.length){return undefined;}
-return this.instances[i];},logToConsole:function(){for(var i=0;i<this.instances.length;i++){var instance=this.instances[i];var cEF='';var dEF='';if(instance.creationTsWasExplicit)
-cEF='(explicitC)';if(instance.deletionTsWasExplicit)
-dEF='(explicit)';console.log(instance.creationTs,cEF,instance.deletionTs,dEF,instance.category,instance.name,instance.snapshots.length+' snapshots');}}};return{TimeToObjectInstanceMap:TimeToObjectInstanceMap};});'use strict';tr.exportTo('tr.model',function(){var ObjectInstance=tr.model.ObjectInstance;var ObjectSnapshot=tr.model.ObjectSnapshot;function ObjectCollection(parent){tr.model.EventContainer.call(this);this.parent=parent;this.instanceMapsByScopedId_={};this.instancesByTypeName_={};this.createObjectInstance_=this.createObjectInstance_.bind(this);}
-ObjectCollection.prototype={__proto__:tr.model.EventContainer.prototype,childEvents:function*(){for(var instance of this.getAllObjectInstances()){yield instance;yield*instance.snapshots;}},createObjectInstance_:function(parent,scopedId,category,name,creationTs,opt_baseTypeName){var constructor=tr.model.ObjectInstance.subTypes.getConstructor(category,name);var instance=new constructor(parent,scopedId,category,name,creationTs,opt_baseTypeName);var typeName=instance.typeName;var instancesOfTypeName=this.instancesByTypeName_[typeName];if(!instancesOfTypeName){instancesOfTypeName=[];this.instancesByTypeName_[typeName]=instancesOfTypeName;}
-instancesOfTypeName.push(instance);return instance;},getOrCreateInstanceMap_:function(scopedId){var dict;if(scopedId.scope in this.instanceMapsByScopedId_){dict=this.instanceMapsByScopedId_[scopedId.scope];}else{dict={};this.instanceMapsByScopedId_[scopedId.scope]=dict;}
-var instanceMap=dict[scopedId.id];if(instanceMap)
-return instanceMap;instanceMap=new tr.model.TimeToObjectInstanceMap(this.createObjectInstance_,this.parent,scopedId);dict[scopedId.id]=instanceMap;return instanceMap;},idWasCreated:function(scopedId,category,name,ts){var instanceMap=this.getOrCreateInstanceMap_(scopedId);return instanceMap.idWasCreated(category,name,ts);},addSnapshot:function(scopedId,category,name,ts,args,opt_baseTypeName){var instanceMap=this.getOrCreateInstanceMap_(scopedId);var snapshot=instanceMap.addSnapshot(category,name,ts,args,opt_baseTypeName);if(snapshot.objectInstance.category!=category){var msg='Added snapshot name='+name+' with cat='+category+' impossible. It instance was created/snapshotted with cat='+
-snapshot.objectInstance.category+' name='+
-snapshot.objectInstance.name;throw new Error(msg);}
-if(opt_baseTypeName&&snapshot.objectInstance.baseTypeName!=opt_baseTypeName){throw new Error('Could not add snapshot with baseTypeName='+
-opt_baseTypeName+'. It '+'was previously created with name='+
-snapshot.objectInstance.baseTypeName);}
-if(snapshot.objectInstance.name!=name){throw new Error('Could not add snapshot with name='+name+'. It '+'was previously created with name='+
-snapshot.objectInstance.name);}
-return snapshot;},idWasDeleted:function(scopedId,category,name,ts){var instanceMap=this.getOrCreateInstanceMap_(scopedId);var deletedInstance=instanceMap.idWasDeleted(category,name,ts);if(!deletedInstance)
-return;if(deletedInstance.category!=category){var msg='Deleting object '+deletedInstance.name+' with a different category '+'than when it was created. It previous had cat='+
-deletedInstance.category+' but the delete command '+'had cat='+category;throw new Error(msg);}
-if(deletedInstance.baseTypeName!=name){throw new Error('Deletion requested for name='+
-name+' could not proceed: '+'An existing object with baseTypeName='+
-deletedInstance.baseTypeName+' existed.');}},autoDeleteObjects:function(maxTimestamp){tr.b.iterItems(this.instanceMapsByScopedId_,function(scope,imapById){tr.b.iterItems(imapById,function(id,i2imap){var lastInstance=i2imap.lastInstance;if(lastInstance.deletionTs!=Number.MAX_VALUE)
-return;i2imap.idWasDeleted(lastInstance.category,lastInstance.name,maxTimestamp);lastInstance.deletionTsWasExplicit=false;});});},getObjectInstanceAt:function(scopedId,ts){var instanceMap;if(scopedId.scope in this.instanceMapsByScopedId_)
-instanceMap=this.instanceMapsByScopedId_[scopedId.scope][scopedId.id];if(!instanceMap)
-return undefined;return instanceMap.getInstanceAt(ts);},getSnapshotAt:function(scopedId,ts){var instance=this.getObjectInstanceAt(scopedId,ts);if(!instance)
-return undefined;return instance.getSnapshotAt(ts);},iterObjectInstances:function(iter,opt_this){opt_this=opt_this||this;tr.b.iterItems(this.instanceMapsByScopedId_,function(scope,imapById){tr.b.iterItems(imapById,function(id,i2imap){i2imap.instances.forEach(iter,opt_this);});});},getAllObjectInstances:function(){var instances=[];this.iterObjectInstances(function(i){instances.push(i);});return instances;},getAllInstancesNamed:function(name){return this.instancesByTypeName_[name];},getAllInstancesByTypeName:function(){return this.instancesByTypeName_;},preInitializeAllObjects:function(){this.iterObjectInstances(function(instance){instance.preInitialize();});},initializeAllObjects:function(){this.iterObjectInstances(function(instance){instance.initialize();});},initializeInstances:function(){this.iterObjectInstances(function(instance){instance.initialize();});},updateBounds:function(){this.bounds.reset();this.iterObjectInstances(function(instance){instance.updateBounds();this.bounds.addRange(instance.bounds);},this);},shiftTimestampsForward:function(amount){this.iterObjectInstances(function(instance){instance.shiftTimestampsForward(amount);});},addCategoriesToDict:function(categoriesDict){this.iterObjectInstances(function(instance){categoriesDict[instance.category]=true;});}};return{ObjectCollection:ObjectCollection};});'use strict';tr.exportTo('tr.model',function(){function AsyncSlice(category,title,colorId,start,args,duration,opt_isTopLevel,opt_cpuStart,opt_cpuDuration,opt_argsStripped){tr.model.TimedEvent.call(this,start);this.category=category||'';this.originalTitle=title;this.title=title;this.colorId=colorId;this.args=args;this.startStackFrame=undefined;this.endStackFrame=undefined;this.didNotFinish=false;this.important=false;this.subSlices=[];this.parentContainer_=undefined;this.id=undefined;this.startThread=undefined;this.endThread=undefined;this.cpuStart=undefined;this.cpuDuration=undefined;this.argsStripped=false;this.startStackFrame=undefined;this.endStackFrame=undefined;this.duration=duration;this.isTopLevel=(opt_isTopLevel===true);if(opt_cpuStart!==undefined)
-this.cpuStart=opt_cpuStart;if(opt_cpuDuration!==undefined)
-this.cpuDuration=opt_cpuDuration;if(opt_argsStripped!==undefined)
-this.argsStripped=opt_argsStripped;}
-AsyncSlice.prototype={__proto__:tr.model.TimedEvent.prototype,get analysisTypeName(){return this.title;},get parentContainer(){return this.parentContainer_;},set parentContainer(parentContainer){this.parentContainer_=parentContainer;for(var i=0;i<this.subSlices.length;i++){var subSlice=this.subSlices[i];if(subSlice.parentContainer===undefined)
-subSlice.parentContainer=parentContainer;}},get viewSubGroupTitle(){return this.title;},get userFriendlyName(){return'Async slice '+this.title+' at '+
-tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){var parentAsyncSliceGroup=this.parentContainer.asyncSliceGroup;return parentAsyncSliceGroup.stableId+'.'+
-parentAsyncSliceGroup.slices.indexOf(this);},findTopmostSlicesRelativeToThisSlice:function*(eventPredicate,opt_this){if(eventPredicate(this)){yield this;return;}
-for(var s of this.subSlices)
-yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);},findDescendentSlice:function(targetTitle){if(!this.subSlices)
-return undefined;for(var i=0;i<this.subSlices.length;i++){if(this.subSlices[i].title==targetTitle)
-return this.subSlices[i];var slice=this.subSlices[i].findDescendentSlice(targetTitle);if(slice)return slice;}
-return undefined;},enumerateAllDescendents:function*(){for(var slice of this.subSlices)
-yield slice;for(var slice of this.subSlices)
-yield*slice.enumerateAllDescendents();},compareTo:function(that){return this.title.localeCompare(that.title);}};tr.model.EventRegistry.register(AsyncSlice,{name:'asyncSlice',pluralName:'asyncSlices'});return{AsyncSlice:AsyncSlice};});'use strict';tr.exportTo('tr.model',function(){function AsyncSliceGroup(parentContainer,opt_name){tr.model.EventContainer.call(this);this.parentContainer_=parentContainer;this.slices=[];this.name_=opt_name;this.viewSubGroups_=undefined;}
-AsyncSliceGroup.prototype={__proto__:tr.model.EventContainer.prototype,get parentContainer(){return this.parentContainer_;},get model(){return this.parentContainer_.parent.model;},get stableId(){return this.parentContainer_.stableId+'.AsyncSliceGroup';},getSettingsKey:function(){if(!this.name_)
-return undefined;var parentKey=this.parentContainer_.getSettingsKey();if(!parentKey)
-return undefined;return parentKey+'.'+this.name_;},push:function(slice){slice.parentContainer=this.parentContainer;this.slices.push(slice);return slice;},get length(){return this.slices.length;},shiftTimestampsForward:function(amount){for(var sI=0;sI<this.slices.length;sI++){var slice=this.slices[sI];slice.start=(slice.start+amount);var shiftSubSlices=function(subSlices){if(subSlices===undefined||subSlices.length===0)
-return;for(var sJ=0;sJ<subSlices.length;sJ++){subSlices[sJ].start+=amount;shiftSubSlices(subSlices[sJ].subSlices);}};shiftSubSlices(slice.subSlices);}},updateBounds:function(){this.bounds.reset();for(var i=0;i<this.slices.length;i++){this.bounds.addValue(this.slices[i].start);this.bounds.addValue(this.slices[i].end);}},get viewSubGroups(){if(this.viewSubGroups_===undefined){var prefix='';if(this.name!==undefined)
-prefix=this.name+'.';else
-prefix='';var subGroupsByTitle={};for(var i=0;i<this.slices.length;++i){var slice=this.slices[i];var subGroupTitle=slice.viewSubGroupTitle;if(!subGroupsByTitle[subGroupTitle]){subGroupsByTitle[subGroupTitle]=new AsyncSliceGroup(this.parentContainer_,prefix+subGroupTitle);}
-subGroupsByTitle[subGroupTitle].push(slice);}
-this.viewSubGroups_=tr.b.dictionaryValues(subGroupsByTitle);this.viewSubGroups_.sort(function(a,b){return a.slices[0].compareTo(b.slices[0]);});}
-return this.viewSubGroups_;},findTopmostSlicesInThisContainer:function*(eventPredicate,opt_this){for(var slice of this.slices){if(slice.isTopLevel){yield*slice.findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this);}}},childEvents:function*(){for(var slice of this.slices){yield slice;if(slice.subSlices)
-yield*slice.subSlices;}},childEventContainers:function*(){}};return{AsyncSliceGroup:AsyncSliceGroup};});'use strict';tr.exportTo('tr.model',function(){var Slice=tr.model.Slice;function ThreadSlice(cat,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId){Slice.call(this,cat,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId);this.subSlices=[];}
-ThreadSlice.prototype={__proto__:Slice.prototype,get overlappingSamples(){var samples=new tr.model.EventSet();if(!this.parentContainer||!this.parentContainer.samples)
-return samples;this.parentContainer.samples.forEach(function(sample){if(this.start<=sample.start&&sample.start<=this.end)
-samples.push(sample);},this);return samples;}};tr.model.EventRegistry.register(ThreadSlice,{name:'slice',pluralName:'slices'});return{ThreadSlice:ThreadSlice};});'use strict';tr.exportTo('tr.model',function(){var ColorScheme=tr.b.ColorScheme;var ThreadSlice=tr.model.ThreadSlice;function getSliceLo(s){return s.start;}
-function getSliceHi(s){return s.end;}
-function SliceGroup(parentContainer,opt_sliceConstructor,opt_name){tr.model.EventContainer.call(this);this.parentContainer_=parentContainer;var sliceConstructor=opt_sliceConstructor||ThreadSlice;this.sliceConstructor=sliceConstructor;this.sliceConstructorSubTypes=this.sliceConstructor.subTypes;if(!this.sliceConstructorSubTypes)
-throw new Error('opt_sliceConstructor must have a subtype registry.');this.openPartialSlices_=[];this.slices=[];this.topLevelSlices=[];this.haveTopLevelSlicesBeenBuilt=false;this.name_=opt_name;if(this.model===undefined)
-throw new Error('SliceGroup must have model defined.');}
-SliceGroup.prototype={__proto__:tr.model.EventContainer.prototype,get parentContainer(){return this.parentContainer_;},get model(){return this.parentContainer_.model;},get stableId(){return this.parentContainer_.stableId+'.SliceGroup';},getSettingsKey:function(){if(!this.name_)
-return undefined;var parentKey=this.parentContainer_.getSettingsKey();if(!parentKey)
-return undefined;return parentKey+'.'+this.name;},get length(){return this.slices.length;},pushSlice:function(slice){this.haveTopLevelSlicesBeenBuilt=false;slice.parentContainer=this.parentContainer_;this.slices.push(slice);return slice;},pushSlices:function(slices){this.haveTopLevelSlicesBeenBuilt=false;slices.forEach(function(slice){slice.parentContainer=this.parentContainer_;this.slices.push(slice);},this);},beginSlice:function(category,title,ts,opt_args,opt_tts,opt_argsStripped,opt_colorId){if(this.openPartialSlices_.length){var prevSlice=this.openPartialSlices_[this.openPartialSlices_.length-1];if(ts<prevSlice.start)
-throw new Error('Slices must be added in increasing timestamp order');}
-var colorId=opt_colorId||ColorScheme.getColorIdForGeneralPurposeString(title);var sliceConstructorSubTypes=this.sliceConstructorSubTypes;var sliceType=sliceConstructorSubTypes.getConstructor(category,title);var slice=new sliceType(category,title,colorId,ts,opt_args?opt_args:{},null,opt_tts,undefined,opt_argsStripped);this.openPartialSlices_.push(slice);slice.didNotFinish=true;this.pushSlice(slice);return slice;},isTimestampValidForBeginOrEnd:function(ts){if(!this.openPartialSlices_.length)
-return true;var top=this.openPartialSlices_[this.openPartialSlices_.length-1];return ts>=top.start;},get openSliceCount(){return this.openPartialSlices_.length;},get mostRecentlyOpenedPartialSlice(){if(!this.openPartialSlices_.length)
-return undefined;return this.openPartialSlices_[this.openPartialSlices_.length-1];},endSlice:function(ts,opt_tts,opt_colorId){if(!this.openSliceCount)
-throw new Error('endSlice called without an open slice');var slice=this.openPartialSlices_[this.openSliceCount-1];this.openPartialSlices_.splice(this.openSliceCount-1,1);if(ts<slice.start)
-throw new Error('Slice '+slice.title+' end time is before its start.');slice.duration=ts-slice.start;slice.didNotFinish=false;slice.colorId=opt_colorId||slice.colorId;if(opt_tts&&slice.cpuStart!==undefined)
-slice.cpuDuration=opt_tts-slice.cpuStart;return slice;},pushCompleteSlice:function(category,title,ts,duration,tts,cpuDuration,opt_args,opt_argsStripped,opt_colorId,opt_bindId){var colorId=opt_colorId||ColorScheme.getColorIdForGeneralPurposeString(title);var sliceConstructorSubTypes=this.sliceConstructorSubTypes;var sliceType=sliceConstructorSubTypes.getConstructor(category,title);var slice=new sliceType(category,title,colorId,ts,opt_args?opt_args:{},duration,tts,cpuDuration,opt_argsStripped,opt_bindId);if(duration===undefined)
-slice.didNotFinish=true;this.pushSlice(slice);return slice;},autoCloseOpenSlices:function(){this.updateBounds();var maxTimestamp=this.bounds.max;for(var sI=0;sI<this.slices.length;sI++){var slice=this.slices[sI];if(slice.didNotFinish)
-slice.duration=maxTimestamp-slice.start;}
-this.openPartialSlices_=[];},shiftTimestampsForward:function(amount){for(var sI=0;sI<this.slices.length;sI++){var slice=this.slices[sI];slice.start=(slice.start+amount);}},updateBounds:function(){this.bounds.reset();for(var i=0;i<this.slices.length;i++){this.bounds.addValue(this.slices[i].start);this.bounds.addValue(this.slices[i].end);}},copySlice:function(slice){var sliceConstructorSubTypes=this.sliceConstructorSubTypes;var sliceType=sliceConstructorSubTypes.getConstructor(slice.category,slice.title);var newSlice=new sliceType(slice.category,slice.title,slice.colorId,slice.start,slice.args,slice.duration,slice.cpuStart,slice.cpuDuration);newSlice.didNotFinish=slice.didNotFinish;return newSlice;},findTopmostSlicesInThisContainer:function*(eventPredicate,opt_this){if(!this.haveTopLevelSlicesBeenBuilt)
-throw new Error('Nope');for(var s of this.topLevelSlices)
-yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);},childEvents:function*(){yield*this.slices;},childEventContainers:function*(){},getSlicesOfName:function(title){var slices=[];for(var i=0;i<this.slices.length;i++){if(this.slices[i].title==title){slices.push(this.slices[i]);}}
-return slices;},iterSlicesInTimeRange:function(callback,start,end){var ret=[];tr.b.iterateOverIntersectingIntervals(this.topLevelSlices,function(s){return s.start;},function(s){return s.duration;},start,end,function(topLevelSlice){callback(topLevelSlice);for(var slice of topLevelSlice.enumerateAllDescendents())
-callback(slice);});return ret;},findFirstSlice:function(){if(!this.haveTopLevelSlicesBeenBuilt)
-throw new Error('Nope');if(0===this.slices.length)
-return undefined;return this.slices[0];},findSliceAtTs:function(ts){if(!this.haveTopLevelSlicesBeenBuilt)
-throw new Error('Nope');var i=tr.b.findIndexInSortedClosedIntervals(this.topLevelSlices,getSliceLo,getSliceHi,ts);if(i==-1||i==this.topLevelSlices.length)
-return undefined;var curSlice=this.topLevelSlices[i];while(true){var i=tr.b.findIndexInSortedClosedIntervals(curSlice.subSlices,getSliceLo,getSliceHi,ts);if(i==-1||i==curSlice.subSlices.length)
-return curSlice;curSlice=curSlice.subSlices[i];}},findNextSliceAfter:function(ts,refGuid){var i=tr.b.findLowIndexInSortedArray(this.slices,getSliceLo,ts);if(i===this.slices.length)
-return undefined;for(;i<this.slices.length;i++){var slice=this.slices[i];if(slice.start>ts)
-return slice;if(slice.guid<=refGuid)
-continue;return slice;}
-return undefined;},createSubSlices:function(){this.haveTopLevelSlicesBeenBuilt=true;this.createSubSlicesImpl_();if(this.parentContainer.timeSlices)
-this.addCpuTimeToSubslices_(this.parentContainer.timeSlices);this.slices.forEach(function(slice){var selfTime=slice.duration;for(var i=0;i<slice.subSlices.length;i++)
-selfTime-=slice.subSlices[i].duration;slice.selfTime=selfTime;if(slice.cpuDuration===undefined)
-return;var cpuSelfTime=slice.cpuDuration;for(var i=0;i<slice.subSlices.length;i++){if(slice.subSlices[i].cpuDuration!==undefined)
-cpuSelfTime-=slice.subSlices[i].cpuDuration;}
-slice.cpuSelfTime=cpuSelfTime;});},createSubSlicesImpl_:function(){var precisionUnit=this.model.intrinsicTimeUnit;function addSliceIfBounds(parent,child){if(parent.bounds(child,precisionUnit)){child.parentSlice=parent;if(parent.subSlices===undefined)
-parent.subSlices=[];parent.subSlices.push(child);return true;}
-return false;}
-if(!this.slices.length)
-return;var ops=[];for(var i=0;i<this.slices.length;i++){if(this.slices[i].subSlices)
-this.slices[i].subSlices.splice(0,this.slices[i].subSlices.length);ops.push(i);}
-var originalSlices=this.slices;ops.sort(function(ix,iy){var x=originalSlices[ix];var y=originalSlices[iy];if(x.start!=y.start)
-return x.start-y.start;return ix-iy;});var slices=new Array(this.slices.length);for(var i=0;i<ops.length;i++){slices[i]=originalSlices[ops[i]];}
-var rootSlice=slices[0];this.topLevelSlices=[];this.topLevelSlices.push(rootSlice);rootSlice.isTopLevel=true;for(var i=1;i<slices.length;i++){var slice=slices[i];while(rootSlice!==undefined&&(!addSliceIfBounds(rootSlice,slice))){rootSlice=rootSlice.parentSlice;}
-if(rootSlice===undefined){this.topLevelSlices.push(slice);slice.isTopLevel=true;}
-rootSlice=slice;}
-this.slices=slices;},addCpuTimeToSubslices_:function(timeSlices){var SCHEDULING_STATE=tr.model.SCHEDULING_STATE;var sliceIdx=0;timeSlices.forEach(function(timeSlice){if(timeSlice.schedulingState==SCHEDULING_STATE.RUNNING){while(sliceIdx<this.topLevelSlices.length){if(this.addCpuTimeToSubslice_(this.topLevelSlices[sliceIdx],timeSlice)){sliceIdx++;}else{break;}}}},this);},addCpuTimeToSubslice_:function(slice,timeSlice){if(slice.start>timeSlice.end||slice.end<timeSlice.start)
-return slice.end<=timeSlice.end;var duration=timeSlice.duration;if(slice.start>timeSlice.start)
-duration-=slice.start-timeSlice.start;if(timeSlice.end>slice.end)
-duration-=timeSlice.end-slice.end;if(slice.cpuDuration){slice.cpuDuration+=duration;}else{slice.cpuDuration=duration;}
-for(var i=0;i<slice.subSlices.length;i++){this.addCpuTimeToSubslice_(slice.subSlices[i],timeSlice);}
-return slice.end<=timeSlice.end;}};SliceGroup.merge=function(groupA,groupB){if(groupA.openPartialSlices_.length>0)
-throw new Error('groupA has open partial slices');if(groupB.openPartialSlices_.length>0)
-throw new Error('groupB has open partial slices');if(groupA.parentContainer!=groupB.parentContainer)
-throw new Error('Different parent threads. Cannot merge');if(groupA.sliceConstructor!=groupB.sliceConstructor)
-throw new Error('Different slice constructors. Cannot merge');var result=new SliceGroup(groupA.parentContainer,groupA.sliceConstructor,groupA.name_);var slicesA=groupA.slices;var slicesB=groupB.slices;var idxA=0;var idxB=0;var openA=[];var openB=[];var splitOpenSlices=function(when){for(var i=0;i<openB.length;i++){var oldSlice=openB[i];var oldEnd=oldSlice.end;if(when<oldSlice.start||oldEnd<when){throw new Error('slice should not be split');}
-var newSlice=result.copySlice(oldSlice);newSlice.start=when;newSlice.duration=oldEnd-when;if(newSlice.title.indexOf(' (cont.)')==-1)
-newSlice.title+=' (cont.)';oldSlice.duration=when-oldSlice.start;openB[i]=newSlice;result.pushSlice(newSlice);}};var closeOpenSlices=function(upTo){while(openA.length>0||openB.length>0){var nextA=openA[openA.length-1];var nextB=openB[openB.length-1];var endA=nextA&&nextA.end;var endB=nextB&&nextB.end;if((endA===undefined||endA>upTo)&&(endB===undefined||endB>upTo)){return;}
-if(endB===undefined||endA<endB){splitOpenSlices(endA);openA.pop();}else{openB.pop();}}};while(idxA<slicesA.length||idxB<slicesB.length){var sA=slicesA[idxA];var sB=slicesB[idxB];var nextSlice,isFromB;if(sA===undefined||(sB!==undefined&&sA.start>sB.start)){nextSlice=result.copySlice(sB);isFromB=true;idxB++;}else{nextSlice=result.copySlice(sA);isFromB=false;idxA++;}
-closeOpenSlices(nextSlice.start);result.pushSlice(nextSlice);if(isFromB){openB.push(nextSlice);}else{splitOpenSlices(nextSlice.start);openA.push(nextSlice);}}
-closeOpenSlices();return result;};return{SliceGroup:SliceGroup};});'use strict';tr.exportTo('tr.model',function(){var AsyncSlice=tr.model.AsyncSlice;var AsyncSliceGroup=tr.model.AsyncSliceGroup;var SliceGroup=tr.model.SliceGroup;var ThreadSlice=tr.model.ThreadSlice;var ThreadTimeSlice=tr.model.ThreadTimeSlice;function Thread(parent,tid){if(!parent)
-throw new Error('Parent must be provided.');tr.model.EventContainer.call(this);this.parent=parent;this.sortIndex=0;this.tid=tid;this.name=undefined;this.samples_=undefined;var that=this;this.sliceGroup=new SliceGroup(this,ThreadSlice,'slices');this.timeSlices=undefined;this.kernelSliceGroup=new SliceGroup(this,ThreadSlice,'kernel-slices');this.asyncSliceGroup=new AsyncSliceGroup(this,'async-slices');}
-Thread.prototype={__proto__:tr.model.EventContainer.prototype,get model(){return this.parent.model;},get stableId(){return this.parent.stableId+'.'+this.tid;},compareTo:function(that){return Thread.compare(this,that);},childEventContainers:function*(){if(this.sliceGroup.length)
-yield this.sliceGroup;if(this.kernelSliceGroup.length)
-yield this.kernelSliceGroup;if(this.asyncSliceGroup.length)
-yield this.asyncSliceGroup;},childEvents:function*(){if(this.timeSlices)
-yield*this.timeSlices;},iterateAllPersistableObjects:function(cb){cb(this);if(this.sliceGroup.length)
-cb(this.sliceGroup);this.asyncSliceGroup.viewSubGroups.forEach(cb);},shiftTimestampsForward:function(amount){this.sliceGroup.shiftTimestampsForward(amount);if(this.timeSlices){for(var i=0;i<this.timeSlices.length;i++){var slice=this.timeSlices[i];slice.start+=amount;}}
-this.kernelSliceGroup.shiftTimestampsForward(amount);this.asyncSliceGroup.shiftTimestampsForward(amount);},get isEmpty(){if(this.sliceGroup.length)
-return false;if(this.sliceGroup.openSliceCount)
-return false;if(this.timeSlices&&this.timeSlices.length)
-return false;if(this.kernelSliceGroup.length)
-return false;if(this.asyncSliceGroup.length)
-return false;if(this.samples_.length)
-return false;return true;},updateBounds:function(){this.bounds.reset();this.sliceGroup.updateBounds();this.bounds.addRange(this.sliceGroup.bounds);this.kernelSliceGroup.updateBounds();this.bounds.addRange(this.kernelSliceGroup.bounds);this.asyncSliceGroup.updateBounds();this.bounds.addRange(this.asyncSliceGroup.bounds);if(this.timeSlices&&this.timeSlices.length){this.bounds.addValue(this.timeSlices[0].start);this.bounds.addValue(this.timeSlices[this.timeSlices.length-1].end);}
-if(this.samples_&&this.samples_.length){this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].end);}},addCategoriesToDict:function(categoriesDict){for(var i=0;i<this.sliceGroup.length;i++)
-categoriesDict[this.sliceGroup.slices[i].category]=true;for(var i=0;i<this.kernelSliceGroup.length;i++)
-categoriesDict[this.kernelSliceGroup.slices[i].category]=true;for(var i=0;i<this.asyncSliceGroup.length;i++)
-categoriesDict[this.asyncSliceGroup.slices[i].category]=true;if(this.samples_){for(var i=0;i<this.samples_.length;i++)
-categoriesDict[this.samples_[i].category]=true;}},autoCloseOpenSlices:function(){this.sliceGroup.autoCloseOpenSlices();this.kernelSliceGroup.autoCloseOpenSlices();},mergeKernelWithUserland:function(){if(this.kernelSliceGroup.length>0){var newSlices=SliceGroup.merge(this.sliceGroup,this.kernelSliceGroup);this.sliceGroup.slices=newSlices.slices;this.kernelSliceGroup=new SliceGroup(this);this.updateBounds();}},createSubSlices:function(){this.sliceGroup.createSubSlices();this.samples_=this.parent.model.samples.filter(function(sample){return sample.thread==this;},this);},get userFriendlyName(){return this.name||this.tid;},get userFriendlyDetails(){return'tid: '+this.tid+
-(this.name?', name: '+this.name:'');},getSettingsKey:function(){if(!this.name)
-return undefined;var parentKey=this.parent.getSettingsKey();if(!parentKey)
-return undefined;return parentKey+'.'+this.name;},getProcess:function(){return this.parent;},indexOfTimeSlice:function(timeSlice){var i=tr.b.findLowIndexInSortedArray(this.timeSlices,function(slice){return slice.start;},timeSlice.start);if(this.timeSlices[i]!==timeSlice)
-return undefined;return i;},getCpuStatsForRange:function(range){var stats={};stats.total=0;if(!this.timeSlices)
-return stats;function addStatsForSlice(threadTimeSlice){var freqRange=tr.b.Range.fromExplicitRange(threadTimeSlice.start,threadTimeSlice.end);var intersection=freqRange.findIntersection(range);if(threadTimeSlice.schedulingState==tr.model.SCHEDULING_STATE.RUNNING){var cpu=threadTimeSlice.cpuOnWhichThreadWasRunning;if(!(cpu.cpuNumber in stats))
-stats[cpu.cpuNumber]=0;stats[cpu.cpuNumber]+=intersection.duration;stats.total+=intersection.duration;}}
-tr.b.iterateOverIntersectingIntervals(this.timeSlices,function(x){return x.start;},function(x){return x.end;},range.min,range.max,addStatsForSlice);return stats;},getSchedulingStatsForRange:function(start,end){var stats={};if(!this.timeSlices)return stats;function addStatsForSlice(threadTimeSlice){var overlapStart=Math.max(threadTimeSlice.start,start);var overlapEnd=Math.min(threadTimeSlice.end,end);var schedulingState=threadTimeSlice.schedulingState;if(!(schedulingState in stats))
-stats[schedulingState]=0;stats[schedulingState]+=overlapEnd-overlapStart;}
-tr.b.iterateOverIntersectingIntervals(this.timeSlices,function(x){return x.start;},function(x){return x.end;},start,end,addStatsForSlice);return stats;},get samples(){return this.samples_;}};Thread.compare=function(x,y){var tmp=x.parent.compareTo(y.parent);if(tmp)
-return tmp;tmp=x.sortIndex-y.sortIndex;if(tmp)
-return tmp;tmp=tr.b.comparePossiblyUndefinedValues(x.name,y.name,function(x,y){return x.localeCompare(y);});if(tmp)
-return tmp;return x.tid-y.tid;};return{Thread:Thread};});'use strict';tr.exportTo('tr.model',function(){var Thread=tr.model.Thread;var Counter=tr.model.Counter;function ProcessBase(model){if(!model)
-throw new Error('Must provide a model');tr.model.EventContainer.call(this);this.model=model;this.threads={};this.counters={};this.objects=new tr.model.ObjectCollection(this);this.sortIndex=0;};ProcessBase.compare=function(x,y){return x.sortIndex-y.sortIndex;};ProcessBase.prototype={__proto__:tr.model.EventContainer.prototype,get stableId(){throw new Error('Not implemented');},childEventContainers:function*(){yield*tr.b.dictionaryValues(this.threads);yield*tr.b.dictionaryValues(this.counters);yield this.objects;},iterateAllPersistableObjects:function(cb){cb(this);for(var tid in this.threads)
-this.threads[tid].iterateAllPersistableObjects(cb);},get numThreads(){var n=0;for(var p in this.threads){n++;}
-return n;},shiftTimestampsForward:function(amount){for(var child of this.childEventContainers())
-child.shiftTimestampsForward(amount);},autoCloseOpenSlices:function(){for(var tid in this.threads){var thread=this.threads[tid];thread.autoCloseOpenSlices();}},autoDeleteObjects:function(maxTimestamp){this.objects.autoDeleteObjects(maxTimestamp);},preInitializeObjects:function(){this.objects.preInitializeAllObjects();},initializeObjects:function(){this.objects.initializeAllObjects();},mergeKernelWithUserland:function(){for(var tid in this.threads){var thread=this.threads[tid];thread.mergeKernelWithUserland();}},updateBounds:function(){this.bounds.reset();for(var tid in this.threads){this.threads[tid].updateBounds();this.bounds.addRange(this.threads[tid].bounds);}
-for(var id in this.counters){this.counters[id].updateBounds();this.bounds.addRange(this.counters[id].bounds);}
-this.objects.updateBounds();this.bounds.addRange(this.objects.bounds);},addCategoriesToDict:function(categoriesDict){for(var tid in this.threads)
-this.threads[tid].addCategoriesToDict(categoriesDict);for(var id in this.counters)
-categoriesDict[this.counters[id].category]=true;this.objects.addCategoriesToDict(categoriesDict);},findAllThreadsMatching:function(predicate,opt_this){var threads=[];for(var tid in this.threads){var thread=this.threads[tid];if(predicate.call(opt_this,thread))
-threads.push(thread);}
-return threads;},findAllThreadsNamed:function(name){var threads=this.findAllThreadsMatching(function(thread){if(!thread.name)
-return false;return thread.name===name;});return threads;},findAtMostOneThreadNamed:function(name){var threads=this.findAllThreadsNamed(name);if(threads.length===0)
-return undefined;if(threads.length>1)
-throw new Error('Expected no more than one '+name);return threads[0];},pruneEmptyContainers:function(){var threadsToKeep={};for(var tid in this.threads){var thread=this.threads[tid];if(!thread.isEmpty)
-threadsToKeep[tid]=thread;}
-this.threads=threadsToKeep;},getThread:function(tid){return this.threads[tid];},getOrCreateThread:function(tid){if(!this.threads[tid])
-this.threads[tid]=new Thread(this,tid);return this.threads[tid];},getOrCreateCounter:function(cat,name){var id=cat+'.'+name;if(!this.counters[id])
-this.counters[id]=new Counter(this,id,cat,name);return this.counters[id];},getSettingsKey:function(){throw new Error('Not implemented');},createSubSlices:function(){for(var tid in this.threads)
-this.threads[tid].createSubSlices();}};return{ProcessBase:ProcessBase};});'use strict';tr.exportTo('tr.model',function(){var ColorScheme=tr.b.ColorScheme;var Counter=tr.model.Counter;var CpuSlice=tr.model.CpuSlice;function Cpu(kernel,number){if(kernel===undefined||number===undefined)
-throw new Error('Missing arguments');this.kernel=kernel;this.cpuNumber=number;this.slices=[];this.counters={};this.bounds_=new tr.b.Range();this.samples_=undefined;this.lastActiveTimestamp_=undefined;this.lastActiveThread_=undefined;this.lastActiveName_=undefined;this.lastActiveArgs_=undefined;}
-Cpu.prototype={__proto__:tr.model.EventContainer.prototype,get samples(){return this.samples_;},get userFriendlyName(){return'CPU '+this.cpuNumber;},findTopmostSlicesInThisContainer:function*(eventPredicate,opt_this){for(var s of this.slices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this);}},childEvents:function*(){yield*this.slices;if(this.samples_)
-yield*this.samples_;},childEventContainers:function*(){yield*tr.b.dictionaryValues(this.counters);},getOrCreateCounter:function(cat,name){var id=cat+'.'+name;if(!this.counters[id])
-this.counters[id]=new Counter(this,id,cat,name);return this.counters[id];},getCounter:function(cat,name){var id=cat+'.'+name;if(!this.counters[id])
-return undefined;return this.counters[id];},shiftTimestampsForward:function(amount){for(var sI=0;sI<this.slices.length;sI++)
-this.slices[sI].start=(this.slices[sI].start+amount);for(var id in this.counters)
-this.counters[id].shiftTimestampsForward(amount);},updateBounds:function(){this.bounds_.reset();if(this.slices.length){this.bounds_.addValue(this.slices[0].start);this.bounds_.addValue(this.slices[this.slices.length-1].end);}
-for(var id in this.counters){this.counters[id].updateBounds();this.bounds_.addRange(this.counters[id].bounds);}
-if(this.samples_&&this.samples_.length){this.bounds_.addValue(this.samples_[0].start);this.bounds_.addValue(this.samples_[this.samples_.length-1].end);}},createSubSlices:function(){this.samples_=this.kernel.model.samples.filter(function(sample){return sample.cpu==this;},this);},addCategoriesToDict:function(categoriesDict){for(var i=0;i<this.slices.length;i++)
-categoriesDict[this.slices[i].category]=true;for(var id in this.counters)
-categoriesDict[this.counters[id].category]=true;for(var i=0;i<this.samples_.length;i++)
-categoriesDict[this.samples_[i].category]=true;},indexOf:function(cpuSlice){var i=tr.b.findLowIndexInSortedArray(this.slices,function(slice){return slice.start;},cpuSlice.start);if(this.slices[i]!==cpuSlice)
-return undefined;return i;},closeActiveThread:function(endTimestamp,args){if(this.lastActiveThread_==undefined||this.lastActiveThread_==0)
-return;if(endTimestamp<this.lastActiveTimestamp_){throw new Error('The end timestamp of a thread running on CPU '+
-this.cpuNumber+' is before its start timestamp.');}
-for(var key in args){this.lastActiveArgs_[key]=args[key];}
-var duration=endTimestamp-this.lastActiveTimestamp_;var slice=new tr.model.CpuSlice('',this.lastActiveName_,ColorScheme.getColorIdForGeneralPurposeString(this.lastActiveName_),this.lastActiveTimestamp_,this.lastActiveArgs_,duration);slice.cpu=this;this.slices.push(slice);this.lastActiveTimestamp_=undefined;this.lastActiveThread_=undefined;this.lastActiveName_=undefined;this.lastActiveArgs_=undefined;},switchActiveThread:function(timestamp,oldThreadArgs,newThreadId,newThreadName,newThreadArgs){this.closeActiveThread(timestamp,oldThreadArgs);this.lastActiveTimestamp_=timestamp;this.lastActiveThread_=newThreadId;this.lastActiveName_=newThreadName;this.lastActiveArgs_=newThreadArgs;},getFreqStatsForRange:function(range){var stats={};function addStatsForFreq(freqSample,index){var freqEnd=(index<freqSample.series_.length-1)?freqSample.series_.samples_[index+1].timestamp:range.max;var freqRange=tr.b.Range.fromExplicitRange(freqSample.timestamp,freqEnd);var intersection=freqRange.findIntersection(range);if(!(freqSample.value in stats))
-stats[freqSample.value]=0;stats[freqSample.value]+=intersection.duration;}
-var freqCounter=this.getCounter('','Clock Frequency');if(freqCounter!==undefined){var freqSeries=freqCounter.getSeries(0);if(!freqSeries)
-return;tr.b.iterateOverIntersectingIntervals(freqSeries.samples_,function(x){return x.timestamp;},function(x,index){return index<freqSeries.length-1?freqSeries.samples_[index+1].timestamp:range.max;},range.min,range.max,addStatsForFreq);}
-return stats;}};Cpu.compare=function(x,y){return x.cpuNumber-y.cpuNumber;};return{Cpu:Cpu};});'use strict';tr.exportTo('tr.model',function(){var Cpu=tr.model.Cpu;var ProcessBase=tr.model.ProcessBase;function Kernel(model){ProcessBase.call(this,model);this.cpus={};this.softwareMeasuredCpuCount_=undefined;};Kernel.compare=function(x,y){return 0;};Kernel.prototype={__proto__:ProcessBase.prototype,compareTo:function(that){return Kernel.compare(this,that);},get userFriendlyName(){return'Kernel';},get userFriendlyDetails(){return'Kernel';},get stableId(){return'Kernel';},getOrCreateCpu:function(cpuNumber){if(!this.cpus[cpuNumber])
-this.cpus[cpuNumber]=new Cpu(this,cpuNumber);return this.cpus[cpuNumber];},get softwareMeasuredCpuCount(){return this.softwareMeasuredCpuCount_;},set softwareMeasuredCpuCount(softwareMeasuredCpuCount){if(this.softwareMeasuredCpuCount_!==undefined&&this.softwareMeasuredCpuCount_!==softwareMeasuredCpuCount){throw new Error('Cannot change the softwareMeasuredCpuCount once it is set');}
-this.softwareMeasuredCpuCount_=softwareMeasuredCpuCount;},get bestGuessAtCpuCount(){var realCpuCount=tr.b.dictionaryLength(this.cpus);if(realCpuCount!==0)
-return realCpuCount;return this.softwareMeasuredCpuCount;},updateBounds:function(){ProcessBase.prototype.updateBounds.call(this);for(var cpuNumber in this.cpus){var cpu=this.cpus[cpuNumber];cpu.updateBounds();this.bounds.addRange(cpu.bounds);}},createSubSlices:function(){ProcessBase.prototype.createSubSlices.call(this);for(var cpuNumber in this.cpus){var cpu=this.cpus[cpuNumber];cpu.createSubSlices();}},addCategoriesToDict:function(categoriesDict){ProcessBase.prototype.addCategoriesToDict.call(this,categoriesDict);for(var cpuNumber in this.cpus)
-this.cpus[cpuNumber].addCategoriesToDict(categoriesDict);},getSettingsKey:function(){return'kernel';},childEventContainers:function*(){yield*ProcessBase.prototype.childEventContainers.call(this);yield*tr.b.dictionaryValues(this.cpus);},};return{Kernel:Kernel};});'use strict';tr.exportTo('tr.model',function(){function ModelIndices(model){this.flowEventsById_={};model.flowEvents.forEach(function(fe){if(fe.id!==undefined){if(!this.flowEventsById_.hasOwnProperty(fe.id)){this.flowEventsById_[fe.id]=new Array();}
-this.flowEventsById_[fe.id].push(fe);}},this);}
-ModelIndices.prototype={addEventWithId:function(id,event){if(!this.flowEventsById_.hasOwnProperty(id)){this.flowEventsById_[id]=new Array();}
-this.flowEventsById_[id].push(event);},getFlowEventsWithId:function(id){if(!this.flowEventsById_.hasOwnProperty(id))
-return[];return this.flowEventsById_[id];}};return{ModelIndices:ModelIndices};});'use strict';tr.exportTo('tr.model',function(){function ModelStats(){this.traceEventCountsByKey_=new Map();this.allTraceEventStats_=[];this.traceEventStatsInTimeIntervals_=new Map();this.allTraceEventStatsInTimeIntervals_=[];this.hasEventSizesinBytes_=false;}
-ModelStats.prototype={TIME_INTERVAL_SIZE_IN_MS:100,willProcessBasicTraceEvent:function(phase,category,title,ts,opt_eventSizeinBytes){var key=phase+'/'+category+'/'+title;var eventStats=this.traceEventCountsByKey_.get(key);if(eventStats===undefined){eventStats={phase:phase,category:category,title:title,numEvents:0,totalEventSizeinBytes:0};this.traceEventCountsByKey_.set(key,eventStats);this.allTraceEventStats_.push(eventStats);}
-eventStats.numEvents++;var timeIntervalKey=Math.floor(tr.b.Unit.timestampFromUs(ts)/this.TIME_INTERVAL_SIZE_IN_MS);var eventStatsByTimeInverval=this.traceEventStatsInTimeIntervals_.get(timeIntervalKey);if(eventStatsByTimeInverval===undefined){eventStatsByTimeInverval={timeInterval:timeIntervalKey,numEvents:0,totalEventSizeinBytes:0};this.traceEventStatsInTimeIntervals_.set(timeIntervalKey,eventStatsByTimeInverval);this.allTraceEventStatsInTimeIntervals_.push(eventStatsByTimeInverval);}
-eventStatsByTimeInverval.numEvents++;if(opt_eventSizeinBytes!==undefined){this.hasEventSizesinBytes_=true;eventStats.totalEventSizeinBytes+=opt_eventSizeinBytes;eventStatsByTimeInverval.totalEventSizeinBytes+=opt_eventSizeinBytes;}},get allTraceEventStats(){return this.allTraceEventStats_;},get allTraceEventStatsInTimeIntervals(){return this.allTraceEventStatsInTimeIntervals_;},get hasEventSizesinBytes(){return this.hasEventSizesinBytes_;}};return{ModelStats:ModelStats};});'use strict';tr.exportTo('tr.model',function(){function VMRegion(startAddress,sizeInBytes,protectionFlags,mappedFile,byteStats){this.startAddress=startAddress;this.sizeInBytes=sizeInBytes;this.protectionFlags=protectionFlags;this.mappedFile=mappedFile||'';this.byteStats=byteStats||{};};VMRegion.PROTECTION_FLAG_READ=4;VMRegion.PROTECTION_FLAG_WRITE=2;VMRegion.PROTECTION_FLAG_EXECUTE=1;VMRegion.PROTECTION_FLAG_MAYSHARE=128;VMRegion.prototype={get uniqueIdWithinProcess(){return this.mappedFile+'#'+this.startAddress;},get protectionFlagsToString(){if(this.protectionFlags===undefined)
-return undefined;return((this.protectionFlags&VMRegion.PROTECTION_FLAG_READ?'r':'-')+
-(this.protectionFlags&VMRegion.PROTECTION_FLAG_WRITE?'w':'-')+
-(this.protectionFlags&VMRegion.PROTECTION_FLAG_EXECUTE?'x':'-')+
-(this.protectionFlags&VMRegion.PROTECTION_FLAG_MAYSHARE?'s':'p'));}};VMRegion.fromDict=function(dict){return new VMRegion(dict.startAddress,dict.sizeInBytes,dict.protectionFlags,dict.mappedFile,dict.byteStats);};function VMRegionClassificationNode(opt_rule){this.rule_=opt_rule||VMRegionClassificationNode.CLASSIFICATION_RULES;this.hasRegions=false;this.sizeInBytes=undefined;this.byteStats={};this.children_=undefined;this.regions_=[];}
-VMRegionClassificationNode.CLASSIFICATION_RULES={name:'Total',children:[{name:'Android',file:/^\/dev\/ashmem(?!\/libc malloc)/,children:[{name:'Java runtime',file:/^\/dev\/ashmem\/dalvik-/,children:[{name:'Spaces',file:/\/dalvik-(alloc|main|large object|non moving|zygote) space/,children:[{name:'Normal',file:/\/dalvik-(alloc|main)/},{name:'Large',file:/\/dalvik-large object/},{name:'Zygote',file:/\/dalvik-zygote/},{name:'Non-moving',file:/\/dalvik-non moving/}]},{name:'Linear Alloc',file:/\/dalvik-LinearAlloc/},{name:'Indirect Reference Table',file:/\/dalvik-indirect.ref/},{name:'Cache',file:/\/dalvik-jit-code-cache/},{name:'Accounting'}]},{name:'Cursor',file:/\/CursorWindow/},{name:'Ashmem'}]},{name:'Native heap',file:/^((\[heap\])|(\[anon:)|(\/dev\/ashmem\/libc malloc)|(\[discounted tracing overhead\])|$)/},{name:'Stack',file:/^\[stack/},{name:'Files',file:/\.((((jar)|(apk)|(ttf)|(odex)|(oat)|(art))$)|(dex)|(so))/,children:[{name:'so',file:/\.so/},{name:'jar',file:/\.jar$/},{name:'apk',file:/\.apk$/},{name:'ttf',file:/\.ttf$/},{name:'dex',file:/\.((dex)|(odex$))/},{name:'oat',file:/\.oat$/},{name:'art',file:/\.art$/}]},{name:'Devices',file:/(^\/dev\/)|(anon_inode:dmabuf)/,children:[{name:'GPU',file:/\/((nv)|(mali)|(kgsl))/},{name:'DMA',file:/anon_inode:dmabuf/}]}]};VMRegionClassificationNode.OTHER_RULE={name:'Other'};VMRegionClassificationNode.fromRegions=function(regions,opt_rules){var tree=new VMRegionClassificationNode(opt_rules);tree.regions_=regions;for(var i=0;i<regions.length;i++)
-tree.addStatsFromRegion_(regions[i]);return tree;};VMRegionClassificationNode.prototype={get title(){return this.rule_.name;},get children(){if(this.isLeafNode)
-return undefined;if(this.children_===undefined)
-this.buildTree_();return this.children_;},get regions(){if(!this.isLeafNode){return undefined;}
-return this.regions_;},get allRegionsForTesting(){if(this.regions_!==undefined){if(this.children_!==undefined){throw new Error('Internal error: a VM region classification node '+'cannot have both regions and children');}
-return this.regions_;}
-var regions=[];this.children_.forEach(function(childNode){regions=regions.concat(childNode.allRegionsForTesting);});return regions;},get isLeafNode(){var children=this.rule_.children;return children===undefined||children.length===0;},addRegion:function(region){this.addRegionRecursively_(region,true);},someRegion:function(fn,opt_this){if(this.regions_!==undefined){return this.regions_.some(fn,opt_this);}
-return this.children_.some(function(childNode){return childNode.someRegion(fn,opt_this);});},addRegionRecursively_:function(region,addStatsToThisNode){if(addStatsToThisNode)
-this.addStatsFromRegion_(region);if(this.regions_!==undefined){if(this.children_!==undefined){throw new Error('Internal error: a VM region classification node '+'cannot have both regions and children');}
-this.regions_.push(region);return;}
-function regionRowMatchesChildNide(child){var fileRegExp=child.rule_.file;if(fileRegExp===undefined)
-return true;return fileRegExp.test(region.mappedFile);}
-var matchedChild=tr.b.findFirstInArray(this.children_,regionRowMatchesChildNide);if(matchedChild===undefined){if(this.children_.length!==this.rule_.children.length)
-throw new Error('Internal error');matchedChild=new VMRegionClassificationNode(VMRegionClassificationNode.OTHER_RULE);this.children_.push(matchedChild);}
-matchedChild.addRegionRecursively_(region,true);},buildTree_:function(){var cachedRegions=this.regions_;this.regions_=undefined;this.buildChildNodesRecursively_();for(var i=0;i<cachedRegions.length;i++){this.addRegionRecursively_(cachedRegions[i],false);}},buildChildNodesRecursively_:function(){if(this.children_!==undefined){throw new Error('Internal error: Classification node already has children');}
-if(this.regions_!==undefined&&this.regions_.length!==0){throw new Error('Internal error: Classification node should have no regions');}
-if(this.isLeafNode)
-return;this.regions_=undefined;this.children_=this.rule_.children.map(function(childRule){var child=new VMRegionClassificationNode(childRule);child.buildChildNodesRecursively_();return child;});},addStatsFromRegion_:function(region){this.hasRegions=true;var regionSizeInBytes=region.sizeInBytes;if(regionSizeInBytes!==undefined)
-this.sizeInBytes=(this.sizeInBytes||0)+regionSizeInBytes;var thisByteStats=this.byteStats;var regionByteStats=region.byteStats;for(var byteStatName in regionByteStats){var regionByteStatValue=regionByteStats[byteStatName];if(regionByteStatValue===undefined)
-continue;thisByteStats[byteStatName]=(thisByteStats[byteStatName]||0)+regionByteStatValue;}}};return{VMRegion:VMRegion,VMRegionClassificationNode:VMRegionClassificationNode};});'use strict';tr.exportTo('tr.model',function(){var DISCOUNTED_ALLOCATOR_NAMES=['winheap','malloc'];var TRACING_OVERHEAD_PATH=['allocated_objects','tracing_overhead'];var SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME;var RESIDENT_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.RESIDENT_SIZE_NUMERIC_NAME;function getSizeNumericValue(dump,sizeNumericName){var sizeNumeric=dump.numerics[sizeNumericName];if(sizeNumeric===undefined)
-return 0;return sizeNumeric.value;}
-function ProcessMemoryDump(globalMemoryDump,process,start){tr.model.ContainerMemoryDump.call(this,start);this.process=process;this.globalMemoryDump=globalMemoryDump;this.totals=undefined;this.vmRegions=undefined;this.heapDumps=undefined;this.tracingOverheadOwnershipSetUp_=false;this.tracingOverheadDiscountedFromVmRegions_=false;}
-ProcessMemoryDump.prototype={__proto__:tr.model.ContainerMemoryDump.prototype,get userFriendlyName(){return'Process memory dump at '+
-tr.b.Unit.byName.timeStampInMs.format(this.start);},get containerName(){return this.process.userFriendlyName;},get processMemoryDumps(){var dumps={};dumps[this.process.pid]=this;return dumps;},get hasOwnVmRegions(){return this.vmRegions!==undefined;},setUpTracingOverheadOwnership:function(opt_model){if(this.tracingOverheadOwnershipSetUp_)
-return;this.tracingOverheadOwnershipSetUp_=true;var tracingDump=this.getMemoryAllocatorDumpByFullName('tracing');if(tracingDump===undefined||tracingDump.owns!==undefined){return;}
-if(tracingDump.owns!==undefined)
-return;var hasDiscountedFromAllocatorDumps=DISCOUNTED_ALLOCATOR_NAMES.some(function(allocatorName){var allocatorDump=this.getMemoryAllocatorDumpByFullName(allocatorName);if(allocatorDump===undefined)
-return false;var nextPathIndex=0;var currentDump=allocatorDump;var currentFullName=allocatorName;for(;nextPathIndex<TRACING_OVERHEAD_PATH.length;nextPathIndex++){var childFullName=currentFullName+'/'+
-TRACING_OVERHEAD_PATH[nextPathIndex];var childDump=this.getMemoryAllocatorDumpByFullName(childFullName);if(childDump===undefined)
-break;currentDump=childDump;currentFullName=childFullName;}
-for(;nextPathIndex<TRACING_OVERHEAD_PATH.length;nextPathIndex++){var childFullName=currentFullName+'/'+
-TRACING_OVERHEAD_PATH[nextPathIndex];var childDump=new tr.model.MemoryAllocatorDump(currentDump.containerMemoryDump,childFullName);childDump.parent=currentDump;currentDump.children.push(childDump);currentFullName=childFullName;currentDump=childDump;}
-var ownershipLink=new tr.model.MemoryAllocatorDumpLink(tracingDump,currentDump);tracingDump.owns=ownershipLink;currentDump.ownedBy.push(ownershipLink);return true;},this);if(hasDiscountedFromAllocatorDumps)
-this.forceRebuildingMemoryAllocatorDumpByFullNameIndex();},discountTracingOverheadFromVmRegions:function(opt_model){if(this.tracingOverheadDiscountedFromVmRegions_)
-return;this.tracingOverheadDiscountedFromVmRegions_=true;var tracingDump=this.getMemoryAllocatorDumpByFullName('tracing');if(tracingDump===undefined)
-return;var discountedSize=getSizeNumericValue(tracingDump,SIZE_NUMERIC_NAME);var discountedResidentSize=getSizeNumericValue(tracingDump,RESIDENT_SIZE_NUMERIC_NAME);if(discountedSize<=0&&discountedResidentSize<=0)
-return;if(this.totals!==undefined){if(this.totals.residentBytes!==undefined)
-this.totals.residentBytes-=discountedResidentSize;if(this.totals.peakResidentBytes!==undefined)
-this.totals.peakResidentBytes-=discountedResidentSize;}
-if(this.vmRegions!==undefined){var hasSizeInBytes=this.vmRegions.sizeInBytes!==undefined;var hasPrivateDirtyResident=this.vmRegions.byteStats.privateDirtyResident!==undefined;var hasProportionalResident=this.vmRegions.byteStats.proportionalResident!==undefined;if((hasSizeInBytes&&discountedSize>0)||((hasPrivateDirtyResident||hasProportionalResident)&&discountedResidentSize>0)){var byteStats={};if(hasPrivateDirtyResident)
-byteStats.privateDirtyResident=-discountedResidentSize;if(hasProportionalResident)
-byteStats.proportionalResident=-discountedResidentSize;this.vmRegions.addRegion(tr.model.VMRegion.fromDict({mappedFile:'[discounted tracing overhead]',sizeInBytes:hasSizeInBytes?-discountedSize:undefined,byteStats:byteStats}));}}}};ProcessMemoryDump.hookUpMostRecentVmRegionsLinks=function(processDumps){var mostRecentVmRegions=undefined;processDumps.forEach(function(processDump){if(processDump.vmRegions!==undefined)
-mostRecentVmRegions=processDump.vmRegions;processDump.mostRecentVmRegions=mostRecentVmRegions;});};tr.model.EventRegistry.register(ProcessMemoryDump,{name:'processMemoryDump',pluralName:'processMemoryDumps'});return{ProcessMemoryDump:ProcessMemoryDump};});'use strict';tr.exportTo('tr.model',function(){var ProcessBase=tr.model.ProcessBase;var ProcessInstantEvent=tr.model.ProcessInstantEvent;var Frame=tr.model.Frame;var ProcessMemoryDump=tr.model.ProcessMemoryDump;function Process(model,pid){if(model===undefined)
-throw new Error('model must be provided');if(pid===undefined)
-throw new Error('pid must be provided');tr.model.ProcessBase.call(this,model);this.pid=pid;this.name=undefined;this.labels=[];this.instantEvents=[];this.memoryDumps=[];this.frames=[];this.activities=[];};Process.compare=function(x,y){var tmp=tr.model.ProcessBase.compare(x,y);if(tmp)
-return tmp;tmp=tr.b.comparePossiblyUndefinedValues(x.name,y.name,function(x,y){return x.localeCompare(y);});if(tmp)
-return tmp;tmp=tr.b.compareArrays(x.labels,y.labels,function(x,y){return x.localeCompare(y);});if(tmp)
-return tmp;return x.pid-y.pid;};Process.prototype={__proto__:tr.model.ProcessBase.prototype,get stableId(){return this.pid;},compareTo:function(that){return Process.compare(this,that);},childEvents:function*(){yield*ProcessBase.prototype.childEvents.call(this);yield*this.instantEvents;yield*this.frames;yield*this.memoryDumps;},addLabelIfNeeded:function(labelName){for(var i=0;i<this.labels.length;i++){if(this.labels[i]===labelName)
-return;}
-this.labels.push(labelName);},get userFriendlyName(){var res;if(this.name)
-res=this.name+' (pid '+this.pid+')';else
-res='Process '+this.pid;if(this.labels.length)
-res+=': '+this.labels.join(', ');return res;},get userFriendlyDetails(){if(this.name)
-return this.name+' (pid '+this.pid+')';return'pid: '+this.pid;},getSettingsKey:function(){if(!this.name)
-return undefined;if(!this.labels.length)
-return'processes.'+this.name;return'processes.'+this.name+'.'+this.labels.join('.');},shiftTimestampsForward:function(amount){for(var i=0;i<this.instantEvents.length;i++)
-this.instantEvents[i].start+=amount;for(var i=0;i<this.frames.length;i++)
-this.frames[i].shiftTimestampsForward(amount);for(var i=0;i<this.memoryDumps.length;i++)
-this.memoryDumps[i].shiftTimestampsForward(amount);for(var i=0;i<this.activities.length;i++)
-this.activities[i].shiftTimestampsForward(amount);tr.model.ProcessBase.prototype.shiftTimestampsForward.apply(this,arguments);},updateBounds:function(){tr.model.ProcessBase.prototype.updateBounds.apply(this);for(var i=0;i<this.frames.length;i++)
-this.frames[i].addBoundsToRange(this.bounds);for(var i=0;i<this.memoryDumps.length;i++)
-this.memoryDumps[i].addBoundsToRange(this.bounds);for(var i=0;i<this.activities.length;i++)
-this.activities[i].addBoundsToRange(this.bounds);},sortMemoryDumps:function(){this.memoryDumps.sort(function(x,y){return x.start-y.start;});tr.model.ProcessMemoryDump.hookUpMostRecentVmRegionsLinks(this.memoryDumps);}};return{Process:Process};});'use strict';tr.exportTo('tr.model',function(){function Sample(cpu,thread,title,start,leafStackFrame,opt_weight,opt_args){tr.model.TimedEvent.call(this,start);this.title=title;this.cpu=cpu;this.thread=thread;this.leafStackFrame=leafStackFrame;this.weight=opt_weight;this.args=opt_args||{};}
-Sample.prototype={__proto__:tr.model.TimedEvent.prototype,get colorId(){return this.leafStackFrame.colorId;},get stackTrace(){return this.leafStackFrame.stackTrace;},getUserFriendlyStackTrace:function(){return this.leafStackFrame.getUserFriendlyStackTrace();},get userFriendlyName(){return'Sample at '+tr.b.Unit.byName.timeStampInMs.format(this.start);}};tr.model.EventRegistry.register(Sample,{name:'sample',pluralName:'samples'});return{Sample:Sample};});'use strict';tr.exportTo('tr.model',function(){function StackFrame(parentFrame,id,title,colorId,opt_sourceInfo){if(id===undefined)
-throw new Error('id must be given');this.parentFrame_=parentFrame;this.id=id;this.title_=title;this.colorId=colorId;this.children=[];this.sourceInfo_=opt_sourceInfo;if(this.parentFrame_)
-this.parentFrame_.addChild(this);}
-StackFrame.prototype={get parentFrame(){return this.parentFrame_;},get title(){if(this.sourceInfo_){var src=this.sourceInfo_.toString();return this.title_+(src===''?'':' '+src);}
-return this.title_;},get domain(){var result='unknown';if(this.sourceInfo_&&this.sourceInfo_.domain)
-result=this.sourceInfo_.domain;if(result==='unknown'&&this.parentFrame)
-result=this.parentFrame.domain;return result;},get sourceInfo(){return this.sourceInfo_;},set parentFrame(parentFrame){if(this.parentFrame_)
-Polymer.dom(this.parentFrame_).removeChild(this);this.parentFrame_=parentFrame;if(this.parentFrame_)
-this.parentFrame_.addChild(this);},addChild:function(child){this.children.push(child);},removeChild:function(child){var i=this.children.indexOf(child.id);if(i==-1)
-throw new Error('omg');this.children.splice(i,1);},removeAllChildren:function(){for(var i=0;i<this.children.length;i++)
-this.children[i].parentFrame_=undefined;this.children.splice(0,this.children.length);},get stackTrace(){var stack=[];var cur=this;while(cur){stack.push(cur);cur=cur.parentFrame;}
-return stack;},getUserFriendlyStackTrace:function(){return this.stackTrace.map(function(x){return x.title;});}};return{StackFrame:StackFrame};});'use strict';tr.exportTo('tr.b',function(){function convertEventsToRanges(events){return events.map(function(event){return tr.b.Range.fromExplicitRange(event.start,event.end);});}
-function mergeRanges(inRanges,mergeThreshold,mergeFunction){var remainingEvents=inRanges.slice();remainingEvents.sort(function(x,y){return x.min-y.min;});if(remainingEvents.length<=1){var merged=[];if(remainingEvents.length==1){merged.push(mergeFunction(remainingEvents));}
-return merged;}
-var mergedEvents=[];var currentMergeBuffer=[];var rightEdge;function beginMerging(){currentMergeBuffer.push(remainingEvents[0]);remainingEvents.splice(0,1);rightEdge=currentMergeBuffer[0].max;}
-function flushCurrentMergeBuffer(){if(currentMergeBuffer.length==0)
-return;mergedEvents.push(mergeFunction(currentMergeBuffer));currentMergeBuffer=[];if(remainingEvents.length!=0)
-beginMerging();}
-beginMerging();while(remainingEvents.length){var currentEvent=remainingEvents[0];var distanceFromRightEdge=currentEvent.min-rightEdge;if(distanceFromRightEdge<mergeThreshold){rightEdge=Math.max(rightEdge,currentEvent.max);remainingEvents.splice(0,1);currentMergeBuffer.push(currentEvent);continue;}
-flushCurrentMergeBuffer();}
-flushCurrentMergeBuffer();return mergedEvents;}
-function findEmptyRangesBetweenRanges(inRanges,opt_totalRange){if(opt_totalRange&&opt_totalRange.isEmpty)
-opt_totalRange=undefined;var emptyRanges=[];if(!inRanges.length){if(opt_totalRange)
-emptyRanges.push(opt_totalRange);return emptyRanges;}
-inRanges=inRanges.slice();inRanges.sort(function(x,y){return x.min-y.min;});if(opt_totalRange&&(opt_totalRange.min<inRanges[0].min)){emptyRanges.push(tr.b.Range.fromExplicitRange(opt_totalRange.min,inRanges[0].min));}
-inRanges.forEach(function(range,index){for(var otherIndex=0;otherIndex<inRanges.length;++otherIndex){if(index===otherIndex)
-continue;var other=inRanges[otherIndex];if(other.min>range.max){emptyRanges.push(tr.b.Range.fromExplicitRange(range.max,other.min));return;}
-if(other.max>range.max){return;}}
-if(opt_totalRange&&(range.max<opt_totalRange.max)){emptyRanges.push(tr.b.Range.fromExplicitRange(range.max,opt_totalRange.max));}});return emptyRanges;}
-return{convertEventsToRanges:convertEventsToRanges,findEmptyRangesBetweenRanges:findEmptyRangesBetweenRanges,mergeRanges:mergeRanges};});'use strict';tr.exportTo('tr.model',function(){var CompoundEventSelectionState={NOT_SELECTED:0,EVENT_SELECTED:0x1,SOME_ASSOCIATED_EVENTS_SELECTED:0x2,ALL_ASSOCIATED_EVENTS_SELECTED:0x4,EVENT_AND_SOME_ASSOCIATED_SELECTED:0x1|0x2,EVENT_AND_ALL_ASSOCIATED_SELECTED:0x1|0x4};return{CompoundEventSelectionState:CompoundEventSelectionState};});'use strict';tr.exportTo('tr.model.um',function(){var CompoundEventSelectionState=tr.model.CompoundEventSelectionState;function UserExpectation(parentModel,initiatorType,start,duration){tr.model.TimedEvent.call(this,start);this.associatedEvents=new tr.model.EventSet();this.duration=duration;this.initiatorType_=initiatorType;this.parentModel=parentModel;this.typeInfo_=undefined;this.sourceEvents=new tr.model.EventSet();}
-var INITIATOR_TYPE={KEYBOARD:'Keyboard',MOUSE:'Mouse',MOUSE_WHEEL:'MouseWheel',TAP:'Tap',PINCH:'Pinch',FLING:'Fling',TOUCH:'Touch',SCROLL:'Scroll',CSS:'CSS',WEBGL:'WebGL',VIDEO:'Video'};UserExpectation.prototype={__proto__:tr.model.TimedEvent.prototype,computeCompoundEvenSelectionState:function(selection){var cess=CompoundEventSelectionState.NOT_SELECTED;if(selection.contains(this))
-cess|=CompoundEventSelectionState.EVENT_SELECTED;if(this.associatedEvents.intersectionIsEmpty(selection))
-return cess;var allContained=this.associatedEvents.every(function(event){return selection.contains(event);});if(allContained)
-cess|=CompoundEventSelectionState.ALL_ASSOCIATED_EVENTS_SELECTED;else
-cess|=CompoundEventSelectionState.SOME_ASSOCIATED_EVENTS_SELECTED;return cess;},get associatedSamples(){var samples=new tr.model.EventSet();this.associatedEvents.forEach(function(event){if(event instanceof tr.model.ThreadSlice)
-samples.addEventSet(event.overlappingSamples);});return samples;},get userFriendlyName(){return this.title+' User Expectation at '+
-tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){return('UserExpectation.'+this.guid);},get typeInfo(){if(!this.typeInfo_){this.typeInfo_=UserExpectation.subTypes.findTypeInfo(this.constructor);}
-if(!this.typeInfo_)
-throw new Error('Unregistered UserExpectation');return this.typeInfo_;},get colorId(){return this.typeInfo.metadata.colorId;},get stageTitle(){return this.typeInfo.metadata.stageTitle;},get initiatorType(){return this.initiatorType_;},get title(){if(!this.initiatorType)
-return this.stageTitle;return this.initiatorType+' '+this.stageTitle;},get totalCpuMs(){var cpuMs=0;this.associatedEvents.forEach(function(event){if(event.cpuSelfTime)
-cpuMs+=event.cpuSelfTime;});return cpuMs;}};var subTypes={};var options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(subTypes,options);subTypes.addEventListener('will-register',function(e){var metadata=e.typeInfo.metadata;if(metadata.stageTitle===undefined){throw new Error('Registered UserExpectations must provide '+'stageTitle');}
-if(metadata.colorId===undefined){throw new Error('Registered UserExpectations must provide '+'colorId');}});tr.model.EventRegistry.register(UserExpectation,{name:'userExpectation',pluralName:'userExpectations',subTypes:subTypes});return{UserExpectation:UserExpectation,INITIATOR_TYPE:INITIATOR_TYPE};});'use strict';tr.exportTo('tr.model.um',function(){function UserModel(parentModel){tr.model.EventContainer.call(this);this.parentModel_=parentModel;this.expectations_=new tr.model.EventSet();}
-UserModel.prototype={__proto__:tr.model.EventContainer.prototype,get stableId(){return'UserModel';},get parentModel(){return this.parentModel_;},sortExpectations:function(){this.expectations_.sortEvents((x,y)=>(x.start-y.start));},get expectations(){return this.expectations_;},shiftTimestampsForward:function(amount){},addCategoriesToDict:function(categoriesDict){},childEvents:function*(){yield*this.expectations;},childEventContainers:function*(){},updateBounds:function(){this.bounds.reset();this.expectations.forEach(function(expectation){expectation.addBoundsToRange(this.bounds);},this);}};return{UserModel:UserModel};});'use strict';tr.exportTo('tr',function(){var Process=tr.model.Process;var Device=tr.model.Device;var Kernel=tr.model.Kernel;var GlobalMemoryDump=tr.model.GlobalMemoryDump;var GlobalInstantEvent=tr.model.GlobalInstantEvent;var FlowEvent=tr.model.FlowEvent;var Alert=tr.model.Alert;var Sample=tr.model.Sample;function Model(){tr.model.EventContainer.call(this);tr.b.EventTarget.decorate(this);this.timestampShiftToZeroAmount_=0;this.faviconHue='blue';this.device=new Device(this);this.kernel=new Kernel(this);this.processes={};this.metadata=[];this.categories=[];this.instantEvents=[];this.flowEvents=[];this.clockSyncManager=new tr.model.ClockSyncManager();this.intrinsicTimeUnit_=undefined;this.stackFrames={};this.samples=[];this.alerts=[];this.userModel=new tr.model.um.UserModel(this);this.flowIntervalTree=new tr.b.IntervalTree((f)=>f.start,(f)=>f.end);this.globalMemoryDumps=[];this.userFriendlyCategoryDrivers_=[];this.annotationsByGuid_={};this.modelIndices=undefined;this.stats=new tr.model.ModelStats();this.importWarnings_=[];this.reportedImportWarnings_={};this.isTimeHighResolution_=true;this.patchupsToApply_=[];this.doesHelperGUIDSupportThisModel_={};this.helpersByConstructorGUID_={};this.eventsByStableId_=undefined;}
-Model.prototype={__proto__:tr.model.EventContainer.prototype,getEventByStableId:function(stableId){if(this.eventsByStableId_===undefined){this.eventsByStableId_={};for(var event of this.getDescendantEvents()){this.eventsByStableId_[event.stableId]=event;}}
-return this.eventsByStableId_[stableId];},getOrCreateHelper:function(constructor){if(!constructor.guid)
-throw new Error('Helper constructors must have GUIDs');if(this.helpersByConstructorGUID_[constructor.guid]===undefined){if(this.doesHelperGUIDSupportThisModel_[constructor.guid]===undefined){this.doesHelperGUIDSupportThisModel_[constructor.guid]=constructor.supportsModel(this);}
-if(!this.doesHelperGUIDSupportThisModel_[constructor.guid])
-return undefined;this.helpersByConstructorGUID_[constructor.guid]=new constructor(this);}
-return this.helpersByConstructorGUID_[constructor.guid];},childEvents:function*(){yield*this.globalMemoryDumps;yield*this.instantEvents;yield*this.flowEvents;yield*this.alerts;yield*this.samples;},childEventContainers:function*(){yield this.userModel;yield this.device;yield this.kernel;yield*tr.b.dictionaryValues(this.processes);},iterateAllPersistableObjects:function(callback){this.kernel.iterateAllPersistableObjects(callback);for(var pid in this.processes)
-this.processes[pid].iterateAllPersistableObjects(callback);},updateBounds:function(){this.bounds.reset();var bounds=this.bounds;for(var ec of this.childEventContainers()){ec.updateBounds();bounds.addRange(ec.bounds);}
-for(var event of this.childEvents())
-event.addBoundsToRange(bounds);},shiftWorldToZero:function(){var shiftAmount=-this.bounds.min;this.timestampShiftToZeroAmount_=shiftAmount;for(var ec of this.childEventContainers())
-ec.shiftTimestampsForward(shiftAmount);for(var event of this.childEvents())
-event.start+=shiftAmount;this.updateBounds();},convertTimestampToModelTime:function(sourceClockDomainName,ts){if(sourceClockDomainName!=='traceEventClock')
-throw new Error('Only traceEventClock is supported.');return tr.b.Unit.timestampFromUs(ts)+
-this.timestampShiftToZeroAmount_;},get numProcesses(){var n=0;for(var p in this.processes)
-n++;return n;},getProcess:function(pid){return this.processes[pid];},getOrCreateProcess:function(pid){if(!this.processes[pid])
-this.processes[pid]=new Process(this,pid);return this.processes[pid];},addStackFrame:function(stackFrame){if(this.stackFrames[stackFrame.id])
-throw new Error('Stack frame already exists');this.stackFrames[stackFrame.id]=stackFrame;return stackFrame;},updateCategories_:function(){var categoriesDict={};this.userModel.addCategoriesToDict(categoriesDict);this.device.addCategoriesToDict(categoriesDict);this.kernel.addCategoriesToDict(categoriesDict);for(var pid in this.processes)
-this.processes[pid].addCategoriesToDict(categoriesDict);this.categories=[];for(var category in categoriesDict)
-if(category!='')
-this.categories.push(category);},getAllThreads:function(){var threads=[];for(var tid in this.kernel.threads){threads.push(process.threads[tid]);}
-for(var pid in this.processes){var process=this.processes[pid];for(var tid in process.threads){threads.push(process.threads[tid]);}}
-return threads;},getAllProcesses:function(opt_predicate){var processes=[];for(var pid in this.processes){var process=this.processes[pid];if(opt_predicate===undefined||opt_predicate(process))
-processes.push(process);}
-return processes;},getAllCounters:function(){var counters=[];counters.push.apply(counters,tr.b.dictionaryValues(this.device.counters));counters.push.apply(counters,tr.b.dictionaryValues(this.kernel.counters));for(var pid in this.processes){var process=this.processes[pid];for(var tid in process.counters){counters.push(process.counters[tid]);}}
-return counters;},getAnnotationByGUID:function(guid){return this.annotationsByGuid_[guid];},addAnnotation:function(annotation){if(!annotation.guid)
-throw new Error('Annotation with undefined guid given');this.annotationsByGuid_[annotation.guid]=annotation;tr.b.dispatchSimpleEvent(this,'annotationChange');},removeAnnotation:function(annotation){this.annotationsByGuid_[annotation.guid].onRemove();delete this.annotationsByGuid_[annotation.guid];tr.b.dispatchSimpleEvent(this,'annotationChange');},getAllAnnotations:function(){return tr.b.dictionaryValues(this.annotationsByGuid_);},addUserFriendlyCategoryDriver:function(ufcd){this.userFriendlyCategoryDrivers_.push(ufcd);},getUserFriendlyCategoryFromEvent:function(event){for(var i=0;i<this.userFriendlyCategoryDrivers_.length;i++){var ufc=this.userFriendlyCategoryDrivers_[i].fromEvent(event);if(ufc!==undefined)
-return ufc;}
-return undefined;},findAllThreadsNamed:function(name){var namedThreads=[];namedThreads.push.apply(namedThreads,this.kernel.findAllThreadsNamed(name));for(var pid in this.processes){namedThreads.push.apply(namedThreads,this.processes[pid].findAllThreadsNamed(name));}
-return namedThreads;},get importOptions(){return this.importOptions_;},set importOptions(options){this.importOptions_=options;},get intrinsicTimeUnit(){if(this.intrinsicTimeUnit_===undefined)
-return tr.b.TimeDisplayModes.ms;return this.intrinsicTimeUnit_;},set intrinsicTimeUnit(value){if(this.intrinsicTimeUnit_===value)
-return;if(this.intrinsicTimeUnit_!==undefined)
-throw new Error('Intrinsic time unit already set');this.intrinsicTimeUnit_=value;},get isTimeHighResolution(){return this.isTimeHighResolution_;},set isTimeHighResolution(value){this.isTimeHighResolution_=value;},get canonicalUrl(){return this.canonicalUrl_;},set canonicalUrl(value){if(this.canonicalUrl_===value)
-return;if(this.canonicalUrl_!==undefined)
-throw new Error('canonicalUrl already set');this.canonicalUrl_=value;},importWarning:function(data){data.showToUser=!!data.showToUser;this.importWarnings_.push(data);if(this.reportedImportWarnings_[data.type]===true)
-return;if(this.importOptions_.showImportWarnings)
-console.warn(data.message);this.reportedImportWarnings_[data.type]=true;},get hasImportWarnings(){return(this.importWarnings_.length>0);},get importWarnings(){return this.importWarnings_;},get importWarningsThatShouldBeShownToUser(){return this.importWarnings_.filter(function(warning){return warning.showToUser;});},autoCloseOpenSlices:function(){this.samples.sort(function(x,y){return x.start-y.start;});this.updateBounds();this.kernel.autoCloseOpenSlices();for(var pid in this.processes)
-this.processes[pid].autoCloseOpenSlices();},createSubSlices:function(){this.kernel.createSubSlices();for(var pid in this.processes)
-this.processes[pid].createSubSlices();},preInitializeObjects:function(){for(var pid in this.processes)
-this.processes[pid].preInitializeObjects();},initializeObjects:function(){for(var pid in this.processes)
-this.processes[pid].initializeObjects();},pruneEmptyContainers:function(){this.kernel.pruneEmptyContainers();for(var pid in this.processes)
-this.processes[pid].pruneEmptyContainers();},mergeKernelWithUserland:function(){for(var pid in this.processes)
-this.processes[pid].mergeKernelWithUserland();},computeWorldBounds:function(shiftWorldToZero){this.updateBounds();this.updateCategories_();if(shiftWorldToZero)
-this.shiftWorldToZero();},buildFlowEventIntervalTree:function(){for(var i=0;i<this.flowEvents.length;++i){var flowEvent=this.flowEvents[i];this.flowIntervalTree.insert(flowEvent);}
-this.flowIntervalTree.updateHighValues();},cleanupUndeletedObjects:function(){for(var pid in this.processes)
-this.processes[pid].autoDeleteObjects(this.bounds.max);},sortMemoryDumps:function(){this.globalMemoryDumps.sort(function(x,y){return x.start-y.start;});for(var pid in this.processes)
-this.processes[pid].sortMemoryDumps();},finalizeMemoryGraphs:function(){this.globalMemoryDumps.forEach(function(dump){dump.finalizeGraph();});},buildEventIndices:function(){this.modelIndices=new tr.model.ModelIndices(this);},sortAlerts:function(){this.alerts.sort(function(x,y){return x.start-y.start;});},applyObjectRefPatchups:function(){var unresolved=[];this.patchupsToApply_.forEach(function(patchup){if(patchup.pidRef in this.processes){var snapshot=this.processes[patchup.pidRef].objects.getSnapshotAt(patchup.scopedId,patchup.ts);if(snapshot){patchup.object[patchup.field]=snapshot;snapshot.referencedAt(patchup.item,patchup.object,patchup.field);return;}}
-unresolved.push(patchup);},this);this.patchupsToApply_=unresolved;},replacePIDRefsInPatchups:function(oldPidRef,newPidRef){this.patchupsToApply_.forEach(function(patchup){if(patchup.pidRef===oldPidRef){patchup.pidRef=newPidRef;}});},joinRefs:function(){this.joinObjectRefs_();this.applyObjectRefPatchups();},joinObjectRefs_:function(){tr.b.iterItems(this.processes,function(pid,process){this.joinObjectRefsForProcess_(pid,process);},this);},joinObjectRefsForProcess_:function(pid,process){tr.b.iterItems(process.threads,function(tid,thread){thread.asyncSliceGroup.slices.forEach(function(item){this.searchItemForIDRefs_(pid,'start',item);},this);thread.sliceGroup.slices.forEach(function(item){this.searchItemForIDRefs_(pid,'start',item);},this);},this);process.objects.iterObjectInstances(function(instance){instance.snapshots.forEach(function(item){this.searchItemForIDRefs_(pid,'ts',item);},this);},this);},searchItemForIDRefs_:function(pid,itemTimestampField,item){if(!item.args&&!item.contexts)
-return;var patchupsToApply=this.patchupsToApply_;function handleField(object,fieldName,fieldValue){if(!fieldValue||(!fieldValue.id_ref&&!fieldValue.idRef))
-return;var scope=fieldValue.scope||tr.model.OBJECT_DEFAULT_SCOPE;var idRef=fieldValue.id_ref||fieldValue.idRef;var scopedId=new tr.model.ScopedId(scope,idRef);var pidRef=fieldValue.pid_ref||fieldValue.pidRef||pid;var ts=item[itemTimestampField];patchupsToApply.push({item:item,object:object,field:fieldName,pidRef:pidRef,scopedId:scopedId,ts:ts});}
-function iterObjectFieldsRecursively(object){if(!(object instanceof Object))
-return;if((object instanceof tr.model.ObjectSnapshot)||(object instanceof Float32Array)||(object instanceof tr.b.Quad))
-return;if(object instanceof Array){for(var i=0;i<object.length;i++){handleField(object,i,object[i]);iterObjectFieldsRecursively(object[i]);}
-return;}
-for(var key in object){var value=object[key];handleField(object,key,value);iterObjectFieldsRecursively(value);}}
-iterObjectFieldsRecursively(item.args);iterObjectFieldsRecursively(item.contexts);}};return{Model:Model};});'use strict';tr.exportTo('tr.model',function(){function ScopedId(scope,id){if(scope===undefined){throw new Error('Scope should be defined. Use \''+
-tr.model.OBJECT_DEFAULT_SCOPE+'\' as the default scope.');}
-this.scope=scope;this.id=id;}
-ScopedId.prototype={toString:function(){return'{scope: '+this.scope+', id: '+this.id+'}';}};return{ScopedId:ScopedId};});'use strict';tr.exportTo('tr.ui.annotations',function(){function XMarkerAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;}
-XMarkerAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,draw:function(ctx){var dt=this.viewport_.currentDisplayTransform;var viewX=dt.xWorldToView(this.annotation_.timestamp);ctx.beginPath();tr.ui.b.drawLine(ctx,viewX,0,viewX,ctx.canvas.height);ctx.strokeStyle=this.annotation_.strokeStyle;ctx.stroke();}};return{XMarkerAnnotationView:XMarkerAnnotationView};});'use strict';tr.exportTo('tr.model',function(){function XMarkerAnnotation(timestamp){tr.model.Annotation.apply(this,arguments);this.timestamp=timestamp;this.strokeStyle='rgba(0, 0, 255, 0.5)';}
-XMarkerAnnotation.fromDict=function(dict){return new XMarkerAnnotation(dict.args.timestamp);}
-XMarkerAnnotation.prototype={__proto__:tr.model.Annotation.prototype,toDict:function(){return{typeName:'xmarker',args:{timestamp:this.timestamp}};},createView_:function(viewport){return new tr.ui.annotations.XMarkerAnnotationView(viewport,this);}};tr.model.Annotation.register(XMarkerAnnotation,{typeName:'xmarker'});return{XMarkerAnnotation:XMarkerAnnotation};});'use strict';tr.exportTo('tr.e.importer',function(){var Base64=tr.b.Base64;var deepCopy=tr.b.deepCopy;var ColorScheme=tr.b.ColorScheme;function getEventColor(event,opt_customName){if(event.cname)
-return ColorScheme.getColorIdForReservedName(event.cname);else if(opt_customName||event.name){return ColorScheme.getColorIdForGeneralPurposeString(opt_customName||event.name);}}
-var PRODUCER='producer';var CONSUMER='consumer';var STEP='step';var BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;var LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;var DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;var MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER=[undefined,BACKGROUND,LIGHT,DETAILED];var GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX='global/';var ASYNC_CLOCK_SYNC_EVENT_TITLE_PREFIX='ClockSyncEvent.';var BYTE_STAT_NAME_MAP={'pc':'privateCleanResident','pd':'privateDirtyResident','sc':'sharedCleanResident','sd':'sharedDirtyResident','pss':'proportionalResident','sw':'swapped'};var WEAK_MEMORY_ALLOCATOR_DUMP_FLAG=1<<0;var OBJECT_TYPE_NAME_PATTERNS=[{prefix:'const char *WTF::getStringWithTypeName() [T = ',suffix:']'},{prefix:'const char* WTF::getStringWithTypeName() [with T = ',suffix:']'},{prefix:'const char *__cdecl WTF::getStringWithTypeName<',suffix:'>(void)'}];var SUBTRACE_FIELDS=new Set(['powerTraceAsString','systemTraceEvents',]);var NON_METADATA_FIELDS=new Set(['samples','stackFrames','traceAnnotations','traceEvents']);for(var subtraceField in SUBTRACE_FIELDS)
-NON_METADATA_FIELDS.add(subtraceField);function TraceEventImporter(model,eventData){this.importPriority=1;this.model_=model;this.events_=undefined;this.sampleEvents_=undefined;this.stackFrameEvents_=undefined;this.subtraces_=[];this.eventsWereFromString_=false;this.softwareMeasuredCpuCount_=undefined;this.allAsyncEvents_=[];this.allFlowEvents_=[];this.allObjectEvents_=[];this.contextProcessorPerThread={};this.traceEventSampleStackFramesByName_={};this.v8ProcessCodeMaps_={};this.v8ProcessRootStackFrame_={};this.v8SamplingData_=[];this.asyncClockSyncStart_=undefined;this.asyncClockSyncFinish_=undefined;this.allMemoryDumpEvents_={};this.objectTypeNameMap_={};this.clockDomainId_=tr.model.ClockDomainId.UNKNOWN_CHROME_LEGACY;this.toModelTime_=undefined;if(typeof(eventData)==='string'||eventData instanceof String){eventData=eventData.trim();if(eventData[0]==='['){eventData=eventData.replace(/\s*,\s*$/,'');if(eventData[eventData.length-1]!==']')
-eventData=eventData+']';}
-this.events_=JSON.parse(eventData);this.eventsWereFromString_=true;}else{this.events_=eventData;}
-this.traceAnnotations_=this.events_.traceAnnotations;if(this.events_.traceEvents){var container=this.events_;this.events_=this.events_.traceEvents;for(var subtraceField of SUBTRACE_FIELDS)
-if(container[subtraceField])
-this.subtraces_.push(container[subtraceField]);this.sampleEvents_=container.samples;this.stackFrameEvents_=container.stackFrames;if(container.displayTimeUnit){var unitName=container.displayTimeUnit;var unit=tr.b.TimeDisplayModes[unitName];if(unit===undefined){throw new Error('Unit '+unitName+' is not supported.');}
-this.model_.intrinsicTimeUnit=unit;}
-for(var fieldName in container){if(NON_METADATA_FIELDS.has(fieldName))
-continue;this.model_.metadata.push({name:fieldName,value:container[fieldName]});if(fieldName==='metadata'){var metadata=container[fieldName];if(metadata['highres-ticks'])
-this.model_.isTimeHighResolution=metadata['highres-ticks'];if(metadata['clock-domain'])
-this.clockDomainId_=metadata['clock-domain'];}}}}
-TraceEventImporter.canImport=function(eventData){if(typeof(eventData)==='string'||eventData instanceof String){eventData=eventData.trim();return eventData[0]==='{'||eventData[0]==='[';}
-if(eventData instanceof Array&&eventData.length&&eventData[0].ph)
-return true;if(eventData.traceEvents){if(eventData.traceEvents instanceof Array){if(eventData.traceEvents.length&&eventData.traceEvents[0].ph)
-return true;if(eventData.samples.length&&eventData.stackFrames!==undefined)
-return true;}}
-return false;};TraceEventImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'TraceEventImporter';},extractSubtraces:function(){var subtraces=this.subtraces_;this.subtraces_=[];return subtraces;},deepCopyIfNeeded_:function(obj){if(obj===undefined)
-obj={};if(this.eventsWereFromString_)
-return obj;return deepCopy(obj);},deepCopyAlways_:function(obj){if(obj===undefined)
-obj={};return deepCopy(obj);},processAsyncEvent:function(event){var thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allAsyncEvents_.push({sequenceNumber:this.allAsyncEvents_.length,event:event,thread:thread});},processFlowEvent:function(event,opt_slice){var thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allFlowEvents_.push({refGuid:tr.b.GUID.getLastSimpleGuid(),sequenceNumber:this.allFlowEvents_.length,event:event,slice:opt_slice,thread:thread});},processCounterEvent:function(event){var ctrName;if(event.id!==undefined)
-ctrName=event.name+'['+event.id+']';else
-ctrName=event.name;var ctr=this.model_.getOrCreateProcess(event.pid).getOrCreateCounter(event.cat,ctrName);var reservedColorId=event.cname?getEventColor(event):undefined;if(ctr.numSeries===0){for(var seriesName in event.args){var colorId=reservedColorId||getEventColor(event,ctr.name+'.'+seriesName);ctr.addSeries(new tr.model.CounterSeries(seriesName,colorId));}
-if(ctr.numSeries===0){this.model_.importWarning({type:'counter_parse_error',message:'Expected counter '+event.name+' to have at least one argument to use as a value.'});delete ctr.parent.counters[ctr.name];return;}}
-var ts=this.toModelTimeFromUs_(event.ts);ctr.series.forEach(function(series){var val=event.args[series.name]?event.args[series.name]:0;series.addCounterSample(ts,val);});},scopedIdForEvent_:function(event){return new tr.model.ScopedId(event.scope||tr.model.OBJECT_DEFAULT_SCOPE,event.id);},processObjectEvent:function(event){var thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allObjectEvents_.push({sequenceNumber:this.allObjectEvents_.length,event:event,thread:thread});if(thread.guid in this.contextProcessorPerThread){var processor=this.contextProcessorPerThread[thread.guid];var scopedId=this.scopedIdForEvent_(event);if(event.ph==='D')
-processor.destroyContext(scopedId);processor.invalidateContextCacheForSnapshot(scopedId);}},processContextEvent:function(event){var thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);if(!(thread.guid in this.contextProcessorPerThread)){this.contextProcessorPerThread[thread.guid]=new tr.importer.ContextProcessor(this.model_);}
-var scopedId=this.scopedIdForEvent_(event);var contextType=event.name;var processor=this.contextProcessorPerThread[thread.guid];if(event.ph==='('){processor.enterContext(contextType,scopedId);}else if(event.ph===')'){processor.leaveContext(contextType,scopedId);}else{this.model_.importWarning({type:'unknown_context_phase',message:'Unknown context event phase: '+event.ph+'.'});}},setContextsFromThread_:function(thread,slice){if(thread.guid in this.contextProcessorPerThread){slice.contexts=this.contextProcessorPerThread[thread.guid].activeContexts;}},processDurationEvent:function(event){var thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);var ts=this.toModelTimeFromUs_(event.ts);if(!thread.sliceGroup.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'duration_parse_error',message:'Timestamps are moving backward.'});return;}
-if(event.ph==='B'){var slice=thread.sliceGroup.beginSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args),this.toModelTimeFromUs_(event.tts),event.argsStripped,getEventColor(event));slice.startStackFrame=this.getStackFrameForEvent_(event);this.setContextsFromThread_(thread,slice);}else if(event.ph==='I'||event.ph==='i'||event.ph==='R'){if(event.s!==undefined&&event.s!=='t')
-throw new Error('This should never happen');thread.sliceGroup.beginSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args),this.toModelTimeFromUs_(event.tts),event.argsStripped,getEventColor(event));var slice=thread.sliceGroup.endSlice(this.toModelTimeFromUs_(event.ts),this.toModelTimeFromUs_(event.tts));slice.startStackFrame=this.getStackFrameForEvent_(event);slice.endStackFrame=undefined;}else{if(!thread.sliceGroup.openSliceCount){this.model_.importWarning({type:'duration_parse_error',message:'E phase event without a matching B phase event.'});return;}
-var slice=thread.sliceGroup.endSlice(this.toModelTimeFromUs_(event.ts),this.toModelTimeFromUs_(event.tts),getEventColor(event));if(event.name&&slice.title!=event.name){this.model_.importWarning({type:'title_match_error',message:'Titles do not match. Title is '+
-slice.title+' in openSlice, and is '+
-event.name+' in endSlice'});}
-slice.endStackFrame=this.getStackFrameForEvent_(event);this.mergeArgsInto_(slice.args,event.args,slice.title);}},mergeArgsInto_:function(dstArgs,srcArgs,eventName){for(var arg in srcArgs){if(dstArgs[arg]!==undefined){this.model_.importWarning({type:'arg_merge_error',message:'Different phases of '+eventName+' provided values for argument '+arg+'.'+' The last provided value will be used.'});}
-dstArgs[arg]=this.deepCopyIfNeeded_(srcArgs[arg]);}},processCompleteEvent:function(event){if(event.cat!==undefined&&event.cat.indexOf('trace_event_overhead')>-1)
-return undefined;var thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);if(event.flow_out){if(event.flow_in)
-event.flowPhase=STEP;else
-event.flowPhase=PRODUCER;}else if(event.flow_in){event.flowPhase=CONSUMER;}
-var slice=thread.sliceGroup.pushCompleteSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.maybeToModelTimeFromUs_(event.dur),this.maybeToModelTimeFromUs_(event.tts),this.maybeToModelTimeFromUs_(event.tdur),this.deepCopyIfNeeded_(event.args),event.argsStripped,getEventColor(event),event.bind_id);slice.startStackFrame=this.getStackFrameForEvent_(event);slice.endStackFrame=this.getStackFrameForEvent_(event,true);this.setContextsFromThread_(thread,slice);return slice;},processJitCodeEvent:function(event){if(this.v8ProcessCodeMaps_[event.pid]===undefined)
-this.v8ProcessCodeMaps_[event.pid]=new tr.e.importer.TraceCodeMap();var map=this.v8ProcessCodeMaps_[event.pid];var data=event.args.data;if(event.name==='JitCodeMoved')
-map.moveEntry(data.code_start,data.new_code_start,data.code_len);else
-map.addEntry(data.code_start,data.code_len,data.name,data.script_id);},processMetadataEvent:function(event){if(event.name==='JitCodeAdded'||event.name==='JitCodeMoved'){this.v8SamplingData_.push(event);return;}
-if(event.argsStripped)
-return;if(event.name==='process_name'){var process=this.model_.getOrCreateProcess(event.pid);process.name=event.args.name;}else if(event.name==='process_labels'){var process=this.model_.getOrCreateProcess(event.pid);var labels=event.args.labels.split(',');for(var i=0;i<labels.length;i++)
-process.addLabelIfNeeded(labels[i]);}else if(event.name==='process_sort_index'){var process=this.model_.getOrCreateProcess(event.pid);process.sortIndex=event.args.sort_index;}else if(event.name==='thread_name'){var thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);thread.name=event.args.name;}else if(event.name==='thread_sort_index'){var thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);thread.sortIndex=event.args.sort_index;}else if(event.name==='num_cpus'){var n=event.args.number;if(this.softwareMeasuredCpuCount_!==undefined)
-n=Math.max(n,this.softwareMeasuredCpuCount_);this.softwareMeasuredCpuCount_=n;}else if(event.name==='stackFrames'){var stackFrames=event.args.stackFrames;if(stackFrames===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'No stack frames found in a \''+event.name+'\' metadata event'});}else{this.importStackFrames_(stackFrames,'p'+event.pid+':');}}else if(event.name==='typeNames'){var objectTypeNameMap=event.args.typeNames;if(objectTypeNameMap===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'No mapping from object type IDs to names found in a \''+
-event.name+'\' metadata event'});}else{this.importObjectTypeNameMap_(objectTypeNameMap,event.pid);}}else if(event.name==='TraceConfig'){this.model_.metadata.push({name:'TraceConfig',value:event.args.value});}else{this.model_.importWarning({type:'metadata_parse_error',message:'Unrecognized metadata name: '+event.name});}},processInstantEvent:function(event){if(event.name==='JitCodeAdded'||event.name==='JitCodeMoved'){this.v8SamplingData_.push(event);return;}
-if(event.s==='t'||event.s===undefined){this.processDurationEvent(event);return;}
-var constructor;switch(event.s){case'g':constructor=tr.model.GlobalInstantEvent;break;case'p':constructor=tr.model.ProcessInstantEvent;break;default:this.model_.importWarning({type:'instant_parse_error',message:'I phase event with unknown "s" field value.'});return;}
-var instantEvent=new constructor(event.cat,event.name,getEventColor(event),this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args));switch(instantEvent.type){case tr.model.InstantEventType.GLOBAL:this.model_.instantEvents.push(instantEvent);break;case tr.model.InstantEventType.PROCESS:var process=this.model_.getOrCreateProcess(event.pid);process.instantEvents.push(instantEvent);break;default:throw new Error('Unknown instant event type: '+event.s);}},processV8Sample:function(event){var data=event.args.data;if(data.vm_state==='js'&&!data.stack.length)
-return;var rootStackFrame=this.v8ProcessRootStackFrame_[event.pid];if(!rootStackFrame){rootStackFrame=new tr.model.StackFrame(undefined,'v8-root-stack-frame','v8-root-stack-frame',0);this.v8ProcessRootStackFrame_[event.pid]=rootStackFrame;}
-function findChildWithEntryID(stackFrame,entryID){return tr.b.findFirstInArray(stackFrame.children,function(child){return child.entryID===entryID;});}
-var model=this.model_;function addStackFrame(lastStackFrame,entry){var childFrame=findChildWithEntryID(lastStackFrame,entry.id);if(childFrame)
-return childFrame;var frame=new tr.model.StackFrame(lastStackFrame,tr.b.GUID.allocateSimple(),entry.name,ColorScheme.getColorIdForGeneralPurposeString(entry.name),entry.sourceInfo);frame.entryID=entry.id;model.addStackFrame(frame);return frame;}
-var lastStackFrame=rootStackFrame;if(data.stack.length>0&&this.v8ProcessCodeMaps_[event.pid]){var map=this.v8ProcessCodeMaps_[event.pid];data.stack.reverse();for(var i=0;i<data.stack.length;i++){var entry=map.lookupEntry(data.stack[i]);if(entry===undefined){entry={id:'unknown',name:'unknown',sourceInfo:undefined};}
-lastStackFrame=addStackFrame(lastStackFrame,entry);}}else{var entry={id:data.vm_state,name:data.vm_state,sourceInfo:undefined};lastStackFrame=addStackFrame(lastStackFrame,entry);}
-var thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);var sample=new tr.model.Sample(undefined,thread,'V8 Sample',this.toModelTimeFromUs_(event.ts),lastStackFrame,1,this.deepCopyIfNeeded_(event.args));this.model_.samples.push(sample);},processTraceSampleEvent:function(event){if(event.name==='V8Sample'){this.v8SamplingData_.push(event);return;}
-var stackFrame=this.getStackFrameForEvent_(event);if(stackFrame===undefined){stackFrame=this.traceEventSampleStackFramesByName_[event.name];}
-if(stackFrame===undefined){var id='te-'+tr.b.GUID.allocateSimple();stackFrame=new tr.model.StackFrame(undefined,id,event.name,ColorScheme.getColorIdForGeneralPurposeString(event.name));this.model_.addStackFrame(stackFrame);this.traceEventSampleStackFramesByName_[event.name]=stackFrame;}
-var thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);var sample=new tr.model.Sample(undefined,thread,'Trace Event Sample',this.toModelTimeFromUs_(event.ts),stackFrame,1,this.deepCopyIfNeeded_(event.args));this.setContextsFromThread_(thread,sample);this.model_.samples.push(sample);},processMemoryDumpEvent:function(event){if(event.ph!=='v')
-throw new Error('Invalid memory dump event phase "'+event.ph+'".');var dumpId=event.id;if(dumpId===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory dump event (phase \''+event.ph+'\') without a dump ID.'});return;}
-var pid=event.pid;if(pid===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory dump event (phase\''+event.ph+'\', dump ID \''+
-dumpId+'\') without a PID.'});return;}
-var allEvents=this.allMemoryDumpEvents_;var dumpIdEvents=allEvents[dumpId];if(dumpIdEvents===undefined)
-allEvents[dumpId]=dumpIdEvents={};var processEvents=dumpIdEvents[pid];if(processEvents===undefined)
-dumpIdEvents[pid]=processEvents=[];processEvents.push(event);},processClockSyncEvent:function(event){if(event.ph!=='c')
-throw new Error('Invalid clock sync event phase "'+event.ph+'".');var syncId=event.args.sync_id;if(syncId===undefined){this.model_.importWarning({type:'clock_sync_parse_error',message:'Clock sync at time '+event.ts+' without an ID.'});return;}
-if(event.args&&event.args.issue_ts!==undefined){this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,syncId,tr.b.Unit.timestampFromUs(event.args.issue_ts),tr.b.Unit.timestampFromUs(event.ts));}else{this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,syncId,tr.b.Unit.timestampFromUs(event.ts));}},processV8Events:function(){this.v8SamplingData_.sort(function(a,b){if(a.ts!==b.ts)
-return a.ts-b.ts;if(a.ph==='M'||a.ph==='I')
-return-1;else if(b.ph==='M'||b.ph==='I')
-return 1;return 0;});var length=this.v8SamplingData_.length;for(var i=0;i<length;++i){var event=this.v8SamplingData_[i];if(event.ph==='M'||event.ph==='I'){this.processJitCodeEvent(event);}else if(event.ph==='P'){this.processV8Sample(event);}}},initBackcompatClockSyncEventTracker_:function(event){if(event.name!==undefined&&event.name.startsWith(ASYNC_CLOCK_SYNC_EVENT_TITLE_PREFIX)&&event.ph==='S')
-this.asyncClockSyncStart_=event;if(event.name!==undefined&&event.name.startsWith(ASYNC_CLOCK_SYNC_EVENT_TITLE_PREFIX)&&event.ph==='F')
-this.asyncClockSyncFinish_=event;if(this.asyncClockSyncStart_==undefined||this.asyncClockSyncFinish_==undefined)
-return;var syncId=this.asyncClockSyncStart_.name.substring(ASYNC_CLOCK_SYNC_EVENT_TITLE_PREFIX.length);if(syncId!==this.asyncClockSyncFinish_.name.substring(ASYNC_CLOCK_SYNC_EVENT_TITLE_PREFIX.length)){throw new Error('Inconsistent clock sync id of async clock sync '+'events.');}
-var clockSyncEvent={ph:'c',args:{sync_id:syncId,issue_ts:this.asyncClockSyncStart_.ts},ts:this.asyncClockSyncFinish_.ts,};this.asyncClockSyncStart_=undefined;this.asyncClockSyncFinish_=undefined;return clockSyncEvent;},importClockSyncMarkers:function(){var asyncClockSyncStart,asyncClockSyncFinish;for(var i=0;i<this.events_.length;i++){var event=this.events_[i];var possibleBackCompatClockSyncEvent=this.initBackcompatClockSyncEventTracker_(event);if(possibleBackCompatClockSyncEvent)
-this.processClockSyncEvent(possibleBackCompatClockSyncEvent);if(event.ph!=='c')
-continue;var eventSizeInBytes=this.model_.importOptions.trackDetailedModelStats?JSON.stringify(event).length:undefined;this.model_.stats.willProcessBasicTraceEvent('clock_sync',event.cat,event.name,event.ts,eventSizeInBytes);this.processClockSyncEvent(event);}},importEvents:function(){if(this.stackFrameEvents_)
-this.importStackFrames_(this.stackFrameEvents_,'g');if(this.traceAnnotations_)
-this.importAnnotations_();var importOptions=this.model_.importOptions;var trackDetailedModelStats=importOptions.trackDetailedModelStats;var modelStats=this.model_.stats;var events=this.events_;for(var eI=0;eI<events.length;eI++){var event=events[eI];if(event.args==='__stripped__'){event.argsStripped=true;event.args=undefined;}
-var eventSizeInBytes;if(trackDetailedModelStats)
-eventSizeInBytes=JSON.stringify(event).length;else
-eventSizeInBytes=undefined;if(event.ph==='B'||event.ph==='E'){modelStats.willProcessBasicTraceEvent('begin_end (non-compact)',event.cat,event.name,event.ts,eventSizeInBytes);this.processDurationEvent(event);}else if(event.ph==='X'){modelStats.willProcessBasicTraceEvent('begin_end (compact)',event.cat,event.name,event.ts,eventSizeInBytes);var slice=this.processCompleteEvent(event);if(slice!==undefined&&event.bind_id!==undefined)
-this.processFlowEvent(event,slice);}else if(event.ph==='b'||event.ph==='e'||event.ph==='n'||event.ph==='S'||event.ph==='F'||event.ph==='T'||event.ph==='p'){modelStats.willProcessBasicTraceEvent('async',event.cat,event.name,event.ts,eventSizeInBytes);this.processAsyncEvent(event);}else if(event.ph==='I'||event.ph==='i'||event.ph==='R'){modelStats.willProcessBasicTraceEvent('instant',event.cat,event.name,event.ts,eventSizeInBytes);this.processInstantEvent(event);}else if(event.ph==='P'){modelStats.willProcessBasicTraceEvent('samples',event.cat,event.name,event.ts,eventSizeInBytes);this.processTraceSampleEvent(event);}else if(event.ph==='C'){modelStats.willProcessBasicTraceEvent('counters',event.cat,event.name,event.ts,eventSizeInBytes);this.processCounterEvent(event);}else if(event.ph==='M'){modelStats.willProcessBasicTraceEvent('metadata',event.cat,event.name,event.ts,eventSizeInBytes);this.processMetadataEvent(event);}else if(event.ph==='N'||event.ph==='D'||event.ph==='O'){modelStats.willProcessBasicTraceEvent('objects',event.cat,event.name,event.ts,eventSizeInBytes);this.processObjectEvent(event);}else if(event.ph==='s'||event.ph==='t'||event.ph==='f'){modelStats.willProcessBasicTraceEvent('flows',event.cat,event.name,event.ts,eventSizeInBytes);this.processFlowEvent(event);}else if(event.ph==='v'){modelStats.willProcessBasicTraceEvent('memory_dumps',event.cat,event.name,event.ts,eventSizeInBytes);this.processMemoryDumpEvent(event);}else if(event.ph==='('||event.ph===')'){this.processContextEvent(event);}else if(event.ph==='c'){}else{modelStats.willProcessBasicTraceEvent('unknown',event.cat,event.name,event.ts,eventSizeInBytes);this.model_.importWarning({type:'parse_error',message:'Unrecognized event phase: '+
-event.ph+' ('+event.name+')'});}}
-this.processV8Events();tr.b.iterItems(this.v8ProcessRootStackFrame_,function(name,frame){frame.removeAllChildren();});},importStackFrames_:function(rawStackFrames,idPrefix){var model=this.model_;for(var id in rawStackFrames){var rawStackFrame=rawStackFrames[id];var fullId=idPrefix+id;var textForColor=rawStackFrame.category?rawStackFrame.category:rawStackFrame.name;var stackFrame=new tr.model.StackFrame(undefined,fullId,rawStackFrame.name,ColorScheme.getColorIdForGeneralPurposeString(textForColor));model.addStackFrame(stackFrame);}
-for(var id in rawStackFrames){var fullId=idPrefix+id;var stackFrame=model.stackFrames[fullId];if(stackFrame===undefined)
-throw new Error('Internal error');var rawStackFrame=rawStackFrames[id];var parentId=rawStackFrame.parent;var parentStackFrame;if(parentId===undefined){parentStackFrame=undefined;}else{var parentFullId=idPrefix+parentId;parentStackFrame=model.stackFrames[parentFullId];if(parentStackFrame===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'Missing parent frame with ID '+parentFullId+' for stack frame \''+stackFrame.name+'\' (ID '+fullId+').'});}}
-stackFrame.parentFrame=parentStackFrame;}},importObjectTypeNameMap_:function(rawObjectTypeNameMap,pid){if(pid in this.objectTypeNameMap_){this.model_.importWarning({type:'metadata_parse_error',message:'Mapping from object type IDs to names provided for pid='+
-pid+' multiple times.'});return;}
-var objectTypeNamePrefix=undefined;var objectTypeNameSuffix=undefined;var objectTypeNameMap={};for(var objectTypeId in rawObjectTypeNameMap){var rawObjectTypeName=rawObjectTypeNameMap[objectTypeId];if(objectTypeNamePrefix===undefined){for(var i=0;i<OBJECT_TYPE_NAME_PATTERNS.length;i++){var pattern=OBJECT_TYPE_NAME_PATTERNS[i];if(rawObjectTypeName.startsWith(pattern.prefix)&&rawObjectTypeName.endsWith(pattern.suffix)){objectTypeNamePrefix=pattern.prefix;objectTypeNameSuffix=pattern.suffix;break;}}}
-if(objectTypeNamePrefix!==undefined&&rawObjectTypeName.startsWith(objectTypeNamePrefix)&&rawObjectTypeName.endsWith(objectTypeNameSuffix)){objectTypeNameMap[objectTypeId]=rawObjectTypeName.substring(objectTypeNamePrefix.length,rawObjectTypeName.length-objectTypeNameSuffix.length);}else{objectTypeNameMap[objectTypeId]=rawObjectTypeName;}}
-this.objectTypeNameMap_[pid]=objectTypeNameMap;},importAnnotations_:function(){for(var id in this.traceAnnotations_){var annotation=tr.model.Annotation.fromDictIfPossible(this.traceAnnotations_[id]);if(!annotation){this.model_.importWarning({type:'annotation_warning',message:'Unrecognized traceAnnotation typeName \"'+
-this.traceAnnotations_[id].typeName+'\"'});continue;}
-this.model_.addAnnotation(annotation);}},finalizeImport:function(){if(this.softwareMeasuredCpuCount_!==undefined){this.model_.kernel.softwareMeasuredCpuCount=this.softwareMeasuredCpuCount_;}
-this.createAsyncSlices_();this.createFlowSlices_();this.createExplicitObjects_();this.createImplicitObjects_();this.createMemoryDumps_();},getStackFrameForEvent_:function(event,opt_lookForEndEvent){var sf;var stack;if(opt_lookForEndEvent){sf=event.esf;stack=event.estack;}else{sf=event.sf;stack=event.stack;}
-if(stack!==undefined&&sf!==undefined){this.model_.importWarning({type:'stack_frame_and_stack_error',message:'Event at '+event.ts+' cannot have both a stack and a stackframe.'});return undefined;}
-if(stack!==undefined)
-return this.model_.resolveStackToStackFrame_(event.pid,stack);if(sf===undefined)
-return undefined;var stackFrame=this.model_.stackFrames['g'+sf];if(stackFrame===undefined){this.model_.importWarning({type:'sample_import_error',message:'No frame for '+sf});return;}
-return stackFrame;},resolveStackToStackFrame_:function(pid,stack){return undefined;},importSampleData:function(){if(!this.sampleEvents_)
-return;var m=this.model_;var events=this.sampleEvents_;if(this.events_.length===0){for(var i=0;i<events.length;i++){var event=events[i];m.getOrCreateProcess(event.tid).getOrCreateThread(event.tid);}}
-var threadsByTid={};m.getAllThreads().forEach(function(t){threadsByTid[t.tid]=t;});for(var i=0;i<events.length;i++){var event=events[i];var thread=threadsByTid[event.tid];if(thread===undefined){m.importWarning({type:'sample_import_error',message:'Thread '+events.tid+'not found'});continue;}
-var cpu;if(event.cpu!==undefined)
-cpu=m.kernel.getOrCreateCpu(event.cpu);var stackFrame=this.getStackFrameForEvent_(event);var sample=new tr.model.Sample(cpu,thread,event.name,this.toModelTimeFromUs_(event.ts),stackFrame,event.weight);m.samples.push(sample);}},createAsyncSlices_:function(){if(this.allAsyncEvents_.length===0)
-return;this.allAsyncEvents_.sort(function(x,y){var d=x.event.ts-y.event.ts;if(d!==0)
-return d;return x.sequenceNumber-y.sequenceNumber;});var legacyEvents=[];var nestableAsyncEventsByKey={};var nestableMeasureAsyncEventsByKey={};for(var i=0;i<this.allAsyncEvents_.length;i++){var asyncEventState=this.allAsyncEvents_[i];var event=asyncEventState.event;if(event.ph==='S'||event.ph==='F'||event.ph==='T'||event.ph==='p'){legacyEvents.push(asyncEventState);continue;}
-if(event.cat===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require a '+'cat parameter.'});continue;}
-if(event.name===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require a '+'name parameter.'});continue;}
-if(event.id===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require an '+'id parameter.'});continue;}
-if(event.cat==='blink.user_timing'){var matched=/([^\/:]+):([^\/:]+)\/?(.*)/.exec(event.name);if(matched!==null){var key=matched[1]+':'+event.cat;event.args=JSON.parse(Base64.atob(matched[3])||'{}');if(nestableMeasureAsyncEventsByKey[key]===undefined)
-nestableMeasureAsyncEventsByKey[key]=[];nestableMeasureAsyncEventsByKey[key].push(asyncEventState);continue;}}
-var key=event.cat+':'+event.id;if(nestableAsyncEventsByKey[key]===undefined)
-nestableAsyncEventsByKey[key]=[];nestableAsyncEventsByKey[key].push(asyncEventState);}
-this.createLegacyAsyncSlices_(legacyEvents);this.createNestableAsyncSlices_(nestableMeasureAsyncEventsByKey);this.createNestableAsyncSlices_(nestableAsyncEventsByKey);},createLegacyAsyncSlices_:function(legacyEvents){if(legacyEvents.length===0)
-return;legacyEvents.sort(function(x,y){var d=x.event.ts-y.event.ts;if(d!=0)
-return d;return x.sequenceNumber-y.sequenceNumber;});var asyncEventStatesByNameThenID={};for(var i=0;i<legacyEvents.length;i++){var asyncEventState=legacyEvents[i];var event=asyncEventState.event;var name=event.name;if(name===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Async events (ph: S, T, p, or F) require a name '+' parameter.'});continue;}
-var id=event.id;if(id===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Async events (ph: S, T, p, or F) require an id parameter.'});continue;}
-if(event.ph==='S'){if(asyncEventStatesByNameThenID[name]===undefined)
-asyncEventStatesByNameThenID[name]={};if(asyncEventStatesByNameThenID[name][id]){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', a slice of the same id '+id+' was alrady open.'});continue;}
-asyncEventStatesByNameThenID[name][id]=[];asyncEventStatesByNameThenID[name][id].push(asyncEventState);}else{if(asyncEventStatesByNameThenID[name]===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', no slice named '+name+' was open.'});continue;}
-if(asyncEventStatesByNameThenID[name][id]===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', no slice named '+name+' with id='+id+' was open.'});continue;}
-var events=asyncEventStatesByNameThenID[name][id];events.push(asyncEventState);if(event.ph==='F'){var asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(events[0].event.cat,name);var slice=new asyncSliceConstructor(events[0].event.cat,name,getEventColor(events[0].event),this.toModelTimeFromUs_(events[0].event.ts),tr.b.concatenateObjects(events[0].event.args,events[events.length-1].event.args),this.toModelTimeFromUs_(event.ts-events[0].event.ts),true,undefined,undefined,events[0].event.argsStripped);slice.startThread=events[0].thread;slice.endThread=asyncEventState.thread;slice.id=id;var stepType=events[1].event.ph;var isValid=true;for(var j=1;j<events.length-1;++j){if(events[j].event.ph==='T'||events[j].event.ph==='p'){isValid=this.assertStepTypeMatches_(stepType,events[j]);if(!isValid)
-break;}
-if(events[j].event.ph==='S'){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.event.ts+', a slice named '+
-event.event.name+' with id='+event.event.id+' had a step before the start event.'});continue;}
-if(events[j].event.ph==='F'){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.event.ts+', a slice named '+
-event.event.name+' with id='+event.event.id+' had a step after the finish event.'});continue;}
-var startIndex=j+(stepType==='T'?0:-1);var endIndex=startIndex+1;var subName=events[j].event.name;if(!events[j].event.argsStripped&&(events[j].event.ph==='T'||events[j].event.ph==='p'))
-subName=subName+':'+events[j].event.args.step;var asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(events[0].event.cat,subName);var subSlice=new asyncSliceConstructor(events[0].event.cat,subName,getEventColor(event,subName+j),this.toModelTimeFromUs_(events[startIndex].event.ts),this.deepCopyIfNeeded_(events[j].event.args),this.toModelTimeFromUs_(events[endIndex].event.ts-events[startIndex].event.ts),undefined,undefined,events[startIndex].event.argsStripped);subSlice.startThread=events[startIndex].thread;subSlice.endThread=events[endIndex].thread;subSlice.id=id;slice.subSlices.push(subSlice);}
-if(isValid){slice.startThread.asyncSliceGroup.push(slice);}
-delete asyncEventStatesByNameThenID[name][id];}}}},createNestableAsyncSlices_:function(nestableEventsByKey){for(var key in nestableEventsByKey){var eventStateEntries=nestableEventsByKey[key];var parentStack=[];for(var i=0;i<eventStateEntries.length;++i){var eventStateEntry=eventStateEntries[i];if(eventStateEntry.event.ph==='e'){var parentIndex=-1;for(var k=parentStack.length-1;k>=0;--k){if(parentStack[k].event.name===eventStateEntry.event.name){parentIndex=k;break;}}
-if(parentIndex===-1){eventStateEntry.finished=false;}else{parentStack[parentIndex].end=eventStateEntry;while(parentIndex<parentStack.length){parentStack.pop();}}}
-if(parentStack.length>0)
-eventStateEntry.parentEntry=parentStack[parentStack.length-1];if(eventStateEntry.event.ph==='b'){parentStack.push(eventStateEntry);}}
-var topLevelSlices=[];for(var i=0;i<eventStateEntries.length;++i){var eventStateEntry=eventStateEntries[i];if(eventStateEntry.event.ph==='e'&&eventStateEntry.finished===undefined){continue;}
-var startState=undefined;var endState=undefined;var sliceArgs=eventStateEntry.event.args||{};var sliceError=undefined;if(eventStateEntry.event.ph==='n'){startState=eventStateEntry;endState=eventStateEntry;}else if(eventStateEntry.event.ph==='b'){if(eventStateEntry.end===undefined){eventStateEntry.end=eventStateEntries[eventStateEntries.length-1];sliceError='Slice has no matching END. End time has been adjusted.';this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async BEGIN event at '+
-eventStateEntry.event.ts+' with name='+
-eventStateEntry.event.name+' and id='+eventStateEntry.event.id+' was unmatched.'});}else{function concatenateArguments(args1,args2){if(args1.params===undefined||args2.params===undefined)
-return tr.b.concatenateObjects(args1,args2);var args3={};args3.params=tr.b.concatenateObjects(args1.params,args2.params);return tr.b.concatenateObjects(args1,args2,args3);}
-var endArgs=eventStateEntry.end.event.args||{};sliceArgs=concatenateArguments(sliceArgs,endArgs);}
-startState=eventStateEntry;endState=eventStateEntry.end;}else{sliceError='Slice has no matching BEGIN. Start time has been adjusted.';this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async END event at '+
-eventStateEntry.event.ts+' with name='+
-eventStateEntry.event.name+' and id='+eventStateEntry.event.id+' was unmatched.'});startState=eventStateEntries[0];endState=eventStateEntry;}
-var isTopLevel=(eventStateEntry.parentEntry===undefined);var asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(eventStateEntry.event.cat,eventStateEntry.event.name);var threadStart=undefined;var threadDuration=undefined;if(startState.event.tts&&startState.event.use_async_tts){threadStart=this.toModelTimeFromUs_(startState.event.tts);if(endState.event.tts){var threadEnd=this.toModelTimeFromUs_(endState.event.tts);threadDuration=threadEnd-threadStart;}}
-var slice=new asyncSliceConstructor(eventStateEntry.event.cat,eventStateEntry.event.name,getEventColor(endState.event),this.toModelTimeFromUs_(startState.event.ts),sliceArgs,this.toModelTimeFromUs_(endState.event.ts-startState.event.ts),isTopLevel,threadStart,threadDuration,startState.event.argsStripped);slice.startThread=startState.thread;slice.endThread=endState.thread;slice.startStackFrame=this.getStackFrameForEvent_(startState.event);slice.endStackFrame=this.getStackFrameForEvent_(endState.event);slice.id=key;if(sliceError!==undefined)
-slice.error=sliceError;eventStateEntry.slice=slice;if(isTopLevel){topLevelSlices.push(slice);}else if(eventStateEntry.parentEntry.slice!==undefined){eventStateEntry.parentEntry.slice.subSlices.push(slice);}}
-for(var si=0;si<topLevelSlices.length;si++){topLevelSlices[si].startThread.asyncSliceGroup.push(topLevelSlices[si]);}}},assertStepTypeMatches_:function(stepType,event){if(stepType!=event.event.ph){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.event.ts+', a slice named '+
-event.event.name+' with id='+event.event.id+' had both begin and end steps, which is not allowed.'});return false;}
-return true;},createFlowSlices_:function(){if(this.allFlowEvents_.length===0)
-return;var that=this;function validateFlowEvent(){if(event.name===undefined){that.model_.importWarning({type:'flow_slice_parse_error',message:'Flow events (ph: s, t or f) require a name parameter.'});return false;}
-if(event.ph==='s'||event.ph==='f'||event.ph==='t'){if(event.id===undefined){that.model_.importWarning({type:'flow_slice_parse_error',message:'Flow events (ph: s, t or f) require an id parameter.'});return false;}
-return true;}
-if(event.bind_id){if(event.flow_in===undefined&&event.flow_out===undefined){that.model_.importWarning({type:'flow_slice_parse_error',message:'Flow producer or consumer require flow_in or flow_out.'});return false;}
-return true;}
-return false;}
-var createFlowEvent=function(thread,event,opt_slice){var startSlice,flowId,flowStartTs;if(event.bind_id){startSlice=opt_slice;flowId=event.bind_id;flowStartTs=this.toModelTimeFromUs_(event.ts+event.dur);}else{var ts=this.toModelTimeFromUs_(event.ts);startSlice=thread.sliceGroup.findSliceAtTs(ts);if(startSlice===undefined)
-return undefined;flowId=event.id;flowStartTs=ts;}
-var flowEvent=new tr.model.FlowEvent(event.cat,flowId,event.name,getEventColor(event),flowStartTs,that.deepCopyAlways_(event.args));flowEvent.startSlice=startSlice;flowEvent.startStackFrame=that.getStackFrameForEvent_(event);flowEvent.endStackFrame=undefined;startSlice.outFlowEvents.push(flowEvent);return flowEvent;}.bind(this);var finishFlowEventWith=function(flowEvent,thread,event,refGuid,bindToParent,opt_slice){var endSlice;if(event.bind_id){endSlice=opt_slice;}else{var ts=this.toModelTimeFromUs_(event.ts);if(bindToParent){endSlice=thread.sliceGroup.findSliceAtTs(ts);}else{endSlice=thread.sliceGroup.findNextSliceAfter(ts,refGuid);}
-if(endSlice===undefined)
-return false;}
-endSlice.inFlowEvents.push(flowEvent);flowEvent.endSlice=endSlice;flowEvent.duration=this.toModelTimeFromUs_(event.ts)-flowEvent.start;flowEvent.endStackFrame=that.getStackFrameForEvent_(event);that.mergeArgsInto_(flowEvent.args,event.args,flowEvent.title);return true;}.bind(this);function processFlowConsumer(flowIdToEvent,sliceGuidToEvent,event,slice){var flowEvent=flowIdToEvent[event.bind_id];if(flowEvent===undefined){that.model_.importWarning({type:'flow_slice_ordering_error',message:'Flow consumer '+event.bind_id+' does not have '+'a flow producer'});return false;}else if(flowEvent.endSlice){var flowProducer=flowEvent.startSlice;flowEvent=createFlowEvent(undefined,sliceGuidToEvent[flowProducer.guid],flowProducer);}
-var ok=finishFlowEventWith(flowEvent,undefined,event,refGuid,undefined,slice);if(ok){that.model_.flowEvents.push(flowEvent);}else{that.model_.importWarning({type:'flow_slice_end_error',message:'Flow consumer '+event.bind_id+' does not end '+'at an actual slice, so cannot be created.'});return false;}
-return true;}
-function processFlowProducer(flowIdToEvent,flowStatus,event,slice){if(flowIdToEvent[event.bind_id]&&flowStatus[event.bind_id]){that.model_.importWarning({type:'flow_slice_start_error',message:'Flow producer '+event.bind_id+' already seen'});return false;}
-var flowEvent=createFlowEvent(undefined,event,slice);if(!flowEvent){that.model_.importWarning({type:'flow_slice_start_error',message:'Flow producer '+event.bind_id+' does not start'+'a flow'});return false;}
-flowIdToEvent[event.bind_id]=flowEvent;}
-this.allFlowEvents_.sort(function(x,y){var d=x.event.ts-y.event.ts;if(d!=0)
-return d;return x.sequenceNumber-y.sequenceNumber;});var flowIdToEvent={};var sliceGuidToEvent={};var flowStatus={};for(var i=0;i<this.allFlowEvents_.length;++i){var data=this.allFlowEvents_[i];var refGuid=data.refGuid;var event=data.event;var thread=data.thread;if(!validateFlowEvent(event))
-continue;if(event.bind_id){var slice=data.slice;sliceGuidToEvent[slice.guid]=event;if(event.flowPhase===PRODUCER){if(!processFlowProducer(flowIdToEvent,flowStatus,event,slice))
-continue;flowStatus[event.bind_id]=true;}
-else{if(!processFlowConsumer(flowIdToEvent,sliceGuidToEvent,event,slice))
-continue;flowStatus[event.bind_id]=false;if(event.flowPhase===STEP){if(!processFlowProducer(flowIdToEvent,flowStatus,event,slice))
-continue;flowStatus[event.bind_id]=true;}}
-continue;}
-var flowEvent;if(event.ph==='s'){if(flowIdToEvent[event.id]){this.model_.importWarning({type:'flow_slice_start_error',message:'event id '+event.id+' already seen when '+'encountering start of flow event.'});continue;}
-flowEvent=createFlowEvent(thread,event);if(!flowEvent){this.model_.importWarning({type:'flow_slice_start_error',message:'event id '+event.id+' does not start '+'at an actual slice, so cannot be created.'});continue;}
-flowIdToEvent[event.id]=flowEvent;}else if(event.ph==='t'||event.ph==='f'){flowEvent=flowIdToEvent[event.id];if(flowEvent===undefined){this.model_.importWarning({type:'flow_slice_ordering_error',message:'Found flow phase '+event.ph+' for id: '+event.id+' but no flow start found.'});continue;}
-var bindToParent=event.ph==='t';if(event.ph==='f'){if(event.bp===undefined){if(event.cat.indexOf('input')>-1)
-bindToParent=true;else if(event.cat.indexOf('ipc.flow')>-1)
-bindToParent=true;}else{if(event.bp!=='e'){this.model_.importWarning({type:'flow_slice_bind_point_error',message:'Flow event with invalid binding point (event.bp).'});continue;}
-bindToParent=true;}}
-var ok=finishFlowEventWith(flowEvent,thread,event,refGuid,bindToParent);if(ok){that.model_.flowEvents.push(flowEvent);}else{this.model_.importWarning({type:'flow_slice_end_error',message:'event id '+event.id+' does not end '+'at an actual slice, so cannot be created.'});}
-flowIdToEvent[event.id]=undefined;if(ok&&event.ph==='t'){flowEvent=createFlowEvent(thread,event);flowIdToEvent[event.id]=flowEvent;}}}},createExplicitObjects_:function(){if(this.allObjectEvents_.length===0)
-return;var processEvent=function(objectEventState){var event=objectEventState.event;var scopedId=this.scopedIdForEvent_(event);var thread=objectEventState.thread;if(event.name===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+JSON.stringify(event)+': '+'Object events require an name parameter.'});}
-if(scopedId.id===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+JSON.stringify(event)+': '+'Object events require an id parameter.'});}
-var process=thread.parent;var ts=this.toModelTimeFromUs_(event.ts);var instance;if(event.ph==='N'){try{instance=process.objects.idWasCreated(scopedId,event.cat,event.name,ts);}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing create of '+
-scopedId+' at ts='+ts+': '+e});return;}}else if(event.ph==='O'){if(event.args.snapshot===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+scopedId+' at ts='+ts+': '+'Snapshots must have args: {snapshot: ...}'});return;}
-var snapshot;try{var args=this.deepCopyIfNeeded_(event.args.snapshot);var cat;if(args.cat){cat=args.cat;delete args.cat;}else{cat=event.cat;}
-var baseTypename;if(args.base_type){baseTypename=args.base_type;delete args.base_type;}else{baseTypename=undefined;}
-snapshot=process.objects.addSnapshot(scopedId,cat,event.name,ts,args,baseTypename);snapshot.snapshottedOnThread=thread;}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing snapshot of '+
-scopedId+' at ts='+ts+': '+e});return;}
-instance=snapshot.objectInstance;}else if(event.ph==='D'){try{process.objects.idWasDeleted(scopedId,event.cat,event.name,ts);var instanceMap=process.objects.getOrCreateInstanceMap_(scopedId);instance=instanceMap.lastInstance;}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing delete of '+
-scopedId+' at ts='+ts+': '+e});return;}}
-if(instance)
-instance.colorId=getEventColor(event,instance.typeName);}.bind(this);this.allObjectEvents_.sort(function(x,y){var d=x.event.ts-y.event.ts;if(d!=0)
-return d;return x.sequenceNumber-y.sequenceNumber;});var allObjectEvents=this.allObjectEvents_;for(var i=0;i<allObjectEvents.length;i++){var objectEventState=allObjectEvents[i];try{processEvent.call(this,objectEventState);}catch(e){this.model_.importWarning({type:'object_parse_error',message:e.message});}}},createImplicitObjects_:function(){tr.b.iterItems(this.model_.processes,function(pid,process){this.createImplicitObjectsForProcess_(process);},this);},createImplicitObjectsForProcess_:function(process){function processField(referencingObject,referencingObjectFieldName,referencingObjectFieldValue,containingSnapshot){if(!referencingObjectFieldValue)
-return;if(referencingObjectFieldValue instanceof
-tr.model.ObjectSnapshot)
-return null;if(referencingObjectFieldValue.id===undefined)
-return;var implicitSnapshot=referencingObjectFieldValue;var rawId=implicitSnapshot.id;var m=/(.+)\/(.+)/.exec(rawId);if(!m)
-throw new Error('Implicit snapshots must have names.');delete implicitSnapshot.id;var name=m[1];var id=m[2];var res;var cat;if(implicitSnapshot.cat!==undefined)
-cat=implicitSnapshot.cat;else
-cat=containingSnapshot.objectInstance.category;var baseTypename;if(implicitSnapshot.base_type)
-baseTypename=implicitSnapshot.base_type;else
-baseTypename=undefined;var scope=containingSnapshot.objectInstance.scopedId.scope;try{res=process.objects.addSnapshot(new tr.model.ScopedId(scope,id),cat,name,containingSnapshot.ts,implicitSnapshot,baseTypename);}catch(e){this.model_.importWarning({type:'object_snapshot_parse_error',message:'While processing implicit snapshot of '+
-rawId+' at ts='+containingSnapshot.ts+': '+e});return;}
-res.objectInstance.hasImplicitSnapshots=true;res.containingSnapshot=containingSnapshot;res.snapshottedOnThread=containingSnapshot.snapshottedOnThread;referencingObject[referencingObjectFieldName]=res;if(!(res instanceof tr.model.ObjectSnapshot))
-throw new Error('Created object must be instanceof snapshot');return res.args;}
-function iterObject(object,func,containingSnapshot,thisArg){if(!(object instanceof Object))
-return;if(object instanceof Array){for(var i=0;i<object.length;i++){var res=func.call(thisArg,object,i,object[i],containingSnapshot);if(res===null)
-continue;if(res)
-iterObject(res,func,containingSnapshot,thisArg);else
-iterObject(object[i],func,containingSnapshot,thisArg);}
-return;}
-for(var key in object){var res=func.call(thisArg,object,key,object[key],containingSnapshot);if(res===null)
-continue;if(res)
-iterObject(res,func,containingSnapshot,thisArg);else
-iterObject(object[key],func,containingSnapshot,thisArg);}}
-process.objects.iterObjectInstances(function(instance){instance.snapshots.forEach(function(snapshot){if(snapshot.args.id!==undefined)
-throw new Error('args cannot have an id field inside it');iterObject(snapshot.args,processField,snapshot,this);},this);},this);},createMemoryDumps_:function(){for(var dumpId in this.allMemoryDumpEvents_)
-this.createGlobalMemoryDump_(this.allMemoryDumpEvents_[dumpId],dumpId);},createGlobalMemoryDump_:function(dumpIdEvents,dumpId){var globalRange=new tr.b.Range();for(var pid in dumpIdEvents){var processEvents=dumpIdEvents[pid];for(var i=0;i<processEvents.length;i++)
-globalRange.addValue(this.toModelTimeFromUs_(processEvents[i].ts));}
-if(globalRange.isEmpty)
-throw new Error('Internal error: Global memory dump without events');var globalMemoryDump=new tr.model.GlobalMemoryDump(this.model_,globalRange.min);globalMemoryDump.duration=globalRange.range;this.model_.globalMemoryDumps.push(globalMemoryDump);var globalMemoryAllocatorDumpsByFullName={};var levelsOfDetail={};var allMemoryAllocatorDumpsByGuid={};for(var pid in dumpIdEvents){this.createProcessMemoryDump_(globalMemoryDump,globalMemoryAllocatorDumpsByFullName,levelsOfDetail,allMemoryAllocatorDumpsByGuid,dumpIdEvents[pid],pid,dumpId);}
-globalMemoryDump.levelOfDetail=levelsOfDetail.global;globalMemoryDump.memoryAllocatorDumps=this.inferMemoryAllocatorDumpTree_(globalMemoryAllocatorDumpsByFullName);this.parseMemoryDumpAllocatorEdges_(allMemoryAllocatorDumpsByGuid,dumpIdEvents,dumpId);},createProcessMemoryDump_:function(globalMemoryDump,globalMemoryAllocatorDumpsByFullName,levelsOfDetail,allMemoryAllocatorDumpsByGuid,processEvents,pid,dumpId){var processRange=new tr.b.Range();for(var i=0;i<processEvents.length;i++)
-processRange.addValue(this.toModelTimeFromUs_(processEvents[i].ts));if(processRange.isEmpty)
-throw new Error('Internal error: Process memory dump without events');var process=this.model_.getOrCreateProcess(pid);var processMemoryDump=new tr.model.ProcessMemoryDump(globalMemoryDump,process,processRange.min);processMemoryDump.duration=processRange.range;process.memoryDumps.push(processMemoryDump);globalMemoryDump.processMemoryDumps[pid]=processMemoryDump;var processMemoryAllocatorDumpsByFullName={};for(var i=0;i<processEvents.length;i++){var processEvent=processEvents[i];var dumps=processEvent.args.dumps;if(dumps===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'\'dumps\' field not found in a process memory dump'+' event for PID='+pid+' and dump ID='+dumpId+'.'});continue;}
-this.parseMemoryDumpTotals_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpVmRegions_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpHeapDumps_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpLevelOfDetail_(levelsOfDetail,dumps,pid,dumpId);this.parseMemoryDumpAllocatorDumps_(processMemoryDump,globalMemoryDump,processMemoryAllocatorDumpsByFullName,globalMemoryAllocatorDumpsByFullName,allMemoryAllocatorDumpsByGuid,dumps,pid,dumpId);}
-if(levelsOfDetail.process===undefined){levelsOfDetail.process=processMemoryDump.vmRegions?DETAILED:LIGHT;}
-if(!this.updateMemoryDumpLevelOfDetail_(levelsOfDetail,'global',levelsOfDetail.process)){this.model_.importWarning({type:'memory_dump_parse_error',message:'diffent levels of detail provided for global memory'+' dump (dump ID='+dumpId+').'});}
-processMemoryDump.levelOfDetail=levelsOfDetail.process;delete levelsOfDetail.process;processMemoryDump.memoryAllocatorDumps=this.inferMemoryAllocatorDumpTree_(processMemoryAllocatorDumpsByFullName);},parseMemoryDumpTotals_:function(processMemoryDump,dumps,pid,dumpId){var rawTotals=dumps.process_totals;if(rawTotals===undefined)
-return;if(processMemoryDump.totals!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Process totals provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;}
-var totals={};var platformSpecificTotals=undefined;for(var rawTotalName in rawTotals){var rawTotalValue=rawTotals[rawTotalName];if(rawTotalValue===undefined)
-continue;if(rawTotalName==='resident_set_bytes'){totals.residentBytes=parseInt(rawTotalValue,16);continue;}
-if(rawTotalName==='peak_resident_set_bytes'){totals.peakResidentBytes=parseInt(rawTotalValue,16);continue;}
-if(rawTotalName==='is_peak_rss_resetable'){totals.arePeakResidentBytesResettable=!!rawTotalValue;continue;}
-if(platformSpecificTotals===undefined){platformSpecificTotals={};totals.platformSpecific=platformSpecificTotals;}
-platformSpecificTotals[rawTotalName]=parseInt(rawTotalValue,16);}
-if(totals.peakResidentBytes===undefined&&totals.arePeakResidentBytesResettable!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Optional field peak_resident_set_bytes found'+' but is_peak_rss_resetable not found in'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});}
-if(totals.arePeakResidentBytesResettable!==undefined&&totals.peakResidentBytes===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Optional field is_peak_rss_resetable found'+' but peak_resident_set_bytes not found in'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});}
-processMemoryDump.totals=totals;},parseMemoryDumpVmRegions_:function(processMemoryDump,dumps,pid,dumpId){var rawProcessMmaps=dumps.process_mmaps;if(rawProcessMmaps===undefined)
-return;var rawVmRegions=rawProcessMmaps.vm_regions;if(rawVmRegions===undefined)
-return;if(processMemoryDump.vmRegions!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'VM regions provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;}
-var vmRegions=new Array(rawVmRegions.length);for(var i=0;i<rawVmRegions.length;i++){var rawVmRegion=rawVmRegions[i];var byteStats={};var rawByteStats=rawVmRegion.bs;for(var rawByteStatName in rawByteStats){var rawByteStatValue=rawByteStats[rawByteStatName];if(rawByteStatValue===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Byte stat \''+rawByteStatName+'\' of VM region '+
-i+' ('+rawVmRegion.mf+') in process memory dump for '+'PID='+pid+' and dump ID='+dumpId+' does not have a value.'});continue;}
-var byteStatName=BYTE_STAT_NAME_MAP[rawByteStatName];if(byteStatName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Unknown byte stat name \''+rawByteStatName+'\' ('+
-rawByteStatValue+') of VM region '+i+' ('+
-rawVmRegion.mf+') in process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});continue;}
-byteStats[byteStatName]=parseInt(rawByteStatValue,16);}
-vmRegions[i]=new tr.model.VMRegion(parseInt(rawVmRegion.sa,16),parseInt(rawVmRegion.sz,16),rawVmRegion.pf,rawVmRegion.mf,byteStats);}
-processMemoryDump.vmRegions=tr.model.VMRegionClassificationNode.fromRegions(vmRegions);},parseMemoryDumpHeapDumps_:function(processMemoryDump,dumps,pid,dumpId){var rawHeapDumps=dumps.heaps;if(rawHeapDumps===undefined)
-return;if(processMemoryDump.heapDumps!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Heap dumps provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;}
-var model=this.model_;var idPrefix='p'+pid+':';var heapDumps={};var objectTypeNameMap=this.objectTypeNameMap_[pid];if(objectTypeNameMap===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing mapping from object type IDs to names.'});}
-for(var allocatorName in rawHeapDumps){var entries=rawHeapDumps[allocatorName].entries;if(entries===undefined||entries.length===0){this.model_.importWarning({type:'memory_dump_parse_error',message:'No heap entries in a '+allocatorName+' heap dump for PID='+pid+' and dump ID='+dumpId+'.'});continue;}
-var isOldFormat=entries[0].bt===undefined;if(!isOldFormat&&objectTypeNameMap===undefined){continue;}
-var heapDump=new tr.model.HeapDump(processMemoryDump,allocatorName);for(var i=0;i<entries.length;i++){var entry=entries[i];var leafStackFrameIndex=entry.bt;var leafStackFrame;if(isOldFormat){if(leafStackFrameIndex===undefined){leafStackFrame=undefined;}else{var leafStackFrameId=idPrefix+leafStackFrameIndex;if(leafStackFrameIndex===''){leafStackFrame=undefined;}else{leafStackFrame=model.stackFrames[leafStackFrameId];if(leafStackFrame===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing leaf stack frame (ID '+
-leafStackFrameId+') of heap entry '+i+' (size '+
-size+') in a '+allocatorName+' heap dump for PID='+pid+'.'});continue;}}
-leafStackFrameId+=':self';if(model.stackFrames[leafStackFrameId]!==undefined){leafStackFrame=model.stackFrames[leafStackFrameId];}else{leafStackFrame=new tr.model.StackFrame(leafStackFrame,leafStackFrameId,'<self>',undefined);model.addStackFrame(leafStackFrame);}}}else{if(leafStackFrameIndex===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing stack frame ID of heap entry '+i+' (size '+size+') in a '+allocatorName+' heap dump for PID='+pid+'.'});continue;}
-var leafStackFrameId=idPrefix+leafStackFrameIndex;if(leafStackFrameIndex===''){leafStackFrame=undefined;}else{leafStackFrame=model.stackFrames[leafStackFrameId];if(leafStackFrame===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing leaf stack frame (ID '+leafStackFrameId+') of heap entry '+i+' (size '+size+') in a '+
-allocatorName+' heap dump for PID='+pid+'.'});continue;}}}
-var objectTypeId=entry.type;var objectTypeName;if(objectTypeId===undefined){objectTypeName=undefined;}else if(objectTypeNameMap===undefined){continue;}else{objectTypeName=objectTypeNameMap[objectTypeId];if(objectTypeName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing object type name (ID '+objectTypeId+') of heap entry '+i+' (size '+size+') in a '+
-allocatorName+' heap dump for pid='+pid+'.'});continue;}}
-var size=parseInt(entry.size,16);var count=entry.count===undefined?undefined:parseInt(entry.count,16);heapDump.addEntry(leafStackFrame,objectTypeName,size,count);}
-if(heapDump.entries.length>0)
-heapDumps[allocatorName]=heapDump;}
-if(Object.keys(heapDumps).length>0)
-processMemoryDump.heapDumps=heapDumps;},parseMemoryDumpLevelOfDetail_:function(levelsOfDetail,dumps,pid,dumpId){var rawLevelOfDetail=dumps.level_of_detail;var level;switch(rawLevelOfDetail){case'background':level=BACKGROUND;break;case'light':level=LIGHT;break;case'detailed':level=DETAILED;break;case undefined:level=undefined;break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'unknown raw level of detail \''+rawLevelOfDetail+'\' of process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;}
-if(!this.updateMemoryDumpLevelOfDetail_(levelsOfDetail,'process',level)){this.model_.importWarning({type:'memory_dump_parse_error',message:'diffent levels of detail provided for process memory'+' dump for PID='+pid+' (dump ID='+dumpId+').'});}},updateMemoryDumpLevelOfDetail_:function(levelsOfDetail,scope,level){if(!(scope in levelsOfDetail)||level===levelsOfDetail[scope]){levelsOfDetail[scope]=level;return true;}
-if(MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER.indexOf(level)>MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER.indexOf(levelsOfDetail[scope])){levelsOfDetail[scope]=level;}
-return false;},parseMemoryDumpAllocatorDumps_:function(processMemoryDump,globalMemoryDump,processMemoryAllocatorDumpsByFullName,globalMemoryAllocatorDumpsByFullName,allMemoryAllocatorDumpsByGuid,dumps,pid,dumpId){var rawAllocatorDumps=dumps.allocators;if(rawAllocatorDumps===undefined)
-return;for(var fullName in rawAllocatorDumps){var rawAllocatorDump=rawAllocatorDumps[fullName];var guid=rawAllocatorDump.guid;if(guid===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' for PID='+pid+' and dump ID='+dumpId+' does not have a GUID.'});}
-var flags=rawAllocatorDump.flags||0;var isWeakDump=!!(flags&WEAK_MEMORY_ALLOCATOR_DUMP_FLAG);var containerMemoryDump;var dstIndex;if(fullName.startsWith(GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX)){fullName=fullName.substring(GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX.length);containerMemoryDump=globalMemoryDump;dstIndex=globalMemoryAllocatorDumpsByFullName;}else{containerMemoryDump=processMemoryDump;dstIndex=processMemoryAllocatorDumpsByFullName;}
-var allocatorDump=allMemoryAllocatorDumpsByGuid[guid];if(allocatorDump===undefined){if(fullName in dstIndex){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple GUIDs provided for'+' memory allocator dump '+fullName+': '+
-dstIndex[fullName].guid+', '+guid+' (ignored) for'+' PID='+pid+' and dump ID='+dumpId+'.'});continue;}
-allocatorDump=new tr.model.MemoryAllocatorDump(containerMemoryDump,fullName,guid);allocatorDump.weak=isWeakDump;dstIndex[fullName]=allocatorDump;if(guid!==undefined)
-allMemoryAllocatorDumpsByGuid[guid]=allocatorDump;}else{if(allocatorDump.containerMemoryDump!==containerMemoryDump){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+
-dumpId+' dumped in different contexts.'});continue;}
-if(allocatorDump.fullName!==fullName){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump with GUID='+guid+' for PID='+
-pid+' and dump ID='+dumpId+' has multiple names: '+
-allocatorDump.fullName+', '+fullName+' (ignored).'});continue;}
-if(!isWeakDump){allocatorDump.weak=false;}}
-var attributes=rawAllocatorDump.attrs;if(attributes===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+dumpId+' does not have attributes.'});attributes={};}
-for(var attrName in attributes){var attrArgs=attributes[attrName];var attrType=attrArgs.type;var attrValue=attrArgs.value;switch(attrType){case'scalar':if(attrName in allocatorDump.numerics){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple values provided for scalar attribute '+
-attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+
-dumpId+'.'});break;}
-var unit=attrArgs.units==='bytes'?tr.b.Unit.byName.sizeInBytes_smallerIsBetter:tr.b.Unit.byName.unitlessNumber_smallerIsBetter;var value=parseInt(attrValue,16);allocatorDump.addNumeric(attrName,new tr.v.ScalarNumeric(unit,value));break;case'string':if(attrName in allocatorDump.diagnostics){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple values provided for string attribute '+
-attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+
-dumpId+'.'});break;}
-allocatorDump.addDiagnostic(attrName,attrValue);break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'Unknown type provided for attribute '+attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+dumpId+': '+
-attrType});break;}}}},inferMemoryAllocatorDumpTree_:function(memoryAllocatorDumpsByFullName){var rootAllocatorDumps=[];var fullNames=Object.keys(memoryAllocatorDumpsByFullName);fullNames.sort();for(var i=0;i<fullNames.length;i++){var fullName=fullNames[i];var allocatorDump=memoryAllocatorDumpsByFullName[fullName];while(true){var lastSlashIndex=fullName.lastIndexOf('/');if(lastSlashIndex===-1){rootAllocatorDumps.push(allocatorDump);break;}
-var parentFullName=fullName.substring(0,lastSlashIndex);var parentAllocatorDump=memoryAllocatorDumpsByFullName[parentFullName];var parentAlreadyExisted=true;if(parentAllocatorDump===undefined){parentAlreadyExisted=false;parentAllocatorDump=new tr.model.MemoryAllocatorDump(allocatorDump.containerMemoryDump,parentFullName);if(allocatorDump.weak!==false){parentAllocatorDump.weak=undefined;}
-memoryAllocatorDumpsByFullName[parentFullName]=parentAllocatorDump;}
-allocatorDump.parent=parentAllocatorDump;parentAllocatorDump.children.push(allocatorDump);if(parentAlreadyExisted){if(!allocatorDump.weak){while(parentAllocatorDump!==undefined&&parentAllocatorDump.weak===undefined){parentAllocatorDump.weak=false;parentAllocatorDump=parentAllocatorDump.parent;}}
-break;}
-fullName=parentFullName;allocatorDump=parentAllocatorDump;}}
-for(var fullName in memoryAllocatorDumpsByFullName){var allocatorDump=memoryAllocatorDumpsByFullName[fullName];if(allocatorDump.weak===undefined)
-allocatorDump.weak=true;}
-return rootAllocatorDumps;},parseMemoryDumpAllocatorEdges_:function(allMemoryAllocatorDumpsByGuid,dumpIdEvents,dumpId){for(var pid in dumpIdEvents){var processEvents=dumpIdEvents[pid];for(var i=0;i<processEvents.length;i++){var processEvent=processEvents[i];var dumps=processEvent.args.dumps;if(dumps===undefined)
-continue;var rawEdges=dumps.allocators_graph;if(rawEdges===undefined)
-continue;for(var j=0;j<rawEdges.length;j++){var rawEdge=rawEdges[j];var sourceGuid=rawEdge.source;var sourceDump=allMemoryAllocatorDumpsByGuid[sourceGuid];if(sourceDump===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Edge for PID='+pid+' and dump ID='+dumpId+' is missing source memory allocator dump (GUID='+
-sourceGuid+').'});continue;}
-var targetGuid=rawEdge.target;var targetDump=allMemoryAllocatorDumpsByGuid[targetGuid];if(targetDump===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Edge for PID='+pid+' and dump ID='+dumpId+' is missing target memory allocator dump (GUID='+
-targetGuid+').'});continue;}
-var importance=rawEdge.importance;var edge=new tr.model.MemoryAllocatorDumpLink(sourceDump,targetDump,importance);switch(rawEdge.type){case'ownership':if(sourceDump.owns!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+sourceDump.fullName+' (GUID='+sourceGuid+') already owns a memory'+' allocator dump ('+
-sourceDump.owns.target.fullName+').'});}else{sourceDump.owns=edge;targetDump.ownedBy.push(edge);}
-break;case'retention':sourceDump.retains.push(edge);targetDump.retainedBy.push(edge);break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'Invalid edge type: '+rawEdge.type+' (PID='+pid+', dump ID='+dumpId+', source='+sourceGuid+', target='+targetGuid+', importance='+importance+').'});}}}}},toModelTimeFromUs_:function(ts){if(!this.toModelTime_){this.toModelTime_=this.model_.clockSyncManager.getModelTimeTransformer(this.clockDomainId_);}
-return this.toModelTime_(tr.b.Unit.timestampFromUs(ts));},maybeToModelTimeFromUs_:function(ts){if(ts===undefined)
-return undefined;return this.toModelTimeFromUs_(ts);}};tr.importer.Importer.register(TraceEventImporter);return{TraceEventImporter:TraceEventImporter};});'use strict';tr.exportTo('tr.importer',function(){function EmptyImporter(events){this.importPriority=0;};EmptyImporter.canImport=function(eventData){if(eventData instanceof Array&&eventData.length==0)
-return true;if(typeof(eventData)==='string'||eventData instanceof String){return eventData.length==0;}
-return false;};EmptyImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'EmptyImporter';}};tr.importer.Importer.register(EmptyImporter);return{EmptyImporter:EmptyImporter};});'use strict';tr.exportTo('tr.model.helpers',function(){var MAIN_FRAMETIME_TYPE='main_frametime_type';var IMPL_FRAMETIME_TYPE='impl_frametime_type';var MAIN_RENDERING_STATS='BenchmarkInstrumentation::MainThreadRenderingStats';var IMPL_RENDERING_STATS='BenchmarkInstrumentation::ImplThreadRenderingStats';function getSlicesIntersectingRange(rangeOfInterest,slices){var slicesInFilterRange=[];for(var i=0;i<slices.length;i++){var slice=slices[i];if(rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end))
-slicesInFilterRange.push(slice);}
-return slicesInFilterRange;}
-function ChromeProcessHelper(modelHelper,process){this.modelHelper=modelHelper;this.process=process;}
-ChromeProcessHelper.prototype={get pid(){return this.process.pid;},getFrameEventsInRange:function(frametimeType,range){var titleToGet=(frametimeType===MAIN_FRAMETIME_TYPE?MAIN_RENDERING_STATS:IMPL_RENDERING_STATS);var frameEvents=[];for(var event of this.process.getDescendantEvents())
-if(event.title===titleToGet)
-if(range.intersectsExplicitRangeInclusive(event.start,event.end))
-frameEvents.push(event);frameEvents.sort(function(a,b){return a.start-b.start});return frameEvents;}};function getFrametimeDataFromEvents(frameEvents){var frametimeData=[];for(var i=1;i<frameEvents.length;i++){var diff=frameEvents[i].start-frameEvents[i-1].start;frametimeData.push({'x':frameEvents[i].start,'frametime':diff});}
-return frametimeData;}
-return{ChromeProcessHelper:ChromeProcessHelper,MAIN_FRAMETIME_TYPE:MAIN_FRAMETIME_TYPE,IMPL_FRAMETIME_TYPE:IMPL_FRAMETIME_TYPE,MAIN_RENDERING_STATS:MAIN_RENDERING_STATS,IMPL_RENDERING_STATS:IMPL_RENDERING_STATS,getSlicesIntersectingRange:getSlicesIntersectingRange,getFrametimeDataFromEvents:getFrametimeDataFromEvents};});'use strict';tr.exportTo('tr.model.helpers',function(){function ChromeBrowserHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);this.mainThread_=process.findAtMostOneThreadNamed('CrBrowserMain');if(!process.name)
-process.name=ChromeBrowserHelper.PROCESS_NAME;}
-ChromeBrowserHelper.PROCESS_NAME='Browser';ChromeBrowserHelper.isBrowserProcess=function(process){return!!process.findAtMostOneThreadNamed('CrBrowserMain');};ChromeBrowserHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype,get browserName(){var hasInProcessRendererThread=this.process.findAllThreadsNamed('Chrome_InProcRendererThread').length>0;return hasInProcessRendererThread?'webview':'chrome';},get rendererHelpers(){return this.modelHelper.rendererHelpers;},getLoadingEventsInRange:function(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return slice.title.indexOf('WebContentsImpl Loading')===0&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},getCommitProvisionalLoadEventsInRange:function(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return slice.title==='RenderFrameImpl::didCommitProvisionalLoad'&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},get hasLatencyEvents(){var hasLatency=false;for(var thread of this.modelHelper.model.getAllThreads())
-for(var event of thread.getDescendantEvents()){if(!event.isTopLevel)
-continue;if(!(event instanceof tr.e.cc.InputLatencyAsyncSlice))
-continue;hasLatency=true;}
-return hasLatency;},getLatencyEventsInRange:function(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return(slice.title.indexOf('InputLatency')===0)&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},getAllAsyncSlicesMatching:function(pred,opt_this){var events=[];this.iterAllThreads(function(thread){for(var slice of thread.getDescendantEvents())
-if(pred.call(opt_this,slice))
-events.push(slice);});return events;},getAllNetworkEventsInRange:function(rangeOfInterest){var networkEvents=[];this.modelHelper.model.getAllThreads().forEach(function(thread){thread.asyncSliceGroup.slices.forEach(function(slice){var match=false;if(slice.category=='net'||slice.category=='disabled-by-default-netlog'||slice.category=='netlog'){match=true;}
-if(!match)
-return;if(rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end))
-networkEvents.push(slice);});});return networkEvents;},iterAllThreads:function(func,opt_this){tr.b.iterItems(this.process.threads,function(tid,thread){func.call(opt_this,thread);});tr.b.iterItems(this.rendererHelpers,function(pid,rendererHelper){var rendererProcess=rendererHelper.process;tr.b.iterItems(rendererProcess.threads,function(tid,thread){func.call(opt_this,thread);});},this);}};return{ChromeBrowserHelper:ChromeBrowserHelper};});'use strict';tr.exportTo('tr.model.helpers',function(){function ChromeGpuHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);this.mainThread_=process.findAtMostOneThreadNamed('CrGpuMain');if(!process.name)
-process.name=ChromeGpuHelper.PROCESS_NAME;};ChromeGpuHelper.PROCESS_NAME='GPU Process';ChromeGpuHelper.isGpuProcess=function(process){if(process.findAtMostOneThreadNamed('CrBrowserMain')||process.findAtMostOneThreadNamed('CrRendererMain'))
-return false;return process.findAtMostOneThreadNamed('CrGpuMain');};ChromeGpuHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype,get mainThread(){return this.mainThread_;}};return{ChromeGpuHelper:ChromeGpuHelper};});'use strict';tr.exportTo('tr.b',function(){function SinebowColorGenerator(opt_a,opt_brightness){this.a_=(opt_a===undefined)?1:opt_a;this.brightness_=(opt_brightness===undefined)?1:opt_brightness;this.colorIndex_=0;this.keyToColor={};}
-SinebowColorGenerator.prototype={colorForKey:function(key){if(!this.keyToColor[key])
-this.keyToColor[key]=this.nextColor();return this.keyToColor[key];},nextColor:function(){var components=SinebowColorGenerator.nthColor(this.colorIndex_++);return tr.b.Color.fromString(SinebowColorGenerator.calculateColor(components[0],components[1],components[2],this.a_,this.brightness_));}};SinebowColorGenerator.PHI=(1+Math.sqrt(5))/2;SinebowColorGenerator.sinebow_=function(h){h+=0.5;h=-h;var r=Math.sin(Math.PI*h);var g=Math.sin(Math.PI*(h+1/3));var b=Math.sin(Math.PI*(h+2/3));r*=r;g*=g;b*=b;var y=2*(0.2989*r+0.5870*g+0.1140*b);r/=y;g/=y;b/=y;return[256*r,256*g,256*b];};SinebowColorGenerator.nthColor=function(n){return SinebowColorGenerator.sinebow_(n*this.PHI);};SinebowColorGenerator.calculateColor=function(r,g,b,a,brightness){if(brightness<=1){r*=brightness;g*=brightness;b*=brightness;}else{r=tr.b.lerp(tr.b.normalize(brightness,1,2),r,255);g=tr.b.lerp(tr.b.normalize(brightness,1,2),g,255);b=tr.b.lerp(tr.b.normalize(brightness,1,2),b,255);}
-r=Math.round(r);g=Math.round(g);b=Math.round(b);return'rgba('+r+','+g+','+b+', '+a+')';};return{SinebowColorGenerator:SinebowColorGenerator};});'use strict';tr.exportTo('tr.e.chrome',function(){var SAME_AS_PARENT='same-as-parent';var TITLES_FOR_USER_FRIENDLY_CATEGORY={composite:['CompositingInputsUpdater::update','ThreadProxy::SetNeedsUpdateLayers','LayerTreeHost::UpdateLayers::CalcDrawProps','UpdateLayerTree'],gc:['minorGC','majorGC','MajorGC','MinorGC','V8.GCScavenger','V8.GCIncrementalMarking','V8.GCIdleNotification','V8.GCContext','V8.GCCompactor','V8GCController::traceDOMWrappers'],iframe_creation:['WebLocalFrameImpl::createChildframe'],imageDecode:['Decode Image','ImageFrameGenerator::decode','ImageFrameGenerator::decodeAndScale'],input:['HitTest','ScrollableArea::scrollPositionChanged','EventHandler::handleMouseMoveEvent'],layout:['FrameView::invalidateTree','FrameView::layout','FrameView::performLayout','FrameView::performPostLayoutTasks','FrameView::performPreLayoutTasks','Layer::updateLayerPositionsAfterLayout','Layout','LayoutView::hitTest','ResourceLoadPriorityOptimizer::updateAllImageResourcePriorities','WebViewImpl::layout'],parseHTML:['ParseHTML','HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser','HTMLDocumentParser::processParsedChunkFromBackgroundParser'],raster:['DisplayListRasterSource::PerformSolidColorAnalysis','Picture::Raster','RasterBufferImpl::Playback','RasterTask','RasterizerTaskImpl::RunOnWorkerThread','SkCanvas::drawImageRect()','SkCanvas::drawPicture()','SkCanvas::drawTextBlob()','TileTaskWorkerPool::PlaybackToMemory'],record:['ContentLayerDelegate::paintContents','DeprecatedPaintLayerCompositor::updateIfNeededRecursive','DeprecatedPaintLayerCompositor::updateLayerPositionsAfterLayout','Paint','Picture::Record','PictureLayer::Update','RenderLayer::updateLayerPositionsAfterLayout'],style:['CSSParserImpl::parseStyleSheet.parse','CSSParserImpl::parseStyleSheet.tokenize','Document::updateStyle','Document::updateStyleInvalidationIfNeeded','ParseAuthorStyleSheet','RuleSet::addRulesFromSheet','StyleElement::processStyleSheet','StyleEngine::createResolver','StyleSheetContents::parseAuthorStyleSheet','UpdateLayoutTree'],script_parse_and_compile:['v8.parseOnBackground','V8.ScriptCompiler'],script_execute:['V8.Execute','WindowProxy::initialize'],resource_loading:['ResourceFetcher::requestResource','ResourceDispatcher::OnReceivedData','ResourceDispatcher::OnRequestComplete','ResourceDispatcher::OnReceivedResponse','Resource::appendData'],renderer_misc:['DecodeFont','ThreadState::completeSweep'],v8_runtime:[],[SAME_AS_PARENT]:['SyncChannel::Send']};var COLOR_FOR_USER_FRIENDLY_CATEGORY=new tr.b.SinebowColorGenerator();var USER_FRIENDLY_CATEGORY_FOR_TITLE=new Map();for(var category in TITLES_FOR_USER_FRIENDLY_CATEGORY){TITLES_FOR_USER_FRIENDLY_CATEGORY[category].forEach(function(title){USER_FRIENDLY_CATEGORY_FOR_TITLE.set(title,category);});}
-var USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY={netlog:'net',overhead:'overhead',startup:'startup',gpu:'gpu'};function ChromeUserFriendlyCategoryDriver(){}
-ChromeUserFriendlyCategoryDriver.fromEvent=function(event){var userFriendlyCategory=USER_FRIENDLY_CATEGORY_FOR_TITLE.get(event.title);if(userFriendlyCategory){if(userFriendlyCategory==SAME_AS_PARENT){if(event.parentSlice)
-return ChromeUserFriendlyCategoryDriver.fromEvent(event.parentSlice);}else{return userFriendlyCategory;}}
-var eventCategoryParts=tr.b.getCategoryParts(event.category);for(var i=0;i<eventCategoryParts.length;++i){var eventCategory=eventCategoryParts[i];userFriendlyCategory=USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY[eventCategory];if(userFriendlyCategory)
-return userFriendlyCategory;}
-return'other';};ChromeUserFriendlyCategoryDriver.getColor=function(ufc){return COLOR_FOR_USER_FRIENDLY_CATEGORY.colorForKey(ufc);};ChromeUserFriendlyCategoryDriver.ALL_TITLES=['other'];for(var category in TITLES_FOR_USER_FRIENDLY_CATEGORY){if(category===SAME_AS_PARENT)
-continue;ChromeUserFriendlyCategoryDriver.ALL_TITLES.push(category);}
-for(var category of tr.b.dictionaryValues(USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY)){ChromeUserFriendlyCategoryDriver.ALL_TITLES.push(category);}
-ChromeUserFriendlyCategoryDriver.ALL_TITLES.sort();for(var category of ChromeUserFriendlyCategoryDriver.ALL_TITLES)
-ChromeUserFriendlyCategoryDriver.getColor(category);return{ChromeUserFriendlyCategoryDriver:ChromeUserFriendlyCategoryDriver};});'use strict';tr.exportTo('tr.model.helpers',function(){function ChromeRendererHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);this.mainThread_=process.findAtMostOneThreadNamed('CrRendererMain');this.compositorThread_=process.findAtMostOneThreadNamed('Compositor');this.rasterWorkerThreads_=process.findAllThreadsMatching(function(t){if(t.name===undefined)
-return false;if(t.name.indexOf('CompositorTileWorker')===0)
-return true;if(t.name.indexOf('CompositorRasterWorker')===0)
-return true;return false;});this.isChromeTracingUI_=process.labels!==undefined&&process.labels.length===1&&process.labels[0]==='chrome://tracing';if(!process.name)
-process.name=ChromeRendererHelper.PROCESS_NAME;}
-ChromeRendererHelper.PROCESS_NAME='Renderer';ChromeRendererHelper.isRenderProcess=function(process){if(process.findAtMostOneThreadNamed('CrRendererMain'))
-return true;if(process.findAtMostOneThreadNamed('Compositor'))
-return true;return false;};ChromeRendererHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype,get mainThread(){return this.mainThread_;},get compositorThread(){return this.compositorThread_;},get rasterWorkerThreads(){return this.rasterWorkerThreads_;},get isChromeTracingUI(){return this.isChromeTracingUI_;},generateTimeBreakdownTree:function(start,end){if(this.mainThread===null)
-return;var breakdownMap={};var range=tr.b.Range.fromExplicitRange(start,end);for(var title of
-tr.e.chrome.ChromeUserFriendlyCategoryDriver.ALL_TITLES){breakdownMap[title]={total:0,events:{}};}
-breakdownMap['idle']={total:0,events:{}};var totalIdleTime=end-start;for(var event of this.mainThread.getDescendantEvents()){if(!range.intersectsExplicitRangeExclusive(event.start,event.end))
-continue;if(event.selfTime===undefined)
-continue;var title=tr.e.chrome.ChromeUserFriendlyCategoryDriver.fromEvent(event);var wallTimeIntersectionRatio=0;if(event.duration>0){wallTimeIntersectionRatio=range.findExplicitIntersectionDuration(event.start,event.end)/event.duration;}
-var v8Runtime=event.args['runtime-call-stat'];if(v8Runtime!==undefined){try{var v8RuntimeObject=JSON.parse(v8Runtime);for(var runtimeCall in v8RuntimeObject){if(v8RuntimeObject[runtimeCall].length==2){if(breakdownMap['v8_runtime'].events[runtimeCall]===undefined){breakdownMap['v8_runtime'].events[runtimeCall]=0;}
-var runtimeTime=v8RuntimeObject[runtimeCall][1]*wallTimeIntersectionRatio/1000;breakdownMap['v8_runtime'].total+=runtimeTime;breakdownMap['v8_runtime'].events[runtimeCall]+=runtimeTime;}}}catch(e){console.warn(e);}}
-var approximatedSelfTimeContribution=event.selfTime*wallTimeIntersectionRatio;breakdownMap[title].total+=approximatedSelfTimeContribution;if(breakdownMap[title].events[event.title]===undefined)
-breakdownMap[title].events[event.title]=0;breakdownMap[title].events[event.title]+=approximatedSelfTimeContribution;totalIdleTime-=approximatedSelfTimeContribution;}
-breakdownMap['idle'].total=totalIdleTime;return breakdownMap;}};return{ChromeRendererHelper:ChromeRendererHelper};});'use strict';tr.exportTo('tr.model.helpers',function(){function findChromeBrowserProcesses(model){return model.getAllProcesses(tr.model.helpers.ChromeBrowserHelper.isBrowserProcess);}
-function findChromeRenderProcesses(model){return model.getAllProcesses(tr.model.helpers.ChromeRendererHelper.isRenderProcess);}
-function findChromeGpuProcess(model){var gpuProcesses=model.getAllProcesses(tr.model.helpers.ChromeGpuHelper.isGpuProcess);if(gpuProcesses.length!==1)
-return undefined;return gpuProcesses[0];}
-function ChromeModelHelper(model){this.model_=model;var browserProcesses=findChromeBrowserProcesses(model);this.browserHelpers_=browserProcesses.map(p=>new tr.model.helpers.ChromeBrowserHelper(this,p));var gpuProcess=findChromeGpuProcess(model);if(gpuProcess){this.gpuHelper_=new tr.model.helpers.ChromeGpuHelper(this,gpuProcess);}else{this.gpuHelper_=undefined;}
-var rendererProcesses_=findChromeRenderProcesses(model);this.rendererHelpers_={};rendererProcesses_.forEach(function(renderProcess){var rendererHelper=new tr.model.helpers.ChromeRendererHelper(this,renderProcess);this.rendererHelpers_[rendererHelper.pid]=rendererHelper;},this);}
-ChromeModelHelper.guid=tr.b.GUID.allocateSimple();ChromeModelHelper.supportsModel=function(model){if(findChromeBrowserProcesses(model).length)
-return true;if(findChromeRenderProcesses(model).length)
-return true;return false;};ChromeModelHelper.prototype={get pid(){throw new Error('woah');},get process(){throw new Error('woah');},get model(){return this.model_;},get browserProcess(){if(this.browserHelper===undefined)
-return undefined;return this.browserHelper.process;},get browserHelper(){return this.browserHelpers_[0];},get browserHelpers(){return this.browserHelpers_;},get gpuHelper(){return this.gpuHelper_;},get rendererHelpers(){return this.rendererHelpers_;},get rendererWithLargestPid(){var largestPid=-1;for(var pid in this.rendererHelpers){var rendererHelper=this.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI)continue;if(pid>largestPid)largestPid=pid;}
-if(largestPid===-1)return undefined;return this.rendererHelpers[largestPid];}};return{ChromeModelHelper:ChromeModelHelper};});'use strict';tr.exportTo('tr.e.cc',function(){var AsyncSlice=tr.model.AsyncSlice;var EventSet=tr.model.EventSet;var UI_COMP_NAME='INPUT_EVENT_LATENCY_UI_COMPONENT';var ORIGINAL_COMP_NAME='INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT';var BEGIN_COMP_NAME='INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT';var END_COMP_NAME='INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT';var MAIN_RENDERER_THREAD_NAME='CrRendererMain';var COMPOSITOR_THREAD_NAME='Compositor';var POSTTASK_FLOW_EVENT='disabled-by-default-toplevel.flow';var IPC_FLOW_EVENT='disabled-by-default-ipc.flow';var INPUT_EVENT_TYPE_NAMES={CHAR:'Char',CLICK:'GestureClick',CONTEXT_MENU:'ContextMenu',FLING_CANCEL:'GestureFlingCancel',FLING_START:'GestureFlingStart',KEY_DOWN:'KeyDown',KEY_DOWN_RAW:'RawKeyDown',KEY_UP:'KeyUp',LATENCY_SCROLL_UPDATE:'ScrollUpdate',MOUSE_DOWN:'MouseDown',MOUSE_ENTER:'MouseEnter',MOUSE_LEAVE:'MouseLeave',MOUSE_MOVE:'MouseMove',MOUSE_UP:'MouseUp',MOUSE_WHEEL:'MouseWheel',PINCH_BEGIN:'GesturePinchBegin',PINCH_END:'GesturePinchEnd',PINCH_UPDATE:'GesturePinchUpdate',SCROLL_BEGIN:'GestureScrollBegin',SCROLL_END:'GestureScrollEnd',SCROLL_UPDATE:'GestureScrollUpdate',SCROLL_UPDATE_RENDERER:'ScrollUpdate',SHOW_PRESS:'GestureShowPress',TAP:'GestureTap',TAP_CANCEL:'GestureTapCancel',TAP_DOWN:'GestureTapDown',TOUCH_CANCEL:'TouchCancel',TOUCH_END:'TouchEnd',TOUCH_MOVE:'TouchMove',TOUCH_START:'TouchStart',UNKNOWN:'UNKNOWN'};function InputLatencyAsyncSlice(){AsyncSlice.apply(this,arguments);this.associatedEvents_=new EventSet();this.typeName_=undefined;if(!this.isLegacyEvent)
-this.determineModernTypeName_();}
-InputLatencyAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get isLegacyEvent(){return this.title==='InputLatency';},get typeName(){if(!this.typeName_)
-this.determineLegacyTypeName_();return this.typeName_;},checkTypeName_:function(){if(!this.typeName_)
-throw'Unable to determine typeName';var found=false;for(var typeName in INPUT_EVENT_TYPE_NAMES){if(this.typeName===INPUT_EVENT_TYPE_NAMES[typeName]){found=true;break;}}
-if(!found)
-this.typeName_=INPUT_EVENT_TYPE_NAMES.UNKNOWN;},determineModernTypeName_:function(){var lastColonIndex=this.title.lastIndexOf(':');if(lastColonIndex<0)
-return;var characterAfterLastColonIndex=lastColonIndex+1;this.typeName_=this.title.slice(characterAfterLastColonIndex);this.checkTypeName_();},determineLegacyTypeName_:function(){for(var subSlice of this.enumerateAllDescendents()){var subSliceIsAInputLatencyAsyncSlice=(subSlice instanceof InputLatencyAsyncSlice);if(!subSliceIsAInputLatencyAsyncSlice)
-continue;if(!subSlice.typeName)
-continue;if(this.typeName_&&subSlice.typeName_){var subSliceHasDifferentTypeName=(this.typeName_!==subSlice.typeName_);if(subSliceHasDifferentTypeName){throw'InputLatencyAsyncSlice.determineLegacyTypeName_() '+' found multiple typeNames';}}
-this.typeName_=subSlice.typeName_;}
-if(!this.typeName_)
-throw'InputLatencyAsyncSlice.determineLegacyTypeName_() failed';this.checkTypeName_();},getRendererHelper:function(sourceSlices){var traceModel=this.startThread.parent.model;var modelHelper=traceModel.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(!modelHelper)
-return undefined;var mainThread=undefined;var compositorThread=undefined;for(var i in sourceSlices){if(sourceSlices[i].parentContainer.name===MAIN_RENDERER_THREAD_NAME)
-mainThread=sourceSlices[i].parentContainer;else if(sourceSlices[i].parentContainer.name===COMPOSITOR_THREAD_NAME)
-compositorThread=sourceSlices[i].parentContainer;if(mainThread&&compositorThread)
-break;}
-var rendererHelpers=modelHelper.rendererHelpers;var pids=Object.keys(rendererHelpers);for(var i=0;i<pids.length;i++){var pid=pids[i];var rendererHelper=rendererHelpers[pid];if(rendererHelper.mainThread===mainThread||rendererHelper.compositorThread===compositorThread)
-return rendererHelper;}
-return undefined;},addEntireSliceHierarchy:function(slice){this.associatedEvents_.push(slice);slice.iterateAllSubsequentSlices(function(subsequentSlice){this.associatedEvents_.push(subsequentSlice);},this);},addDirectlyAssociatedEvents:function(flowEvents){var slices=[];flowEvents.forEach(function(flowEvent){this.associatedEvents_.push(flowEvent);var newSource=flowEvent.startSlice.mostTopLevelSlice;if(slices.indexOf(newSource)===-1)
-slices.push(newSource);},this);var lastFlowEvent=flowEvents[flowEvents.length-1];var lastSource=lastFlowEvent.endSlice.mostTopLevelSlice;if(slices.indexOf(lastSource)===-1)
-slices.push(lastSource);return slices;},addScrollUpdateEvents:function(rendererHelper){if(!rendererHelper||!rendererHelper.compositorThread)
-return;var compositorThread=rendererHelper.compositorThread;var gestureScrollUpdateStart=this.start;var gestureScrollUpdateEnd=this.end;var allCompositorAsyncSlices=compositorThread.asyncSliceGroup.slices;for(var i in allCompositorAsyncSlices){var slice=allCompositorAsyncSlices[i];if(slice.title!=='Latency::ScrollUpdate')
-continue;var parentId=slice.args.data.INPUT_EVENT_LATENCY_FORWARD_SCROLL_UPDATE_TO_MAIN_COMPONENT.sequence_number;if(parentId===undefined){if(slice.start<gestureScrollUpdateStart||slice.start>=gestureScrollUpdateEnd)
-continue;}else{if(parseInt(parentId)!==parseInt(this.id))
-continue;}
-slice.associatedEvents.forEach(function(event){this.associatedEvents_.push(event);},this);break;}},belongToOtherInputs:function(slice,flowEvents){var fromOtherInputs=false;slice.iterateEntireHierarchy(function(subsequentSlice){if(fromOtherInputs)
-return;subsequentSlice.inFlowEvents.forEach(function(inflow){if(fromOtherInputs)
-return;if(inflow.category.indexOf('input')>-1){if(flowEvents.indexOf(inflow)===-1)
-fromOtherInputs=true;}},this);},this);return fromOtherInputs;},triggerOtherInputs:function(event,flowEvents){if(event.outFlowEvents===undefined||event.outFlowEvents.length===0)
-return false;var flow=event.outFlowEvents[0];if(flow.category!==POSTTASK_FLOW_EVENT||!flow.endSlice)
-return false;var endSlice=flow.endSlice;if(this.belongToOtherInputs(endSlice.mostTopLevelSlice,flowEvents))
-return true;return false;},followSubsequentSlices:function(event,queue,visited,flowEvents){var stopFollowing=false;var inputAck=false;event.iterateAllSubsequentSlices(function(slice){if(stopFollowing)
-return;if(slice.title==='TaskQueueManager::RunTask')
-return;if(slice.title==='ThreadProxy::ScheduledActionSendBeginMainFrame')
-return;if(slice.title==='Scheduler::ScheduleBeginImplFrameDeadline'){if(this.triggerOtherInputs(slice,flowEvents))
-return;}
-if(slice.title==='CompositorImpl::PostComposite'){if(this.triggerOtherInputs(slice,flowEvents))
-return;}
-if(slice.title==='InputRouterImpl::ProcessInputEventAck')
-inputAck=true;if(inputAck&&slice.title==='InputRouterImpl::FilterAndSendWebInputEvent')
-stopFollowing=true;this.followCurrentSlice(slice,queue,visited);},this);},followCurrentSlice:function(event,queue,visited){event.outFlowEvents.forEach(function(outflow){if((outflow.category===POSTTASK_FLOW_EVENT||outflow.category===IPC_FLOW_EVENT)&&outflow.endSlice){this.associatedEvents_.push(outflow);var nextEvent=outflow.endSlice.mostTopLevelSlice;if(!visited.contains(nextEvent)){visited.push(nextEvent);queue.push(nextEvent);}}},this);},backtraceFromDraw:function(beginImplFrame,visited){var pendingEventQueue=[];pendingEventQueue.push(beginImplFrame.mostTopLevelSlice);while(pendingEventQueue.length!==0){var event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);event.inFlowEvents.forEach(function(inflow){if(inflow.category===POSTTASK_FLOW_EVENT&&inflow.startSlice){var nextEvent=inflow.startSlice.mostTopLevelSlice;if(!visited.contains(nextEvent)){visited.push(nextEvent);pendingEventQueue.push(nextEvent);}}},this);}},sortRasterizerSlices:function(rasterWorkerThreads,sortedRasterizerSlices){rasterWorkerThreads.forEach(function(rasterizer){Array.prototype.push.apply(sortedRasterizerSlices,rasterizer.sliceGroup.slices);},this);sortedRasterizerSlices.sort(function(a,b){if(a.start!==b.start)
-return a.start-b.start;return a.guid-b.guid;});},addRasterizationEvents:function(prepareTiles,rendererHelper,visited,flowEvents,sortedRasterizerSlices){if(!prepareTiles.args.prepare_tiles_id)
-return;if(!rendererHelper||!rendererHelper.rasterWorkerThreads)
-return;var rasterWorkerThreads=rendererHelper.rasterWorkerThreads;var prepareTileId=prepareTiles.args.prepare_tiles_id;var pendingEventQueue=[];if(sortedRasterizerSlices.length===0)
-this.sortRasterizerSlices(rasterWorkerThreads,sortedRasterizerSlices);var numFinishedTasks=0;var RASTER_TASK_TITLE='RasterizerTaskImpl::RunOnWorkerThread';var IMAGEDECODE_TASK_TITLE='ImageDecodeTaskImpl::RunOnWorkerThread';var FINISHED_TASK_TITLE='TaskSetFinishedTaskImpl::RunOnWorkerThread';for(var i=0;i<sortedRasterizerSlices.length;i++){var task=sortedRasterizerSlices[i];if(task.title===RASTER_TASK_TITLE||task.title===IMAGEDECODE_TASK_TITLE){if(task.args.source_prepare_tiles_id===prepareTileId)
-this.addEntireSliceHierarchy(task.mostTopLevelSlice);}else if(task.title===FINISHED_TASK_TITLE){if(task.start>prepareTiles.start){pendingEventQueue.push(task.mostTopLevelSlice);if(++numFinishedTasks===3)
-break;}}}
-while(pendingEventQueue.length!=0){var event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);this.followSubsequentSlices(event,pendingEventQueue,visited,flowEvents);}},addOtherCausallyRelatedEvents:function(rendererHelper,sourceSlices,flowEvents,sortedRasterizerSlices){var pendingEventQueue=[];var visitedEvents=new EventSet();var beginImplFrame=undefined;var prepareTiles=undefined;var sortedRasterizerSlices=[];sourceSlices.forEach(function(sourceSlice){if(!visitedEvents.contains(sourceSlice)){visitedEvents.push(sourceSlice);pendingEventQueue.push(sourceSlice);}},this);while(pendingEventQueue.length!=0){var event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);this.followCurrentSlice(event,pendingEventQueue,visitedEvents);this.followSubsequentSlices(event,pendingEventQueue,visitedEvents,flowEvents);var COMPOSITOR_PREPARE_TILES='TileManager::PrepareTiles';prepareTiles=event.findDescendentSlice(COMPOSITOR_PREPARE_TILES);if(prepareTiles)
-this.addRasterizationEvents(prepareTiles,rendererHelper,visitedEvents,flowEvents,sortedRasterizerSlices);var COMPOSITOR_ON_BIFD='Scheduler::OnBeginImplFrameDeadline';beginImplFrame=event.findDescendentSlice(COMPOSITOR_ON_BIFD);if(beginImplFrame)
-this.backtraceFromDraw(beginImplFrame,visitedEvents);}
-var INPUT_GSU='InputLatency::GestureScrollUpdate';if(this.title===INPUT_GSU)
-this.addScrollUpdateEvents(rendererHelper);},get associatedEvents(){if(this.associatedEvents_.length!==0)
-return this.associatedEvents_;var modelIndices=this.startThread.parent.model.modelIndices;var flowEvents=modelIndices.getFlowEventsWithId(this.id);if(flowEvents.length===0)
-return this.associatedEvents_;var sourceSlices=this.addDirectlyAssociatedEvents(flowEvents);var rendererHelper=this.getRendererHelper(sourceSlices);this.addOtherCausallyRelatedEvents(rendererHelper,sourceSlices,flowEvents);return this.associatedEvents_;},get inputLatency(){if(!('data'in this.args))
-return undefined;var data=this.args.data;if(!(END_COMP_NAME in data))
-return undefined;var latency=0;var endTime=data[END_COMP_NAME].time;if(ORIGINAL_COMP_NAME in data){latency=endTime-data[ORIGINAL_COMP_NAME].time;}else if(UI_COMP_NAME in data){latency=endTime-data[UI_COMP_NAME].time;}else if(BEGIN_COMP_NAME in data){latency=endTime-data[BEGIN_COMP_NAME].time;}else{throw new Error('No valid begin latency component');}
-return latency;}};var eventTypeNames=['Char','ContextMenu','GestureClick','GestureFlingCancel','GestureFlingStart','GestureScrollBegin','GestureScrollEnd','GestureScrollUpdate','GestureShowPress','GestureTap','GestureTapCancel','GestureTapDown','GesturePinchBegin','GesturePinchEnd','GesturePinchUpdate','KeyDown','KeyUp','MouseDown','MouseEnter','MouseLeave','MouseMove','MouseUp','MouseWheel','RawKeyDown','ScrollUpdate','TouchCancel','TouchEnd','TouchMove','TouchStart'];var allTypeNames=['InputLatency'];eventTypeNames.forEach(function(eventTypeName){allTypeNames.push('InputLatency:'+eventTypeName);allTypeNames.push('InputLatency::'+eventTypeName);});AsyncSlice.subTypes.register(InputLatencyAsyncSlice,{typeNames:allTypeNames,categoryParts:['latencyInfo']});return{InputLatencyAsyncSlice:InputLatencyAsyncSlice,INPUT_EVENT_TYPE_NAMES:INPUT_EVENT_TYPE_NAMES};});'use strict';tr.exportTo('tr.model.um',function(){function AnimationExpectation(parentModel,initiatorTitle,start,duration){tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.frameEvents_=undefined;}
-AnimationExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:AnimationExpectation,get frameEvents(){if(this.frameEvents_)
-return this.frameEvents_;this.frameEvents_=new tr.model.EventSet();this.associatedEvents.forEach(function(event){if(event.title===tr.model.helpers.IMPL_RENDERING_STATS)
-this.frameEvents_.push(event);},this);return this.frameEvents_;}};tr.model.um.UserExpectation.subTypes.register(AnimationExpectation,{stageTitle:'Animation',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_animation')});return{AnimationExpectation:AnimationExpectation};});'use strict';tr.exportTo('tr.model.um',function(){function ResponseExpectation(parentModel,initiatorTitle,start,duration,opt_isAnimationBegin){tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.isAnimationBegin=opt_isAnimationBegin||false;}
-ResponseExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:ResponseExpectation};tr.model.um.UserExpectation.subTypes.register(ResponseExpectation,{stageTitle:'Response',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_response')});return{ResponseExpectation:ResponseExpectation};});'use strict';tr.exportTo('tr.importer',function(){function ProtoExpectation(irType,initiatorType){this.irType=irType;this.initiatorType=initiatorType;this.start=Infinity;this.end=-Infinity;this.associatedEvents=new tr.model.EventSet();this.isAnimationBegin=false;}
-ProtoExpectation.RESPONSE_TYPE='r';ProtoExpectation.ANIMATION_TYPE='a';ProtoExpectation.IGNORED_TYPE='ignored';var INITIATOR_HIERARCHY=[tr.model.um.INITIATOR_TYPE.PINCH,tr.model.um.INITIATOR_TYPE.FLING,tr.model.um.INITIATOR_TYPE.MOUSE_WHEEL,tr.model.um.INITIATOR_TYPE.SCROLL,tr.model.um.INITIATOR_TYPE.VIDEO,tr.model.um.INITIATOR_TYPE.WEBGL,tr.model.um.INITIATOR_TYPE.CSS,tr.model.um.INITIATOR_TYPE.MOUSE,tr.model.um.INITIATOR_TYPE.KEYBOARD,tr.model.um.INITIATOR_TYPE.TAP,tr.model.um.INITIATOR_TYPE.TOUCH];function combineInitiatorTypes(title1,title2){for(var item of INITIATOR_HIERARCHY)
-if(title1===item||title2===item)return item;console.error('Invalid titles in combineInitiatorTypes')
-return undefined;}
-ProtoExpectation.prototype={get isValid(){return this.end>this.start;},containsTypeNames:function(typeNames){return this.associatedEvents.some(x=>typeNames.indexOf(x.typeName)>=0);},containsSliceTitle:function(title){return this.associatedEvents.some(x=>title===x.title);},createInteractionRecord:function(model){if(!this.isValid){console.error('Invalid ProtoExpectation: '+this.debug()+' File a bug with this trace!');return undefined;}
-var duration=this.end-this.start;var ir=undefined;switch(this.irType){case ProtoExpectation.RESPONSE_TYPE:ir=new tr.model.um.ResponseExpectation(model,this.initiatorType,this.start,duration,this.isAnimationBegin);break;case ProtoExpectation.ANIMATION_TYPE:ir=new tr.model.um.AnimationExpectation(model,this.initiatorType,this.start,duration);break;}
-if(!ir)
-return undefined;ir.sourceEvents.addEventSet(this.associatedEvents);function pushAssociatedEvents(event){ir.associatedEvents.push(event);if(event.associatedEvents)
-ir.associatedEvents.addEventSet(event.associatedEvents);}
-this.associatedEvents.forEach(function(event){pushAssociatedEvents(event);if(event.subSlices)
-event.subSlices.forEach(pushAssociatedEvents);});return ir;},merge:function(other){this.initiatorType=combineInitiatorTypes(this.initiatorType,other.initiatorType)
-this.associatedEvents.addEventSet(other.associatedEvents);this.start=Math.min(this.start,other.start);this.end=Math.max(this.end,other.end);if(other.isAnimationBegin)
-this.isAnimationBegin=true;},pushEvent:function(event){this.start=Math.min(this.start,event.start);this.end=Math.max(this.end,event.end);this.associatedEvents.push(event);},containsTimestampInclusive:function(timestamp){return(this.start<=timestamp)&&(timestamp<=this.end);},intersects:function(other){return(other.start<this.end)&&(other.end>this.start);},isNear:function(event,threshold){return(this.end+threshold)>event.start;},debug:function(){var debugString=this.irType+'(';debugString+=parseInt(this.start)+' ';debugString+=parseInt(this.end);this.associatedEvents.forEach(function(event){debugString+=' '+event.typeName;});return debugString+')';}};return{ProtoExpectation:ProtoExpectation};});'use strict';tr.exportTo('tr.importer',function(){var ProtoExpectation=tr.importer.ProtoExpectation;var INITIATOR_TYPE=tr.model.um.INITIATOR_TYPE;var INPUT_TYPE=tr.e.cc.INPUT_EVENT_TYPE_NAMES;var KEYBOARD_TYPE_NAMES=[INPUT_TYPE.CHAR,INPUT_TYPE.KEY_DOWN_RAW,INPUT_TYPE.KEY_DOWN,INPUT_TYPE.KEY_UP];var MOUSE_RESPONSE_TYPE_NAMES=[INPUT_TYPE.CLICK,INPUT_TYPE.CONTEXT_MENU];var MOUSE_WHEEL_TYPE_NAMES=[INPUT_TYPE.MOUSE_WHEEL];var MOUSE_DRAG_TYPE_NAMES=[INPUT_TYPE.MOUSE_DOWN,INPUT_TYPE.MOUSE_MOVE,INPUT_TYPE.MOUSE_UP];var TAP_TYPE_NAMES=[INPUT_TYPE.TAP,INPUT_TYPE.TAP_CANCEL,INPUT_TYPE.TAP_DOWN];var PINCH_TYPE_NAMES=[INPUT_TYPE.PINCH_BEGIN,INPUT_TYPE.PINCH_END,INPUT_TYPE.PINCH_UPDATE];var FLING_TYPE_NAMES=[INPUT_TYPE.FLING_CANCEL,INPUT_TYPE.FLING_START];var TOUCH_TYPE_NAMES=[INPUT_TYPE.TOUCH_END,INPUT_TYPE.TOUCH_MOVE,INPUT_TYPE.TOUCH_START];var SCROLL_TYPE_NAMES=[INPUT_TYPE.SCROLL_BEGIN,INPUT_TYPE.SCROLL_END,INPUT_TYPE.SCROLL_UPDATE];var ALL_HANDLED_TYPE_NAMES=[].concat(KEYBOARD_TYPE_NAMES,MOUSE_RESPONSE_TYPE_NAMES,MOUSE_WHEEL_TYPE_NAMES,MOUSE_DRAG_TYPE_NAMES,PINCH_TYPE_NAMES,TAP_TYPE_NAMES,FLING_TYPE_NAMES,TOUCH_TYPE_NAMES,SCROLL_TYPE_NAMES);var RENDERER_FLING_TITLE='InputHandlerProxy::HandleGestureFling::started';var PLAYBACK_EVENT_TITLE='VideoPlayback';var CSS_ANIMATION_TITLE='Animation';var INPUT_MERGE_THRESHOLD_MS=200;var ANIMATION_MERGE_THRESHOLD_MS=32;var MOUSE_WHEEL_THRESHOLD_MS=40;var MOUSE_MOVE_THRESHOLD_MS=40;function compareEvents(x,y){if(x.start!==y.start)
-return x.start-y.start;if(x.end!==y.end)
-return x.end-y.end;if(x.guid&&y.guid)
-return x.guid-y.guid;return 0;}
-function forEventTypesIn(events,typeNames,cb,opt_this){events.forEach(function(event){if(typeNames.indexOf(event.typeName)>=0){cb.call(opt_this,event);}});}
-function causedFrame(event){return event.associatedEvents.some(x=>x.title===tr.model.helpers.IMPL_RENDERING_STATS);}
-function getSortedFrameEventsByProcess(modelHelper){var frameEventsByPid={};tr.b.iterItems(modelHelper.rendererHelpers,function(pid,rendererHelper){frameEventsByPid[pid]=rendererHelper.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds);});return frameEventsByPid;}
-function getSortedInputEvents(modelHelper){var inputEvents=[];var browserProcess=modelHelper.browserHelper.process;var mainThread=browserProcess.findAtMostOneThreadNamed('CrBrowserMain');for(var slice of mainThread.asyncSliceGroup.getDescendantEvents()){if(!slice.isTopLevel)
-continue;if(!(slice instanceof tr.e.cc.InputLatencyAsyncSlice))
-continue;if(isNaN(slice.start)||isNaN(slice.duration)||isNaN(slice.end))
-continue;inputEvents.push(slice);}
-return inputEvents.sort(compareEvents);}
-function findProtoExpectations(modelHelper,sortedInputEvents){var protoExpectations=[];var handlers=[handleKeyboardEvents,handleMouseResponseEvents,handleMouseWheelEvents,handleMouseDragEvents,handleTapResponseEvents,handlePinchEvents,handleFlingEvents,handleTouchEvents,handleScrollEvents,handleCSSAnimations,handleWebGLAnimations,handleVideoAnimations];handlers.forEach(function(handler){protoExpectations.push.apply(protoExpectations,handler(modelHelper,sortedInputEvents));});protoExpectations.sort(compareEvents);return protoExpectations;}
-function handleKeyboardEvents(modelHelper,sortedInputEvents){var protoExpectations=[];forEventTypesIn(sortedInputEvents,KEYBOARD_TYPE_NAMES,function(event){var pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.KEYBOARD);pe.pushEvent(event);protoExpectations.push(pe);});return protoExpectations;}
-function handleMouseResponseEvents(modelHelper,sortedInputEvents){var protoExpectations=[];forEventTypesIn(sortedInputEvents,MOUSE_RESPONSE_TYPE_NAMES,function(event){var pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);});return protoExpectations;}
-function handleMouseWheelEvents(modelHelper,sortedInputEvents){var protoExpectations=[];var currentPE=undefined;var prevEvent_=undefined;forEventTypesIn(sortedInputEvents,MOUSE_WHEEL_TYPE_NAMES,function(event){var prevEvent=prevEvent_;prevEvent_=event;if(currentPE&&(prevEvent.start+MOUSE_WHEEL_THRESHOLD_MS)>=event.start){if(currentPE.irType===ProtoExpectation.ANIMATION_TYPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.MOUSE_WHEEL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
-return;}
-currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE_WHEEL);currentPE.pushEvent(event);protoExpectations.push(currentPE);});return protoExpectations;}
-function handleMouseDragEvents(modelHelper,sortedInputEvents){var protoExpectations=[];var currentPE=undefined;var mouseDownEvent=undefined;forEventTypesIn(sortedInputEvents,MOUSE_DRAG_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.MOUSE_DOWN:if(causedFrame(event)){var pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);}else{mouseDownEvent=event;}
-break;case INPUT_TYPE.MOUSE_MOVE:if(!causedFrame(event)){var pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}else if(!currentPE||!currentPE.isNear(event,MOUSE_MOVE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);currentPE.pushEvent(event);if(mouseDownEvent){currentPE.associatedEvents.push(mouseDownEvent);mouseDownEvent=undefined;}
-protoExpectations.push(currentPE);}else{if(currentPE.irType===ProtoExpectation.ANIMATION_TYPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.MOUSE);currentPE.pushEvent(event);protoExpectations.push(currentPE);}}
-break;case INPUT_TYPE.MOUSE_UP:if(!mouseDownEvent){var pe=new ProtoExpectation(causedFrame(event)?ProtoExpectation.RESPONSE_TYPE:ProtoExpectation.IGNORED_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);break;}
-if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);if(mouseDownEvent)
-currentPE.associatedEvents.push(mouseDownEvent);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
-mouseDownEvent=undefined;currentPE=undefined;break;}});if(mouseDownEvent){currentPE=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);currentPE.pushEvent(mouseDownEvent);protoExpectations.push(currentPE);}
-return protoExpectations;}
-function handleTapResponseEvents(modelHelper,sortedInputEvents){var protoExpectations=[];var currentPE=undefined;forEventTypesIn(sortedInputEvents,TAP_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.TAP_DOWN:currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);break;case INPUT_TYPE.TAP:if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
-currentPE=undefined;break;case INPUT_TYPE.TAP_CANCEL:if(!currentPE){var pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;}
-if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
-currentPE=undefined;break;}});return protoExpectations;}
-function handlePinchEvents(modelHelper,sortedInputEvents){var protoExpectations=[];var currentPE=undefined;var sawFirstUpdate=false;var modelBounds=modelHelper.model.bounds;forEventTypesIn(sortedInputEvents,PINCH_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.PINCH_BEGIN:if(currentPE&&currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);break;}
-currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.PINCH);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstUpdate=false;break;case INPUT_TYPE.PINCH_UPDATE:if(!currentPE||((currentPE.irType===ProtoExpectation.RESPONSE_TYPE)&&sawFirstUpdate)||!currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.PINCH);currentPE.pushEvent(event);protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);sawFirstUpdate=true;}
-break;case INPUT_TYPE.PINCH_END:if(currentPE){currentPE.pushEvent(event);}else{var pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}
-currentPE=undefined;break;}});return protoExpectations;}
-function handleFlingEvents(modelHelper,sortedInputEvents){var protoExpectations=[];var currentPE=undefined;function isRendererFling(event){return event.title===RENDERER_FLING_TITLE;}
-var browserHelper=modelHelper.browserHelper;var flingEvents=browserHelper.getAllAsyncSlicesMatching(isRendererFling);forEventTypesIn(sortedInputEvents,FLING_TYPE_NAMES,function(event){flingEvents.push(event);});flingEvents.sort(compareEvents);flingEvents.forEach(function(event){if(event.title===RENDERER_FLING_TITLE){if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.FLING);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
-return;}
-switch(event.typeName){case INPUT_TYPE.FLING_START:if(currentPE){console.error('Another FlingStart? File a bug with this trace!');currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.FLING);currentPE.pushEvent(event);currentPE.end=0;protoExpectations.push(currentPE);}
-break;case INPUT_TYPE.FLING_CANCEL:if(currentPE){currentPE.pushEvent(event);currentPE.end=event.start;currentPE=undefined;}else{var pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}
-break;}});if(currentPE&&!currentPE.end)
-currentPE.end=modelHelper.model.bounds.max;return protoExpectations;}
-function handleTouchEvents(modelHelper,sortedInputEvents){var protoExpectations=[];var currentPE=undefined;var sawFirstMove=false;forEventTypesIn(sortedInputEvents,TOUCH_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.TOUCH_START:if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstMove=false;}
-break;case INPUT_TYPE.TOUCH_MOVE:if(!currentPE){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);protoExpectations.push(currentPE);break;}
-if((sawFirstMove&&(currentPE.irType===ProtoExpectation.RESPONSE_TYPE))||!currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){var prevEnd=currentPE.end;currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);currentPE.start=prevEnd;protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);sawFirstMove=true;}
-break;case INPUT_TYPE.TOUCH_END:if(!currentPE){var pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;}
-if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);}else{var pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}
-currentPE=undefined;break;}});return protoExpectations;}
-function handleScrollEvents(modelHelper,sortedInputEvents){var protoExpectations=[];var currentPE=undefined;var sawFirstUpdate=false;forEventTypesIn(sortedInputEvents,SCROLL_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.SCROLL_BEGIN:currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstUpdate=false;break;case INPUT_TYPE.SCROLL_UPDATE:if(currentPE){if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)&&((currentPE.irType===ProtoExpectation.ANIMATION_TYPE)||!sawFirstUpdate)){currentPE.pushEvent(event);sawFirstUpdate=true;}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
-break;case INPUT_TYPE.SCROLL_END:if(!currentPE){console.error('ScrollEnd without ScrollUpdate? '+'File a bug with this trace!');var pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;}
-currentPE.pushEvent(event);break;}});return protoExpectations;}
-function handleVideoAnimations(modelHelper,sortedInputEvents){var events=[];for(var pid in modelHelper.rendererHelpers){for(var asyncSlice of
-modelHelper.rendererHelpers[pid].mainThread.asyncSliceGroup.slices){if(asyncSlice.title===PLAYBACK_EVENT_TITLE)
-events.push(asyncSlice);}}
-events.sort(tr.importer.compareEvents);var protoExpectations=[];for(var event of events){var currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.VIDEO);currentPE.start=event.start;currentPE.end=event.end;currentPE.pushEvent(event);protoExpectations.push(currentPE);}
-return protoExpectations;}
-function handleCSSAnimations(modelHelper,sortedInputEvents){var animationEvents=modelHelper.browserHelper.getAllAsyncSlicesMatching(function(event){return((event.title===CSS_ANIMATION_TITLE)&&event.isTopLevel&&(event.duration>0));});var animationRanges=[];function pushAnimationRange(start,end,animation){var range=tr.b.Range.fromExplicitRange(start,end);range.animation=animation;animationRanges.push(range);}
-animationEvents.forEach(function(animation){if(animation.subSlices.length===0){pushAnimationRange(animation.start,animation.end,animation);}else{var start=undefined;animation.subSlices.forEach(function(sub){if((sub.args.data.state==='running')&&(start===undefined)){start=sub.start;}else if((sub.args.data.state==='paused')||(sub.args.data.state==='idle')||(sub.args.data.state==='finished')){if(start===undefined){start=modelHelper.model.bounds.min;}
-pushAnimationRange(start,sub.start,animation);start=undefined;}});if(start!==undefined)
-pushAnimationRange(start,animation.end,animation);}});return animationRanges.map(function(range){var protoExpectation=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.CSS);protoExpectation.start=range.min;protoExpectation.end=range.max;protoExpectation.associatedEvents.push(range.animation);return protoExpectation;});}
-function findWebGLEvents(modelHelper,mailboxEvents,animationEvents){for(var event of modelHelper.model.getDescendantEvents()){if(event.title==='DrawingBuffer::prepareMailbox')
-mailboxEvents.push(event);else if(event.title==='PageAnimator::serviceScriptedAnimations')
-animationEvents.push(event);}}
-function findMailboxEventsNearAnimationEvents(mailboxEvents,animationEvents){if(animationEvents.length===0)
-return[];mailboxEvents.sort(compareEvents);animationEvents.sort(compareEvents);var animationIterator=animationEvents[Symbol.iterator]();var animationEvent=animationIterator.next().value;var filteredEvents=[];for(var event of mailboxEvents){while(animationEvent&&(animationEvent.start<(event.start-ANIMATION_MERGE_THRESHOLD_MS)))
-animationEvent=animationIterator.next().value;if(!animationEvent)
-break;if(animationEvent.start<(event.start+ANIMATION_MERGE_THRESHOLD_MS))
-filteredEvents.push(event);}
-return filteredEvents;}
-function createProtoExpectationsFromMailboxEvents(mailboxEvents){var protoExpectations=[];var currentPE=undefined;for(var event of mailboxEvents){if(currentPE===undefined||!currentPE.isNear(event,ANIMATION_MERGE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.WEBGL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
-else{currentPE.pushEvent(event);}}
-return protoExpectations;}
-function handleWebGLAnimations(modelHelper,sortedInputEvents){var prepareMailboxEvents=[];var scriptedAnimationEvents=[];findWebGLEvents(modelHelper,prepareMailboxEvents,scriptedAnimationEvents);var webGLMailboxEvents=findMailboxEventsNearAnimationEvents(prepareMailboxEvents,scriptedAnimationEvents);return createProtoExpectationsFromMailboxEvents(webGLMailboxEvents);}
-function postProcessProtoExpectations(modelHelper,protoExpectations){protoExpectations=findFrameEventsForAnimations(modelHelper,protoExpectations);protoExpectations=mergeIntersectingResponses(protoExpectations);protoExpectations=mergeIntersectingAnimations(protoExpectations);protoExpectations=fixResponseAnimationStarts(protoExpectations);protoExpectations=fixTapResponseTouchAnimations(protoExpectations);return protoExpectations;}
-function mergeIntersectingResponses(protoExpectations){var newPEs=[];while(protoExpectations.length){var pe=protoExpectations.shift();newPEs.push(pe);if(pe.irType!==ProtoExpectation.RESPONSE_TYPE)
-continue;for(var i=0;i<protoExpectations.length;++i){var otherPE=protoExpectations[i];if(otherPE.irType!==pe.irType)
-continue;if(!otherPE.intersects(pe))
-continue;var typeNames=pe.associatedEvents.map(function(event){return event.typeName;});if(otherPE.containsTypeNames(typeNames))
-continue;pe.merge(otherPE);protoExpectations.splice(i,1);--i;}}
-return newPEs;}
-function mergeIntersectingAnimations(protoExpectations){var newPEs=[];while(protoExpectations.length){var pe=protoExpectations.shift();newPEs.push(pe);if(pe.irType!==ProtoExpectation.ANIMATION_TYPE)
-continue;var isCSS=pe.containsSliceTitle(CSS_ANIMATION_TITLE);var isFling=pe.containsTypeNames([INPUT_TYPE.FLING_START]);var isVideo=pe.containsTypeNames([INITIATOR_TYPE.VIDEO]);for(var i=0;i<protoExpectations.length;++i){var otherPE=protoExpectations[i];if(otherPE.irType!==pe.irType)
-continue;if(isCSS!=otherPE.containsSliceTitle(CSS_ANIMATION_TITLE))
-continue;if(isCSS){if(!pe.isNear(otherPE,ANIMATION_MERGE_THRESHOLD_MS))
-continue;}else if(!otherPE.intersects(pe)){continue;}
-if(isFling!==otherPE.containsTypeNames([INPUT_TYPE.FLING_START]))
-continue;if(isVideo!==otherPE.containsTypeNames([INITIATOR_TYPE.VIDEO]))
-continue;pe.merge(otherPE);protoExpectations.splice(i,1);--i;}}
-return newPEs;}
-function fixResponseAnimationStarts(protoExpectations){protoExpectations.forEach(function(ape){if(ape.irType!==ProtoExpectation.ANIMATION_TYPE)
-return;protoExpectations.forEach(function(rpe){if(rpe.irType!==ProtoExpectation.RESPONSE_TYPE)
-return;if(!ape.containsTimestampInclusive(rpe.end))
-return;if(ape.containsTimestampInclusive(rpe.start))
-return;ape.start=rpe.end;});});return protoExpectations;}
-function fixTapResponseTouchAnimations(protoExpectations){function isTapResponse(pe){return(pe.irType===ProtoExpectation.RESPONSE_TYPE)&&pe.containsTypeNames([INPUT_TYPE.TAP]);}
-function isTouchAnimation(pe){return(pe.irType===ProtoExpectation.ANIMATION_TYPE)&&pe.containsTypeNames([INPUT_TYPE.TOUCH_MOVE])&&!pe.containsTypeNames([INPUT_TYPE.SCROLL_UPDATE,INPUT_TYPE.PINCH_UPDATE]);}
-var newPEs=[];while(protoExpectations.length){var pe=protoExpectations.shift();newPEs.push(pe);var peIsTapResponse=isTapResponse(pe);var peIsTouchAnimation=isTouchAnimation(pe);if(!peIsTapResponse&&!peIsTouchAnimation)
-continue;for(var i=0;i<protoExpectations.length;++i){var otherPE=protoExpectations[i];if(!otherPE.intersects(pe))
-continue;if(peIsTapResponse&&!isTouchAnimation(otherPE))
-continue;if(peIsTouchAnimation&&!isTapResponse(otherPE))
-continue;pe.irType=ProtoExpectation.RESPONSE_TYPE;pe.merge(otherPE);protoExpectations.splice(i,1);--i;}}
-return newPEs;}
-function findFrameEventsForAnimations(modelHelper,protoExpectations){var newPEs=[];var frameEventsByPid=getSortedFrameEventsByProcess(modelHelper);for(var pe of protoExpectations){if(pe.irType!==ProtoExpectation.ANIMATION_TYPE){newPEs.push(pe);continue;}
-var frameEvents=[];for(var pid of Object.keys(modelHelper.rendererHelpers)){var range=tr.b.Range.fromExplicitRange(pe.start,pe.end);frameEvents.push.apply(frameEvents,range.filterArray(frameEventsByPid[pid],e=>e.start));}
-if(frameEvents.length===0&&!(pe.initiatorType===INITIATOR_TYPE.WEBGL)){pe.irType=ProtoExpectation.IGNORED_TYPE;newPEs.push(pe);continue;}
-pe.associatedEvents.addEventSet(frameEvents);newPEs.push(pe);}
-return newPEs;}
-function checkAllInputEventsHandled(sortedInputEvents,protoExpectations){var handledEvents=[];protoExpectations.forEach(function(protoExpectation){protoExpectation.associatedEvents.forEach(function(event){if((event.title===CSS_ANIMATION_TITLE)&&(event.subSlices.length>0))
-return;if((handledEvents.indexOf(event)>=0)&&(event.title!==tr.model.helpers.IMPL_RENDERING_STATS)){console.error('double-handled event',event.typeName,parseInt(event.start),parseInt(event.end),protoExpectation);return;}
-handledEvents.push(event);});});sortedInputEvents.forEach(function(event){if(handledEvents.indexOf(event)<0){console.error('UNHANDLED INPUT EVENT!',event.typeName,parseInt(event.start),parseInt(event.end));}});}
-function findInputExpectations(modelHelper){var sortedInputEvents=getSortedInputEvents(modelHelper);var protoExpectations=findProtoExpectations(modelHelper,sortedInputEvents);protoExpectations=postProcessProtoExpectations(modelHelper,protoExpectations);checkAllInputEventsHandled(sortedInputEvents,protoExpectations);var irs=[];protoExpectations.forEach(function(protoExpectation){var ir=protoExpectation.createInteractionRecord(modelHelper.model);if(ir)
-irs.push(ir);});return irs;}
-return{findInputExpectations:findInputExpectations,compareEvents:compareEvents,CSS_ANIMATION_TITLE:CSS_ANIMATION_TITLE,INITIATOR_TYPE:INITIATOR_TYPE};});'use strict';tr.exportTo('tr.model.um',function(){var LOAD_SUBTYPE_NAMES={SUCCESSFUL:'Successful',FAILED:'Failed',};var DOES_LOAD_SUBTYPE_NAME_EXIST={};for(var key in LOAD_SUBTYPE_NAMES){DOES_LOAD_SUBTYPE_NAME_EXIST[LOAD_SUBTYPE_NAMES[key]]=true;;}
-function LoadExpectation(parentModel,initiatorTitle,start,duration){if(!DOES_LOAD_SUBTYPE_NAME_EXIST[initiatorTitle])
-throw new Error(initiatorTitle+' is not in LOAD_SUBTYPE_NAMES');tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.renderProcess=undefined;this.renderMainThread=undefined;this.routingId=undefined;this.parentRoutingId=undefined;this.loadFinishedEvent=undefined;}
-LoadExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:LoadExpectation};tr.model.um.UserExpectation.subTypes.register(LoadExpectation,{stageTitle:'Load',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_load')});return{LOAD_SUBTYPE_NAMES:LOAD_SUBTYPE_NAMES,LoadExpectation:LoadExpectation};});'use strict';tr.exportTo('tr.importer',function(){var NAVIGATION_START='NavigationTiming navigationStart';var FIRST_CONTENTFUL_PAINT_TITLE='firstContentfulPaint';function findLoadExpectations(modelHelper){var events=[];for(var event of modelHelper.model.getDescendantEvents()){if((event.title===NAVIGATION_START)||(event.title===FIRST_CONTENTFUL_PAINT_TITLE))
-events.push(event);}
-events.sort(tr.importer.compareEvents);var loads=[];var startEvent=undefined;for(var event of events){if(event.title===NAVIGATION_START){startEvent=event;}else if(event.title===FIRST_CONTENTFUL_PAINT_TITLE){if(startEvent){loads.push(new tr.model.um.LoadExpectation(modelHelper.model,tr.model.um.LOAD_SUBTYPE_NAMES.SUCCESSFUL,startEvent.start,event.start-startEvent.start));startEvent=undefined;}}}
-if(startEvent){loads.push(new tr.model.um.LoadExpectation(modelHelper.model,tr.model.um.LOAD_SUBTYPE_NAMES.SUCCESSFUL,startEvent.start,modelHelper.model.bounds.max-startEvent.start));}
-return loads;}
-return{findLoadExpectations:findLoadExpectations};});'use strict';tr.exportTo('tr.model.um',function(){function StartupExpectation(parentModel,start,duration){tr.model.um.UserExpectation.call(this,parentModel,'',start,duration);}
-StartupExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:StartupExpectation};tr.model.um.UserExpectation.subTypes.register(StartupExpectation,{stageTitle:'Startup',colorId:tr.b.ColorScheme.getColorIdForReservedName('startup')});return{StartupExpectation:StartupExpectation};});'use strict';tr.exportTo('tr.importer',function(){function getAllFrameEvents(modelHelper){var frameEvents=[];frameEvents.push.apply(frameEvents,modelHelper.browserHelper.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds));tr.b.iterItems(modelHelper.rendererHelpers,function(pid,renderer){frameEvents.push.apply(frameEvents,renderer.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds));});return frameEvents.sort(tr.importer.compareEvents);}
-function getStartupEvents(modelHelper){function isStartupSlice(slice){return slice.title==='BrowserMainLoop::CreateThreads';}
-var events=modelHelper.browserHelper.getAllAsyncSlicesMatching(isStartupSlice);var deduper=new tr.model.EventSet();events.forEach(function(event){var sliceGroup=event.parentContainer.sliceGroup;var slice=sliceGroup&&sliceGroup.findFirstSlice();if(slice)
-deduper.push(slice);});return deduper.toArray();}
-function findStartupExpectations(modelHelper){var openingEvents=getStartupEvents(modelHelper);var closingEvents=getAllFrameEvents(modelHelper);var startups=[];openingEvents.forEach(function(openingEvent){closingEvents.forEach(function(closingEvent){if(openingEvent.closingEvent)
-return;if(closingEvent.openingEvent)
-return;if(closingEvent.start<=openingEvent.start)
-return;if(openingEvent.parentContainer.parent.pid!==closingEvent.parentContainer.parent.pid)
-return;openingEvent.closingEvent=closingEvent;closingEvent.openingEvent=openingEvent;var se=new tr.model.um.StartupExpectation(modelHelper.model,openingEvent.start,closingEvent.end-openingEvent.start);se.associatedEvents.push(openingEvent);se.associatedEvents.push(closingEvent);startups.push(se);});});return startups;}
-return{findStartupExpectations:findStartupExpectations};});'use strict';tr.exportTo('tr.model',function(){function getAssociatedEvents(irs){var allAssociatedEvents=new tr.model.EventSet();irs.forEach(function(ir){ir.associatedEvents.forEach(function(event){if(event instanceof tr.model.FlowEvent)
-return;allAssociatedEvents.push(event);});});return allAssociatedEvents;}
-function getUnassociatedEvents(model,associatedEvents){var unassociatedEvents=new tr.model.EventSet();for(var proc of model.getAllProcesses())
-for(var thread of tr.b.dictionaryValues(proc.threads))
-for(var event of thread.sliceGroup.getDescendantEvents())
-if(!associatedEvents.contains(event))
-unassociatedEvents.push(event);return unassociatedEvents;}
-function getTotalCpuDuration(events){var cpuMs=0;events.forEach(function(event){if(event.cpuSelfTime)
-cpuMs+=event.cpuSelfTime;});return cpuMs;}
-function getIRCoverageFromModel(model){var associatedEvents=getAssociatedEvents(model.userModel.expectations);if(!associatedEvents.length)
-return undefined;var unassociatedEvents=getUnassociatedEvents(model,associatedEvents);var associatedCpuMs=getTotalCpuDuration(associatedEvents);var unassociatedCpuMs=getTotalCpuDuration(unassociatedEvents);var totalEventCount=associatedEvents.length+unassociatedEvents.length;var totalCpuMs=associatedCpuMs+unassociatedCpuMs;var coveredEventsCpuTimeRatio=undefined;if(totalCpuMs!==0)
-coveredEventsCpuTimeRatio=associatedCpuMs/totalCpuMs;return{associatedEventsCount:associatedEvents.length,unassociatedEventsCount:unassociatedEvents.length,associatedEventsCpuTimeMs:associatedCpuMs,unassociatedEventsCpuTimeMs:unassociatedCpuMs,coveredEventsCountRatio:associatedEvents.length/totalEventCount,coveredEventsCpuTimeRatio:coveredEventsCpuTimeRatio};}
-return{getIRCoverageFromModel:getIRCoverageFromModel,getAssociatedEvents:getAssociatedEvents,getUnassociatedEvents:getUnassociatedEvents};});'use strict';tr.exportTo('tr.model.um',function(){function IdleExpectation(parentModel,start,duration){var initiatorTitle='';tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);}
-IdleExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:IdleExpectation};tr.model.um.UserExpectation.subTypes.register(IdleExpectation,{stageTitle:'Idle',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_idle')});return{IdleExpectation:IdleExpectation};});'use strict';tr.exportTo('tr.importer',function(){var INSIGNIFICANT_MS=1;function UserModelBuilder(model){this.model=model;this.modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);};UserModelBuilder.supportsModelHelper=function(modelHelper){return modelHelper.browserHelper!==undefined;};UserModelBuilder.prototype={buildUserModel:function(){if(!this.modelHelper||!this.modelHelper.browserHelper)
-return;var expectations=undefined;try{expectations=this.findUserExpectations();}catch(error){this.model.importWarning({type:'UserModelBuilder',message:error,showToUser:true});return;}
-expectations.forEach(function(expectation){this.model.userModel.expectations.push(expectation);},this);},findUserExpectations:function(){var expectations=[];expectations.push.apply(expectations,tr.importer.findStartupExpectations(this.modelHelper));expectations.push.apply(expectations,tr.importer.findLoadExpectations(this.modelHelper));expectations.push.apply(expectations,tr.importer.findInputExpectations(this.modelHelper));expectations.push.apply(expectations,this.findIdleExpectations(expectations));this.collectUnassociatedEvents_(expectations);return expectations;},collectUnassociatedEvents_:function(rirs){var vacuumIRs=[];rirs.forEach(function(ir){if(ir instanceof tr.model.um.IdleExpectation||ir instanceof tr.model.um.LoadExpectation||ir instanceof tr.model.um.StartupExpectation)
-vacuumIRs.push(ir);});if(vacuumIRs.length===0)
-return;var allAssociatedEvents=tr.model.getAssociatedEvents(rirs);var unassociatedEvents=tr.model.getUnassociatedEvents(this.model,allAssociatedEvents);unassociatedEvents.forEach(function(event){if(!(event instanceof tr.model.ThreadSlice))
-return;if(!event.isTopLevel)
-return;for(var iri=0;iri<vacuumIRs.length;++iri){var ir=vacuumIRs[iri];if((event.start>=ir.start)&&(event.start<ir.end)){ir.associatedEvents.addEventSet(event.entireHierarchy);return;}}});},findIdleExpectations:function(otherIRs){if(this.model.bounds.isEmpty)
-return;var emptyRanges=tr.b.findEmptyRangesBetweenRanges(tr.b.convertEventsToRanges(otherIRs),this.model.bounds);var irs=[];var model=this.model;emptyRanges.forEach(function(range){if(range.max<(range.min+INSIGNIFICANT_MS))
-return;irs.push(new tr.model.um.IdleExpectation(model,range.min,range.max-range.min));});return irs;}};function createCustomizeModelLinesFromModel(model){var modelLines=[];modelLines.push('      audits.addEvent(model.browserMain,');modelLines.push('          {title: \'model start\', start: 0, end: 1});');var typeNames={};for(var typeName in tr.e.cc.INPUT_EVENT_TYPE_NAMES){typeNames[tr.e.cc.INPUT_EVENT_TYPE_NAMES[typeName]]=typeName;}
-var modelEvents=new tr.model.EventSet();model.userModel.expectations.forEach(function(ir,index){modelEvents.addEventSet(ir.sourceEvents);});modelEvents=modelEvents.toArray();modelEvents.sort(tr.importer.compareEvents);modelEvents.forEach(function(event){var startAndEnd='start: '+parseInt(event.start)+', '+'end: '+parseInt(event.end)+'});';if(event instanceof tr.e.cc.InputLatencyAsyncSlice){modelLines.push('      audits.addInputEvent(model, INPUT_TYPE.'+
-typeNames[event.typeName]+',');}else if(event.title==='RenderFrameImpl::didCommitProvisionalLoad'){modelLines.push('      audits.addCommitLoadEvent(model,');}else if(event.title==='InputHandlerProxy::HandleGestureFling::started'){modelLines.push('      audits.addFlingAnimationEvent(model,');}else if(event.title===tr.model.helpers.IMPL_RENDERING_STATS){modelLines.push('      audits.addFrameEvent(model,');}else if(event.title===tr.importer.CSS_ANIMATION_TITLE){modelLines.push('      audits.addEvent(model.rendererMain, {');modelLines.push('        title: \'Animation\', '+startAndEnd);return;}else{throw('You must extend createCustomizeModelLinesFromModel()'+'to support this event:\n'+event.title+'\n');}
-modelLines.push('          {'+startAndEnd);});modelLines.push('      audits.addEvent(model.browserMain,');modelLines.push('          {'+'title: \'model end\', '+'start: '+(parseInt(model.bounds.max)-1)+', '+'end: '+parseInt(model.bounds.max)+'});');return modelLines;}
-function createExpectedIRLinesFromModel(model){var expectedLines=[];var irCount=model.userModel.expectations.length;model.userModel.expectations.forEach(function(ir,index){var irString='      {';irString+='title: \''+ir.title+'\', ';irString+='start: '+parseInt(ir.start)+', ';irString+='end: '+parseInt(ir.end)+', ';irString+='eventCount: '+ir.sourceEvents.length;irString+='}';if(index<(irCount-1))
-irString+=',';expectedLines.push(irString);});return expectedLines;}
-function createIRFinderTestCaseStringFromModel(model){var filename=window.location.hash.substr(1);var testName=filename.substr(filename.lastIndexOf('/')+1);testName=testName.substr(0,testName.indexOf('.'));try{var testLines=[];testLines.push('  /*');testLines.push('    This test was generated from');testLines.push('    '+filename+'');testLines.push('   */');testLines.push('  test(\''+testName+'\', function() {');testLines.push('    var verifier = new UserExpectationVerifier();');testLines.push('    verifier.customizeModelCallback = function(model) {');testLines.push.apply(testLines,createCustomizeModelLinesFromModel(model));testLines.push('    };');testLines.push('    verifier.expectedIRs = [');testLines.push.apply(testLines,createExpectedIRLinesFromModel(model));testLines.push('    ];');testLines.push('    verifier.verify();');testLines.push('  });');return testLines.join('\n');}catch(error){return error;}}
-return{UserModelBuilder:UserModelBuilder,createIRFinderTestCaseStringFromModel:createIRFinderTestCaseStringFromModel};});'use strict';tr.exportTo('tr.ui.b',function(){function decorate(source,constr){var elements;if(typeof source=='string')
-elements=Polymer.dom(tr.doc).querySelectorAll(source);else
-elements=[source];for(var i=0,el;el=elements[i];i++){if(!(el instanceof constr))
-constr.decorate(el);}}
-function define(className,opt_parentConstructor,opt_tagNS){if(typeof className=='function'){throw new Error('Passing functions as className is deprecated. Please '+'use (className, opt_parentConstructor) to subclass');}
-var className=className.toLowerCase();if(opt_parentConstructor&&!opt_parentConstructor.tagName)
-throw new Error('opt_parentConstructor was not '+'created by tr.ui.b.define');var tagName=className;var tagNS=undefined;if(opt_parentConstructor){if(opt_tagNS)
-throw new Error('Must not specify tagNS if parentConstructor is given');var parent=opt_parentConstructor;while(parent&&parent.tagName){tagName=parent.tagName;tagNS=parent.tagNS;parent=parent.parentConstructor;}}else{tagNS=opt_tagNS;}
-function f(){if(opt_parentConstructor&&f.prototype.__proto__!=opt_parentConstructor.prototype){throw new Error(className+' prototye\'s __proto__ field is messed up. '+'It MUST be the prototype of '+opt_parentConstructor.tagName);}
-var el;if(tagNS===undefined)
-el=tr.doc.createElement(tagName);else
-el=tr.doc.createElementNS(tagNS,tagName);f.decorate.call(this,el,arguments);return el;}
-f.decorate=function(el){el.__proto__=f.prototype;el.decorate.apply(el,arguments[1]);el.constructor=f;};f.className=className;f.tagName=tagName;f.tagNS=tagNS;f.parentConstructor=(opt_parentConstructor?opt_parentConstructor:undefined);f.toString=function(){if(!f.parentConstructor)
-return f.tagName;return f.parentConstructor.toString()+'::'+f.className;};return f;}
-function elementIsChildOf(el,potentialParent){if(el==potentialParent)
-return false;var cur=el;while(Polymer.dom(cur).parentNode){if(cur==potentialParent)
-return true;cur=Polymer.dom(cur).parentNode;}
-return false;};return{decorate:decorate,define:define,elementIsChildOf:elementIsChildOf};});'use strict';tr.exportTo('tr.b',function(){function Rect(){this.x=0;this.y=0;this.width=0;this.height=0;};Rect.fromXYWH=function(x,y,w,h){var rect=new Rect();rect.x=x;rect.y=y;rect.width=w;rect.height=h;return rect;}
-Rect.fromArray=function(ary){if(ary.length!=4)
-throw new Error('ary.length must be 4');var rect=new Rect();rect.x=ary[0];rect.y=ary[1];rect.width=ary[2];rect.height=ary[3];return rect;}
-Rect.prototype={__proto__:Object.prototype,get left(){return this.x;},get top(){return this.y;},get right(){return this.x+this.width;},get bottom(){return this.y+this.height;},toString:function(){return'Rect('+this.x+', '+this.y+', '+
-this.width+', '+this.height+')';},toArray:function(){return[this.x,this.y,this.width,this.height];},clone:function(){var rect=new Rect();rect.x=this.x;rect.y=this.y;rect.width=this.width;rect.height=this.height;return rect;},enlarge:function(pad){var rect=new Rect();this.enlargeFast(rect,pad);return rect;},enlargeFast:function(out,pad){out.x=this.x-pad;out.y=this.y-pad;out.width=this.width+2*pad;out.height=this.height+2*pad;return out;},size:function(){return{width:this.width,height:this.height};},scale:function(s){var rect=new Rect();this.scaleFast(rect,s);return rect;},scaleSize:function(s){return Rect.fromXYWH(this.x,this.y,this.width*s,this.height*s);},scaleFast:function(out,s){out.x=this.x*s;out.y=this.y*s;out.width=this.width*s;out.height=this.height*s;return out;},translate:function(v){var rect=new Rect();this.translateFast(rect,v);return rect;},translateFast:function(out,v){out.x=this.x+v[0];out.y=this.x+v[1];out.width=this.width;out.height=this.height;return out;},asUVRectInside:function(containingRect){var rect=new Rect();rect.x=(this.x-containingRect.x)/containingRect.width;rect.y=(this.y-containingRect.y)/containingRect.height;rect.width=this.width/containingRect.width;rect.height=this.height/containingRect.height;return rect;},intersects:function(that){var ok=true;ok&=this.x<that.right;ok&=this.right>that.x;ok&=this.y<that.bottom;ok&=this.bottom>that.y;return ok;},equalTo:function(rect){return rect&&(this.x===rect.x)&&(this.y===rect.y)&&(this.width===rect.width)&&(this.height===rect.height);}};return{Rect:Rect};});'use strict';tr.exportTo('tr.ui.b',function(){function instantiateTemplate(selector,doc){doc=doc||document;var el=Polymer.dom(doc).querySelector(selector);if(!el)
-throw new Error('Element not found');return doc.importNode(el.content,true);}
-function windowRectForElement(element){var position=[element.offsetLeft,element.offsetTop];var size=[element.offsetWidth,element.offsetHeight];var node=element.offsetParent;while(node){position[0]+=node.offsetLeft;position[1]+=node.offsetTop;node=node.offsetParent;}
-return tr.b.Rect.fromXYWH(position[0],position[1],size[0],size[1]);}
-function scrollIntoViewIfNeeded(el){var pr=el.parentElement.getBoundingClientRect();var cr=el.getBoundingClientRect();if(cr.top<pr.top){el.scrollIntoView(true);}else if(cr.bottom>pr.bottom){el.scrollIntoView(false);}}
-function extractUrlString(url){var extracted=url.replace(/url\((.*)\)/,'$1');extracted=extracted.replace(/\"(.*)\"/,'$1');return extracted;}
-function toThreeDigitLocaleString(value){return value.toLocaleString(undefined,{minimumFractionDigits:3,maximumFractionDigits:3});}
-function isUnknownElementName(name){return document.createElement(name)instanceof HTMLUnknownElement;}
-return{isUnknownElementName:isUnknownElementName,toThreeDigitLocaleString:toThreeDigitLocaleString,instantiateTemplate:instantiateTemplate,windowRectForElement:windowRectForElement,scrollIntoViewIfNeeded:scrollIntoViewIfNeeded,extractUrlString:extractUrlString};});'use strict';tr.exportTo('tr.ui.b',function(){if(tr.isHeadless)
-return{};var THIS_DOC=document.currentScript.ownerDocument;var Overlay=tr.ui.b.define('overlay');Overlay.prototype={__proto__:HTMLDivElement.prototype,decorate:function(){Polymer.dom(this).classList.add('overlay');this.parentEl_=this.ownerDocument.body;this.visible_=false;this.userCanClose_=true;this.onKeyDown_=this.onKeyDown_.bind(this);this.onClick_=this.onClick_.bind(this);this.onFocusIn_=this.onFocusIn_.bind(this);this.onDocumentClick_=this.onDocumentClick_.bind(this);this.onClose_=this.onClose_.bind(this);this.addEventListener('visible-change',tr.ui.b.Overlay.prototype.onVisibleChange_.bind(this),true);var createShadowRoot=this.createShadowRoot||this.webkitCreateShadowRoot;this.shadow_=createShadowRoot.call(this);Polymer.dom(this.shadow_).appendChild(tr.ui.b.instantiateTemplate('#overlay-template',THIS_DOC));this.closeBtn_=Polymer.dom(this.shadow_).querySelector('close-button');this.closeBtn_.addEventListener('click',this.onClose_);Polymer.dom(this.shadow_).querySelector('overlay-frame').addEventListener('click',this.onClick_);this.observer_=new WebKitMutationObserver(this.didButtonBarMutate_.bind(this));this.observer_.observe(Polymer.dom(this.shadow_).querySelector('button-bar'),{childList:true});Object.defineProperty(this,'title',{get:function(){return Polymer.dom(Polymer.dom(this.shadow_).querySelector('title')).textContent;},set:function(title){Polymer.dom(Polymer.dom(this.shadow_).querySelector('title')).textContent=title;}});},set userCanClose(userCanClose){this.userCanClose_=userCanClose;this.closeBtn_.style.display=userCanClose?'block':'none';},get buttons(){return Polymer.dom(this.shadow_).querySelector('button-bar');},get visible(){return this.visible_;},set visible(newValue){if(this.visible_===newValue)
-return;this.visible_=newValue;var e=new tr.b.Event('visible-change');this.dispatchEvent(e);},onVisibleChange_:function(){this.visible_?this.show_():this.hide_();},show_:function(){Polymer.dom(this.parentEl_).appendChild(this);if(this.userCanClose_){this.addEventListener('keydown',this.onKeyDown_.bind(this));this.addEventListener('click',this.onDocumentClick_.bind(this));this.closeBtn_.addEventListener('click',this.onClose_);}
-this.parentEl_.addEventListener('focusin',this.onFocusIn_);this.tabIndex=0;var focusEl=undefined;var elList=Polymer.dom(this).querySelectorAll('button, input, list, select, a');if(elList.length>0){if(elList[0]===this.closeBtn_){if(elList.length>1)
-focusEl=elList[1];}else{focusEl=elList[0];}}
-if(focusEl===undefined)
-focusEl=this;focusEl.focus();},hide_:function(){Polymer.dom(this.parentEl_).removeChild(this);this.parentEl_.removeEventListener('focusin',this.onFocusIn_);if(this.closeBtn_)
-this.closeBtn_.removeEventListener('click',this.onClose_);document.removeEventListener('keydown',this.onKeyDown_);document.removeEventListener('click',this.onDocumentClick_);},onClose_:function(e){this.visible=false;if((e.type!='keydown')||(e.type==='keydown'&&e.keyCode===27))
-e.stopPropagation();e.preventDefault();tr.b.dispatchSimpleEvent(this,'closeclick');},onFocusIn_:function(e){if(e.target===this)
-return;window.setTimeout(function(){this.focus();},0);e.preventDefault();e.stopPropagation();},didButtonBarMutate_:function(e){var hasButtons=this.buttons.children.length>0;if(hasButtons){Polymer.dom(this.shadow_).querySelector('button-bar').style.display=undefined;}else{Polymer.dom(this.shadow_).querySelector('button-bar').style.display='none';}},onKeyDown_:function(e){if(e.keyCode===9&&e.shiftKey&&e.target===this){e.preventDefault();return;}
-if(e.keyCode!==27)
-return;this.onClose_(e);},onClick_:function(e){e.stopPropagation();},onDocumentClick_:function(e){if(!this.userCanClose_)
-return;this.onClose_(e);}};Overlay.showError=function(msg,opt_err){var o=new Overlay();o.title='Error';Polymer.dom(o).textContent=msg;if(opt_err){var e=tr.b.normalizeException(opt_err);var stackDiv=document.createElement('pre');Polymer.dom(stackDiv).textContent=e.stack;stackDiv.style.paddingLeft='8px';stackDiv.style.margin=0;Polymer.dom(o).appendChild(stackDiv);}
-var b=document.createElement('button');Polymer.dom(b).textContent='OK';b.addEventListener('click',function(){o.visible=false;});Polymer.dom(o.buttons).appendChild(b);o.visible=true;return o;};return{Overlay:Overlay};});'use strict';tr.exportTo('tr.importer',function(){var Timing=tr.b.Timing;function ImportOptions(){this.shiftWorldToZero=true;this.pruneEmptyContainers=true;this.showImportWarnings=true;this.trackDetailedModelStats=false;this.customizeModelCallback=undefined;var auditorTypes=tr.c.Auditor.getAllRegisteredTypeInfos();this.auditorConstructors=auditorTypes.map(function(typeInfo){return typeInfo.constructor;});}
-function Import(model,opt_options){if(model===undefined)
-throw new Error('Must provide model to import into.');this.importing_=false;this.importOptions_=opt_options||new ImportOptions();this.model_=model;this.model_.importOptions=this.importOptions_;}
-Import.prototype={__proto__:Object.prototype,importTraces:function(traces){var progressMeter={update:function(msg){}};tr.b.Task.RunSynchronously(this.createImportTracesTask(progressMeter,traces));},importTracesWithProgressDialog:function(traces){if(tr.isHeadless)
-throw new Error('Cannot use this method in headless mode.');var overlay=tr.ui.b.Overlay();overlay.title='Importing...';overlay.userCanClose=false;overlay.msgEl=document.createElement('div');Polymer.dom(overlay).appendChild(overlay.msgEl);overlay.msgEl.style.margin='20px';overlay.update=function(msg){Polymer.dom(this.msgEl).textContent=msg;};overlay.visible=true;var promise=tr.b.Task.RunWhenIdle(this.createImportTracesTask(overlay,traces));promise.then(function(){overlay.visible=false;},function(err){overlay.visible=false;});return promise;},createImportTracesTask:function(progressMeter,traces){if(this.importing_)
-throw new Error('Already importing.');this.importing_=true;var importTask=new tr.b.Task(function prepareImport(){progressMeter.update('I will now import your traces for you...');},this);var lastTask=importTask;var importers=[];lastTask=lastTask.timedAfter('TraceImport',function createImports(){traces=traces.slice(0);progressMeter.update('Creating importers...');for(var i=0;i<traces.length;++i)
-importers.push(this.createImporter_(traces[i]));for(var i=0;i<importers.length;i++){var subtraces=importers[i].extractSubtraces();for(var j=0;j<subtraces.length;j++){try{traces.push(subtraces[j]);importers.push(this.createImporter_(subtraces[j]));}catch(error){console.warn(error.name+': '+error.message);continue;}}}
-if(traces.length&&!this.hasEventDataDecoder_(importers)){throw new Error('Could not find an importer for the provided eventData.');}
-importers.sort(function(x,y){return x.importPriority-y.importPriority;});},this);lastTask=lastTask.timedAfter('TraceImport',function importClockSyncMarkers(task){importers.forEach(function(importer,index){task.subTask(Timing.wrapNamedFunction('TraceImport',importer.importerName,function runImportClockSyncMarkersOnOneImporter(){progressMeter.update('Importing clock sync markers '+(index+1)+' of '+
-importers.length);importer.importClockSyncMarkers();}),this);},this);},this);lastTask=lastTask.timedAfter('TraceImport',function runImport(task){importers.forEach(function(importer,index){task.subTask(Timing.wrapNamedFunction('TraceImport',importer.importerName,function runImportEventsOnOneImporter(){progressMeter.update('Importing '+(index+1)+' of '+importers.length);importer.importEvents();}),this);},this);},this);if(this.importOptions_.customizeModelCallback){lastTask=lastTask.timedAfter('TraceImport',function runCustomizeCallbacks(task){this.importOptions_.customizeModelCallback(this.model_);},this);}
-lastTask=lastTask.timedAfter('TraceImport',function importSampleData(task){importers.forEach(function(importer,index){progressMeter.update('Importing sample data '+(index+1)+'/'+importers.length);importer.importSampleData();},this);},this);lastTask=lastTask.timedAfter('TraceImport',function runAutoclosers(){progressMeter.update('Autoclosing open slices...');this.model_.autoCloseOpenSlices();this.model_.createSubSlices();},this);lastTask=lastTask.timedAfter('TraceImport',function finalizeImport(task){importers.forEach(function(importer,index){progressMeter.update('Finalizing import '+(index+1)+'/'+importers.length);importer.finalizeImport();},this);},this);lastTask=lastTask.timedAfter('TraceImport',function runPreinits(){progressMeter.update('Initializing objects (step 1/2)...');this.model_.preInitializeObjects();},this);if(this.importOptions_.pruneEmptyContainers){lastTask=lastTask.timedAfter('TraceImport',function runPruneEmptyContainers(){progressMeter.update('Pruning empty containers...');this.model_.pruneEmptyContainers();},this);}
-lastTask=lastTask.timedAfter('TraceImport',function runMergeKernelWithuserland(){progressMeter.update('Merging kernel with userland...');this.model_.mergeKernelWithUserland();},this);var auditors=[];lastTask=lastTask.timedAfter('TraceImport',function createAuditorsAndRunAnnotate(){progressMeter.update('Adding arbitrary data to model...');auditors=this.importOptions_.auditorConstructors.map(function(auditorConstructor){return new auditorConstructor(this.model_);},this);auditors.forEach(function(auditor){auditor.runAnnotate();auditor.installUserFriendlyCategoryDriverIfNeeded();});},this);lastTask=lastTask.timedAfter('TraceImport',function computeWorldBounds(){progressMeter.update('Computing final world bounds...');this.model_.computeWorldBounds(this.importOptions_.shiftWorldToZero);},this);lastTask=lastTask.timedAfter('TraceImport',function buildFlowEventIntervalTree(){progressMeter.update('Building flow event map...');this.model_.buildFlowEventIntervalTree();},this);lastTask=lastTask.timedAfter('TraceImport',function joinRefs(){progressMeter.update('Joining object refs...');this.model_.joinRefs();},this);lastTask=lastTask.timedAfter('TraceImport',function cleanupUndeletedObjects(){progressMeter.update('Cleaning up undeleted objects...');this.model_.cleanupUndeletedObjects();},this);lastTask=lastTask.timedAfter('TraceImport',function sortMemoryDumps(){progressMeter.update('Sorting memory dumps...');this.model_.sortMemoryDumps();},this);lastTask=lastTask.timedAfter('TraceImport',function finalizeMemoryGraphs(){progressMeter.update('Finalizing memory dump graphs...');this.model_.finalizeMemoryGraphs();},this);lastTask=lastTask.timedAfter('TraceImport',function initializeObjects(){progressMeter.update('Initializing objects (step 2/2)...');this.model_.initializeObjects();},this);lastTask=lastTask.timedAfter('TraceImport',function buildEventIndices(){progressMeter.update('Building event indices...');this.model_.buildEventIndices();},this);lastTask=lastTask.timedAfter('TraceImport',function buildUserModel(){progressMeter.update('Building UserModel...');var userModelBuilder=new tr.importer.UserModelBuilder(this.model_);userModelBuilder.buildUserModel();},this);lastTask=lastTask.timedAfter('TraceImport',function sortExpectations(){progressMeter.update('Sorting user expectations...');this.model_.userModel.sortExpectations();},this);lastTask=lastTask.timedAfter('TraceImport',function runAudits(){progressMeter.update('Running auditors...');auditors.forEach(function(auditor){auditor.runAudit();});},this);lastTask=lastTask.timedAfter('TraceImport',function sortAlerts(){progressMeter.update('Updating alerts...');this.model_.sortAlerts();},this);lastTask=lastTask.timedAfter('TraceImport',function lastUpdateBounds(){progressMeter.update('Update bounds...');this.model_.updateBounds();},this);lastTask=lastTask.timedAfter('TraceImport',function addModelWarnings(){progressMeter.update('Looking for warnings...');if(!this.model_.isTimeHighResolution){this.model_.importWarning({type:'low_resolution_timer',message:'Trace time is low resolution, trace may be unusable.',showToUser:true});}},this);lastTask.after(function(){this.importing_=false;},this);return importTask;},createImporter_:function(eventData){var importerConstructor=tr.importer.Importer.findImporterFor(eventData);if(!importerConstructor){throw new Error('Couldn\'t create an importer for the provided '+'eventData.');}
-return new importerConstructor(this.model_,eventData);},hasEventDataDecoder_:function(importers){for(var i=0;i<importers.length;++i){if(!importers[i].isTraceDataContainer())
-return true;}
-return false;}};return{ImportOptions:ImportOptions,Import:Import};});!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.JSZip=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";c.encode=function(a){for(var b,c,e,f,g,h,i,j="",k=0;k<a.length;)b=a.charCodeAt(k++),c=a.charCodeAt(k++),e=a.charCodeAt(k++),f=b>>2,g=(3&b)<<4|c>>4,h=(15&c)<<2|e>>6,i=63&e,isNaN(c)?h=i=64:isNaN(e)&&(i=64),j=j+d.charAt(f)+d.charAt(g)+d.charAt(h)+d.charAt(i);return j},c.decode=function(a){var b,c,e,f,g,h,i,j="",k=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");k<a.length;)f=d.indexOf(a.charAt(k++)),g=d.indexOf(a.charAt(k++)),h=d.indexOf(a.charAt(k++)),i=d.indexOf(a.charAt(k++)),b=f<<2|g>>4,c=(15&g)<<4|h>>2,e=(3&h)<<6|i,j+=String.fromCharCode(b),64!=h&&(j+=String.fromCharCode(c)),64!=i&&(j+=String.fromCharCode(e));return j}},{}],2:[function(a,b){"use strict";function c(){this.compressedSize=0,this.uncompressedSize=0,this.crc32=0,this.compressionMethod=null,this.compressedContent=null}c.prototype={getContent:function(){return null},getCompressedContent:function(){return null}},b.exports=c},{}],3:[function(a,b,c){"use strict";c.STORE={magic:"\x00\x00",compress:function(a){return a},uncompress:function(a){return a},compressInputType:null,uncompressInputType:null},c.DEFLATE=a("./flate")},{"./flate":8}],4:[function(a,b){"use strict";var c=a("./utils"),d=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];b.exports=function(a,b){if("undefined"==typeof a||!a.length)return 0;var e="string"!==c.getTypeOf(a);"undefined"==typeof b&&(b=0);var f=0,g=0,h=0;b=-1^b;for(var i=0,j=a.length;j>i;i++)h=e?a[i]:a.charCodeAt(i),g=255&(b^h),f=d[g],b=b>>>8^f;return-1^b}},{"./utils":21}],5:[function(a,b){"use strict";function c(){this.data=null,this.length=0,this.index=0}var d=a("./utils");c.prototype={checkOffset:function(a){this.checkIndex(this.index+a)},checkIndex:function(a){if(this.length<a||0>a)throw new Error("End of data reached (data length = "+this.length+", asked index = "+a+"). Corrupted zip ?")},setIndex:function(a){this.checkIndex(a),this.index=a},skip:function(a){this.setIndex(this.index+a)},byteAt:function(){},readInt:function(a){var b,c=0;for(this.checkOffset(a),b=this.index+a-1;b>=this.index;b--)c=(c<<8)+this.byteAt(b);return this.index+=a,c},readString:function(a){return d.transformTo("string",this.readData(a))},readData:function(){},lastIndexOfSignature:function(){},readDate:function(){var a=this.readInt(4);return new Date((a>>25&127)+1980,(a>>21&15)-1,a>>16&31,a>>11&31,a>>5&63,(31&a)<<1)}},b.exports=c},{"./utils":21}],6:[function(a,b,c){"use strict";c.base64=!1,c.binary=!1,c.dir=!1,c.createFolders=!1,c.date=null,c.compression=null,c.comment=null},{}],7:[function(a,b,c){"use strict";var d=a("./utils");c.string2binary=function(a){return d.string2binary(a)},c.string2Uint8Array=function(a){return d.transformTo("uint8array",a)},c.uint8Array2String=function(a){return d.transformTo("string",a)},c.string2Blob=function(a){var b=d.transformTo("arraybuffer",a);return d.arrayBuffer2Blob(b)},c.arrayBuffer2Blob=function(a){return d.arrayBuffer2Blob(a)},c.transformTo=function(a,b){return d.transformTo(a,b)},c.getTypeOf=function(a){return d.getTypeOf(a)},c.checkSupport=function(a){return d.checkSupport(a)},c.MAX_VALUE_16BITS=d.MAX_VALUE_16BITS,c.MAX_VALUE_32BITS=d.MAX_VALUE_32BITS,c.pretty=function(a){return d.pretty(a)},c.findCompression=function(a){return d.findCompression(a)},c.isRegExp=function(a){return d.isRegExp(a)}},{"./utils":21}],8:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,e=a("pako");c.uncompressInputType=d?"uint8array":"array",c.compressInputType=d?"uint8array":"array",c.magic="\b\x00",c.compress=function(a){return e.deflateRaw(a)},c.uncompress=function(a){return e.inflateRaw(a)}},{pako:24}],9:[function(a,b){"use strict";function c(a,b){return this instanceof c?(this.files={},this.comment=null,this.root="",a&&this.load(a,b),void(this.clone=function(){var a=new c;for(var b in this)"function"!=typeof this[b]&&(a[b]=this[b]);return a})):new c(a,b)}var d=a("./base64");c.prototype=a("./object"),c.prototype.load=a("./load"),c.support=a("./support"),c.defaults=a("./defaults"),c.utils=a("./deprecatedPublicUtils"),c.base64={encode:function(a){return d.encode(a)},decode:function(a){return d.decode(a)}},c.compressions=a("./compressions"),b.exports=c},{"./base64":1,"./compressions":3,"./defaults":6,"./deprecatedPublicUtils":7,"./load":10,"./object":13,"./support":17}],10:[function(a,b){"use strict";var c=a("./base64"),d=a("./zipEntries");b.exports=function(a,b){var e,f,g,h;for(b=b||{},b.base64&&(a=c.decode(a)),f=new d(a,b),e=f.files,g=0;g<e.length;g++)h=e[g],this.file(h.fileName,h.decompressed,{binary:!0,optimizedBinaryString:!0,date:h.date,dir:h.dir,comment:h.fileComment.length?h.fileComment:null,createFolders:b.createFolders});return f.zipComment.length&&(this.comment=f.zipComment),this}},{"./base64":1,"./zipEntries":22}],11:[function(a,b){(function(a){"use strict";b.exports=function(b,c){return new a(b,c)},b.exports.test=function(b){return a.isBuffer(b)}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],12:[function(a,b){"use strict";function c(a){this.data=a,this.length=this.data.length,this.index=0}var d=a("./uint8ArrayReader");c.prototype=new d,c.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./uint8ArrayReader":18}],13:[function(a,b){"use strict";var c=a("./support"),d=a("./utils"),e=a("./crc32"),f=a("./signature"),g=a("./defaults"),h=a("./base64"),i=a("./compressions"),j=a("./compressedObject"),k=a("./nodeBuffer"),l=a("./utf8"),m=a("./stringWriter"),n=a("./uint8ArrayWriter"),o=function(a){if(a._data instanceof j&&(a._data=a._data.getContent(),a.options.binary=!0,a.options.base64=!1,"uint8array"===d.getTypeOf(a._data))){var b=a._data;a._data=new Uint8Array(b.length),0!==b.length&&a._data.set(b,0)}return a._data},p=function(a){var b=o(a),e=d.getTypeOf(b);return"string"===e?!a.options.binary&&c.nodebuffer?k(b,"utf-8"):a.asBinary():b},q=function(a){var b=o(this);return null===b||"undefined"==typeof b?"":(this.options.base64&&(b=h.decode(b)),b=a&&this.options.binary?A.utf8decode(b):d.transformTo("string",b),a||this.options.binary||(b=d.transformTo("string",A.utf8encode(b))),b)},r=function(a,b,c){this.name=a,this.dir=c.dir,this.date=c.date,this.comment=c.comment,this._data=b,this.options=c,this._initialMetadata={dir:c.dir,date:c.date}};r.prototype={asText:function(){return q.call(this,!0)},asBinary:function(){return q.call(this,!1)},asNodeBuffer:function(){var a=p(this);return d.transformTo("nodebuffer",a)},asUint8Array:function(){var a=p(this);return d.transformTo("uint8array",a)},asArrayBuffer:function(){return this.asUint8Array().buffer}};var s=function(a,b){var c,d="";for(c=0;b>c;c++)d+=String.fromCharCode(255&a),a>>>=8;return d},t=function(){var a,b,c={};for(a=0;a<arguments.length;a++)for(b in arguments[a])arguments[a].hasOwnProperty(b)&&"undefined"==typeof c[b]&&(c[b]=arguments[a][b]);return c},u=function(a){return a=a||{},a.base64!==!0||null!==a.binary&&void 0!==a.binary||(a.binary=!0),a=t(a,g),a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),a},v=function(a,b,c){var e,f=d.getTypeOf(b);if(c=u(c),c.createFolders&&(e=w(a))&&x.call(this,e,!0),c.dir||null===b||"undefined"==typeof b)c.base64=!1,c.binary=!1,b=null;else if("string"===f)c.binary&&!c.base64&&c.optimizedBinaryString!==!0&&(b=d.string2binary(b));else{if(c.base64=!1,c.binary=!0,!(f||b instanceof j))throw new Error("The data of '"+a+"' is in an unsupported format !");"arraybuffer"===f&&(b=d.transformTo("uint8array",b))}var g=new r(a,b,c);return this.files[a]=g,g},w=function(a){"/"==a.slice(-1)&&(a=a.substring(0,a.length-1));var b=a.lastIndexOf("/");return b>0?a.substring(0,b):""},x=function(a,b){return"/"!=a.slice(-1)&&(a+="/"),b="undefined"!=typeof b?b:!1,this.files[a]||v.call(this,a,null,{dir:!0,createFolders:b}),this.files[a]},y=function(a,b){var c,f=new j;return a._data instanceof j?(f.uncompressedSize=a._data.uncompressedSize,f.crc32=a._data.crc32,0===f.uncompressedSize||a.dir?(b=i.STORE,f.compressedContent="",f.crc32=0):a._data.compressionMethod===b.magic?f.compressedContent=a._data.getCompressedContent():(c=a._data.getContent(),f.compressedContent=b.compress(d.transformTo(b.compressInputType,c)))):(c=p(a),(!c||0===c.length||a.dir)&&(b=i.STORE,c=""),f.uncompressedSize=c.length,f.crc32=e(c),f.compressedContent=b.compress(d.transformTo(b.compressInputType,c))),f.compressedSize=f.compressedContent.length,f.compressionMethod=b.magic,f},z=function(a,b,c,g){var h,i,j,k,m=(c.compressedContent,d.transformTo("string",l.utf8encode(b.name))),n=b.comment||"",o=d.transformTo("string",l.utf8encode(n)),p=m.length!==b.name.length,q=o.length!==n.length,r=b.options,t="",u="",v="";j=b._initialMetadata.dir!==b.dir?b.dir:r.dir,k=b._initialMetadata.date!==b.date?b.date:r.date,h=k.getHours(),h<<=6,h|=k.getMinutes(),h<<=5,h|=k.getSeconds()/2,i=k.getFullYear()-1980,i<<=4,i|=k.getMonth()+1,i<<=5,i|=k.getDate(),p&&(u=s(1,1)+s(e(m),4)+m,t+="up"+s(u.length,2)+u),q&&(v=s(1,1)+s(this.crc32(o),4)+o,t+="uc"+s(v.length,2)+v);var w="";w+="\n\x00",w+=p||q?"\x00\b":"\x00\x00",w+=c.compressionMethod,w+=s(h,2),w+=s(i,2),w+=s(c.crc32,4),w+=s(c.compressedSize,4),w+=s(c.uncompressedSize,4),w+=s(m.length,2),w+=s(t.length,2);var x=f.LOCAL_FILE_HEADER+w+m+t,y=f.CENTRAL_FILE_HEADER+"\x00"+w+s(o.length,2)+"\x00\x00\x00\x00"+(j===!0?"\x00\x00\x00":"\x00\x00\x00\x00")+s(g,4)+m+t+o;return{fileRecord:x,dirRecord:y,compressedObject:c}},A={load:function(){throw new Error("Load method is not defined. Is the file jszip-load.js included ?")},filter:function(a){var b,c,d,e,f=[];for(b in this.files)this.files.hasOwnProperty(b)&&(d=this.files[b],e=new r(d.name,d._data,t(d.options)),c=b.slice(this.root.length,b.length),b.slice(0,this.root.length)===this.root&&a(c,e)&&f.push(e));return f},file:function(a,b,c){if(1===arguments.length){if(d.isRegExp(a)){var e=a;return this.filter(function(a,b){return!b.dir&&e.test(a)})}return this.filter(function(b,c){return!c.dir&&b===a})[0]||null}return a=this.root+a,v.call(this,a,b,c),this},folder:function(a){if(!a)return this;if(d.isRegExp(a))return this.filter(function(b,c){return c.dir&&a.test(b)});var b=this.root+a,c=x.call(this,b),e=this.clone();return e.root=c.name,e},remove:function(a){a=this.root+a;var b=this.files[a];if(b||("/"!=a.slice(-1)&&(a+="/"),b=this.files[a]),b&&!b.dir)delete this.files[a];else for(var c=this.filter(function(b,c){return c.name.slice(0,a.length)===a}),d=0;d<c.length;d++)delete this.files[c[d].name];return this},generate:function(a){a=t(a||{},{base64:!0,compression:"STORE",type:"base64",comment:null}),d.checkSupport(a.type);var b,c,e=[],g=0,j=0,k=d.transformTo("string",this.utf8encode(a.comment||this.comment||""));for(var l in this.files)if(this.files.hasOwnProperty(l)){var o=this.files[l],p=o.options.compression||a.compression.toUpperCase(),q=i[p];if(!q)throw new Error(p+" is not a valid compression method !");var r=y.call(this,o,q),u=z.call(this,l,o,r,g);g+=u.fileRecord.length+r.compressedSize,j+=u.dirRecord.length,e.push(u)}var v="";v=f.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+s(e.length,2)+s(e.length,2)+s(j,4)+s(g,4)+s(k.length,2)+k;var w=a.type.toLowerCase();for(b="uint8array"===w||"arraybuffer"===w||"blob"===w||"nodebuffer"===w?new n(g+j+v.length):new m(g+j+v.length),c=0;c<e.length;c++)b.append(e[c].fileRecord),b.append(e[c].compressedObject.compressedContent);for(c=0;c<e.length;c++)b.append(e[c].dirRecord);b.append(v);var x=b.finalize();switch(a.type.toLowerCase()){case"uint8array":case"arraybuffer":case"nodebuffer":return d.transformTo(a.type.toLowerCase(),x);case"blob":return d.arrayBuffer2Blob(d.transformTo("arraybuffer",x));case"base64":return a.base64?h.encode(x):x;default:return x}},crc32:function(a,b){return e(a,b)},utf8encode:function(a){return d.transformTo("string",l.utf8encode(a))},utf8decode:function(a){return l.utf8decode(a)}};b.exports=A},{"./base64":1,"./compressedObject":2,"./compressions":3,"./crc32":4,"./defaults":6,"./nodeBuffer":11,"./signature":14,"./stringWriter":16,"./support":17,"./uint8ArrayWriter":19,"./utf8":20,"./utils":21}],14:[function(a,b,c){"use strict";c.LOCAL_FILE_HEADER="PK",c.CENTRAL_FILE_HEADER="PK",c.CENTRAL_DIRECTORY_END="PK",c.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",c.ZIP64_CENTRAL_DIRECTORY_END="PK",c.DATA_DESCRIPTOR="PK\b"},{}],15:[function(a,b){"use strict";function c(a,b){this.data=a,b||(this.data=e.string2binary(this.data)),this.length=this.data.length,this.index=0}var d=a("./dataReader"),e=a("./utils");c.prototype=new d,c.prototype.byteAt=function(a){return this.data.charCodeAt(a)},c.prototype.lastIndexOfSignature=function(a){return this.data.lastIndexOf(a)},c.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./dataReader":5,"./utils":21}],16:[function(a,b){"use strict";var c=a("./utils"),d=function(){this.data=[]};d.prototype={append:function(a){a=c.transformTo("string",a),this.data.push(a)},finalize:function(){return this.data.join("")}},b.exports=d},{"./utils":21}],17:[function(a,b,c){(function(a){"use strict";if(c.base64=!0,c.array=!0,c.string=!0,c.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,c.nodebuffer="undefined"!=typeof a,c.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)c.blob=!1;else{var b=new ArrayBuffer(0);try{c.blob=0===new Blob([b],{type:"application/zip"}).size}catch(d){try{var e=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,f=new e;f.append(b),c.blob=0===f.getBlob("application/zip").size}catch(d){c.blob=!1}}}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],18:[function(a,b){"use strict";function c(a){a&&(this.data=a,this.length=this.data.length,this.index=0)}var d=a("./dataReader");c.prototype=new d,c.prototype.byteAt=function(a){return this.data[a]},c.prototype.lastIndexOfSignature=function(a){for(var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=this.length-4;f>=0;--f)if(this.data[f]===b&&this.data[f+1]===c&&this.data[f+2]===d&&this.data[f+3]===e)return f;return-1},c.prototype.readData=function(a){if(this.checkOffset(a),0===a)return new Uint8Array(0);var b=this.data.subarray(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./dataReader":5}],19:[function(a,b){"use strict";var c=a("./utils"),d=function(a){this.data=new Uint8Array(a),this.index=0};d.prototype={append:function(a){0!==a.length&&(a=c.transformTo("uint8array",a),this.data.set(a,this.index),this.index+=a.length)},finalize:function(){return this.data}},b.exports=d},{"./utils":21}],20:[function(a,b,c){"use strict";for(var d=a("./utils"),e=a("./support"),f=a("./nodeBuffer"),g=new Array(256),h=0;256>h;h++)g[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;g[254]=g[254]=1;var i=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;h>f;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=128>c?1:2048>c?2:65536>c?3:4;for(b=e.uint8array?new Uint8Array(i):new Array(i),g=0,f=0;i>g;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),128>c?b[g++]=c:2048>c?(b[g++]=192|c>>>6,b[g++]=128|63&c):65536>c?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},j=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return 0>c?b:0===c?b:c+g[a[c]]>b?c:b},k=function(a){var b,c,e,f,h=a.length,i=new Array(2*h);for(c=0,b=0;h>b;)if(e=a[b++],128>e)i[c++]=e;else if(f=g[e],f>4)i[c++]=65533,b+=f-1;else{for(e&=2===f?31:3===f?15:7;f>1&&h>b;)e=e<<6|63&a[b++],f--;f>1?i[c++]=65533:65536>e?i[c++]=e:(e-=65536,i[c++]=55296|e>>10&1023,i[c++]=56320|1023&e)}return i.length!==c&&(i.subarray?i=i.subarray(0,c):i.length=c),d.applyFromCharCode(i)};c.utf8encode=function(a){return e.nodebuffer?f(a,"utf-8"):i(a)},c.utf8decode=function(a){if(e.nodebuffer)return d.transformTo("nodebuffer",a).toString("utf-8");a=d.transformTo(e.uint8array?"uint8array":"array",a);for(var b=[],c=0,f=a.length,g=65536;f>c;){var h=j(a,Math.min(c+g,f));b.push(e.uint8array?k(a.subarray(c,h)):k(a.slice(c,h))),c=h}return b.join("")}},{"./nodeBuffer":11,"./support":17,"./utils":21}],21:[function(a,b,c){"use strict";function d(a){return a}function e(a,b){for(var c=0;c<a.length;++c)b[c]=255&a.charCodeAt(c);return b}function f(a){var b=65536,d=[],e=a.length,f=c.getTypeOf(a),g=0,h=!0;try{switch(f){case"uint8array":String.fromCharCode.apply(null,new Uint8Array(0));break;case"nodebuffer":String.fromCharCode.apply(null,j(0))}}catch(i){h=!1}if(!h){for(var k="",l=0;l<a.length;l++)k+=String.fromCharCode(a[l]);return k}for(;e>g&&b>1;)try{d.push("array"===f||"nodebuffer"===f?String.fromCharCode.apply(null,a.slice(g,Math.min(g+b,e))):String.fromCharCode.apply(null,a.subarray(g,Math.min(g+b,e)))),g+=b}catch(i){b=Math.floor(b/2)}return d.join("")}function g(a,b){for(var c=0;c<a.length;c++)b[c]=a[c];return b}var h=a("./support"),i=a("./compressions"),j=a("./nodeBuffer");c.string2binary=function(a){for(var b="",c=0;c<a.length;c++)b+=String.fromCharCode(255&a.charCodeAt(c));return b},c.arrayBuffer2Blob=function(a){c.checkSupport("blob");try{return new Blob([a],{type:"application/zip"})}catch(b){try{var d=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,e=new d;return e.append(a),e.getBlob("application/zip")}catch(b){throw new Error("Bug : can't construct the Blob.")}}},c.applyFromCharCode=f;var k={};k.string={string:d,array:function(a){return e(a,new Array(a.length))},arraybuffer:function(a){return k.string.uint8array(a).buffer},uint8array:function(a){return e(a,new Uint8Array(a.length))},nodebuffer:function(a){return e(a,j(a.length))}},k.array={string:f,array:d,arraybuffer:function(a){return new Uint8Array(a).buffer},uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(a)}},k.arraybuffer={string:function(a){return f(new Uint8Array(a))},array:function(a){return g(new Uint8Array(a),new Array(a.byteLength))},arraybuffer:d,uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(new Uint8Array(a))}},k.uint8array={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return a.buffer},uint8array:d,nodebuffer:function(a){return j(a)}},k.nodebuffer={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return k.nodebuffer.uint8array(a).buffer},uint8array:function(a){return g(a,new Uint8Array(a.length))},nodebuffer:d},c.transformTo=function(a,b){if(b||(b=""),!a)return b;c.checkSupport(a);var d=c.getTypeOf(b),e=k[d][a](b);return e},c.getTypeOf=function(a){return"string"==typeof a?"string":"[object Array]"===Object.prototype.toString.call(a)?"array":h.nodebuffer&&j.test(a)?"nodebuffer":h.uint8array&&a instanceof Uint8Array?"uint8array":h.arraybuffer&&a instanceof ArrayBuffer?"arraybuffer":void 0},c.checkSupport=function(a){var b=h[a.toLowerCase()];if(!b)throw new Error(a+" is not supported by this browser")},c.MAX_VALUE_16BITS=65535,c.MAX_VALUE_32BITS=-1,c.pretty=function(a){var b,c,d="";for(c=0;c<(a||"").length;c++)b=a.charCodeAt(c),d+="\\x"+(16>b?"0":"")+b.toString(16).toUpperCase();return d},c.findCompression=function(a){for(var b in i)if(i.hasOwnProperty(b)&&i[b].magic===a)return i[b];return null},c.isRegExp=function(a){return"[object RegExp]"===Object.prototype.toString.call(a)}},{"./compressions":3,"./nodeBuffer":11,"./support":17}],22:[function(a,b){"use strict";function c(a,b){this.files=[],this.loadOptions=b,a&&this.load(a)}var d=a("./stringReader"),e=a("./nodeBufferReader"),f=a("./uint8ArrayReader"),g=a("./utils"),h=a("./signature"),i=a("./zipEntry"),j=a("./support"),k=a("./object");c.prototype={checkSignature:function(a){var b=this.reader.readString(4);if(b!==a)throw new Error("Corrupted zip or bug : unexpected signature ("+g.pretty(b)+", expected "+g.pretty(a)+")")},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2),this.zipComment=this.reader.readString(this.zipCommentLength),this.zipComment=k.utf8decode(this.zipComment)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.versionMadeBy=this.reader.readString(2),this.versionNeeded=this.reader.readInt(2),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var a,b,c,d=this.zip64EndOfCentralSize-44,e=0;d>e;)a=this.reader.readInt(2),b=this.reader.readInt(4),c=this.reader.readString(b),this.zip64ExtensibleData[a]={id:a,length:b,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var a,b;for(a=0;a<this.files.length;a++)b=this.files[a],this.reader.setIndex(b.localHeaderOffset),this.checkSignature(h.LOCAL_FILE_HEADER),b.readLocalPart(this.reader),b.handleUTF8()},readCentralDir:function(){var a;for(this.reader.setIndex(this.centralDirOffset);this.reader.readString(4)===h.CENTRAL_FILE_HEADER;)a=new i({zip64:this.zip64},this.loadOptions),a.readCentralPart(this.reader),this.files.push(a)},readEndOfCentral:function(){var a=this.reader.lastIndexOfSignature(h.CENTRAL_DIRECTORY_END);if(-1===a)throw new Error("Corrupted zip : can't find end of central directory");if(this.reader.setIndex(a),this.checkSignature(h.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===g.MAX_VALUE_16BITS||this.diskWithCentralDirStart===g.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===g.MAX_VALUE_16BITS||this.centralDirRecords===g.MAX_VALUE_16BITS||this.centralDirSize===g.MAX_VALUE_32BITS||this.centralDirOffset===g.MAX_VALUE_32BITS){if(this.zip64=!0,a=this.reader.lastIndexOfSignature(h.ZIP64_CENTRAL_DIRECTORY_LOCATOR),-1===a)throw new Error("Corrupted zip : can't find the ZIP64 end of central directory locator");this.reader.setIndex(a),this.checkSignature(h.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(h.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}},prepareReader:function(a){var b=g.getTypeOf(a);this.reader="string"!==b||j.uint8array?"nodebuffer"===b?new e(a):new f(g.transformTo("uint8array",a)):new d(a,this.loadOptions.optimizedBinaryString)},load:function(a){this.prepareReader(a),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},b.exports=c},{"./nodeBufferReader":12,"./object":13,"./signature":14,"./stringReader":15,"./support":17,"./uint8ArrayReader":18,"./utils":21,"./zipEntry":23}],23:[function(a,b){"use strict";function c(a,b){this.options=a,this.loadOptions=b}var d=a("./stringReader"),e=a("./utils"),f=a("./compressedObject"),g=a("./object");c.prototype={isEncrypted:function(){return 1===(1&this.bitFlag)},useUTF8:function(){return 2048===(2048&this.bitFlag)},prepareCompressedContent:function(a,b,c){return function(){var d=a.index;a.setIndex(b);var e=a.readData(c);return a.setIndex(d),e}},prepareContent:function(a,b,c,d,f){return function(){var a=e.transformTo(d.uncompressInputType,this.getCompressedContent()),b=d.uncompress(a);if(b.length!==f)throw new Error("Bug : uncompressed data size mismatch");return b}},readLocalPart:function(a){var b,c;if(a.skip(22),this.fileNameLength=a.readInt(2),c=a.readInt(2),this.fileName=a.readString(this.fileNameLength),a.skip(c),-1==this.compressedSize||-1==this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize == -1 || uncompressedSize == -1)");if(b=e.findCompression(this.compressionMethod),null===b)throw new Error("Corrupted zip : compression "+e.pretty(this.compressionMethod)+" unknown (inner file : "+this.fileName+")");if(this.decompressed=new f,this.decompressed.compressedSize=this.compressedSize,this.decompressed.uncompressedSize=this.uncompressedSize,this.decompressed.crc32=this.crc32,this.decompressed.compressionMethod=this.compressionMethod,this.decompressed.getCompressedContent=this.prepareCompressedContent(a,a.index,this.compressedSize,b),this.decompressed.getContent=this.prepareContent(a,a.index,this.compressedSize,b,this.uncompressedSize),this.loadOptions.checkCRC32&&(this.decompressed=e.transformTo("string",this.decompressed.getContent()),g.crc32(this.decompressed)!==this.crc32))throw new Error("Corrupted zip : CRC32 mismatch")},readCentralPart:function(a){if(this.versionMadeBy=a.readString(2),this.versionNeeded=a.readInt(2),this.bitFlag=a.readInt(2),this.compressionMethod=a.readString(2),this.date=a.readDate(),this.crc32=a.readInt(4),this.compressedSize=a.readInt(4),this.uncompressedSize=a.readInt(4),this.fileNameLength=a.readInt(2),this.extraFieldsLength=a.readInt(2),this.fileCommentLength=a.readInt(2),this.diskNumberStart=a.readInt(2),this.internalFileAttributes=a.readInt(2),this.externalFileAttributes=a.readInt(4),this.localHeaderOffset=a.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");this.fileName=a.readString(this.fileNameLength),this.readExtraFields(a),this.parseZIP64ExtraField(a),this.fileComment=a.readString(this.fileCommentLength),this.dir=16&this.externalFileAttributes?!0:!1},parseZIP64ExtraField:function(){if(this.extraFields[1]){var a=new d(this.extraFields[1].value);this.uncompressedSize===e.MAX_VALUE_32BITS&&(this.uncompressedSize=a.readInt(8)),this.compressedSize===e.MAX_VALUE_32BITS&&(this.compressedSize=a.readInt(8)),this.localHeaderOffset===e.MAX_VALUE_32BITS&&(this.localHeaderOffset=a.readInt(8)),this.diskNumberStart===e.MAX_VALUE_32BITS&&(this.diskNumberStart=a.readInt(4))}},readExtraFields:function(a){var b,c,d,e=a.index;for(this.extraFields=this.extraFields||{};a.index<e+this.extraFieldsLength;)b=a.readInt(2),c=a.readInt(2),d=a.readString(c),this.extraFields[b]={id:b,length:c,value:d}},handleUTF8:function(){if(this.useUTF8())this.fileName=g.utf8decode(this.fileName),this.fileComment=g.utf8decode(this.fileComment);else{var a=this.findExtraFieldUnicodePath();null!==a&&(this.fileName=a);var b=this.findExtraFieldUnicodeComment();null!==b&&(this.fileComment=b)}},findExtraFieldUnicodePath:function(){var a=this.extraFields[28789];if(a){var b=new d(a.value);return 1!==b.readInt(1)?null:g.crc32(this.fileName)!==b.readInt(4)?null:g.utf8decode(b.readString(a.length-5))}return null},findExtraFieldUnicodeComment:function(){var a=this.extraFields[25461];if(a){var b=new d(a.value);return 1!==b.readInt(1)?null:g.crc32(this.fileComment)!==b.readInt(4)?null:g.utf8decode(b.readString(a.length-5))}return null}},b.exports=c},{"./compressedObject":2,"./object":13,"./stringReader":15,"./utils":21}],24:[function(a,b){"use strict";var c=a("./lib/utils/common").assign,d=a("./lib/deflate"),e=a("./lib/inflate"),f=a("./lib/zlib/constants"),g={};c(g,d,e,f),b.exports=g},{"./lib/deflate":25,"./lib/inflate":26,"./lib/utils/common":27,"./lib/zlib/constants":30}],25:[function(a,b,c){"use strict";function d(a,b){var c=new s(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function e(a,b){return b=b||{},b.raw=!0,d(a,b)}function f(a,b){return b=b||{},b.gzip=!0,d(a,b)}var g=a("./zlib/deflate.js"),h=a("./utils/common"),i=a("./utils/strings"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=0,m=4,n=0,o=1,p=-1,q=0,r=8,s=function(a){this.options=h.assign({level:p,method:r,chunkSize:16384,windowBits:15,memLevel:8,strategy:q,to:""},a||{});var b=this.options;b.raw&&b.windowBits>0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new k,this.strm.avail_out=0;var c=g.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==n)throw new Error(j[c]);b.header&&g.deflateSetHeader(this.strm,b.header)};s.prototype.push=function(a,b){var c,d,e=this.strm,f=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?m:l,e.input="string"==typeof a?i.string2buf(a):a,e.next_in=0,e.avail_in=e.input.length;do{if(0===e.avail_out&&(e.output=new h.Buf8(f),e.next_out=0,e.avail_out=f),c=g.deflate(e,d),c!==o&&c!==n)return this.onEnd(c),this.ended=!0,!1;(0===e.avail_out||0===e.avail_in&&d===m)&&this.onData("string"===this.options.to?i.buf2binstring(h.shrinkBuf(e.output,e.next_out)):h.shrinkBuf(e.output,e.next_out))}while((e.avail_in>0||0===e.avail_out)&&c!==o);return d===m?(c=g.deflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===n):!0},s.prototype.onData=function(a){this.chunks.push(a)},s.prototype.onEnd=function(a){a===n&&(this.result="string"===this.options.to?this.chunks.join(""):h.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Deflate=s,c.deflate=d,c.deflateRaw=e,c.gzip=f},{"./utils/common":27,"./utils/strings":28,"./zlib/deflate.js":32,"./zlib/messages":37,"./zlib/zstream":39}],26:[function(a,b,c){"use strict";function d(a,b){var c=new m(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function e(a,b){return b=b||{},b.raw=!0,d(a,b)}var f=a("./zlib/inflate.js"),g=a("./utils/common"),h=a("./utils/strings"),i=a("./zlib/constants"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=a("./zlib/gzheader"),m=function(a){this.options=g.assign({chunkSize:16384,windowBits:0,to:""},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new k,this.strm.avail_out=0;var c=f.inflateInit2(this.strm,b.windowBits);if(c!==i.Z_OK)throw new Error(j[c]);this.header=new l,f.inflateGetHeader(this.strm,this.header)};m.prototype.push=function(a,b){var c,d,e,j,k,l=this.strm,m=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?i.Z_FINISH:i.Z_NO_FLUSH,l.input="string"==typeof a?h.binstring2buf(a):a,l.next_in=0,l.avail_in=l.input.length;do{if(0===l.avail_out&&(l.output=new g.Buf8(m),l.next_out=0,l.avail_out=m),c=f.inflate(l,i.Z_NO_FLUSH),c!==i.Z_STREAM_END&&c!==i.Z_OK)return this.onEnd(c),this.ended=!0,!1;l.next_out&&(0===l.avail_out||c===i.Z_STREAM_END||0===l.avail_in&&d===i.Z_FINISH)&&("string"===this.options.to?(e=h.utf8border(l.output,l.next_out),j=l.next_out-e,k=h.buf2string(l.output,e),l.next_out=j,l.avail_out=m-j,j&&g.arraySet(l.output,l.output,e,j,0),this.onData(k)):this.onData(g.shrinkBuf(l.output,l.next_out)))}while(l.avail_in>0&&c!==i.Z_STREAM_END);return c===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(c=f.inflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===i.Z_OK):!0},m.prototype.onData=function(a){this.chunks.push(a)},m.prototype.onEnd=function(a){a===i.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):g.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Inflate=m,c.inflate=d,c.inflateRaw=e,c.ungzip=d},{"./utils/common":27,"./utils/strings":28,"./zlib/constants":30,"./zlib/gzheader":33,"./zlib/inflate.js":35,"./zlib/messages":37,"./zlib/zstream":39}],27:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;c.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=typeof c)throw new TypeError(c+"must be non-object");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},c.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var e={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;c>b;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;c>b;b++)f=a[b],g.set(f,e),e+=f.length;return g}},f={arraySet:function(a,b,c,d,e){for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};c.setTyped=function(a){a?(c.Buf8=Uint8Array,c.Buf16=Uint16Array,c.Buf32=Int32Array,c.assign(c,e)):(c.Buf8=Array,c.Buf16=Array,c.Buf32=Array,c.assign(c,f))},c.setTyped(d)},{}],28:[function(a,b,c){"use strict";function d(a,b){if(65537>b&&(a.subarray&&g||!a.subarray&&f))return String.fromCharCode.apply(null,e.shrinkBuf(a,b));for(var c="",d=0;b>d;d++)c+=String.fromCharCode(a[d]);return c}var e=a("./common"),f=!0,g=!0;try{String.fromCharCode.apply(null,[0])}catch(h){f=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(h){g=!1}for(var i=new e.Buf8(256),j=0;256>j;j++)i[j]=j>=252?6:j>=248?5:j>=240?4:j>=224?3:j>=192?2:1;i[254]=i[254]=1,c.string2buf=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;h>f;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=128>c?1:2048>c?2:65536>c?3:4;for(b=new e.Buf8(i),g=0,f=0;i>g;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),128>c?b[g++]=c:2048>c?(b[g++]=192|c>>>6,b[g++]=128|63&c):65536>c?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},c.buf2binstring=function(a){return d(a,a.length)},c.binstring2buf=function(a){for(var b=new e.Buf8(a.length),c=0,d=b.length;d>c;c++)b[c]=a.charCodeAt(c);return b},c.buf2string=function(a,b){var c,e,f,g,h=b||a.length,j=new Array(2*h);for(e=0,c=0;h>c;)if(f=a[c++],128>f)j[e++]=f;else if(g=i[f],g>4)j[e++]=65533,c+=g-1;else{for(f&=2===g?31:3===g?15:7;g>1&&h>c;)f=f<<6|63&a[c++],g--;g>1?j[e++]=65533:65536>f?j[e++]=f:(f-=65536,j[e++]=55296|f>>10&1023,j[e++]=56320|1023&f)}return d(j,e)},c.utf8border=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return 0>c?b:0===c?b:c+i[a[c]]>b?c:b}},{"./common":27}],29:[function(a,b){"use strict";function c(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}b.exports=c},{}],30:[function(a,b){b.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],31:[function(a,b){"use strict";function c(){for(var a,b=[],c=0;256>c;c++){a=c;for(var d=0;8>d;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function d(a,b,c,d){var f=e,g=d+c;a=-1^a;for(var h=d;g>h;h++)a=a>>>8^f[255&(a^b[h])];return-1^a}var e=c();b.exports=d},{}],32:[function(a,b,c){"use strict";function d(a,b){return a.msg=G[b],b}function e(a){return(a<<1)-(a>4?9:0)}function f(a){for(var b=a.length;--b>=0;)a[b]=0}function g(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(C.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function h(a,b){D._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,g(a.strm)}function i(a,b){a.pending_buf[a.pending++]=b}function j(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function k(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,C.arraySet(b,a.input,a.next_in,e,c),1===a.state.wrap?a.adler=E(a.adler,b,e,c):2===a.state.wrap&&(a.adler=F(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)}function l(a,b){var c,d,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-jb?a.strstart-(a.w_size-jb):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+ib,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do;while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&m>f);if(d=ib-(m-f),f=m-ib,d>g){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}while((b=l[b&k])>i&&0!==--e);return g<=a.lookahead?g:a.lookahead}function m(a){var b,c,d,e,f,g=a.w_size;do{if(e=a.window_size-a.lookahead-a.strstart,a.strstart>=g+(g-jb)){C.arraySet(a.window,a.window,g,g,0),a.match_start-=g,a.strstart-=g,a.block_start-=g,c=a.hash_size,b=c;do d=a.head[--b],a.head[b]=d>=g?d-g:0;while(--c);c=g,b=c;do d=a.prev[--b],a.prev[b]=d>=g?d-g:0;while(--c);e+=g}if(0===a.strm.avail_in)break;if(c=k(a.strm,a.window,a.strstart+a.lookahead,e),a.lookahead+=c,a.lookahead+a.insert>=hb)for(f=a.strstart-a.insert,a.ins_h=a.window[f],a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+1])&a.hash_mask;a.insert&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+hb-1])&a.hash_mask,a.prev[f&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=f,f++,a.insert--,!(a.lookahead+a.insert<hb)););}while(a.lookahead<jb&&0!==a.strm.avail_in)}function n(a,b){var c=65535;for(c>a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(m(a),0===a.lookahead&&b===H)return sb;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,h(a,!1),0===a.strm.avail_out))return sb;if(a.strstart-a.block_start>=a.w_size-jb&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.strstart>a.block_start&&(h(a,!1),0===a.strm.avail_out)?sb:sb}function o(a,b){for(var c,d;;){if(a.lookahead<jb){if(m(a),a.lookahead<jb&&b===H)return sb;if(0===a.lookahead)break}if(c=0,a.lookahead>=hb&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-jb&&(a.match_length=l(a,c)),a.match_length>=hb)if(d=D._tr_tally(a,a.strstart-a.match_start,a.match_length-hb),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=hb){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart;while(0!==--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+1])&a.hash_mask;else d=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=a.strstart<hb-1?a.strstart:hb-1,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function p(a,b){for(var c,d,e;;){if(a.lookahead<jb){if(m(a),a.lookahead<jb&&b===H)return sb;if(0===a.lookahead)break}if(c=0,a.lookahead>=hb&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=hb-1,0!==c&&a.prev_length<a.max_lazy_match&&a.strstart-c<=a.w_size-jb&&(a.match_length=l(a,c),a.match_length<=5&&(a.strategy===S||a.match_length===hb&&a.strstart-a.match_start>4096)&&(a.match_length=hb-1)),a.prev_length>=hb&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-hb,d=D._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-hb),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=e&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart);while(0!==--a.prev_length);if(a.match_available=0,a.match_length=hb-1,a.strstart++,d&&(h(a,!1),0===a.strm.avail_out))return sb}else if(a.match_available){if(d=D._tr_tally(a,0,a.window[a.strstart-1]),d&&h(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return sb}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=D._tr_tally(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<hb-1?a.strstart:hb-1,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function q(a,b){for(var c,d,e,f,g=a.window;;){if(a.lookahead<=ib){if(m(a),a.lookahead<=ib&&b===H)return sb;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=hb&&a.strstart>0&&(e=a.strstart-1,d=g[e],d===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+ib;do;while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&f>e);a.match_length=ib-(f-e),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=hb?(c=D._tr_tally(a,1,a.match_length-hb),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function r(a,b){for(var c;;){if(0===a.lookahead&&(m(a),0===a.lookahead)){if(b===H)return sb;break}if(a.match_length=0,c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function s(a){a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=B[a.level].max_lazy,a.good_match=B[a.level].good_length,a.nice_match=B[a.level].nice_length,a.max_chain_length=B[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=hb-1,a.match_available=0,a.ins_h=0}function t(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Y,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new C.Buf16(2*fb),this.dyn_dtree=new C.Buf16(2*(2*db+1)),this.bl_tree=new C.Buf16(2*(2*eb+1)),f(this.dyn_ltree),f(this.dyn_dtree),f(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new C.Buf16(gb+1),this.heap=new C.Buf16(2*cb+1),f(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new C.Buf16(2*cb+1),f(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function u(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=X,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?lb:qb,a.adler=2===b.wrap?0:1,b.last_flush=H,D._tr_init(b),M):d(a,O)}function v(a){var b=u(a);return b===M&&s(a.state),b}function w(a,b){return a&&a.state?2!==a.state.wrap?O:(a.state.gzhead=b,M):O}function x(a,b,c,e,f,g){if(!a)return O;var h=1;if(b===R&&(b=6),0>e?(h=0,e=-e):e>15&&(h=2,e-=16),1>f||f>Z||c!==Y||8>e||e>15||0>b||b>9||0>g||g>V)return d(a,O);8===e&&(e=9);var i=new t;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=f+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+hb-1)/hb),i.window=new C.Buf8(2*i.w_size),i.head=new C.Buf16(i.hash_size),i.prev=new C.Buf16(i.w_size),i.lit_bufsize=1<<f+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new C.Buf8(i.pending_buf_size),i.d_buf=i.lit_bufsize>>1,i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,v(a)}function y(a,b){return x(a,b,Y,$,_,W)}function z(a,b){var c,h,k,l;if(!a||!a.state||b>L||0>b)return a?d(a,O):O;if(h=a.state,!a.output||!a.input&&0!==a.avail_in||h.status===rb&&b!==K)return d(a,0===a.avail_out?Q:O);if(h.strm=a,c=h.last_flush,h.last_flush=b,h.status===lb)if(2===h.wrap)a.adler=0,i(h,31),i(h,139),i(h,8),h.gzhead?(i(h,(h.gzhead.text?1:0)+(h.gzhead.hcrc?2:0)+(h.gzhead.extra?4:0)+(h.gzhead.name?8:0)+(h.gzhead.comment?16:0)),i(h,255&h.gzhead.time),i(h,h.gzhead.time>>8&255),i(h,h.gzhead.time>>16&255),i(h,h.gzhead.time>>24&255),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,255&h.gzhead.os),h.gzhead.extra&&h.gzhead.extra.length&&(i(h,255&h.gzhead.extra.length),i(h,h.gzhead.extra.length>>8&255)),h.gzhead.hcrc&&(a.adler=F(a.adler,h.pending_buf,h.pending,0)),h.gzindex=0,h.status=mb):(i(h,0),i(h,0),i(h,0),i(h,0),i(h,0),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,wb),h.status=qb);else{var m=Y+(h.w_bits-8<<4)<<8,n=-1;n=h.strategy>=T||h.level<2?0:h.level<6?1:6===h.level?2:3,m|=n<<6,0!==h.strstart&&(m|=kb),m+=31-m%31,h.status=qb,j(h,m),0!==h.strstart&&(j(h,a.adler>>>16),j(h,65535&a.adler)),a.adler=1}if(h.status===mb)if(h.gzhead.extra){for(k=h.pending;h.gzindex<(65535&h.gzhead.extra.length)&&(h.pending!==h.pending_buf_size||(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending!==h.pending_buf_size));)i(h,255&h.gzhead.extra[h.gzindex]),h.gzindex++;h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),h.gzindex===h.gzhead.extra.length&&(h.gzindex=0,h.status=nb)}else h.status=nb;if(h.status===nb)if(h.gzhead.name){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.name.length?255&h.gzhead.name.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.gzindex=0,h.status=ob)}else h.status=ob;if(h.status===ob)if(h.gzhead.comment){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.comment.length?255&h.gzhead.comment.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.status=pb)}else h.status=pb;if(h.status===pb&&(h.gzhead.hcrc?(h.pending+2>h.pending_buf_size&&g(a),h.pending+2<=h.pending_buf_size&&(i(h,255&a.adler),i(h,a.adler>>8&255),a.adler=0,h.status=qb)):h.status=qb),0!==h.pending){if(g(a),0===a.avail_out)return h.last_flush=-1,M}else if(0===a.avail_in&&e(b)<=e(c)&&b!==K)return d(a,Q);if(h.status===rb&&0!==a.avail_in)return d(a,Q);if(0!==a.avail_in||0!==h.lookahead||b!==H&&h.status!==rb){var o=h.strategy===T?r(h,b):h.strategy===U?q(h,b):B[h.level].func(h,b);if((o===ub||o===vb)&&(h.status=rb),o===sb||o===ub)return 0===a.avail_out&&(h.last_flush=-1),M;if(o===tb&&(b===I?D._tr_align(h):b!==L&&(D._tr_stored_block(h,0,0,!1),b===J&&(f(h.head),0===h.lookahead&&(h.strstart=0,h.block_start=0,h.insert=0))),g(a),0===a.avail_out))return h.last_flush=-1,M}return b!==K?M:h.wrap<=0?N:(2===h.wrap?(i(h,255&a.adler),i(h,a.adler>>8&255),i(h,a.adler>>16&255),i(h,a.adler>>24&255),i(h,255&a.total_in),i(h,a.total_in>>8&255),i(h,a.total_in>>16&255),i(h,a.total_in>>24&255)):(j(h,a.adler>>>16),j(h,65535&a.adler)),g(a),h.wrap>0&&(h.wrap=-h.wrap),0!==h.pending?M:N)}function A(a){var b;return a&&a.state?(b=a.state.status,b!==lb&&b!==mb&&b!==nb&&b!==ob&&b!==pb&&b!==qb&&b!==rb?d(a,O):(a.state=null,b===qb?d(a,P):M)):O}var B,C=a("../utils/common"),D=a("./trees"),E=a("./adler32"),F=a("./crc32"),G=a("./messages"),H=0,I=1,J=3,K=4,L=5,M=0,N=1,O=-2,P=-3,Q=-5,R=-1,S=1,T=2,U=3,V=4,W=0,X=2,Y=8,Z=9,$=15,_=8,ab=29,bb=256,cb=bb+1+ab,db=30,eb=19,fb=2*cb+1,gb=15,hb=3,ib=258,jb=ib+hb+1,kb=32,lb=42,mb=69,nb=73,ob=91,pb=103,qb=113,rb=666,sb=1,tb=2,ub=3,vb=4,wb=3,xb=function(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e};B=[new xb(0,0,0,0,n),new xb(4,4,8,4,o),new xb(4,5,16,8,o),new xb(4,6,32,32,o),new xb(4,4,16,16,p),new xb(8,16,32,32,p),new xb(8,16,128,128,p),new xb(8,32,128,256,p),new xb(32,128,258,1024,p),new xb(32,258,258,4096,p)],c.deflateInit=y,c.deflateInit2=x,c.deflateReset=v,c.deflateResetKeep=u,c.deflateSetHeader=w,c.deflate=z,c.deflateEnd=A,c.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./messages":37,"./trees":38}],33:[function(a,b){"use strict";function c(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}b.exports=c},{}],34:[function(a,b){"use strict";var c=30,d=12;b.exports=function(a,b){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;e=a.state,f=a.next_in,B=a.input,g=f+(a.avail_in-5),h=a.next_out,C=a.output,i=h-(b-a.avail_out),j=h+(a.avail_out-257),k=e.dmax,l=e.wsize,m=e.whave,n=e.wnext,o=e.window,p=e.hold,q=e.bits,r=e.lencode,s=e.distcode,t=(1<<e.lenbits)-1,u=(1<<e.distbits)-1;a:do{15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=r[p&t];b:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,0===w)C[h++]=65535&v;else{if(!(16&w)){if(0===(64&w)){v=r[(65535&v)+(p&(1<<w)-1)];continue b}if(32&w){e.mode=d;break a}a.msg="invalid literal/length code",e.mode=c;break a}x=65535&v,w&=15,w&&(w>q&&(p+=B[f++]<<q,q+=8),x+=p&(1<<w)-1,p>>>=w,q-=w),15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=s[p&u];c:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,!(16&w)){if(0===(64&w)){v=s[(65535&v)+(p&(1<<w)-1)];continue c}a.msg="invalid distance code",e.mode=c;break a}if(y=65535&v,w&=15,w>q&&(p+=B[f++]<<q,q+=8,w>q&&(p+=B[f++]<<q,q+=8)),y+=p&(1<<w)-1,y>k){a.msg="invalid distance too far back",e.mode=c;break a}if(p>>>=w,q-=w,w=h-i,y>w){if(w=y-w,w>m&&e.sane){a.msg="invalid distance too far back",e.mode=c;break a}if(z=0,A=o,0===n){if(z+=l-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}else if(w>n){if(z+=l+n-w,w-=n,x>w){x-=w;do C[h++]=o[z++];while(--w);if(z=0,x>n){w=n,x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}}else if(z+=n-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}for(;x>2;)C[h++]=A[z++],C[h++]=A[z++],C[h++]=A[z++],x-=3;x&&(C[h++]=A[z++],x>1&&(C[h++]=A[z++]))}else{z=h-y;do C[h++]=C[z++],C[h++]=C[z++],C[h++]=C[z++],x-=3;while(x>2);x&&(C[h++]=C[z++],x>1&&(C[h++]=C[z++]))}break}}break}}while(g>f&&j>h);x=q>>3,f-=x,q-=x<<3,p&=(1<<q)-1,a.next_in=f,a.next_out=h,a.avail_in=g>f?5+(g-f):5-(f-g),a.avail_out=j>h?257+(j-h):257-(h-j),e.hold=p,e.bits=q}},{}],35:[function(a,b,c){"use strict";function d(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function e(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function f(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=K,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new r.Buf32(ob),b.distcode=b.distdyn=new r.Buf32(pb),b.sane=1,b.back=-1,C):F}function g(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,f(a)):F}function h(a,b){var c,d;return a&&a.state?(d=a.state,0>b?(c=0,b=-b):(c=(b>>4)+1,48>b&&(b&=15)),b&&(8>b||b>15)?F:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,g(a))):F}function i(a,b){var c,d;return a?(d=new e,a.state=d,d.window=null,c=h(a,b),c!==C&&(a.state=null),c):F}function j(a){return i(a,rb)}function k(a){if(sb){var b;for(p=new r.Buf32(512),q=new r.Buf32(32),b=0;144>b;)a.lens[b++]=8;for(;256>b;)a.lens[b++]=9;for(;280>b;)a.lens[b++]=7;for(;288>b;)a.lens[b++]=8;for(v(x,a.lens,0,288,p,0,a.work,{bits:9}),b=0;32>b;)a.lens[b++]=5;v(y,a.lens,0,32,q,0,a.work,{bits:5}),sb=!1}a.lencode=p,a.lenbits=9,a.distcode=q,a.distbits=5}function l(a,b,c,d){var e,f=a.state;return null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new r.Buf8(f.wsize)),d>=f.wsize?(r.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),r.arraySet(f.window,b,c-d,e,f.wnext),d-=e,d?(r.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=e))),0}function m(a,b){var c,e,f,g,h,i,j,m,n,o,p,q,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab=0,Bb=new r.Buf8(4),Cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return F;c=a.state,c.mode===V&&(c.mode=W),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,o=i,p=j,xb=C;a:for(;;)switch(c.mode){case K:if(0===c.wrap){c.mode=W;break}for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(2&c.wrap&&35615===m){c.check=0,Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0),m=0,n=0,c.mode=L;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&m)<<8)+(m>>8))%31){a.msg="incorrect header check",c.mode=lb;break}if((15&m)!==J){a.msg="unknown compression method",c.mode=lb;break}if(m>>>=4,n-=4,wb=(15&m)+8,0===c.wbits)c.wbits=wb;else if(wb>c.wbits){a.msg="invalid window size",c.mode=lb;break}c.dmax=1<<wb,a.adler=c.check=1,c.mode=512&m?T:V,m=0,n=0;break;case L:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.flags=m,(255&c.flags)!==J){a.msg="unknown compression method",c.mode=lb;break}if(57344&c.flags){a.msg="unknown header flags set",c.mode=lb;break}c.head&&(c.head.text=m>>8&1),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=M;case M:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.time=m),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,Bb[2]=m>>>16&255,Bb[3]=m>>>24&255,c.check=t(c.check,Bb,4,0)),m=0,n=0,c.mode=N;case N:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.xflags=255&m,c.head.os=m>>8),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=O;case O:if(1024&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length=m,c.head&&(c.head.extra_len=m),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0}else c.head&&(c.head.extra=null);c.mode=P;case P:if(1024&c.flags&&(q=c.length,q>i&&(q=i),q&&(c.head&&(wb=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),r.arraySet(c.head.extra,e,g,q,wb)),512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,c.length-=q),c.length))break a;c.length=0,c.mode=Q;case Q:if(2048&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.name+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=R;case R:if(4096&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.comment+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.comment=null);c.mode=S;case S:if(512&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(65535&c.check)){a.msg="header crc mismatch",c.mode=lb;break}m=0,n=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=V;break;case T:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}a.adler=c.check=d(m),m=0,n=0,c.mode=U;case U:if(0===c.havedict)return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,E;a.adler=c.check=1,c.mode=V;case V:if(b===A||b===B)break a;case W:if(c.last){m>>>=7&n,n-=7&n,c.mode=ib;break}for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}switch(c.last=1&m,m>>>=1,n-=1,3&m){case 0:c.mode=X;break;case 1:if(k(c),c.mode=bb,b===B){m>>>=2,n-=2;break a}break;case 2:c.mode=$;break;case 3:a.msg="invalid block type",c.mode=lb}m>>>=2,n-=2;break;case X:for(m>>>=7&n,n-=7&n;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if((65535&m)!==(m>>>16^65535)){a.msg="invalid stored block lengths",c.mode=lb;break}if(c.length=65535&m,m=0,n=0,c.mode=Y,b===B)break a;case Y:c.mode=Z;case Z:if(q=c.length){if(q>i&&(q=i),q>j&&(q=j),0===q)break a;r.arraySet(f,e,g,q,h),i-=q,g+=q,j-=q,h+=q,c.length-=q;break}c.mode=V;break;case $:for(;14>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.nlen=(31&m)+257,m>>>=5,n-=5,c.ndist=(31&m)+1,m>>>=5,n-=5,c.ncode=(15&m)+4,m>>>=4,n-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=lb;break}c.have=0,c.mode=_;case _:for(;c.have<c.ncode;){for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.lens[Cb[c.have++]]=7&m,m>>>=3,n-=3}for(;c.have<19;)c.lens[Cb[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,yb={bits:c.lenbits},xb=v(w,c.lens,0,19,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid code lengths set",c.mode=lb;break}c.have=0,c.mode=ab;case ab:for(;c.have<c.nlen+c.ndist;){for(;Ab=c.lencode[m&(1<<c.lenbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(16>sb)m>>>=qb,n-=qb,c.lens[c.have++]=sb;else{if(16===sb){for(zb=qb+2;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m>>>=qb,n-=qb,0===c.have){a.msg="invalid bit length repeat",c.mode=lb;break}wb=c.lens[c.have-1],q=3+(3&m),m>>>=2,n-=2}else if(17===sb){for(zb=qb+3;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qb,n-=qb,wb=0,q=3+(7&m),m>>>=3,n-=3}else{for(zb=qb+7;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qb,n-=qb,wb=0,q=11+(127&m),m>>>=7,n-=7}if(c.have+q>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=lb;break}for(;q--;)c.lens[c.have++]=wb}}if(c.mode===lb)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=lb;break}if(c.lenbits=9,yb={bits:c.lenbits},xb=v(x,c.lens,0,c.nlen,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid literal/lengths set",c.mode=lb;break}if(c.distbits=6,c.distcode=c.distdyn,yb={bits:c.distbits},xb=v(y,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,yb),c.distbits=yb.bits,xb){a.msg="invalid distances set",c.mode=lb;break}if(c.mode=bb,b===B)break a;case bb:c.mode=cb;case cb:if(i>=6&&j>=258){a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,u(a,p),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,c.mode===V&&(c.back=-1);break}for(c.back=0;Ab=c.lencode[m&(1<<c.lenbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(rb&&0===(240&rb)){for(tb=qb,ub=rb,vb=sb;Ab=c.lencode[vb+((m&(1<<tb+ub)-1)>>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,c.length=sb,0===rb){c.mode=hb;break}if(32&rb){c.back=-1,c.mode=V;break}if(64&rb){a.msg="invalid literal/length code",c.mode=lb;break}c.extra=15&rb,c.mode=db;case db:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=eb;case eb:for(;Ab=c.distcode[m&(1<<c.distbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(0===(240&rb)){for(tb=qb,ub=rb,vb=sb;Ab=c.distcode[vb+((m&(1<<tb+ub)-1)>>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,64&rb){a.msg="invalid distance code",c.mode=lb;break}c.offset=sb,c.extra=15&rb,c.mode=fb;case fb:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.offset+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=lb;break}c.mode=gb;case gb:if(0===j)break a;if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.sane){a.msg="invalid distance too far back",c.mode=lb;break}q>c.wnext?(q-=c.wnext,ob=c.wsize-q):ob=c.wnext-q,q>c.length&&(q=c.length),pb=c.window}else pb=f,ob=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;do f[h++]=pb[ob++];while(--q);0===c.length&&(c.mode=cb);break;case hb:if(0===j)break a;f[h++]=c.length,j--,c.mode=cb;break;case ib:if(c.wrap){for(;32>n;){if(0===i)break a;i--,m|=e[g++]<<n,n+=8}if(p-=j,a.total_out+=p,c.total+=p,p&&(a.adler=c.check=c.flags?t(c.check,f,p,h-p):s(c.check,f,p,h-p)),p=j,(c.flags?m:d(m))!==c.check){a.msg="incorrect data check",c.mode=lb;break}m=0,n=0}c.mode=jb;case jb:if(c.wrap&&c.flags){for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(4294967295&c.total)){a.msg="incorrect length check",c.mode=lb;break}m=0,n=0}c.mode=kb;case kb:xb=D;break a;case lb:xb=G;break a;case mb:return H;case nb:default:return F}return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,(c.wsize||p!==a.avail_out&&c.mode<lb&&(c.mode<ib||b!==z))&&l(a,a.output,a.next_out,p-a.avail_out)?(c.mode=mb,H):(o-=a.avail_in,p-=a.avail_out,a.total_in+=o,a.total_out+=p,c.total+=p,c.wrap&&p&&(a.adler=c.check=c.flags?t(c.check,f,p,a.next_out-p):s(c.check,f,p,a.next_out-p)),a.data_type=c.bits+(c.last?64:0)+(c.mode===V?128:0)+(c.mode===bb||c.mode===Y?256:0),(0===o&&0===p||b===z)&&xb===C&&(xb=I),xb)}function n(a){if(!a||!a.state)return F;var b=a.state;return b.window&&(b.window=null),a.state=null,C}function o(a,b){var c;return a&&a.state?(c=a.state,0===(2&c.wrap)?F:(c.head=b,b.done=!1,C)):F}var p,q,r=a("../utils/common"),s=a("./adler32"),t=a("./crc32"),u=a("./inffast"),v=a("./inftrees"),w=0,x=1,y=2,z=4,A=5,B=6,C=0,D=1,E=2,F=-2,G=-3,H=-4,I=-5,J=8,K=1,L=2,M=3,N=4,O=5,P=6,Q=7,R=8,S=9,T=10,U=11,V=12,W=13,X=14,Y=15,Z=16,$=17,_=18,ab=19,bb=20,cb=21,db=22,eb=23,fb=24,gb=25,hb=26,ib=27,jb=28,kb=29,lb=30,mb=31,nb=32,ob=852,pb=592,qb=15,rb=qb,sb=!0;c.inflateReset=g,c.inflateReset2=h,c.inflateResetKeep=f,c.inflateInit=j,c.inflateInit2=i,c.inflate=m,c.inflateEnd=n,c.inflateGetHeader=o,c.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./inffast":34,"./inftrees":36}],36:[function(a,b){"use strict";var c=a("../utils/common"),d=15,e=852,f=592,g=0,h=1,i=2,j=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],k=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],l=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],m=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];b.exports=function(a,b,n,o,p,q,r,s){var t,u,v,w,x,y,z,A,B,C=s.bits,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=null,O=0,P=new c.Buf16(d+1),Q=new c.Buf16(d+1),R=null,S=0;for(D=0;d>=D;D++)P[D]=0;for(E=0;o>E;E++)P[b[n+E]]++;for(H=C,G=d;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)return p[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;G>F&&0===P[F];F++);for(F>H&&(H=F),K=1,D=1;d>=D;D++)if(K<<=1,K-=P[D],0>K)return-1;if(K>0&&(a===g||1!==G))return-1;for(Q[1]=0,D=1;d>D;D++)Q[D+1]=Q[D]+P[D];for(E=0;o>E;E++)0!==b[n+E]&&(r[Q[b[n+E]]++]=E);if(a===g?(N=R=r,y=19):a===h?(N=j,O-=257,R=k,S-=257,y=256):(N=l,R=m,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<<H,w=L-1,a===h&&L>e||a===i&&L>f)return 1;for(var T=0;;){T++,z=D-J,r[E]<y?(A=0,B=r[E]):r[E]>y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<<D-J,u=1<<I,F=u;do u-=t,p[x+(M>>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<<D-1;M&t;)t>>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[n+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<<I;G>I+J&&(K-=P[I+J],!(0>=K));)I++,K<<=1;if(L+=1<<I,a===h&&L>e||a===i&&L>f)return 1;v=M&w,p[v]=H<<24|I<<16|x-q|0}}return 0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},{"../utils/common":27}],37:[function(a,b){"use strict";b.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],38:[function(a,b,c){"use strict";function d(a){for(var b=a.length;--b>=0;)a[b]=0}function e(a){return 256>a?gb[a]:gb[256+(a>>>7)]}function f(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function g(a,b,c){a.bi_valid>V-c?(a.bi_buf|=b<<a.bi_valid&65535,f(a,a.bi_buf),a.bi_buf=b>>V-a.bi_valid,a.bi_valid+=c-V):(a.bi_buf|=b<<a.bi_valid&65535,a.bi_valid+=c)}function h(a,b,c){g(a,c[2*b],c[2*b+1])}function i(a,b){var c=0;do c|=1&a,a>>>=1,c<<=1;while(--b>0);return c>>>1}function j(a){16===a.bi_valid?(f(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function k(a,b){var c,d,e,f,g,h,i=b.dyn_tree,j=b.max_code,k=b.stat_desc.static_tree,l=b.stat_desc.has_stree,m=b.stat_desc.extra_bits,n=b.stat_desc.extra_base,o=b.stat_desc.max_length,p=0;for(f=0;U>=f;f++)a.bl_count[f]=0;for(i[2*a.heap[a.heap_max]+1]=0,c=a.heap_max+1;T>c;c++)d=a.heap[c],f=i[2*i[2*d+1]+1]+1,f>o&&(f=o,p++),i[2*d+1]=f,d>j||(a.bl_count[f]++,g=0,d>=n&&(g=m[d-n]),h=i[2*d],a.opt_len+=h*(f+g),l&&(a.static_len+=h*(k[2*d+1]+g)));if(0!==p){do{for(f=o-1;0===a.bl_count[f];)f--;a.bl_count[f]--,a.bl_count[f+1]+=2,a.bl_count[o]--,p-=2}while(p>0);for(f=o;0!==f;f--)for(d=a.bl_count[f];0!==d;)e=a.heap[--c],e>j||(i[2*e+1]!==f&&(a.opt_len+=(f-i[2*e+1])*i[2*e],i[2*e+1]=f),d--)}}function l(a,b,c){var d,e,f=new Array(U+1),g=0;for(d=1;U>=d;d++)f[d]=g=g+c[d-1]<<1;for(e=0;b>=e;e++){var h=a[2*e+1];0!==h&&(a[2*e]=i(f[h]++,h))}}function m(){var a,b,c,d,e,f=new Array(U+1);for(c=0,d=0;O-1>d;d++)for(ib[d]=c,a=0;a<1<<_[d];a++)hb[c++]=d;for(hb[c-1]=d,e=0,d=0;16>d;d++)for(jb[d]=e,a=0;a<1<<ab[d];a++)gb[e++]=d;for(e>>=7;R>d;d++)for(jb[d]=e<<7,a=0;a<1<<ab[d]-7;a++)gb[256+e++]=d;for(b=0;U>=b;b++)f[b]=0;for(a=0;143>=a;)eb[2*a+1]=8,a++,f[8]++;for(;255>=a;)eb[2*a+1]=9,a++,f[9]++;for(;279>=a;)eb[2*a+1]=7,a++,f[7]++;for(;287>=a;)eb[2*a+1]=8,a++,f[8]++;for(l(eb,Q+1,f),a=0;R>a;a++)fb[2*a+1]=5,fb[2*a]=i(a,5);kb=new nb(eb,_,P+1,Q,U),lb=new nb(fb,ab,0,R,U),mb=new nb(new Array(0),bb,0,S,W)}function n(a){var b;for(b=0;Q>b;b++)a.dyn_ltree[2*b]=0;for(b=0;R>b;b++)a.dyn_dtree[2*b]=0;for(b=0;S>b;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*X]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function o(a){a.bi_valid>8?f(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function p(a,b,c,d){o(a),d&&(f(a,c),f(a,~c)),E.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function q(a,b,c,d){var e=2*b,f=2*c;return a[e]<a[f]||a[e]===a[f]&&d[b]<=d[c]}function r(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len&&(e<a.heap_len&&q(b,a.heap[e+1],a.heap[e],a.depth)&&e++,!q(b,d,a.heap[e],a.depth));)a.heap[c]=a.heap[e],c=e,e<<=1;a.heap[c]=d}function s(a,b,c){var d,f,i,j,k=0;if(0!==a.last_lit)do d=a.pending_buf[a.d_buf+2*k]<<8|a.pending_buf[a.d_buf+2*k+1],f=a.pending_buf[a.l_buf+k],k++,0===d?h(a,f,b):(i=hb[f],h(a,i+P+1,b),j=_[i],0!==j&&(f-=ib[i],g(a,f,j)),d--,i=e(d),h(a,i,c),j=ab[i],0!==j&&(d-=jb[i],g(a,d,j)));while(k<a.last_lit);h(a,X,b)}function t(a,b){var c,d,e,f=b.dyn_tree,g=b.stat_desc.static_tree,h=b.stat_desc.has_stree,i=b.stat_desc.elems,j=-1;for(a.heap_len=0,a.heap_max=T,c=0;i>c;c++)0!==f[2*c]?(a.heap[++a.heap_len]=j=c,a.depth[c]=0):f[2*c+1]=0;for(;a.heap_len<2;)e=a.heap[++a.heap_len]=2>j?++j:0,f[2*e]=1,a.depth[e]=0,a.opt_len--,h&&(a.static_len-=g[2*e+1]);for(b.max_code=j,c=a.heap_len>>1;c>=1;c--)r(a,f,c);e=i;do c=a.heap[1],a.heap[1]=a.heap[a.heap_len--],r(a,f,1),d=a.heap[1],a.heap[--a.heap_max]=c,a.heap[--a.heap_max]=d,f[2*e]=f[2*c]+f[2*d],a.depth[e]=(a.depth[c]>=a.depth[d]?a.depth[c]:a.depth[d])+1,f[2*c+1]=f[2*d+1]=e,a.heap[1]=e++,r(a,f,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],k(a,b),l(f,j,a.bl_count)}function u(a,b,c){var d,e,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;c>=d;d++)e=g,g=b[2*(d+1)+1],++h<i&&e===g||(j>h?a.bl_tree[2*e]+=h:0!==e?(e!==f&&a.bl_tree[2*e]++,a.bl_tree[2*Y]++):10>=h?a.bl_tree[2*Z]++:a.bl_tree[2*$]++,h=0,f=e,0===g?(i=138,j=3):e===g?(i=6,j=3):(i=7,j=4))}function v(a,b,c){var d,e,f=-1,i=b[1],j=0,k=7,l=4;for(0===i&&(k=138,l=3),d=0;c>=d;d++)if(e=i,i=b[2*(d+1)+1],!(++j<k&&e===i)){if(l>j){do h(a,e,a.bl_tree);while(0!==--j)}else 0!==e?(e!==f&&(h(a,e,a.bl_tree),j--),h(a,Y,a.bl_tree),g(a,j-3,2)):10>=j?(h(a,Z,a.bl_tree),g(a,j-3,3)):(h(a,$,a.bl_tree),g(a,j-11,7));j=0,f=e,0===i?(k=138,l=3):e===i?(k=6,l=3):(k=7,l=4)}}function w(a){var b;for(u(a,a.dyn_ltree,a.l_desc.max_code),u(a,a.dyn_dtree,a.d_desc.max_code),t(a,a.bl_desc),b=S-1;b>=3&&0===a.bl_tree[2*cb[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function x(a,b,c,d){var e;for(g(a,b-257,5),g(a,c-1,5),g(a,d-4,4),e=0;d>e;e++)g(a,a.bl_tree[2*cb[e]+1],3);v(a,a.dyn_ltree,b-1),v(a,a.dyn_dtree,c-1)}function y(a){var b,c=4093624447;for(b=0;31>=b;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return G;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return H;for(b=32;P>b;b++)if(0!==a.dyn_ltree[2*b])return H;return G}function z(a){pb||(m(),pb=!0),a.l_desc=new ob(a.dyn_ltree,kb),a.d_desc=new ob(a.dyn_dtree,lb),a.bl_desc=new ob(a.bl_tree,mb),a.bi_buf=0,a.bi_valid=0,n(a)}function A(a,b,c,d){g(a,(J<<1)+(d?1:0),3),p(a,b,c,!0)}function B(a){g(a,K<<1,3),h(a,X,eb),j(a)}function C(a,b,c,d){var e,f,h=0;a.level>0?(a.strm.data_type===I&&(a.strm.data_type=y(a)),t(a,a.l_desc),t(a,a.d_desc),h=w(a),e=a.opt_len+3+7>>>3,f=a.static_len+3+7>>>3,e>=f&&(e=f)):e=f=c+5,e>=c+4&&-1!==b?A(a,b,c,d):a.strategy===F||f===e?(g(a,(K<<1)+(d?1:0),3),s(a,eb,fb)):(g(a,(L<<1)+(d?1:0),3),x(a,a.l_desc.max_code+1,a.d_desc.max_code+1,h+1),s(a,a.dyn_ltree,a.dyn_dtree)),n(a),d&&o(a)}function D(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(hb[c]+P+1)]++,a.dyn_dtree[2*e(b)]++),a.last_lit===a.lit_bufsize-1}var E=a("../utils/common"),F=4,G=0,H=1,I=2,J=0,K=1,L=2,M=3,N=258,O=29,P=256,Q=P+1+O,R=30,S=19,T=2*Q+1,U=15,V=16,W=7,X=256,Y=16,Z=17,$=18,_=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ab=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],bb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],db=512,eb=new Array(2*(Q+2));d(eb);var fb=new Array(2*R);d(fb);var gb=new Array(db);d(gb);var hb=new Array(N-M+1);d(hb);var ib=new Array(O);d(ib);var jb=new Array(R);d(jb);var kb,lb,mb,nb=function(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length},ob=function(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b},pb=!1;c._tr_init=z,c._tr_stored_block=A,c._tr_flush_block=C,c._tr_tally=D,c._tr_align=B},{"../utils/common":27}],39:[function(a,b){"use strict";function c(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}b.exports=c},{}]},{},[9])(9)});'use strict';if(tr.isVinn){global.window={};}'use strict';if(tr.isVinn){global.JSZip=global.window.JSZip;global.window=undefined;}else if(tr.isNode){var jsZipAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/jszip.min.js');var jsZipModule=require(jsZipAbsPath);global.JSZip=jsZipModule;}'use strict';tr.exportTo('tr.e.importer',function(){var GZIP_MEMBER_HEADER_ID_SIZE=3;var GZIP_HEADER_ID1=0x1f;var GZIP_HEADER_ID2=0x8b;var GZIP_DEFLATE_COMPRESSION=8;function GzipImporter(model,eventData){if(typeof(eventData)==='string'||eventData instanceof String){eventData=JSZip.utils.transformTo('uint8array',eventData);}else if(eventData instanceof ArrayBuffer){eventData=new Uint8Array(eventData);}else
-throw new Error('Unknown gzip data format');this.model_=model;this.gzipData_=eventData;}
-GzipImporter.canImport=function(eventData){var header;if(eventData instanceof ArrayBuffer)
-header=new Uint8Array(eventData.slice(0,GZIP_MEMBER_HEADER_ID_SIZE));else if(typeof(eventData)==='string'||eventData instanceof String){header=eventData.substring(0,GZIP_MEMBER_HEADER_ID_SIZE);header=JSZip.utils.transformTo('uint8array',header);}else
-return false;return header[0]==GZIP_HEADER_ID1&&header[1]==GZIP_HEADER_ID2&&header[2]==GZIP_DEFLATE_COMPRESSION;};GzipImporter.inflateGzipData_=function(data){var position=0;function getByte(){if(position>=data.length)
-throw new Error('Unexpected end of gzip data');return data[position++];}
-function getWord(){var low=getByte();var high=getByte();return(high<<8)+low;}
-function skipBytes(amount){position+=amount;}
-function skipZeroTerminatedString(){while(getByte()!=0){}}
-var id1=getByte();var id2=getByte();if(id1!==GZIP_HEADER_ID1||id2!==GZIP_HEADER_ID2)
-throw new Error('Not gzip data');var compressionMethod=getByte();if(compressionMethod!==GZIP_DEFLATE_COMPRESSION)
-throw new Error('Unsupported compression method: '+compressionMethod);var flags=getByte();var haveHeaderCrc=flags&(1<<1);var haveExtraFields=flags&(1<<2);var haveFileName=flags&(1<<3);var haveComment=flags&(1<<4);skipBytes(4+1+1);if(haveExtraFields){var bytesToSkip=getWord();skipBytes(bytesToSkip);}
-if(haveFileName)
-skipZeroTerminatedString();if(haveComment)
-skipZeroTerminatedString();if(haveHeaderCrc)
-getWord();var inflatedData=JSZip.compressions['DEFLATE'].uncompress(data.subarray(position));var string=GzipImporter.transformToString(inflatedData);if(inflatedData.length>0&&string.length===0){throw new RangeError('Inflated gzip data too long to fit into a string'+' ('+inflatedData.length+').');}
-return string;};GzipImporter.transformToString=function(data){if(typeof TextDecoder==='undefined'){return JSZip.utils.transformTo('string',data);}
-var type=JSZip.utils.getTypeOf(data);if(type==='string')
-return data;if(type==='array'){data=new Uint8Array(data);}
-var decoder=new TextDecoder('utf-8');return decoder.decode(data);};GzipImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'GzipImporter';},isTraceDataContainer:function(){return true;},extractSubtraces:function(){var eventData=GzipImporter.inflateGzipData_(this.gzipData_);return eventData?[eventData]:[];}};tr.importer.Importer.register(GzipImporter);return{GzipImporter:GzipImporter};});'use strict';tr.exportTo('tr.e.importer',function(){function ZipImporter(model,eventData){if(eventData instanceof ArrayBuffer)
-eventData=new Uint8Array(eventData);this.model_=model;this.eventData_=eventData;}
-ZipImporter.canImport=function(eventData){var header;if(eventData instanceof ArrayBuffer)
-header=new Uint8Array(eventData.slice(0,2));else if(typeof(eventData)==='string'||eventData instanceof String)
-header=[eventData.charCodeAt(0),eventData.charCodeAt(1)];else
-return false;return header[0]==='P'.charCodeAt(0)&&header[1]==='K'.charCodeAt(0);};ZipImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'ZipImporter';},isTraceDataContainer:function(){return true;},extractSubtraces:function(){var zip=new JSZip(this.eventData_);var subtraces=[];for(var idx in zip.files)
-subtraces.push(zip.files[idx].asBinary());return subtraces;}};tr.importer.Importer.register(ZipImporter);return{ZipImporter:ZipImporter};});'use strict';tr.exportTo('tr.b',function(){function Settings(){return Settings;}
-if(tr.b.unittest&&tr.b.unittest.TestRunner){tr.b.unittest.TestRunner.addEventListener('tr-unittest-will-run',function(){if(tr.isHeadless)
-Settings.setAlternativeStorageInstance(new HeadlessStorage());else
-Settings.setAlternativeStorageInstance(global.sessionStorage);});}
-function SessionSettings(){return SessionSettings;}
-function AddStaticStorageFunctionsToClass_(inputClass,storage){inputClass.storage_=storage;inputClass.get=function(key,opt_default,opt_namespace){key=inputClass.namespace_(key,opt_namespace);var rawVal=inputClass.storage_.getItem(key);if(rawVal===null||rawVal===undefined)
-return opt_default;try{return JSON.parse(rawVal).value;}catch(e){inputClass.storage_.removeItem(key);return opt_default;}}
-inputClass.set=function(key,value,opt_namespace){if(value===undefined)
-throw new Error('Settings.set: value must not be undefined');var v=JSON.stringify({value:value});inputClass.storage_.setItem(inputClass.namespace_(key,opt_namespace),v);};inputClass.keys=function(opt_namespace){var result=[];opt_namespace=opt_namespace||'';for(var i=0;i<inputClass.storage_.length;i++){var key=inputClass.storage_.key(i);if(inputClass.isnamespaced_(key,opt_namespace))
-result.push(inputClass.unnamespace_(key,opt_namespace));}
-return result;};inputClass.isnamespaced_=function(key,opt_namespace){return key.indexOf(inputClass.normalize_(opt_namespace))==0;};inputClass.namespace_=function(key,opt_namespace){return inputClass.normalize_(opt_namespace)+key;};inputClass.unnamespace_=function(key,opt_namespace){return key.replace(inputClass.normalize_(opt_namespace),'');};inputClass.normalize_=function(opt_namespace){return inputClass.NAMESPACE+(opt_namespace?opt_namespace+'.':'');};inputClass.setAlternativeStorageInstance=function(instance){inputClass.storage_=instance;};inputClass.getAlternativeStorageInstance=function(){if(!tr.isHeadless&&inputClass.storage_===localStorage)
-return undefined;return inputClass.storage_;};inputClass.NAMESPACE='trace-viewer';}
-function HeadlessStorage(){this.length=0;this.hasItem_={};this.items_={};this.itemsAsArray_=undefined;}
-HeadlessStorage.prototype={key:function(index){return this.itemsAsArray[index];},get itemsAsArray(){if(this.itemsAsArray_!==undefined)
-return this.itemsAsArray_;var itemsAsArray=[];for(var k in this.items_)
-itemsAsArray.push(k);this.itemsAsArray_=itemsAsArray;return this.itemsAsArray_;},getItem:function(key){if(!this.hasItem_[key])
-return null;return this.items_[key];},removeItem:function(key){if(!this.hasItem_[key])
-return;var value=this.items_[key];delete this.hasItem_[key];delete this.items_[key];this.length--;this.itemsAsArray_=undefined;return value;},setItem:function(key,value){if(this.hasItem_[key]){this.items_[key]=value;return;}
-this.items_[key]=value;this.hasItem_[key]=true;this.length++;this.itemsAsArray_=undefined;return value;}};if(tr.isHeadless){AddStaticStorageFunctionsToClass_(Settings,new HeadlessStorage());AddStaticStorageFunctionsToClass_(SessionSettings,new HeadlessStorage());}else{AddStaticStorageFunctionsToClass_(Settings,localStorage);AddStaticStorageFunctionsToClass_(SessionSettings,sessionStorage);}
-return{Settings:Settings,SessionSettings:SessionSettings};});'use strict';tr.exportTo('tr.c',function(){function ScriptingObject(){}
-ScriptingObject.prototype={onModelChanged:function(model){}};return{ScriptingObject:ScriptingObject};});'use strict';tr.exportTo('tr.c',function(){function ScriptingController(brushingStateController){this.brushingStateController_=brushingStateController;this.scriptObjectNames_=[];this.scriptObjectValues_=[];this.brushingStateController.addEventListener('model-changed',this.onModelChanged_.bind(this));var typeInfos=ScriptingObjectRegistry.getAllRegisteredTypeInfos();typeInfos.forEach(function(typeInfo){this.addScriptObject(typeInfo.metadata.name,typeInfo.constructor);global[typeInfo.metadata.name]=typeInfo.constructor;},this);}
-function ScriptingObjectRegistry(){}
-var options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(ScriptingObjectRegistry,options);ScriptingController.prototype={get brushingStateController(){return this.brushingStateController_;},onModelChanged_:function(){this.scriptObjectValues_.forEach(function(v){if(v.onModelChanged)
-v.onModelChanged(this.brushingStateController.model);},this);},addScriptObject:function(name,value){this.scriptObjectNames_.push(name);this.scriptObjectValues_.push(value);},executeCommand:function(command){var f=new Function(this.scriptObjectNames_,'return eval('+command+')');return f.apply(null,this.scriptObjectValues_);}};return{ScriptingController:ScriptingController,ScriptingObjectRegistry:ScriptingObjectRegistry};});'use strict';tr.exportTo('tr.metrics',function(){function MetricRegistry(){}
-var options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};tr.b.decorateExtensionRegistry(MetricRegistry,options);MetricRegistry.addEventListener('will-register',function(e){var metric=e.typeInfo.constructor;if(!(metric instanceof Function))
-throw new Error('Metrics must be functions');if(metric.length<2){throw new Error('Metrics take a ValueSet and a Model and '+'optionally an options dictionary');}});return{MetricRegistry:MetricRegistry};});'use strict';tr.exportTo('tr.b',function(){var PERCENTILE_PRECISION=1e-7;function PiecewiseLinearFunction(){this.pieces=[];}
-PiecewiseLinearFunction.prototype={push:function(x1,y1,x2,y2){if(x1>=x2)
-throw new Error('Invalid segment');if(this.pieces.length>0&&this.pieces[this.pieces.length-1].x2>x1){throw new Error('Potentially overlapping segments');}
-if(x1<x2)
-this.pieces.push(new Piece(x1,y1,x2,y2));},partBelow:function(y){return this.pieces.reduce((acc,p)=>(acc+p.partBelow(y)),0);},get min(){return this.pieces.reduce((acc,p)=>Math.min(acc,p.min),Infinity);},get max(){return this.pieces.reduce((acc,p)=>Math.max(acc,p.max),-Infinity);},get average(){var weightedSum=0;var totalWeight=0;this.pieces.forEach(function(piece){weightedSum+=piece.width*piece.average;totalWeight+=piece.width;});if(totalWeight===0)
-return 0;return weightedSum/totalWeight;},percentile:function(percent){if(!(percent>=0&&percent<=1))
-throw new Error('percent must be [0,1]');var lower=this.min;var upper=this.max;var total=this.partBelow(upper);if(total===0)
-return 0;while(upper-lower>PERCENTILE_PRECISION){var middle=(lower+upper)/2;var below=this.partBelow(middle);if(below/total<percent)
-lower=middle;else
-upper=middle;}
-return(lower+upper)/2;}};function Piece(x1,y1,x2,y2){this.x1=x1;this.y1=y1;this.x2=x2;this.y2=y2;}
-Piece.prototype={partBelow:function(y){var width=this.width;if(width===0)
-return 0;var minY=this.min;var maxY=this.max;if(y>=maxY)
-return width;if(y<minY)
-return 0;return(y-minY)/(maxY-minY)*width;},get min(){return Math.min(this.y1,this.y2);},get max(){return Math.max(this.y1,this.y2);},get average(){return(this.y1+this.y2)/2;},get width(){return this.x2-this.x1;}};return{PiecewiseLinearFunction:PiecewiseLinearFunction};});'use strict';tr.exportTo('tr.b',function(){class RunningStatistics{constructor(){this.mean_=0;this.count_=0;this.max_=-Infinity;this.min_=Infinity;this.sum_=0;this.variance_=0;this.meanlogs_=0;}
-get count(){return this.count_;}
-get geometricMean(){if(this.meanlogs_===undefined)
-return 0;return Math.exp(this.meanlogs_);}
-get mean(){if(this.count_==0)
-return undefined;return this.mean_;}
-get max(){return this.max_;}
-get min(){return this.min_;}
-get sum(){return this.sum_;}
-get variance(){if(this.count_==0)
-return undefined;if(this.count_==1)
-return 0;return this.variance_/(this.count_-1);}
-get stddev(){if(this.count_==0)
-return undefined;return Math.sqrt(this.variance);}
-add(x){this.count_++;this.max_=Math.max(this.max_,x);this.min_=Math.min(this.min_,x);this.sum_+=x;if(x<=0)
-this.meanlogs_=undefined;else if(this.meanlogs_!==undefined)
-this.meanlogs_+=(Math.log(Math.abs(x))-this.meanlogs_)/this.count;if(this.count_===1){this.mean_=x;this.variance_=0;}else{var oldMean=this.mean_;var oldVariance=this.variance_;if(oldMean===Infinity||oldMean===-Infinity){this.mean_=this.sum_/this.count_;}else{this.mean_=oldMean+(x-oldMean)/this.count_;}
-this.variance_=oldVariance+(x-oldMean)*(x-this.mean_);}}
-merge(other){var result=new RunningStatistics();result.count_=this.count_+other.count_;result.sum_=this.sum_+other.sum_;result.min_=Math.min(this.min_,other.min_);result.max_=Math.max(this.max_,other.max_);if(result.count===0){result.mean_=0;result.variance_=0;result.meanlogs_=0;}else{result.mean_=result.sum/result.count;var deltaMean=(this.mean||0)-(other.mean||0);result.variance_=this.variance_+other.variance_+
-(this.count*other.count*deltaMean*deltaMean/result.count);if(this.meanlogs_===undefined||other.meanlogs_===undefined){result.meanlogs_=undefined;}else{result.meanlogs_=(this.count*this.meanlogs_+
-other.count*other.meanlogs_)/result.count;}}
-return result;}
-asDict(){if(!this.count){return[];}
-return[this.count_,this.max_,this.meanlogs_,this.mean_,this.min_,this.sum_,this.variance_,];}
-static fromDict(dict){var result=new RunningStatistics();if(dict.length!=7){return result;}
-[result.count_,result.max_,result.meanlogs_,result.mean_,result.min_,result.sum_,result.variance_,]=dict;return result;}}
-return{RunningStatistics:RunningStatistics};});'use strict';tr.exportTo('tr.v.d',function(){class Diagnostic{asDict(){var result={type:this.constructor.name};this.asDictInto_(result);return result;}
-asDictInto_(d){throw new Error('Abstract virtual method');}
-static fromDict(d){var typeInfo=Diagnostic.findTypeInfoWithName(d.type);if(!typeInfo)
-throw new Error('Unrecognized diagnostic type: '+d.type);return typeInfo.constructor.fromDict(d);}}
-var options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Diagnostic;tr.b.decorateExtensionRegistry(Diagnostic,options);Diagnostic.addEventListener('will-register',function(e){var constructor=e.typeInfo.constructor;if(!(constructor.fromDict instanceof Function)||(constructor.fromDict===Diagnostic.fromDict)||(constructor.fromDict.length!==1)){throw new Error('Diagnostics must define fromDict(d)');}});return{Diagnostic:Diagnostic};});'use strict';tr.exportTo('tr.v.d',function(){function ValueRef(guid){this.guid=guid;}
-return{ValueRef:ValueRef};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedValueMap extends tr.v.d.Diagnostic{constructor(){super();this.valuesByName_=new Map();}
-get(name){return this.valuesByName_.get(name);}
-set(name,value){if(!(value instanceof tr.v.Histogram)&&!(value instanceof tr.v.d.ValueRef))
-throw new Error('Must be instanceof Histogram or ValueRef: '+value);this.valuesByName_.set(name,value);}
-add(value){this.set(value.name,value);}
-get length(){return this.valuesByName_.size;}*[Symbol.iterator](){for(var pair of this.valuesByName_)
-yield pair;}
-resolve(valueSet,opt_required){for(var[name,value]of this){if(!(value instanceof tr.v.d.ValueRef))
-continue;var guid=value.guid;value=valueSet.lookup(guid);if(value instanceof tr.v.Histogram)
-this.valuesByName_.set(name,value);else if(opt_required)
-throw new Error('Unable to find Histogram '+guid);}}
-asDictInto_(d){d.values={};for(var[name,value]of this)
-d.values[name]=value.guid;}
-static fromDict(d){var map=new RelatedValueMap();tr.b.iterItems(d.values,function(name,guid){map.set(name,new tr.v.d.ValueRef(guid));});return map;}}
-tr.v.d.Diagnostic.register(RelatedValueMap,{elementName:'tr-v-ui-related-value-map-span'});return{RelatedValueMap:RelatedValueMap};});'use strict';tr.exportTo('tr.v.d',function(){class Breakdown extends tr.v.d.Diagnostic{constructor(){super();this.values_=new Map();this.colorScheme=undefined;}
-set(name,value){if(typeof name!=='string'||typeof value!=='number'){throw new Error('Breakdown maps from strings to numbers');}
-this.values_.set(name,value);}
-get(name){return this.values_.get(name)||0;}*[Symbol.iterator](){for(var pair of this.values_)
-yield pair;}
-asDictInto_(d){d.values={};for(var[name,value]of this){if(isNaN(value)){value='NaN';}else if(value===Infinity){value='Infinity';}else if(value===-Infinity){value='-Infinity';}
-d.values[name]=value;}
-if(this.colorScheme){d.colorScheme=this.colorScheme;}}
-static fromDict(d){var breakdown=new Breakdown();tr.b.iterItems(d.values,(name,value)=>{if(typeof(value)==='string'){if(value==='-Infinity'){value=-Infinity;}else if(value==='Infinity'){value=Infinity;}else if(value==='NaN'){value=NaN;}}else if(value===null){value=NaN;}
-breakdown.set(name,value);});if(d.colorScheme){breakdown.colorScheme=d.colorScheme;}
-return breakdown;}}
-tr.v.d.Diagnostic.register(Breakdown,{elementName:'tr-v-ui-breakdown-span'});return{Breakdown:Breakdown};});'use strict';tr.exportTo('tr.v.d',function(){class Generic extends tr.v.d.Diagnostic{constructor(value){super();this.value=value;}
-asDictInto_(d){d.value=this.value;}
-static fromDict(d){return new Generic(d.value);}}
-tr.v.d.Diagnostic.register(Generic,{elementName:'tr-v-ui-generic-diagnostic-span'});return{Generic:Generic};});'use strict';tr.exportTo('tr.v.d',function(){class IterationInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();this.benchmarkName_='';this.benchmarkStart_=undefined;this.label_='';this.osVersion_='';this.productVersion_='';this.storyDisplayName_='';this.storyGroupingKeys_={};this.storyRepeatCounter_=undefined;this.storyUrl_='';this.storysetRepeatCounter_=undefined;if(opt_info)
-this.addInfo(opt_info);}
-addInfo(info){if(info.benchmarkName)
-this.benchmarkName_=info.benchmarkName;if(info.benchmarkStartMs)
-this.benchmarkStart_=new Date(info.benchmarkStartMs);if(info.label)
-this.label_=info.label;if(info.storyDisplayName)
-this.storyDisplayName_=info.storyDisplayName;if(info.storyGroupingKeys)
-this.storyGroupingKeys_=info.storyGroupingKeys;if(info.storyRepeatCounter!==undefined)
-this.storyRepeatCounter_=info.storyRepeatCounter;if(info.storyUrl)
-this.storyUrl_=info.storyUrl;if(info.storysetRepeatCounter!==undefined)
-this.storysetRepeatCounter_=info.storysetRepeatCounter;if(info['os-version'])
-this.osVersion_=info['os-version'];if(info['product-version'])
-this.productVersion_=info['product-version'];}
-addToValue(value){value.diagnostics.set(IterationInfo.NAME,this);}
-static getFromValue(value){return value.diagnostics.get(IterationInfo.NAME);}
-asDictInto_(d){d.benchmarkName=this.benchmarkName;if(this.benchmarkStart)
-d.benchmarkStartMs=this.benchmarkStart.getTime();d.label=this.label;d.storyDisplayName=this.storyDisplayName;d.storyGroupingKeys=this.storyGroupingKeys;d.storyRepeatCounter=this.storyRepeatCounter;d.storyUrl=this.storyUrl;d.storysetRepeatCounter=this.storysetRepeatCounter;d['os-version']=this.osVersion;d['product-version']=this.productVersion;}
-static fromDict(d){var info=new IterationInfo();info.addInfo(d);return info;}
-get displayLabel(){if(this.label)
-return this.label;return this.benchmarkName+' '+this.benchmarkStartString;}
-get osVersion(){return this.osVersion_;}
-get productVersion(){return this.productVersion_;}
-get benchmarkName(){return this.benchmarkName_;}
-get label(){return this.label_;}
-get storyGroupingKeys(){return this.storyGroupingKeys_;}
-get storyDisplayName(){return this.storyDisplayName_;}
-get storyUrl(){return this.storyUrl_;}
-get storyRepeatCounter(){return this.storyRepeatCounter_;}
-get storyRepeatCounterLabel(){return'story repeat '+this.storyRepeatCounter;}
-get storysetRepeatCounter(){return this.storysetRepeatCounter_;}
-get storysetRepeatCounterLabel(){return'storyset repeat '+this.storysetRepeatCounter;}
-get benchmarkStart(){return this.benchmarkStart_;}
-get benchmarkStartString(){if(this.benchmarkStart_===undefined)
-return'';return tr.b.formatDate(this.benchmarkStart);}
-static getField(value,fieldName,defaultValue){var iteration=tr.v.d.IterationInfo.getFromValue(value);if(!(iteration instanceof tr.v.d.IterationInfo)||!iteration[fieldName]){return defaultValue;}
-return iteration[fieldName];}
-static getStoryGroupingKeyLabel(value,storyGroupingKey){var iteration=tr.v.d.IterationInfo.getFromValue(value);if(!(iteration instanceof tr.v.d.IterationInfo))
-return storyGroupingKey+': undefined';return storyGroupingKey+': '+
-iteration.storyGroupingKeys[storyGroupingKey];}}
-IterationInfo.NAME='iteration';tr.v.d.Diagnostic.register(IterationInfo,{elementName:'tr-v-ui-iteration-info-span'});return{IterationInfo:IterationInfo};});'use strict';tr.exportTo('tr.v.d',function(){class EventRef{constructor(event){this.stableId=event.stableId;this.title=event.title;this.start=event.start;this.duration=event.duration;this.end=this.start+this.duration;this.guid=tr.b.GUID.allocateSimple();}}
-return{EventRef:EventRef};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedEventSet extends tr.v.d.Diagnostic{constructor(opt_events){super();this.eventsByStableId_=new Map();if(opt_events){if(opt_events instanceof tr.model.EventSet||opt_events instanceof Array){for(var event of opt_events)
-this.add(event);}else{this.add(opt_events);}}}
-add(event){this.eventsByStableId_.set(event.stableId,event);}
-has(event){return this.eventsByStableId_.has(event.stableId);}
-get length(){return this.eventsByStableId_.size;}*[Symbol.iterator](){for(var[stableId,event]of this.eventsByStableId_)
-yield event;}
-resolve(model,opt_required){for(var[stableId,event]of this.eventsByStableId_){if(!(event instanceof tr.v.d.EventRef))
-continue;event=model.getEventByStableId(stableId);if(event instanceof tr.model.Event)
-this.eventsByStableId_.set(stableId,event);else if(opt_required)
-throw new Error('Unable to find Event '+stableId);}}
-asDictInto_(d){d.events=[];for(var event of this){d.events.push({stableId:event.stableId,title:event.title,start:event.start,duration:event.duration});}}
-static fromDict(d){return new RelatedEventSet(d.events.map(event=>new tr.v.d.EventRef(event)));}}
-tr.v.d.Diagnostic.register(RelatedEventSet,{elementName:'tr-v-ui-related-event-set-span'});return{RelatedEventSet:RelatedEventSet};});'use strict';tr.exportTo('tr.v.d',function(){var COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER='ChromeUserFriendlyCategory';class RelatedHistogramBreakdown extends tr.v.d.RelatedValueMap{constructor(){super();this.colorScheme=undefined;}
-set(name,value){if(!(value instanceof tr.v.d.ValueRef)){if(!(value instanceof tr.v.Histogram)){throw new Error('RelatedHistogramBreakdown can only contain Histograms');}
-if(value.name.indexOf(name)!==(value.name.length-name.length)){throw new Error('RelatedHistogramBreakdown name must be a suffix of value.name');}
-if((this.length>0)&&(value.unit!==tr.b.getFirstElement(this)[1].unit)){throw new Error('Units mismatch',tr.b.getFirstElement(this)[1].unit,value.unit);}}
-tr.v.d.RelatedValueMap.prototype.set.call(this,name,value);}
-asDictInto_(d){tr.v.d.RelatedValueMap.prototype.asDictInto_.call(this,d);if(this.colorScheme)
-d.colorScheme=this.colorScheme;}
-static fromDict(d){var diagnostic=new RelatedHistogramBreakdown();tr.b.iterItems(d.values,function(name,guid){diagnostic.set(name,new tr.v.d.ValueRef(guid));});if(d.colorScheme)
-diagnostic.colorScheme=d.colorScheme;return diagnostic;}
-static buildFromEvents(values,namePrefix,events,categoryForEvent,unit,opt_sampleForEvent,opt_binBoundaries,opt_this){var sampleForEvent=opt_sampleForEvent||((event)=>event.cpuSelfTime);var diagnostic=new RelatedHistogramBreakdown();for(var event of events){var sample=sampleForEvent.call(opt_this,event);if(sample===undefined)
-continue;var eventCategory=categoryForEvent.call(opt_this,event);var value=diagnostic.get(eventCategory);if(value===undefined){value=new tr.v.Histogram(namePrefix+eventCategory,unit,opt_binBoundaries);values.addHistogram(value);diagnostic.set(eventCategory,value);}
-value.addSample(sample,{relatedEvents:new tr.v.d.RelatedEventSet([event])});}
-return diagnostic;}}
-tr.v.d.Diagnostic.register(RelatedHistogramBreakdown,{elementName:'tr-v-ui-breakdown-span'});return{COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER:COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER,RelatedHistogramBreakdown:RelatedHistogramBreakdown};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedValueSet extends tr.v.d.Diagnostic{constructor(opt_values){super();this.valuesByGuid_=new Map();if(opt_values)
-for(var value of opt_values)
-this.add(value);}
-add(value){if(!(value instanceof tr.v.Histogram)&&!(value instanceof tr.v.d.ValueRef))
-throw new Error('Must be instanceof Histogram or ValueRef: '+value);if(this.valuesByGuid_.get(value.guid))
-throw new Error('Tried to add same value twice');this.valuesByGuid_.set(value.guid,value);}
-has(value){return this.valuesByGuid_.has(value.guid);}
-get length(){return this.valuesByGuid_.size;}*[Symbol.iterator](){for(var[guid,value]of this.valuesByGuid_)
-yield value;}
-resolve(valueSet,opt_required){for(var[guid,value]of this.valuesByGuid_){if(!(value instanceof tr.v.d.ValueRef))
-continue;value=valueSet.lookup(guid);if(value instanceof tr.v.Histogram)
-this.valuesByGuid_.set(guid,value);else if(opt_required)
-throw new Error('Unable to find Histogram '+guid);}}
-asDictInto_(d){d.guids=[];for(var value of this)
-d.guids.push(value.guid);}
-static fromDict(d){return new RelatedValueSet(d.guids.map(guid=>new tr.v.d.ValueRef(guid)));}}
-tr.v.d.Diagnostic.register(RelatedValueSet,{elementName:'tr-v-ui-related-value-set-span'});return{RelatedValueSet:RelatedValueSet,};});'use strict';tr.exportTo('tr.v.d',function(){class Scalar extends tr.v.d.Diagnostic{constructor(value){super();if(!(value instanceof tr.v.ScalarNumeric))
-throw new Error("expected ScalarNumeric");this.value=value;}
-asDictInto_(d){d.value=this.value.asDict();}
-static fromDict(d){return new Scalar(tr.v.ScalarNumeric.fromDict(d.value));}}
-tr.v.d.Diagnostic.register(Scalar,{elementName:'tr-v-ui-scalar-diagnostic-span'});return{Scalar:Scalar};});'use strict';tr.exportTo('tr.v.d',function(){class DiagnosticMap extends Map{set(name,diagnostic){if(typeof(name)!=='string')
-throw new Error('name must be string, not '+name);if(!(diagnostic instanceof tr.v.d.Diagnostic))
-throw new Error('Must be instanceof Diagnostic: '+diagnostic);Map.prototype.set.call(this,name,diagnostic);}
-addDicts(dict){tr.b.iterItems(dict,function(name,diagnosticDict){this.set(name,tr.v.d.Diagnostic.fromDict(diagnosticDict));},this);}
-asDict(){var dict={};for(var[name,diagnostic]of this){dict[name]=diagnostic.asDict();}
-return dict;}
-static fromDict(d){var diagnostics=new DiagnosticMap();diagnostics.addDicts(d);return diagnostics;}
-static fromObject(obj){var diagnostics=new DiagnosticMap();tr.b.iterItems(obj,function(name,diagnostic){diagnostics.set(name,diagnostic);});return diagnostics;}}
-return{DiagnosticMap:DiagnosticMap};});'use strict';tr.exportTo('tr.v',function(){var MAX_DIAGNOSTIC_MAPS=16;var DEFAULT_BOUNDARIES_FOR_UNIT=new Map();class HistogramBin{constructor(range){this.range=range;this.count=0;this.diagnosticMaps=[];}
-addSample(value){this.count+=1;}
-addDiagnosticMap(diagnostics){tr.b.Statistics.uniformlySampleStream(this.diagnosticMaps,this.count,diagnostics,MAX_DIAGNOSTIC_MAPS);}
-addBin(other){if(!this.range.equals(other.range))
-throw new Error('Merging incompatible Histogram bins.');tr.b.Statistics.mergeSampledStreams(this.diagnosticMaps,this.count,other.diagnosticMaps,other.count,MAX_DIAGNOSTIC_MAPS);this.count+=other.count;}
-fromDict(dict){this.count=dict[0];if(dict.length>1){for(var map of dict[1]){this.diagnosticMaps.push(tr.v.d.DiagnosticMap.fromDict(map));}}}
-asDict(){if(!this.diagnosticMaps.length){return[this.count];}
-return[this.count,this.diagnosticMaps.map(d=>d.asDict())];}}
-var DEFAULT_SUMMARY_OPTIONS=new Map([['avg',true],['geometricMean',false],['std',true],['count',true],['sum',true],['min',true],['max',true],['nans',false],]);class Histogram{constructor(name,unit,opt_binBoundaries){var binBoundaries=opt_binBoundaries;if(!binBoundaries){var baseUnit=unit.baseUnit?unit.baseUnit:unit;binBoundaries=DEFAULT_BOUNDARIES_FOR_UNIT.get(baseUnit.unitName);}
-this.guid_=undefined;this.binBoundariesDict_=binBoundaries.asDict();this.centralBins=[];this.description='';this.diagnostics=new tr.v.d.DiagnosticMap();this.maxCount_=0;this.name_=name;this.nanDiagnosticMaps=[];this.numNans=0;this.running=new tr.b.RunningStatistics();this.sampleValues_=[];this.shortName=undefined;this.summaryOptions=new Map(DEFAULT_SUMMARY_OPTIONS);this.summaryOptions.set('percentile',[]);this.unit=unit;this.underflowBin=new HistogramBin(tr.b.Range.fromExplicitRange(-Number.MAX_VALUE,binBoundaries.range.min));this.overflowBin=new HistogramBin(tr.b.Range.fromExplicitRange(binBoundaries.range.max,Number.MAX_VALUE));for(var range of binBoundaries.binRanges()){this.centralBins.push(new HistogramBin(range));}
-this.allBins=[this.underflowBin];for(var bin of this.centralBins)
-this.allBins.push(bin);this.allBins.push(this.overflowBin);this.maxNumSampleValues_=this.defaultMaxNumSampleValues_;}
-get maxNumSampleValues(){return this.maxNumSampleValues_;}
-set maxNumSampleValues(n){this.maxNumSampleValues_=n;tr.b.Statistics.uniformlySampleArray(this.sampleValues_,this.maxNumSampleValues_);}
-get name(){return this.name_;}
-get guid(){if(this.guid_===undefined)
-this.guid_=tr.b.GUID.allocateUUID4();return this.guid_;}
-set guid(guid){if(this.guid_!==undefined)
-throw new Error('Cannot reset guid');this.guid_=guid;}
-static fromDict(dict){var hist=new Histogram(dict.name,tr.b.Unit.fromJSON(dict.unit),HistogramBinBoundaries.fromDict(dict.binBoundaries));hist.guid=dict.guid;if(dict.shortName){hist.shortName=dict.shortName;}
-if(dict.description){hist.description=dict.description;}
-if(dict.diagnostics){hist.diagnostics.addDicts(dict.diagnostics);}
-if(dict.underflowBin){hist.underflowBin.fromDict(dict.underflowBin);}
-if(dict.overflowBin){hist.overflowBin.fromDict(dict.overflowBin);}
-if(dict.centralBins){if(dict.centralBins.length!==undefined){for(var i=0;i<dict.centralBins.length;++i){hist.centralBins[i].fromDict(dict.centralBins[i]);}}else{tr.b.iterItems(dict.centralBins,(i,binDict)=>{hist.centralBins[i].fromDict(binDict);});}}
-for(var bin of hist.allBins){hist.maxCount_=Math.max(hist.maxCount_,bin.count);}
-if(dict.running){hist.running=tr.b.RunningStatistics.fromDict(dict.running);}
-if(dict.summaryOptions){hist.customizeSummaryOptions(dict.summaryOptions);}
-if(dict.maxNumSampleValues!==undefined){hist.maxNumSampleValues=dict.maxNumSampleValues;}
-if(dict.sampleValues){hist.sampleValues_=dict.sampleValues;}
-if(dict.numNans){hist.numNans=dict.numNans;}
-if(dict.nanDiagnostics){for(var map of dict.nanDiagnostics){hist.nanDiagnosticMaps.push(tr.v.d.DiagnosticMap.fromDict(map));}}
-return hist;}
-static buildFromSamples(unit,samples){var boundaries=HistogramBinBoundaries.createFromSamples(samples);var result=new Histogram(unit,boundaries);result.maxNumSampleValues=1000;for(var sample of samples)
-result.addSample(sample);return result;}
-get numValues(){return tr.b.Statistics.sum(this.allBins,function(e){return e.count;});}
-get average(){return this.running.mean;}
-get standardDeviation(){return this.running.stddev;}
-get geometricMean(){return this.running.geometricMean;}
-get sum(){return this.running.sum;}
-get maxCount(){return this.maxCount_;}
-getDifferenceSignificance(other,opt_alpha){if(this.unit!==other.unit)
-throw new Error('Cannot compare Numerics with different units');if(this.unit.improvementDirection===tr.b.ImprovementDirection.DONT_CARE){return tr.b.Statistics.Significance.DONT_CARE;}
-if(!(other instanceof Histogram))
-throw new Error('Unable to compute a p-value');var testResult=tr.b.Statistics.mwu(this.sampleValues,other.sampleValues,opt_alpha);return testResult.significance;}
-getApproximatePercentile(percent){if(!(percent>=0&&percent<=1))
-throw new Error('percent must be [0,1]');if(this.numValues==0)
-return 0;var valuesToSkip=Math.floor((this.numValues-1)*percent);for(var i=0;i<this.allBins.length;i++){var bin=this.allBins[i];valuesToSkip-=bin.count;if(valuesToSkip<0){if(bin===this.underflowBin)
-return bin.range.max;else if(bin===this.overflowBin)
-return bin.range.min;else
-return bin.range.center;}}
-throw new Error('Unreachable');}
-getBinForValue(value){var binIndex=tr.b.findHighIndexInSortedArray(this.allBins,b=>value<b.range.max?-1:1);return this.allBins[binIndex]||this.overflowBin;}
-addSample(value,opt_diagnostics){if(opt_diagnostics&&!(opt_diagnostics instanceof tr.v.d.DiagnosticMap))
-opt_diagnostics=tr.v.d.DiagnosticMap.fromObject(opt_diagnostics);if(typeof(value)!=='number'||isNaN(value)){this.numNans++;if(opt_diagnostics){tr.b.Statistics.uniformlySampleStream(this.nanDiagnosticMaps,this.numNans,opt_diagnostics,MAX_DIAGNOSTIC_MAPS);}}else{this.running.add(value);var bin=this.getBinForValue(value);bin.addSample(value);if(opt_diagnostics)
-bin.addDiagnosticMap(opt_diagnostics);if(bin.count>this.maxCount_)
-this.maxCount_=bin.count;}
-tr.b.Statistics.uniformlySampleStream(this.sampleValues_,this.numValues+this.numNans,value,this.maxNumSampleValues);}
-sampleValuesInto(samples){for(var sampleValue of this.sampleValues)
-samples.push(sampleValue);}
-canAddHistogram(other){if(this.unit!==other.unit)
-return false;if(this.allBins.length!==other.allBins.length)
-return false;for(var i=0;i<this.allBins.length;++i)
-if(!this.allBins[i].range.equals(other.allBins[i].range))
-return false;return true;}
-addHistogram(other){if(!this.canAddHistogram(other)){throw new Error('Merging incompatible Histograms');}
-tr.b.Statistics.mergeSampledStreams(this.nanDiagnosticMaps,this.numNans,other.nanDiagnosticMaps,other.numNans,MAX_DIAGNOSTIC_MAPS);tr.b.Statistics.mergeSampledStreams(this.sampleValues,this.numValues,other.sampleValues,other.numValues,tr.b.Statistics.mean([this.maxNumSampleValues,other.maxNumSampleValues]));this.numNans+=other.numNans;this.running=this.running.merge(other.running);for(var i=0;i<this.allBins.length;++i){this.allBins[i].addBin(other.allBins[i]);}}
-customizeSummaryOptions(summaryOptions){tr.b.iterItems(summaryOptions,(key,value)=>this.summaryOptions.set(key,value));}
-get statisticsScalars(){function statNameToKey(stat){switch(stat){case'std':return'stddev';case'avg':return'mean';}
-return stat;}
-function percentToString(percent){if(percent<0||percent>1)
-throw new Error('Percent must be between 0.0 and 1.0');switch(percent){case 0:return'000';case 1:return'100';}
-var str=percent.toString();if(str[1]!=='.')
-throw new Error('Unexpected percent');str=str+'0'.repeat(Math.max(4-str.length,0));if(str.length>4)
-str=str.slice(0,4)+'_'+str.slice(4);return'0'+str.slice(2);}
-var results=new Map();for(var[stat,option]of this.summaryOptions){if(!option){continue;}
-if(stat==='percentile'){for(var percent of option){var percentile=this.getApproximatePercentile(percent);results.set('pct_'+percentToString(percent),new tr.v.ScalarNumeric(this.unit,percentile));}}else if(stat==='nans'){results.set('nans',new tr.v.ScalarNumeric(tr.b.Unit.byName.count_smallerIsBetter,this.numNans));}else{var statUnit=stat==='count'?tr.b.Unit.byName.count_smallerIsBetter:this.unit;var key=statNameToKey(stat);var statValue=this.running[key];if(typeof(statValue)==='number'){results.set(stat,new tr.v.ScalarNumeric(statUnit,statValue));}}}
-return results;}
-get sampleValues(){return this.sampleValues_;}
-clone(){return Histogram.fromDict(this.asDict());}
-cloneEmpty(){var binBoundaries=HistogramBinBoundaries.fromDict(this.binBoundariesDict_);return new Histogram(this.name,this.unit,binBoundaries);}
-asDict(){var dict={};dict.binBoundaries=this.binBoundariesDict_;dict.name=this.name;dict.unit=this.unit.asJSON();dict.guid=this.guid;if(this.shortName){dict.shortName=this.shortName;}
-if(this.description){dict.description=this.description;}
-if(this.diagnostics.size){dict.diagnostics=this.diagnostics.asDict();}
-if(this.maxNumSampleValues!==this.defaultMaxNumSampleValues_){dict.maxNumSampleValues=this.maxNumSampleValues;}
-if(this.numNans){dict.numNans=this.numNans;}
-if(this.nanDiagnosticMaps.length){dict.nanDiagnostics=this.nanDiagnosticMaps.map(dm=>dm.asDict());}
-if(this.underflowBin.count){dict.underflowBin=this.underflowBin.asDict();}
-if(this.overflowBin.count){dict.overflowBin=this.overflowBin.asDict();}
-if(this.numValues){dict.sampleValues=this.sampleValues.slice();dict.running=this.running.asDict();dict.centralBins=this.centralBinsAsDict_();}
-var summaryOptions={};var anyOverriddenSummaryOptions=false;for(var[name,option]of this.summaryOptions){if(name==='percentile'){if(option.length===0){continue;}
-option=option.slice();}else if(option===DEFAULT_SUMMARY_OPTIONS.get(name)){continue;}
-summaryOptions[name]=option;anyOverriddenSummaryOptions=true;}
-if(anyOverriddenSummaryOptions){dict.summaryOptions=summaryOptions;}
-return dict;}
-centralBinsAsDict_(){var numCentralBins=this.centralBins.length;var emptyBins=0;for(var i=0;i<numCentralBins;++i){if(this.centralBins[i].count===0){++emptyBins;}}
-if(emptyBins===numCentralBins){return undefined;}
-if(emptyBins>(numCentralBins/2)){var centralBinsDict={};for(var i=0;i<numCentralBins;++i){var bin=this.centralBins[i];if(bin.count>0){centralBinsDict[i]=bin.asDict();}}
-return centralBinsDict;}
-var centralBinsArray=[];for(var i=0;i<numCentralBins;++i){centralBinsArray.push(this.centralBins[i].asDict());}
-return centralBinsArray;}
-get defaultMaxNumSampleValues_(){return this.allBins.length*10;}}
-var HISTOGRAM_BIN_BOUNDARIES_CACHE=new Map();class HistogramBinBoundaries{static createLinear(min,max,numBins){return new HistogramBinBoundaries(min).addLinearBins(max,numBins);}
-static createExponential(min,max,numBins){return new HistogramBinBoundaries(min).addExponentialBins(max,numBins);}
-static createWithBoundaries(binBoundaries){var builder=new HistogramBinBoundaries(binBoundaries[0]);for(var boundary of binBoundaries.slice(1))
-builder.addBinBoundary(boundary);return builder;}
-static createFromSamples(samples){var range=new tr.b.Range();for(var sample of samples)
-if(!isNaN(Math.max(sample)))
-range.addValue(sample);if(range.isEmpty)
-range.addValue(1);if(range.min===range.max)
-range.addValue(range.min-1);var numBins=Math.ceil(Math.sqrt(samples.length));var builder=new HistogramBinBoundaries(range.min);builder.addLinearBins(range.max,numBins);return builder;}
-constructor(minBinBoundary){this.boundaries_=undefined;this.builder_=[minBinBoundary];this.range_=new tr.b.Range();this.range_.addValue(minBinBoundary);}
-get range(){return this.range_;}
-asDict(){return this.builder_.slice();}
-static fromDict(dict){var cacheKey=JSON.stringify(dict);if(HISTOGRAM_BIN_BOUNDARIES_CACHE.has(cacheKey)){return HISTOGRAM_BIN_BOUNDARIES_CACHE.get(cacheKey);}
-var binBoundaries=new HistogramBinBoundaries(dict[0]);for(var slice of dict.slice(1)){if(!(slice instanceof Array)){binBoundaries.addBinBoundary(slice);continue;}
-switch(slice[0]){case HistogramBinBoundaries.SLICE_TYPE.LINEAR:binBoundaries.addLinearBins(slice[1],slice[2]);break;case HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL:binBoundaries.addExponentialBins(slice[1],slice[2]);break;default:throw new Error('Unrecognized HistogramBinBoundaries slice type');}}
-HISTOGRAM_BIN_BOUNDARIES_CACHE.set(cacheKey,binBoundaries);return binBoundaries;}*binRanges(){if(this.boundaries_===undefined){this.build_();}
-for(var i=0;i<this.boundaries_.length-1;++i){yield tr.b.Range.fromExplicitRange(this.boundaries_[i],this.boundaries_[i+1]);}}
-build_(){if(typeof this.builder_[0]!=='number'){throw new Error('Invalid start of builder_');}
-this.boundaries_=[this.builder_[0]];for(var slice of this.builder_.slice(1)){if(!(slice instanceof Array)){this.boundaries_.push(slice);continue;}
-var nextMaxBinBoundary=slice[1];var binCount=slice[2];var curMaxBinBoundary=this.boundaries_[this.boundaries_.length-1];switch(slice[0]){case HistogramBinBoundaries.SLICE_TYPE.LINEAR:var binWidth=(nextMaxBinBoundary-curMaxBinBoundary)/binCount;for(var i=1;i<binCount;i++){var boundary=curMaxBinBoundary+i*binWidth;this.boundaries_.push(boundary);}
-break;case HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL:var binExponentWidth=Math.log(nextMaxBinBoundary/curMaxBinBoundary)/binCount;for(var i=1;i<binCount;i++){var boundary=curMaxBinBoundary*Math.exp(i*binExponentWidth)
-this.boundaries_.push(boundary);}
-break;default:throw new Error('Unrecognized HistogramBinBoundaries slice type');}
-this.boundaries_.push(nextMaxBinBoundary);}}
-addBinBoundary(nextMaxBinBoundary){if(nextMaxBinBoundary<=this.range.max){throw new Error('The added max bin boundary must be larger than '+'the current max boundary');}
-this.boundaries_=undefined;this.builder_.push(nextMaxBinBoundary);this.range.addValue(nextMaxBinBoundary);return this;}
-addLinearBins(nextMaxBinBoundary,binCount){if(binCount<=0)
-throw new Error('Bin count must be positive');if(nextMaxBinBoundary<=this.range.max){throw new Error('The new max bin boundary must be greater than '+'the previous max bin boundary');}
-this.boundaries_=undefined;this.builder_.push([HistogramBinBoundaries.SLICE_TYPE.LINEAR,nextMaxBinBoundary,binCount]);this.range.addValue(nextMaxBinBoundary);return this;}
-addExponentialBins(nextMaxBinBoundary,binCount){if(binCount<=0){throw new Error('Bin count must be positive');}
-if(this.range.max<=0){throw new Error('Current max bin boundary must be positive');}
-if(this.range.max>=nextMaxBinBoundary){throw new Error('The last added max boundary must be greater than '+'the current max boundary boundary');}
-this.boundaries_=undefined;this.builder_.push([HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL,nextMaxBinBoundary,binCount]);this.range.addValue(nextMaxBinBoundary);return this;}}
-HistogramBinBoundaries.SLICE_TYPE={LINEAR:0,EXPONENTIAL:1,};DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.timeDurationInMs.unitName,HistogramBinBoundaries.createExponential(1e-3,1e6,1e2));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.timeStampInMs.unitName,HistogramBinBoundaries.createLinear(0,1e10,1e3));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.normalizedPercentage.unitName,HistogramBinBoundaries.createLinear(0,1.0,20));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.sizeInBytes.unitName,HistogramBinBoundaries.createExponential(1,1e12,1e2));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.energyInJoules.unitName,HistogramBinBoundaries.createExponential(1e-3,1e3,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.powerInWatts.unitName,HistogramBinBoundaries.createExponential(1e-3,1,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.unitlessNumber.unitName,HistogramBinBoundaries.createExponential(1e-3,1e3,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.count.unitName,HistogramBinBoundaries.createExponential(1,1e3,20));return{Histogram:Histogram,HistogramBinBoundaries:HistogramBinBoundaries,};});'use strict';tr.exportTo('tr.metrics.v8.utils',function(){var IDLE_TASK_EVENT='SingleThreadIdleTaskRunner::RunTask';var V8_EXECUTE='V8.Execute';var GC_EVENT_PREFIX='V8.GC';var FULL_GC_EVENT='V8.GCCompactor';var LOW_MEMORY_EVENT='V8.GCLowMemoryNotification';var MAJOR_GC_EVENT='MajorGC';var MINOR_GC_EVENT='MinorGC';var TOP_GC_EVENTS={'V8.GCCompactor':'v8-gc-full-mark-compactor','V8.GCFinalizeMC':'v8-gc-latency-mark-compactor','V8.GCFinalizeMCReduceMemory':'v8-gc-memory-mark-compactor','V8.GCIncrementalMarking':'v8-gc-incremental-step','V8.GCIncrementalMarkingFinalize':'v8-gc-incremental-finalize','V8.GCIncrementalMarkingStart':'v8-gc-incremental-start','V8.GCPhantomHandleProcessingCallback':'v8-gc-phantom-handle-callback','V8.GCScavenger':'v8-gc-scavenger'};var LOW_MEMORY_MARK_COMPACTOR='v8-gc-low-memory-mark-compactor';function findParent(event,predicate){var parent=event.parentSlice;while(parent){if(predicate(parent)){return parent;}
-parent=parent.parentSlice;}
-return null;}
-function isIdleTask(event){return event.title===IDLE_TASK_EVENT;}
-function isLowMemoryEvent(event){return event.title===LOW_MEMORY_EVENT;}
-function isV8ExecuteEvent(event){return event.title===V8_EXECUTE;}
-function isTopV8ExecuteEvent(event){return isV8ExecuteEvent(event)&&findParent(isV8ExecuteEvent)===null;}
-function isGarbageCollectionEvent(event){return event.title&&event.title.startsWith(GC_EVENT_PREFIX)&&event.title!=LOW_MEMORY_EVENT;}
-function isTopGarbageCollectionEvent(event){return event.title in TOP_GC_EVENTS;}
-function isForcedGarbageCollectionEvent(event){return findParent(event,isLowMemoryEvent)!==null;}
-function isSubGarbageCollectionEvent(event){return isGarbageCollectionEvent(event)&&event.parentSlice&&(isTopGarbageCollectionEvent(event.parentSlice)||event.parentSlice.title===MAJOR_GC_EVENT||event.parentSlice.title===MINOR_GC_EVENT);}
-function topGarbageCollectionEventName(event){if(event.title===FULL_GC_EVENT){if(findParent(event,isLowMemoryEvent)){return LOW_MEMORY_MARK_COMPACTOR;}}
-return TOP_GC_EVENTS[event.title];}
-function subGarbageCollectionEventName(event){var topEvent=findParent(event,isTopGarbageCollectionEvent);var prefix=topEvent?topGarbageCollectionEventName(topEvent):'unknown';var name=event.title.replace('V8.GC_MC_','').replace('V8.GC_SCAVENGER_','').replace('V8.GC_','').replace(/_/g,'-').toLowerCase();return prefix+'-'+name;}
-function groupAndProcessEvents(model,filterCallback,nameCallback,processCallback){var nameToEvents={};for(var event of model.getDescendantEvents()){if(!filterCallback(event))continue;var name=nameCallback(event);nameToEvents[name]=nameToEvents[name]||[];nameToEvents[name].push(event);}
-tr.b.iterItems(nameToEvents,function(name,events){processCallback(name,events);});}
-function unionOfIntervals(intervals){if(intervals.length===0)
-return[];return tr.b.mergeRanges(intervals.map(x=>({min:x.start,max:x.end})),1e-6,function(ranges){return{start:ranges.reduce((acc,x)=>Math.min(acc,x.min),ranges[0].min),end:ranges.reduce((acc,x)=>Math.max(acc,x.max),ranges[0].max)};});}
-function WindowEndpoint(start,points){this.points=points;this.lastIndex=-1;this.position=start;this.distanceUntilNextPoint=points[0].position-start;this.cummulativePause=0;this.stackDepth=0;}
-WindowEndpoint.prototype={advance:function(delta){var points=this.points;if(delta<this.distanceUntilNextPoint){this.position+=delta;this.cummulativePause+=this.stackDepth>0?delta:0;this.distanceUntilNextPoint=points[this.lastIndex+1].position-this.position;}else{this.position+=this.distanceUntilNextPoint;this.cummulativePause+=this.stackDepth>0?this.distanceUntilNextPoint:0;this.distanceUntilNextPoint=0;this.lastIndex++;if(this.lastIndex<points.length){this.stackDepth+=points[this.lastIndex].delta;if(this.lastIndex+1<points.length)
-this.distanceUntilNextPoint=points[this.lastIndex+1].position-this.position;}}}};function mutatorUtilization(start,end,timeWindow,intervals){var mu=new tr.b.PiecewiseLinearFunction();if(end-start<=timeWindow)
-return mu;if(intervals.length===0){mu.push(start,1.0,end-timeWindow,1.0);return mu;}
-intervals=unionOfIntervals(intervals);var points=[];intervals.forEach(function(interval){points.push({position:interval.start,delta:1});points.push({position:interval.end,delta:-1});});points.sort((a,b)=>a.position-b.position);points.push({position:end,delta:0});var left=new WindowEndpoint(start,points);var right=new WindowEndpoint(start,points);while(right.position-left.position<timeWindow)
-right.advance(timeWindow-(right.position-left.position));while(right.lastIndex<points.length){var distanceUntilNextPoint=Math.min(left.distanceUntilNextPoint,right.distanceUntilNextPoint);var position1=left.position;var value1=right.cummulativePause-left.cummulativePause;left.advance(distanceUntilNextPoint);right.advance(distanceUntilNextPoint);if(distanceUntilNextPoint>0){var position2=left.position;var value2=right.cummulativePause-left.cummulativePause;mu.push(position1,1.0-value1/timeWindow,position2,1.0-value2/timeWindow);}}
-return mu;}
-function hasV8Stats(globalMemoryDump){var v8stats=undefined;globalMemoryDump.iterateContainerDumps(function(dump){v8stats=v8stats||dump.getMemoryAllocatorDumpByFullName('v8');});return!!v8stats;}
-function rangeForMemoryDumps(model){var startOfFirstDumpWithV8=model.globalMemoryDumps.filter(hasV8Stats).reduce((start,dump)=>Math.min(start,dump.start),Infinity);if(startOfFirstDumpWithV8===Infinity)
-return new tr.b.Range();return tr.b.Range.fromExplicitRange(startOfFirstDumpWithV8,Infinity);}
-return{findParent:findParent,groupAndProcessEvents:groupAndProcessEvents,isForcedGarbageCollectionEvent:isForcedGarbageCollectionEvent,isGarbageCollectionEvent:isGarbageCollectionEvent,isIdleTask:isIdleTask,isLowMemoryEvent:isLowMemoryEvent,isSubGarbageCollectionEvent:isSubGarbageCollectionEvent,isTopGarbageCollectionEvent:isTopGarbageCollectionEvent,isTopV8ExecuteEvent:isTopV8ExecuteEvent,isV8ExecuteEvent:isV8ExecuteEvent,mutatorUtilization:mutatorUtilization,subGarbageCollectionEventName:subGarbageCollectionEventName,topGarbageCollectionEventName:topGarbageCollectionEventName,rangeForMemoryDumps:rangeForMemoryDumps,unionOfIntervals:unionOfIntervals};});'use strict';tr.exportTo('tr.metrics.blink',function(){var BLINK_GC_EVENTS={'BlinkGCMarking':'blink-gc-marking','ThreadState::completeSweep':'blink-gc-complete-sweep','ThreadState::performIdleLazySweep':'blink-gc-idle-lazy-sweep'};function isBlinkGarbageCollectionEvent(event){return event.title in BLINK_GC_EVENTS;}
-function blinkGarbageCollectionEventName(event){return BLINK_GC_EVENTS[event.title];}
-function blinkGcMetric(values,model){addDurationOfTopEvents(values,model);addTotalDurationOfTopEvents(values,model);addIdleTimesOfTopEvents(values,model);addTotalIdleTimesOfTopEvents(values,model);}
-tr.metrics.MetricRegistry.register(blinkGcMetric);var timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;var percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;var CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,20,200).addExponentialBins(200,100);function createNumericForTopEventTime(name){var n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:true,max:true,min:false,std:true,sum:true,percentile:[0.90]});return n;}
-function createNumericForIdleTime(name){var n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:true,percentile:[]});return n;}
-function createPercentage(name,numerator,denominator){var histogram=new tr.v.Histogram(name,percentage_biggerIsBetter);if(denominator===0)
-histogram.addSample(0);else
-histogram.addSample(numerator/denominator);return histogram;}
-function addDurationOfTopEvents(values,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,blinkGarbageCollectionEventName,function(name,events){var cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});values.addHistogram(cpuDuration);});}
-function addTotalDurationOfTopEvents(values,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,event=>'blink-gc-total',function(name,events){var cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});values.addHistogram(cpuDuration);});}
-function addIdleTimesOfTopEvents(values,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,blinkGarbageCollectionEventName,function(name,events){addIdleTimes(values,model,name,events);});}
-function addTotalIdleTimesOfTopEvents(values,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,event=>'blink-gc-total',function(name,events){addIdleTimes(values,model,name,events);});}
-function addIdleTimes(values,model,name,events){var cpuDuration=createNumericForIdleTime(name+'_cpu');var insideIdle=createNumericForIdleTime(name+'_inside_idle');var outsideIdle=createNumericForIdleTime(name+'_outside_idle');var idleDeadlineOverrun=createNumericForIdleTime(name+'_idle_deadline_overrun');events.forEach(function(event){var idleTask=tr.metrics.v8.utils.findParent(event,tr.metrics.v8.utils.isIdleTask);var inside=0;var overrun=0;if(idleTask){var allottedTime=idleTask['args']['allotted_time_ms'];if(event.duration>allottedTime){overrun=event.duration-allottedTime;inside=event.cpuDuration*allottedTime/event.duration;}else{inside=event.cpuDuration;}}
-cpuDuration.addSample(event.cpuDuration);insideIdle.addSample(inside);outsideIdle.addSample(event.cpuDuration-inside);idleDeadlineOverrun.addSample(overrun);});values.addHistogram(idleDeadlineOverrun);values.addHistogram(outsideIdle);var percentage=createPercentage(name+'_percentage_idle',insideIdle.sum,cpuDuration.sum);values.addHistogram(percentage);}
-return{blinkGcMetric:blinkGcMetric};});'use strict';tr.exportTo('tr.metrics.sh',function(){function getCpuSnapshotsFromModel(model){var snapshots=[];for(var pid in model.processes){var snapshotInstances=model.processes[pid].objects.getAllInstancesNamed('CPUSnapshots');if(!snapshotInstances)
-continue;for(var object of snapshotInstances[0].snapshots)
-snapshots.push(object.args.processes);}
-return snapshots;}
-function getProcessSumsFromSnapshot(snapshot){var processSums=new Map();for(var processData of snapshot){var processName=processData.name;if(!(processSums.has(processName)))
-processSums.set(processName,{sum:0.0,paths:new Set()});processSums.get(processName).sum+=parseFloat(processData.pCpu);if(processData.path)
-processSums.get(processName).paths.add(processData.path);}
-return processSums;}
-function buildNumericsFromSnapshots(snapshots){var processNumerics=new Map();for(var snapshot of snapshots){var processSums=getProcessSumsFromSnapshot(snapshot);for(var[processName,processData]of processSums.entries()){if(!(processNumerics.has(processName))){processNumerics.set(processName,{numeric:new tr.v.Histogram('cpu:percent:'+processName,tr.b.Unit.byName.normalizedPercentage_smallerIsBetter),paths:new Set()});}
-processNumerics.get(processName).numeric.addSample(processData.sum/100.0);for(var path of processData.paths)
-processNumerics.get(processName).paths.add(path);}}
-return processNumerics;}
-function cpuProcessMetric(values,model){var snapshots=getCpuSnapshotsFromModel(model);var processNumerics=buildNumericsFromSnapshots(snapshots);for(var[processName,processData]of processNumerics){var numeric=processData.numeric;var missingSnapshotCount=snapshots.length-numeric.numValues;for(var i=0;i<missingSnapshotCount;i++)
-numeric.addSample(0);numeric.diagnostics.set('paths',new
-tr.v.d.Generic([...processData.paths]));values.addHistogram(numeric);}}
-tr.metrics.MetricRegistry.register(cpuProcessMetric);return{cpuProcessMetric:cpuProcessMetric};});'use strict';tr.exportTo('tr.metrics',function(){function sampleMetric(values,model){var hist=new tr.v.Histogram('foo',tr.b.Unit.byName.sizeInBytes_smallerIsBetter);hist.addSample(9);hist.addSample(91,{bar:new tr.v.d.Generic({hello:42})});for(var expectation of model.userModel.expectations){if(expectation instanceof tr.model.um.ResponseExpectation){}else if(expectation instanceof tr.model.um.AnimationExpectation){}else if(expectation instanceof tr.model.um.IdleExpectation){}else if(expectation instanceof tr.model.um.LoadExpectation){}}
-var chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);tr.b.iterItems(model.processes,function(pid,process){});values.addHistogram(hist);}
-tr.metrics.MetricRegistry.register(sampleMetric);return{sampleMetric:sampleMetric};});'use strict';tr.exportTo('tr.metrics.sh',function(){function perceptualBlend(ir,index,score){return Math.exp(1-score);}
-function filterExpectationsByRange(irs,opt_range){var filteredExpectations=[];irs.forEach(function(ir){if(!(ir instanceof tr.model.um.UserExpectation))
-return;if(!opt_range||opt_range.intersectsExplicitRangeInclusive(ir.start,ir.end))
-filteredExpectations.push(ir);});return filteredExpectations;}
-return{perceptualBlend:perceptualBlend,filterExpectationsByRange:filterExpectationsByRange};});'use strict';tr.exportTo('tr.metrics.sh',function(){function syncIsComplete(markers){return markers.length===2;}
-function syncInvolvesTelemetry(markers){for(var marker of markers)
-if(marker.domainId===tr.model.ClockDomainId.TELEMETRY)
-return true;return false;}
-function clockSyncLatencyMetric(values,model){for(var markers of model.clockSyncManager.markersBySyncId.values()){var latency=undefined;var targetDomain=undefined;if(!syncIsComplete(markers)||!syncInvolvesTelemetry(markers))
-continue;for(var marker of markers){var domain=marker.domainId;if(domain===tr.model.ClockDomainId.TELEMETRY)
-latency=(marker.endTs-marker.startTs);else
-targetDomain=domain.toLowerCase();}
-var hist=new tr.v.Histogram('clock_sync_latency_'+targetDomain,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createExponential(1e-3,1e3,30));hist.description='Clock sync latency for domain '+targetDomain;hist.addSample(latency);values.addHistogram(hist);}}
-tr.metrics.MetricRegistry.register(clockSyncLatencyMetric);return{clockSyncLatencyMetric:clockSyncLatencyMetric};});'use strict';tr.exportTo('tr.metrics.sh',function(){var LONG_TASK_MS=50;var LONGEST_TASK_MS=1000;function iterateLongTopLevelTasksOnThreadInRange(thread,opt_range,cb,opt_this){thread.sliceGroup.topLevelSlices.forEach(function(slice){if(opt_range&&!opt_range.intersectsExplicitRangeInclusive(slice.start,slice.end))
-return;if(slice.duration<LONG_TASK_MS)
-return;cb.call(opt_this,slice);});}
-function iterateRendererMainThreads(model,cb,opt_this){var modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);tr.b.dictionaryValues(modelHelper.rendererHelpers).forEach(function(rendererHelper){if(!rendererHelper.mainThread)
-return;cb.call(opt_this,rendererHelper.mainThread);});}
-function longTasksMetric(values,model,opt_options){var rangeOfInterest=opt_options?opt_options.rangeOfInterest:undefined;var longTaskHist=new tr.v.Histogram('long tasks',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(LONG_TASK_MS,LONGEST_TASK_MS,40));longTaskHist.description='durations of long tasks';var slices=new tr.model.EventSet();iterateRendererMainThreads(model,function(thread){iterateLongTopLevelTasksOnThreadInRange(thread,rangeOfInterest,function(task){longTaskHist.addSample(task.duration,{relatedEvents:new tr.v.d.RelatedEventSet([task])});slices.push(task);slices.addEventSet(task.descendentSlices);});});values.addHistogram(longTaskHist);var sampleForEvent=undefined;var breakdown=tr.v.d.RelatedHistogramBreakdown.buildFromEvents(values,'long tasks ',slices,e=>(model.getUserFriendlyCategoryFromEvent(e)||'unknown'),tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,sampleForEvent,tr.v.HistogramBinBoundaries.createExponential(1,LONGEST_TASK_MS,40));breakdown.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;longTaskHist.diagnostics.set('category',breakdown);}
-tr.metrics.MetricRegistry.register(longTasksMetric,{supportsRangeOfInterest:true});return{longTasksMetric:longTasksMetric,iterateLongTopLevelTasksOnThreadInRange:iterateLongTopLevelTasksOnThreadInRange,iterateRendererMainThreads:iterateRendererMainThreads,LONG_TASK_MS:LONG_TASK_MS,LONGEST_TASK_MS:LONGEST_TASK_MS};});'use strict';tr.exportTo('tr.metrics.sh',function(){var MS_PER_S=1000;var RESPONSE_RISK=tr.b.Statistics.LogNormalDistribution.fromMedianAndDiminishingReturns(100/MS_PER_S,50/MS_PER_S);function computeResponsivenessRisk(durationMs){durationMs+=16;return RESPONSE_RISK.computePercentile(durationMs/MS_PER_S);}
-function perceptualBlendSmallerIsBetter(hazardScore){return Math.exp(hazardScore);}
-function computeHazardForLongTasksInRangeOnThread(thread,opt_range){var taskHazardScores=[];tr.metrics.sh.iterateLongTopLevelTasksOnThreadInRange(thread,opt_range,function(task){taskHazardScores.push(computeResponsivenessRisk(task.duration));});return tr.b.Statistics.weightedMean(taskHazardScores,perceptualBlendSmallerIsBetter);}
-function computeHazardForLongTasks(model){var threadHazardScores=[];tr.metrics.sh.iterateRendererMainThreads(model,function(thread){threadHazardScores.push(computeHazardForLongTasksInRangeOnThread(thread));});return tr.b.Statistics.weightedMean(threadHazardScores,perceptualBlendSmallerIsBetter);}
-function hazardMetric(values,model){var overallHazard=computeHazardForLongTasks(model);if(overallHazard===undefined)
-overallHazard=0;var hist=new tr.v.Histogram('hazard',tr.b.Unit.byName.normalizedPercentage_smallerIsBetter);hist.addSample(overallHazard);values.addHistogram(hist);}
-tr.metrics.MetricRegistry.register(hazardMetric);return{hazardMetric:hazardMetric,computeHazardForLongTasksInRangeOnThread:computeHazardForLongTasksInRangeOnThread,computeHazardForLongTasks:computeHazardForLongTasks,computeResponsivenessRisk:computeResponsivenessRisk};});'use strict';tr.exportTo('tr.metrics.sh',function(){var RESPONSIVENESS_THRESHOLD_MS=50;var INTERACTIVE_WINDOW_SIZE_MS=5*1000;var timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;var RelatedEventSet=tr.v.d.RelatedEventSet;function hasCategoryAndName(event,category,title){return event.title===title&&event.category&&tr.b.getCategoryParts(event.category).indexOf(category)!==-1;}
-function findTargetRendererHelper(chromeHelper){var largestPid=-1;for(var pid in chromeHelper.rendererHelpers){var rendererHelper=chromeHelper.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI)
-continue;if(pid>largestPid)
-largestPid=pid;}
-if(largestPid===-1)
-return undefined;return chromeHelper.rendererHelpers[largestPid];}
-function createBreakdownDiagnostic(rendererHelper,start,end){var breakdownDict=rendererHelper.generateTimeBreakdownTree(start,end);var breakdownDiagnostic=new tr.v.d.Breakdown();breakdownDiagnostic.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;for(var label in breakdownDict){breakdownDiagnostic.set(label,breakdownDict[label].total);}
-return breakdownDiagnostic;}
-function NavigationStartFinder(rendererHelper){this.navigationStartsForFrameId_={};for(var ev of rendererHelper.mainThread.sliceGroup.childEvents()){if(!hasCategoryAndName(ev,'blink.user_timing','navigationStart'))
-continue;var frameIdRef=ev.args['frame'];var list=this.navigationStartsForFrameId_[frameIdRef];if(list===undefined)
-this.navigationStartsForFrameId_[frameIdRef]=list=[];list.unshift(ev);}}
-NavigationStartFinder.prototype={findNavigationStartEventForFrameBeforeTimestamp:function(frameIdRef,ts){var list=this.navigationStartsForFrameId_[frameIdRef];if(list===undefined){console.warn('No navigationStartEvent found for frame id "'+
-frameIdRef+'"');return undefined;}
-var eventBeforeTimestamp;for(var ev of list){if(ev.start>ts)
-continue;if(eventBeforeTimestamp===undefined)
-eventBeforeTimestamp=ev;}
-if(eventBeforeTimestamp===undefined){console.warn('Failed to find navigationStartEvent.');return undefined;}
-return eventBeforeTimestamp;}};var FIRST_PAINT_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,1e3,20).addLinearBins(3e3,20).addExponentialBins(20e3,20);function createHistogram(name){var histogram=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,FIRST_PAINT_BOUNDARIES);histogram.customizeSummaryOptions({avg:true,count:false,max:true,min:true,std:true,sum:false,percentile:[0.90,0.95,0.99],});return histogram;}
-function findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,ts){var snapshot;var objects=rendererHelper.process.objects;var frameLoaderInstances=objects.instancesByTypeName_['FrameLoader'];if(frameLoaderInstances===undefined){console.warn('Failed to find FrameLoader for frameId "'+frameIdRef+'" at ts '+ts+', the trace maybe incomplete or from an old'+'Chrome.');return undefined;}
-var snapshot;for(var instance of frameLoaderInstances){if(!instance.isAliveAt(ts))
-continue;var maybeSnapshot=instance.getSnapshotAt(ts);if(frameIdRef!==maybeSnapshot.args['frame']['id_ref'])
-continue;snapshot=maybeSnapshot;}
-return snapshot;}
-function findAllUserTimingEvents(rendererHelper,title){var targetEvents=[];for(var ev of rendererHelper.process.getDescendantEvents()){if(!hasCategoryAndName(ev,'blink.user_timing',title))
-continue;targetEvents.push(ev);}
-return targetEvents;}
-function findFirstMeaningfulPaintCandidates(rendererHelper){var isTelemetryInternalEvent=prepareTelemetryInternalEventPredicate(rendererHelper);var candidatesForFrameId={};for(var ev of rendererHelper.process.getDescendantEvents()){if(!hasCategoryAndName(ev,'loading','firstMeaningfulPaintCandidate'))
-continue;if(isTelemetryInternalEvent(ev))
-continue;var frameIdRef=ev.args['frame'];if(frameIdRef===undefined)
-continue;var list=candidatesForFrameId[frameIdRef];if(list===undefined)
-candidatesForFrameId[frameIdRef]=list=[];list.push(ev);}
-return candidatesForFrameId;}
-function prepareTelemetryInternalEventPredicate(rendererHelper){var ignoreRegions=[];var internalRegionStart;for(var slice of
-rendererHelper.mainThread.asyncSliceGroup.getDescendantEvents()){if(!!slice.title.match(/^telemetry\.internal\.[^.]*\.start$/))
-internalRegionStart=slice.start;if(!!slice.title.match(/^telemetry\.internal\.[^.]*\.end$/)){var timedEvent=new tr.model.TimedEvent(internalRegionStart);timedEvent.duration=slice.end-internalRegionStart;ignoreRegions.push(timedEvent);}}
-return function isTelemetryInternalEvent(slice){for(var region of ignoreRegions)
-if(region.bounds(slice))
-return true;return false;}}
-var URL_BLACKLIST=['about:blank','data:text/html,pluginplaceholderdata'];function shouldIgnoreURL(url){return URL_BLACKLIST.indexOf(url)>=0;}
-var METRICS=[{valueName:'timeToFirstContentfulPaint',title:'firstContentfulPaint',description:'time to first contentful paint'},{valueName:'timeToOnload',title:'loadEventStart',description:'time to onload. '+'This is temporary metric used for PCv1/v2 sanity checking'}];function timeToFirstContentfulPaintMetric(values,model){var chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);var rendererHelper=findTargetRendererHelper(chromeHelper);var isTelemetryInternalEvent=prepareTelemetryInternalEventPredicate(rendererHelper);var navigationStartFinder=new NavigationStartFinder(rendererHelper);for(var metric of METRICS){var histogram=createHistogram(metric.valueName);histogram.description=metric.description;var targetEvents=findAllUserTimingEvents(rendererHelper,metric.title);for(var ev of targetEvents){if(isTelemetryInternalEvent(ev))
-continue;var frameIdRef=ev.args['frame'];var snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,ev.start);if(snapshot===undefined||!snapshot.args.isLoadingMainFrame)
-continue;var url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))
-continue;var navigationStartEvent=navigationStartFinder.findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ev.start);if(navigationStartEvent===undefined)
-continue;var timeToEvent=ev.start-navigationStartEvent.start;histogram.addSample(timeToEvent,{url:new tr.v.d.Generic(url)});}
-values.addHistogram(histogram);}}
-function addTimeToInteractiveSampleToHistogram(histogram,rendererHelper,navigationStart,firstMeaningfulPaint,url){if(shouldIgnoreURL(url))
-return;var navigationStartTime=navigationStart.start;var firstInteractive=Infinity;var firstInteractiveCandidate=firstMeaningfulPaint;var lastLongTaskEvent=undefined;for(var ev of[...rendererHelper.mainThread.sliceGroup.childEvents()]){if(ev.start<firstInteractiveCandidate)
-continue;var interactiveDurationSoFar=ev.start-firstInteractiveCandidate;if(interactiveDurationSoFar>=INTERACTIVE_WINDOW_SIZE_MS){firstInteractive=firstInteractiveCandidate;break;}
-if(ev.title==='TaskQueueManager::ProcessTaskFromWorkQueue'&&ev.duration>RESPONSIVENESS_THRESHOLD_MS){firstInteractiveCandidate=ev.end-50;lastLongTaskEvent=ev;}}
-var breakdownDiagnostic=createBreakdownDiagnostic(rendererHelper,navigationStartTime,firstInteractive);var timeToFirstInteractive=firstInteractive-navigationStartTime;histogram.addSample(timeToFirstInteractive,{"Start":new RelatedEventSet(navigationStart),"Last long task":new RelatedEventSet(lastLongTaskEvent),"Navigation infos":new tr.v.d.Generic({url:url,pid:rendererHelper.pid,start:navigationStartTime,interactive:firstInteractive}),"Breakdown of [navStart, Interactive]":breakdownDiagnostic,});}
-function timeToFirstMeaningfulPaintAndTimeToInteractiveMetrics(values,model){var chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);var rendererHelper=findTargetRendererHelper(chromeHelper);var navigationStartFinder=new NavigationStartFinder(rendererHelper);var firstMeaningfulPaintHistogram=createHistogram('timeToFirstMeaningfulPaint');firstMeaningfulPaintHistogram.description='time to first meaningful paint';var firstInteractiveHistogram=createHistogram('timeToFirstInteractive');firstInteractiveHistogram.description='time to first interactive';function addFirstMeaningfulPaintSampleToHistogram(frameIdRef,navigationStart,fmpMarkerEvent){var snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,fmpMarkerEvent.start);if(snapshot===undefined||!snapshot.args.isLoadingMainFrame)
-return;var url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))
-return;var timeToFirstMeaningfulPaint=fmpMarkerEvent.start-navigationStart.start;var extraDiagnostic={url:url,pid:rendererHelper.pid};var breakdownDiagnostic=createBreakdownDiagnostic(rendererHelper,navigationStart.start,fmpMarkerEvent.start);firstMeaningfulPaintHistogram.addSample(timeToFirstMeaningfulPaint,{"Breakdown of [navStart, FMP]":breakdownDiagnostic,"Start":new RelatedEventSet(navigationStart),"End":new RelatedEventSet(fmpMarkerEvent),"Navigation infos":new tr.v.d.Generic({url:url,pid:rendererHelper.pid,start:navigationStart.start,fmp:fmpMarkerEvent.start}),});return{firstMeaningfulPaint:fmpMarkerEvent.start,url:url};}
-var candidatesForFrameId=findFirstMeaningfulPaintCandidates(rendererHelper);for(var frameIdRef in candidatesForFrameId){var navigationStart;var lastCandidate;for(var ev of candidatesForFrameId[frameIdRef]){var navigationStartForThisCandidate=navigationStartFinder.findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ev.start);if(navigationStartForThisCandidate===undefined)
-continue;if(navigationStart!==navigationStartForThisCandidate){if(navigationStart!==undefined&&lastCandidate!==undefined){data=addFirstMeaningfulPaintSampleToHistogram(frameIdRef,navigationStart,lastCandidate);if(data!==undefined)
-addTimeToInteractiveSampleToHistogram(firstInteractiveHistogram,rendererHelper,navigationStart,data.firstMeaningfulPaint,data.url);}
-navigationStart=navigationStartForThisCandidate;}
-lastCandidate=ev;}
-if(lastCandidate!==undefined){var data=addFirstMeaningfulPaintSampleToHistogram(frameIdRef,navigationStart,lastCandidate);if(data!==undefined)
-addTimeToInteractiveSampleToHistogram(firstInteractiveHistogram,rendererHelper,navigationStart,data.firstMeaningfulPaint,data.url);}}
-values.addHistogram(firstMeaningfulPaintHistogram);values.addHistogram(firstInteractiveHistogram);}
-function loadingMetric(values,model){timeToFirstContentfulPaintMetric(values,model);timeToFirstMeaningfulPaintAndTimeToInteractiveMetrics(values,model);}
-tr.metrics.MetricRegistry.register(loadingMetric);return{loadingMetric:loadingMetric,RESPONSIVENESS_THRESHOLD_MS:RESPONSIVENESS_THRESHOLD_MS,INTERACTIVE_WINDOW_SIZE_MS:INTERACTIVE_WINDOW_SIZE_MS};});'use strict';tr.exportTo('tr.b',function(){function MultiDimensionalViewNode(title,valueCount){this.title=title;var dimensions=title.length;this.children=new Array(dimensions);for(var i=0;i<dimensions;i++)
-this.children[i]=new Map();this.values=new Array(valueCount);for(var v=0;v<valueCount;v++)
-this.values[v]={self:0,total:0,totalState:NOT_PROVIDED};}
-MultiDimensionalViewNode.TotalState={NOT_PROVIDED:0,LOWER_BOUND:1,EXACT:2};var NOT_PROVIDED=MultiDimensionalViewNode.TotalState.NOT_PROVIDED;var LOWER_BOUND=MultiDimensionalViewNode.TotalState.LOWER_BOUND;var EXACT=MultiDimensionalViewNode.TotalState.EXACT;MultiDimensionalViewNode.prototype={get subRows(){return tr.b.mapValues(this.children[0]);}};function MultiDimensionalViewBuilder(dimensions,valueCount){if(typeof(dimensions)!=='number'||dimensions<0)
-throw new Error('Dimensions must be a non-negative number');this.dimensions_=dimensions;if(typeof(valueCount)!=='number'||valueCount<0)
-throw new Error('Number of values must be a non-negative number');this.valueCount_=valueCount;this.buildRoot_=this.createRootNode_();this.topDownTreeViewRoot_=undefined;this.topDownHeavyViewRoot_=undefined;this.bottomUpHeavyViewNode_=undefined;this.maxDimensionDepths_=new Array(dimensions);for(var d=0;d<dimensions;d++)
-this.maxDimensionDepths_[d]=0;}
-MultiDimensionalViewBuilder.ValueKind={SELF:0,TOTAL:1};MultiDimensionalViewBuilder.ViewType={TOP_DOWN_TREE_VIEW:0,TOP_DOWN_HEAVY_VIEW:1,BOTTOM_UP_HEAVY_VIEW:2};MultiDimensionalViewBuilder.prototype={addPath:function(path,values,valueKind){if(this.buildRoot_===undefined){throw new Error('Paths cannot be added after either view has been built');}
-if(path.length!==this.dimensions_)
-throw new Error('Path must be '+this.dimensions_+'-dimensional');if(values.length!==this.valueCount_)
-throw new Error('Must provide '+this.valueCount_+' values');var isTotal;switch(valueKind){case MultiDimensionalViewBuilder.ValueKind.SELF:isTotal=false;break;case MultiDimensionalViewBuilder.ValueKind.TOTAL:isTotal=true;break;default:throw new Error('Invalid value kind: '+valueKind);}
-var node=this.buildRoot_;for(var d=0;d<path.length;d++){var singleDimensionPath=path[d];var singleDimensionPathLength=singleDimensionPath.length;this.maxDimensionDepths_[d]=Math.max(this.maxDimensionDepths_[d],singleDimensionPathLength);for(var i=0;i<singleDimensionPathLength;i++)
-node=this.getOrCreateChildNode_(node,d,singleDimensionPath[i]);}
-for(var v=0;v<this.valueCount_;v++){var addedValue=values[v];if(addedValue===undefined)
-continue;var nodeValue=node.values[v];if(isTotal){nodeValue.total+=addedValue;nodeValue.totalState=EXACT;}else{nodeValue.self+=addedValue;nodeValue.totalState=Math.max(nodeValue.totalState,LOWER_BOUND);}}},buildView:function(viewType){switch(viewType){case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW:return this.buildTopDownTreeView();case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW:return this.buildTopDownHeavyView();case MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW:return this.buildBottomUpHeavyView();default:throw new Error('Unknown multi-dimensional view type: '+viewType);}},buildTopDownTreeView:function(){if(this.topDownTreeViewRoot_===undefined){var treeViewRoot=this.buildRoot_;this.buildRoot_=undefined;this.setUpMissingChildRelationships_(treeViewRoot,0);this.finalizeTotalValues_(treeViewRoot,0,new WeakMap());this.topDownTreeViewRoot_=treeViewRoot;}
-return this.topDownTreeViewRoot_;},buildTopDownHeavyView:function(){if(this.topDownHeavyViewRoot_===undefined){this.topDownHeavyViewRoot_=this.buildGenericHeavyView_(this.addDimensionToTopDownHeavyViewNode_.bind(this));}
-return this.topDownHeavyViewRoot_;},buildBottomUpHeavyView:function(){if(this.bottomUpHeavyViewNode_===undefined){this.bottomUpHeavyViewNode_=this.buildGenericHeavyView_(this.addDimensionToBottomUpHeavyViewNode_.bind(this));}
-return this.bottomUpHeavyViewNode_;},createRootNode_:function(){return new MultiDimensionalViewNode(new Array(this.dimensions_),this.valueCount_);},getOrCreateChildNode_:function(parentNode,dimension,childDimensionTitle){if(dimension<0||dimension>=this.dimensions_)
-throw new Error('Invalid dimension');var dimensionChildren=parentNode.children[dimension];var childNode=dimensionChildren.get(childDimensionTitle);if(childNode!==undefined)
-return childNode;var childTitle=parentNode.title.slice();childTitle[dimension]=childDimensionTitle;childNode=new MultiDimensionalViewNode(childTitle,this.valueCount_);dimensionChildren.set(childDimensionTitle,childNode);return childNode;},setUpMissingChildRelationships_:function(node,firstDimensionToSetUp){for(var d=firstDimensionToSetUp;d<this.dimensions_;d++){var currentDimensionChildTitles=new Set(node.children[d].keys());for(var i=0;i<d;i++){for(var previousDimensionChildNode of node.children[i].values()){for(var previousDimensionGrandChildTitle of
-previousDimensionChildNode.children[d].keys()){currentDimensionChildTitles.add(previousDimensionGrandChildTitle);}}}
-for(var currentDimensionChildTitle of currentDimensionChildTitles){var currentDimensionChildNode=this.getOrCreateChildNode_(node,d,currentDimensionChildTitle);for(var i=0;i<d;i++){for(var previousDimensionChildNode of node.children[i].values()){var previousDimensionGrandChildNode=previousDimensionChildNode.children[d].get(currentDimensionChildTitle);if(previousDimensionGrandChildNode!==undefined){currentDimensionChildNode.children[i].set(previousDimensionChildNode.title[i],previousDimensionGrandChildNode);}}}
-this.setUpMissingChildRelationships_(currentDimensionChildNode,d);}}},finalizeTotalValues_:function(node,firstDimensionToFinalize,dimensionalSelfSumsMap){var dimensionalSelfSums=new Array(this.dimensions_);var minResidual=new Array(this.valueCount_);for(var v=0;v<this.valueCount_;v++)
-minResidual[v]=0;var nodeValues=node.values;var nodeSelfSums=new Array(this.valueCount_);for(var v=0;v<this.valueCount_;v++)
-nodeSelfSums[v]=nodeValues[v].self;for(var d=0;d<this.dimensions_;d++){var childResidualSums=new Array(this.valueCount_);for(var v=0;v<this.valueCount_;v++)
-childResidualSums[v]=0;for(var childNode of node.children[d].values()){if(d>=firstDimensionToFinalize)
-this.finalizeTotalValues_(childNode,d,dimensionalSelfSumsMap);var childNodeSelfSums=dimensionalSelfSumsMap.get(childNode);var childNodeValues=childNode.values;for(var v=0;v<this.valueCount_;v++){nodeSelfSums[v]+=childNodeSelfSums[d][v];var residual=childNodeValues[v].total-
-childNodeSelfSums[this.dimensions_-1][v];childResidualSums[v]+=residual;if(childNodeValues[v].totalState>NOT_PROVIDED){nodeValues[v].totalState=Math.max(nodeValues[v].totalState,LOWER_BOUND);}}}
-dimensionalSelfSums[d]=nodeSelfSums.slice();for(var v=0;v<this.valueCount_;v++)
-minResidual[v]=Math.max(minResidual[v],childResidualSums[v]);}
-for(var v=0;v<this.valueCount_;v++){nodeValues[v].total=Math.max(nodeValues[v].total,nodeSelfSums[v]+minResidual[v]);}
-if(dimensionalSelfSumsMap.has(node))
-throw new Error('Internal error: Node finalized more than once');dimensionalSelfSumsMap.set(node,dimensionalSelfSums);},buildGenericHeavyView_:function(treeViewNodeHandler){var treeViewRoot=this.buildTopDownTreeView();var heavyViewRoot=this.createRootNode_();heavyViewRoot.values=treeViewRoot.values;var recursionDepthTrackers=new Array(this.dimensions_);for(var d=0;d<this.dimensions_;d++){recursionDepthTrackers[d]=new RecursionDepthTracker(this.maxDimensionDepths_[d],d);}
-this.addDimensionsToGenericHeavyViewNode_(treeViewRoot,heavyViewRoot,0,recursionDepthTrackers,false,treeViewNodeHandler);this.setUpMissingChildRelationships_(heavyViewRoot,0);return heavyViewRoot;},addDimensionsToGenericHeavyViewNode_:function(treeViewParentNode,heavyViewParentNode,startDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler){for(var d=startDimension;d<this.dimensions_;d++){this.addDimensionDescendantsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,d,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler);}},addDimensionDescendantsToGenericHeavyViewNode_:function(treeViewParentNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler){var treeViewChildren=treeViewParentNode.children[currentDimension];var recursionDepthTracker=recursionDepthTrackers[currentDimension];for(var treeViewChildNode of treeViewChildren.values()){recursionDepthTracker.push(treeViewChildNode);treeViewNodeHandler(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive);this.addDimensionDescendantsToGenericHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler);recursionDepthTracker.pop();}},addDimensionToTopDownHeavyViewNode_:function(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive){this.addDimensionToTopDownHeavyViewNodeRecursively_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,1);},addDimensionToTopDownHeavyViewNodeRecursively_:function(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,subTreeDepth){var recursionDepthTracker=recursionDepthTrackers[currentDimension];var currentDimensionRecursive=subTreeDepth<=recursionDepthTracker.recursionDepth;var currentOrPreviousDimensionsRecursive=currentDimensionRecursive||previousDimensionsRecursive;var dimensionTitle=treeViewChildNode.title[currentDimension];var heavyViewChildNode=this.getOrCreateChildNode_(heavyViewParentNode,currentDimension,dimensionTitle);this.addNodeValues_(treeViewChildNode,heavyViewChildNode,!currentOrPreviousDimensionsRecursive);this.addDimensionsToGenericHeavyViewNode_(treeViewChildNode,heavyViewChildNode,currentDimension+1,recursionDepthTrackers,currentOrPreviousDimensionsRecursive,this.addDimensionToTopDownHeavyViewNode_.bind(this));for(var treeViewGrandChildNode of
-treeViewChildNode.children[currentDimension].values()){recursionDepthTracker.push(treeViewGrandChildNode);this.addDimensionToTopDownHeavyViewNodeRecursively_(treeViewGrandChildNode,heavyViewChildNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,subTreeDepth+1);recursionDepthTracker.pop();}},addDimensionToBottomUpHeavyViewNode_:function(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive){var recursionDepthTracker=recursionDepthTrackers[currentDimension];var bottomIndex=recursionDepthTracker.bottomIndex;var topIndex=recursionDepthTracker.topIndex;var firstNonRecursiveIndex=bottomIndex+recursionDepthTracker.recursionDepth;var viewNodePath=recursionDepthTracker.viewNodePath;var trackerAncestorNode=recursionDepthTracker.trackerAncestorNode;var heavyViewDescendantNode=heavyViewParentNode;for(var i=bottomIndex;i<topIndex;i++){var treeViewAncestorNode=viewNodePath[i];var dimensionTitle=treeViewAncestorNode.title[currentDimension];heavyViewDescendantNode=this.getOrCreateChildNode_(heavyViewDescendantNode,currentDimension,dimensionTitle);var currentDimensionRecursive=i<firstNonRecursiveIndex;var currentOrPreviousDimensionsRecursive=currentDimensionRecursive||previousDimensionsRecursive;this.addNodeValues_(treeViewChildNode,heavyViewDescendantNode,!currentOrPreviousDimensionsRecursive);this.addDimensionsToGenericHeavyViewNode_(treeViewChildNode,heavyViewDescendantNode,currentDimension+1,recursionDepthTrackers,currentOrPreviousDimensionsRecursive,this.addDimensionToBottomUpHeavyViewNode_.bind(this));}},addNodeValues_:function(sourceNode,targetNode,addTotal){var targetNodeValues=targetNode.values;var sourceNodeValues=sourceNode.values;for(var v=0;v<this.valueCount_;v++){var targetNodeValue=targetNodeValues[v];var sourceNodeValue=sourceNodeValues[v];targetNodeValue.self+=sourceNodeValue.self;if(addTotal){targetNodeValue.total+=sourceNodeValue.total;if(sourceNodeValue.totalState>NOT_PROVIDED){targetNodeValue.totalState=Math.max(targetNodeValue.totalState,LOWER_BOUND);}}}}};function RecursionDepthTracker(maxDepth,dimension){this.titlePath=new Array(maxDepth);this.viewNodePath=new Array(maxDepth);this.bottomIndex=this.topIndex=maxDepth;this.dimension_=dimension;this.currentTrackerNode_=this.createNode_(0,undefined);}
-RecursionDepthTracker.prototype={push:function(viewNode){if(this.bottomIndex===0)
-throw new Error('Cannot push to a full tracker');var title=viewNode.title[this.dimension_];this.bottomIndex--;this.titlePath[this.bottomIndex]=title;this.viewNodePath[this.bottomIndex]=viewNode;var childTrackerNode=this.currentTrackerNode_.children.get(title);if(childTrackerNode!==undefined){this.currentTrackerNode_=childTrackerNode;return;}
-var maxLengths=zFunction(this.titlePath,this.bottomIndex);var recursionDepth=0;for(var i=0;i<maxLengths.length;i++)
-recursionDepth=Math.max(recursionDepth,maxLengths[i]);childTrackerNode=this.createNode_(recursionDepth,this.currentTrackerNode_);this.currentTrackerNode_.children.set(title,childTrackerNode);this.currentTrackerNode_=childTrackerNode;},pop:function(){if(this.bottomIndex===this.topIndex)
-throw new Error('Cannot pop from an empty tracker');this.titlePath[this.bottomIndex]=undefined;this.viewNodePath[this.bottomIndex]=undefined;this.bottomIndex++;this.currentTrackerNode_=this.currentTrackerNode_.parent;},get recursionDepth(){return this.currentTrackerNode_.recursionDepth;},createNode_:function(recursionDepth,parent){return{recursionDepth:recursionDepth,parent:parent,children:new Map()};}};function zFunction(list,startIndex){var n=list.length-startIndex;if(n===0)
-return[];var z=new Array(n);z[0]=0;for(var i=1,left=0,right=0;i<n;++i){var maxLength;if(i<=right)
-maxLength=Math.min(right-i+1,z[i-left]);else
-maxLength=0;while(i+maxLength<n&&list[startIndex+maxLength]===list[startIndex+i+maxLength]){++maxLength;}
-if(i+maxLength-1>right){left=i;right=i+maxLength-1;}
-z[i]=maxLength;}
-return z;}
-return{MultiDimensionalViewBuilder:MultiDimensionalViewBuilder,MultiDimensionalViewNode:MultiDimensionalViewNode,RecursionDepthTracker:RecursionDepthTracker,zFunction:zFunction};});'use strict';tr.exportTo('tr.metrics.sh',function(){var BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;var LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;var DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;var sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;var count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;var DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;var LEVEL_OF_DETAIL_NAMES=new Map();LEVEL_OF_DETAIL_NAMES.set(BACKGROUND,'background');LEVEL_OF_DETAIL_NAMES.set(LIGHT,'light');LEVEL_OF_DETAIL_NAMES.set(DETAILED,'detailed');var BOUNDARIES_FOR_UNIT_MAP=new WeakMap();BOUNDARIES_FOR_UNIT_MAP.set(count_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,20,20));BOUNDARIES_FOR_UNIT_MAP.set(sizeInBytes_smallerIsBetter,new tr.v.HistogramBinBoundaries(0).addBinBoundary(1024).addExponentialBins(16*1024*1024*1024,4*24));function memoryMetric(values,model,opt_options){var rangeOfInterest=opt_options?opt_options.rangeOfInterest:undefined;var browserNameToGlobalDumps=splitGlobalDumpsByBrowserName(model,rangeOfInterest);addGeneralMemoryDumpValues(browserNameToGlobalDumps,values);addDetailedMemoryDumpValues(browserNameToGlobalDumps,values);addMemoryDumpCountValues(browserNameToGlobalDumps,values);}
-function splitGlobalDumpsByBrowserName(model,opt_rangeOfInterest){var chromeModelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);var browserNameToGlobalDumps=new Map();var globalDumpToBrowserHelper=new WeakMap();if(chromeModelHelper){chromeModelHelper.browserHelpers.forEach(function(helper){var globalDumps=skipDumpsThatDoNotIntersectRange(helper.process.memoryDumps.map(d=>d.globalMemoryDump),opt_rangeOfInterest);globalDumps.forEach(function(globalDump){var existingHelper=globalDumpToBrowserHelper.get(globalDump);if(existingHelper!==undefined){throw new Error('Memory dump ID clash across multiple browsers '+'with PIDs: '+existingHelper.pid+' and '+helper.pid);}
-globalDumpToBrowserHelper.set(globalDump,helper);});makeKeyUniqueAndSet(browserNameToGlobalDumps,canonicalizeName(helper.browserName),globalDumps);});}
-var unclassifiedGlobalDumps=skipDumpsThatDoNotIntersectRange(model.globalMemoryDumps.filter(g=>!globalDumpToBrowserHelper.has(g)),opt_rangeOfInterest);if(unclassifiedGlobalDumps.length>0){makeKeyUniqueAndSet(browserNameToGlobalDumps,'unknown_browser',unclassifiedGlobalDumps);}
-return browserNameToGlobalDumps;}
-function skipDumpsThatDoNotIntersectRange(dumps,opt_range){if(!opt_range)
-return dumps;return dumps.filter(d=>opt_range.intersectsExplicitRangeInclusive(d.start,d.end));}
-function canonicalizeName(name){return name.toLowerCase().replace(' ','_');}
-var USER_FRIENDLY_BROWSER_NAMES={'chrome':'Chrome','webview':'WebView','unknown_browser':'an unknown browser'};function convertBrowserNameToUserFriendlyName(browserName){for(var baseName in USER_FRIENDLY_BROWSER_NAMES){if(!browserName.startsWith(baseName))
-continue;var userFriendlyBaseName=USER_FRIENDLY_BROWSER_NAMES[baseName];var suffix=browserName.substring(baseName.length);if(suffix.length===0)
-return userFriendlyBaseName;else if(/^\d+$/.test(suffix))
-return userFriendlyBaseName+'('+suffix+')';}
-return'\''+browserName+'\' browser';}
-function canonicalizeProcessName(rawProcessName){if(!rawProcessName)
-return'unknown_processes';var baseCanonicalName=canonicalizeName(rawProcessName);switch(baseCanonicalName){case'renderer':return'renderer_processes';case'browser':return'browser_process';default:return baseCanonicalName;}}
-function convertProcessNameToUserFriendlyName(processName,opt_requirePlural){switch(processName){case'browser_process':return opt_requirePlural?'browser processes':'the browser process';case'renderer_processes':return'renderer processes';case'gpu_process':return opt_requirePlural?'GPU processes':'the GPU process';case'ppapi_process':return opt_requirePlural?'PPAPI processes':'the PPAPI process';case'all_processes':return'all processes';case'unknown_processes':return'unknown processes';default:return'\''+processName+'\' processes';}}
-function makeKeyUniqueAndSet(map,key,value){var uniqueKey=key;var nextIndex=2;while(map.has(uniqueKey)){uniqueKey=key+nextIndex;nextIndex++;}
-map.set(uniqueKey,value);}
-function addGeneralMemoryDumpValues(browserNameToGlobalDumps,values){addMemoryDumpValues(browserNameToGlobalDumps,gmd=>true,function(processDump,addProcessScalar){addProcessScalar({source:'process_count',value:1,unit:count_smallerIsBetter,descriptionPrefixBuilder:buildProcessCountDescriptionPrefix});if(processDump.totals!==undefined){tr.b.iterItems(SYSTEM_TOTAL_VALUE_PROPERTIES,function(propertyName,propertySpec){addProcessScalar({source:'reported_by_os',property:propertyName,component:['system_memory'],value:propertySpec.getPropertyFunction(processDump),unit:sizeInBytes_smallerIsBetter,descriptionPrefixBuilder:propertySpec.descriptionPrefixBuilder});});}
-if(processDump.memoryAllocatorDumps===undefined)
-return;processDump.memoryAllocatorDumps.forEach(function(rootAllocatorDump){tr.b.iterItems(CHROME_VALUE_PROPERTIES,function(propertyName,descriptionPrefixBuilder){addProcessScalar({source:'reported_by_chrome',component:[rootAllocatorDump.name],property:propertyName,value:rootAllocatorDump.numerics[propertyName],descriptionPrefixBuilder:descriptionPrefixBuilder});});if(rootAllocatorDump.numerics['allocated_objects_size']===undefined){var allocatedObjectsDump=rootAllocatorDump.getDescendantDumpByFullName('allocated_objects');if(allocatedObjectsDump!==undefined){addProcessScalar({source:'reported_by_chrome',component:[rootAllocatorDump.name],property:'allocated_objects_size',value:allocatedObjectsDump.numerics['size'],descriptionPrefixBuilder:CHROME_VALUE_PROPERTIES['allocated_objects_size']});}}});addV8MemoryDumpValues(processDump,addProcessScalar);},function(componentTree){var tracingNode=componentTree.children[1].get('tracing');if(tracingNode===undefined)
-return;for(var i=0;i<componentTree.values.length;i++)
-componentTree.values[i].total-=tracingNode.values[i].total;},values);}
-function addV8MemoryDumpValues(processDump,addProcessScalar){var v8Dump=processDump.getMemoryAllocatorDumpByFullName('v8');if(v8Dump===undefined)
-return;v8Dump.children.forEach(function(isolateDump){var mallocDump=isolateDump.getDescendantDumpByFullName('malloc');if(mallocDump!==undefined){addV8ComponentValues(mallocDump,['v8','allocated_by_malloc'],addProcessScalar);}
-var heapDump=isolateDump.getDescendantDumpByFullName('heap_spaces');if(heapDump!==undefined){addV8ComponentValues(heapDump,['v8','heap'],addProcessScalar);heapDump.children.forEach(function(spaceDump){if(spaceDump.name==='other_spaces')
-return;addV8ComponentValues(spaceDump,['v8','heap',spaceDump.name],addProcessScalar);});}});addProcessScalar({source:'reported_by_chrome',component:['v8'],property:'code_and_metadata_size',value:v8Dump.numerics['code_and_metadata_size'],descriptionPrefixBuilder:buildCodeAndMetadataSizeValueDescriptionPrefix});addProcessScalar({source:'reported_by_chrome',component:['v8'],property:'code_and_metadata_size',value:v8Dump.numerics['bytecode_and_metadata_size'],descriptionPrefixBuilder:buildCodeAndMetadataSizeValueDescriptionPrefix});}
-function addV8ComponentValues(componentDump,componentPath,addProcessScalar){tr.b.iterItems(CHROME_VALUE_PROPERTIES,function(propertyName,descriptionPrefixBuilder){addProcessScalar({source:'reported_by_chrome',component:componentPath,property:propertyName,value:componentDump.numerics[propertyName],descriptionPrefixBuilder:descriptionPrefixBuilder});});}
-function buildProcessCountDescriptionPrefix(componentPath,processName){if(componentPath.length>0){throw new Error('Unexpected process count non-empty component path: '+
-componentPath.join(':'));}
-return'total number of '+convertProcessNameToUserFriendlyName(processName,true);}
-function buildChromeValueDescriptionPrefix(formatSpec,componentPath,processName){var nameParts=[];if(componentPath.length===0){nameParts.push('total');if(formatSpec.totalUserFriendlyPropertyName){nameParts.push(formatSpec.totalUserFriendlyPropertyName);}else{if(formatSpec.userFriendlyPropertyNamePrefix)
-nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);nameParts.push(formatSpec.userFriendlyPropertyName);}
-nameParts.push('reported by Chrome for');}else{if(formatSpec.componentPreposition===undefined){if(formatSpec.userFriendlyPropertyNamePrefix)
-nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);nameParts.push(componentPath.join(':'));nameParts.push(formatSpec.userFriendlyPropertyName);}else{if(formatSpec.userFriendlyPropertyNamePrefix)
-nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);nameParts.push(formatSpec.userFriendlyPropertyName);nameParts.push(formatSpec.componentPreposition);if(componentPath[componentPath.length-1]==='allocated_by_malloc'){nameParts.push('objects allocated by malloc for');nameParts.push(componentPath.slice(0,componentPath.length-1).join(':'));}else{nameParts.push(componentPath.join(':'));}}
-nameParts.push('in');}
-nameParts.push(convertProcessNameToUserFriendlyName(processName));return nameParts.join(' ');}
-var CHROME_VALUE_PROPERTIES={'effective_size':buildChromeValueDescriptionPrefix.bind(undefined,{userFriendlyPropertyName:'effective size',componentPreposition:'of'}),'allocated_objects_size':buildChromeValueDescriptionPrefix.bind(undefined,{userFriendlyPropertyName:'size of all objects allocated',totalUserFriendlyPropertyName:'size of all allocated objects',componentPreposition:'by'}),'locked_size':buildChromeValueDescriptionPrefix.bind(undefined,{userFriendlyPropertyName:'locked (pinned) size',componentPreposition:'of'}),'peak_size':buildChromeValueDescriptionPrefix.bind(undefined,{userFriendlyPropertyName:'peak size',componentPreposition:'of'}),};var SYSTEM_TOTAL_VALUE_PROPERTIES={'resident_size':{getPropertyFunction:function(processDump){return processDump.totals.residentBytes;},descriptionPrefixBuilder:buildOsValueDescriptionPrefix.bind(undefined,'resident set size (RSS)')},'peak_resident_size':{getPropertyFunction:function(processDump){return processDump.totals.peakResidentBytes;},descriptionPrefixBuilder:buildOsValueDescriptionPrefix.bind(undefined,'peak resident set size')}};function addDetailedMemoryDumpValues(browserNameToGlobalDumps,values){addMemoryDumpValues(browserNameToGlobalDumps,g=>g.levelOfDetail===DETAILED,function(processDump,addProcessScalar){tr.b.iterItems(SYSTEM_VALUE_COMPONENTS,function(componentName,componentSpec){tr.b.iterItems(SYSTEM_VALUE_PROPERTIES,function(propertyName,propertySpec){var node=getDescendantVmRegionClassificationNode(processDump.vmRegions,componentSpec.classificationPath);var componentPath=['system_memory'];if(componentName)
-componentPath.push(componentName);addProcessScalar({source:'reported_by_os',component:componentPath,property:propertyName,value:node===undefined?0:(node.byteStats[propertySpec.byteStat]||0),unit:sizeInBytes_smallerIsBetter,descriptionPrefixBuilder:propertySpec.descriptionPrefixBuilder});});});var memtrackDump=processDump.getMemoryAllocatorDumpByFullName('gpu/android_memtrack');if(memtrackDump!==undefined){var descriptionPrefixBuilder=SYSTEM_VALUE_PROPERTIES['proportional_resident_size'].descriptionPrefixBuilder;memtrackDump.children.forEach(function(memtrackChildDump){var childName=memtrackChildDump.name;addProcessScalar({source:'reported_by_os',component:['gpu_memory',childName],property:'proportional_resident_size',value:memtrackChildDump.numerics['memtrack_pss'],descriptionPrefixBuilder:descriptionPrefixBuilder});});}},function(componentTree){},values);}
-var SYSTEM_VALUE_COMPONENTS={'':{classificationPath:[],},'java_heap':{classificationPath:['Android','Java runtime','Spaces'],userFriendlyName:'the Java heap'},'ashmem':{classificationPath:['Android','Ashmem'],userFriendlyName:'ashmem'},'native_heap':{classificationPath:['Native heap'],userFriendlyName:'the native heap'}};var SYSTEM_VALUE_PROPERTIES={'proportional_resident_size':{byteStat:'proportionalResident',descriptionPrefixBuilder:buildOsValueDescriptionPrefix.bind(undefined,'proportional resident size (PSS)')},'private_dirty_size':{byteStat:'privateDirtyResident',descriptionPrefixBuilder:buildOsValueDescriptionPrefix.bind(undefined,'private dirty size')}};function buildOsValueDescriptionPrefix(userFriendlyPropertyName,componentPath,processName){if(componentPath.length>2){throw new Error('OS value component path for \''+
-userFriendlyPropertyName+'\' too long: '+componentPath.join(':'));}
-var nameParts=[];if(componentPath.length<2)
-nameParts.push('total');nameParts.push(userFriendlyPropertyName);if(componentPath.length>0){switch(componentPath[0]){case'system_memory':if(componentPath.length>1){var userFriendlyComponentName=SYSTEM_VALUE_COMPONENTS[componentPath[1]].userFriendlyName;if(userFriendlyComponentName===undefined){throw new Error('System value sub-component for \''+
-userFriendlyPropertyName+'\' unknown: '+
-componentPath.join(':'));}
-nameParts.push('of',userFriendlyComponentName,'in');}else{nameParts.push('of system memory (RAM) used by');}
-break;case'gpu_memory':if(componentPath.length>1){nameParts.push('of the',componentPath[1]);nameParts.push('Android memtrack component in');}else{nameParts.push('of GPU memory (Android memtrack) used by');}
-break;default:throw new Error('OS value component for \''+
-userFriendlyPropertyName+'\' unknown: '+
-componentPath.join(':'));}}else{nameParts.push('reported by the OS for');}
-nameParts.push(convertProcessNameToUserFriendlyName(processName));return nameParts.join(' ');}
-function buildCodeAndMetadataSizeValueDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix({userFriendlyPropertyNamePrefix:'size of',userFriendlyPropertyName:'code and metadata'},componentPath,processName);}
-function getDescendantVmRegionClassificationNode(node,path){for(var i=0;i<path.length;i++){if(node===undefined)
-break;node=tr.b.findFirstInArray(node.children,c=>c.title===path[i]);}
-return node;}
-function addMemoryDumpCountValues(browserNameToGlobalDumps,values){browserNameToGlobalDumps.forEach(function(globalDumps,browserName){var totalDumpCount=0;var levelOfDetailNameToDumpCount={};LEVEL_OF_DETAIL_NAMES.forEach(function(levelOfDetailName){levelOfDetailNameToDumpCount[levelOfDetailName]=0;});globalDumps.forEach(function(globalDump){totalDumpCount++;var levelOfDetailName=LEVEL_OF_DETAIL_NAMES.get(globalDump.levelOfDetail);if(!(levelOfDetailName in levelOfDetailNameToDumpCount))
-return;levelOfDetailNameToDumpCount[levelOfDetailName]++;});reportMemoryDumpCountAsValue(browserName,undefined,totalDumpCount,values);tr.b.iterItems(levelOfDetailNameToDumpCount,function(levelOfDetailName,levelOfDetailDumpCount){reportMemoryDumpCountAsValue(browserName,levelOfDetailName,levelOfDetailDumpCount,values);});});}
-function reportMemoryDumpCountAsValue(browserName,levelOfDetailName,levelOfDetailDumpCount,values){var nameParts=['memory',browserName,'all_processes','dump_count'];if(levelOfDetailName!==undefined)
-nameParts.push(levelOfDetailName);var name=nameParts.join(':');var histogram=new tr.v.Histogram(name,count_smallerIsBetter,BOUNDARIES_FOR_UNIT_MAP.get(count_smallerIsBetter));histogram.addSample(levelOfDetailDumpCount);histogram.description=['total number of',levelOfDetailName||'all','memory dumps added by',convertBrowserNameToUserFriendlyName(browserName),'to the trace'].join(' ');values.addHistogram(histogram);}
-function addMemoryDumpValues(browserNameToGlobalDumps,customGlobalDumpFilter,customProcessDumpValueExtractor,customComponentTreeModifier,values){browserNameToGlobalDumps.forEach(function(globalDumps,browserName){var filteredGlobalDumps=globalDumps.filter(customGlobalDumpFilter);var sourceToPropertyToData=extractDataFromGlobalDumps(filteredGlobalDumps,customProcessDumpValueExtractor);reportDataAsValues(sourceToPropertyToData,browserName,customComponentTreeModifier,values);});}
-function extractDataFromGlobalDumps(globalDumps,customProcessDumpValueExtractor){var sourceToPropertyToData=new Map();var dumpCount=globalDumps.length;globalDumps.forEach(function(globalDump,dumpIndex){tr.b.iterItems(globalDump.processMemoryDumps,function(_,processDump){extractDataFromProcessDump(processDump,sourceToPropertyToData,dumpIndex,dumpCount,customProcessDumpValueExtractor);});});return sourceToPropertyToData;}
-function extractDataFromProcessDump(processDump,sourceToPropertyToData,dumpIndex,dumpCount,customProcessDumpValueExtractor){var rawProcessName=processDump.process.name;var processNamePath=[canonicalizeProcessName(rawProcessName)];customProcessDumpValueExtractor(processDump,function addProcessScalar(spec){if(spec.value===undefined)
-return;var component=spec.component||[];function createDetailsForErrorMessage(){var propertyUserFriendlyName=spec.property===undefined?'(undefined)':spec.property;var componentUserFriendlyName=component.length===0?'(empty)':component.join(':');return['source=',spec.source,', property=',propertyUserFriendlyName,', component=',componentUserFriendlyName,' in ',processDump.process.userFriendlyName].join('');}
-var value,unit;if(spec.value instanceof tr.v.ScalarNumeric){value=spec.value.value;unit=spec.value.unit;if(spec.unit!==undefined){throw new Error('Histogram value for '+
-createDetailsForErrorMessage()+' already specifies a unit');}}else{value=spec.value;unit=spec.unit;}
-var propertyToData=sourceToPropertyToData.get(spec.source);if(propertyToData===undefined){propertyToData=new Map();sourceToPropertyToData.set(spec.source,propertyToData);}
-var data=propertyToData.get(spec.property);if(data===undefined){data={processAndComponentTreeBuilder:new tr.b.MultiDimensionalViewBuilder(2,dumpCount),unit:unit,descriptionPrefixBuilder:spec.descriptionPrefixBuilder};propertyToData.set(spec.property,data);}else if(data.unit!==unit){throw new Error('Multiple units provided for '+
-createDetailsForErrorMessage()+':'+
-data.unit.unitName+' and '+unit.unitName);}else if(data.descriptionPrefixBuilder!==spec.descriptionPrefixBuilder){throw new Error('Multiple description prefix builders provided for'+
-createDetailsForErrorMessage());}
-var values=new Array(dumpCount);values[dumpIndex]=value;data.processAndComponentTreeBuilder.addPath([processNamePath,component],values,tr.b.MultiDimensionalViewBuilder.ValueKind.TOTAL);});}
-function reportDataAsValues(sourceToPropertyToData,browserName,customComponentTreeModifier,values){sourceToPropertyToData.forEach(function(propertyToData,sourceName){propertyToData.forEach(function(data,propertyName){var tree=data.processAndComponentTreeBuilder.buildTopDownTreeView();var unit=data.unit;var descriptionPrefixBuilder=data.descriptionPrefixBuilder;customComponentTreeModifier(tree);reportComponentDataAsValues(browserName,sourceName,propertyName,'all_processes',[],tree,unit,descriptionPrefixBuilder,values);tree.children[0].forEach(function(processTree,processName){if(processTree.children[0].size>0){throw new Error('Multi-dimensional view node for source='+
-sourceName+', property='+
-(propertyName===undefined?'(undefined)':propertyName)+', process='+processName+' has children wrt the process name dimension');}
-customComponentTreeModifier(processTree);reportComponentDataAsValues(browserName,sourceName,propertyName,processName,[],processTree,unit,descriptionPrefixBuilder,values);});});});}
-function reportComponentDataAsValues(browserName,sourceName,propertyName,processName,componentPath,componentNode,unit,descriptionPrefixBuilder,values){var nameParts=['memory',browserName,processName,sourceName].concat(componentPath);if(propertyName!==undefined)
-nameParts.push(propertyName);var name=nameParts.join(':');var numeric=buildMemoryNumericFromNode(name,componentNode,unit);numeric.description=[descriptionPrefixBuilder(componentPath,processName),'in',convertBrowserNameToUserFriendlyName(browserName)].join(' ');values.addHistogram(numeric);var depth=componentPath.length;componentPath.push(undefined);componentNode.children[1].forEach(function(childNode,childName){componentPath[depth]=childName;reportComponentDataAsValues(browserName,sourceName,propertyName,processName,componentPath,childNode,unit,descriptionPrefixBuilder,values);});componentPath.pop();}
-function buildMemoryNumericFromNode(name,node,unit){var histogram=new tr.v.Histogram(name,unit,BOUNDARIES_FOR_UNIT_MAP.get(unit));node.values.forEach(v=>histogram.addSample(v.total));return histogram;}
-tr.metrics.MetricRegistry.register(memoryMetric,{supportsRangeOfInterest:true});return{memoryMetric:memoryMetric};});'use strict';tr.exportTo('tr.metrics.sh',function(){var FRAMES_PER_SEC=60;var FRAME_MS=tr.b.convertUnit(1.0/FRAMES_PER_SEC,tr.b.UnitScale.Metric.NONE,tr.b.UnitScale.Metric.MILLI);function getPowerData_(model,start,end){var durationInMs=end-start;var durationInS=tr.b.convertUnit(durationInMs,tr.b.UnitScale.Metric.MILLI,tr.b.UnitScale.Metric.NONE);var energyInJ=model.device.powerSeries.getEnergyConsumedInJ(start,end);var powerInW=energyInJ/durationInS;return{duration:durationInMs,energy:energyInJ,power:powerInW};}
-function getNavigationTTIIntervals_(model){var values=new tr.v.ValueSet();tr.metrics.sh.loadingMetric(values,model);var ttiValues=values.getValuesNamed('timeToFirstInteractive');var intervals=[];for(var bin of tr.b.getOnlyElement(ttiValues).allBins){for(var diagnostics of bin.diagnosticMaps){var breakdown=diagnostics.get('Navigation infos');intervals.push(tr.b.Range.fromExplicitRange(breakdown.value.start,breakdown.value.interactive));}}
-return intervals.sort((x,y)=>x.min-y.min);}
-function makeTimeHistogram_(values,title,description){var hist=new tr.v.Histogram(title+':time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);hist.customizeSummaryOptions({avg:false,count:false,max:true,min:true,std:false,sum:true,});hist.description='Time spent in '+description;values.addHistogram(hist);return hist;}
-function makeEnergyHistogram_(values,title,description){var hist=new tr.v.Histogram(title+':energy',tr.b.Unit.byName.energyInJoules_smallerIsBetter);hist.customizeSummaryOptions({avg:false,count:false,max:true,min:true,std:false,sum:true,});hist.description='Energy consumed in '+description;values.addHistogram(hist);return hist;}
-function makePowerHistogram_(values,title,description){var hist=new tr.v.Histogram(title+':power',tr.b.Unit.byName.powerInWatts_smallerIsBetter);hist.customizeSummaryOptions({avg:true,count:false,max:true,min:true,std:false,sum:false,});hist.description='Energy consumption rate in '+description;values.addHistogram(hist);return hist;}
-function storePowerData_(data,timeHist,energyHist,powerHist){if(timeHist!==undefined)
-timeHist.addSample(data.duration);if(energyHist!==undefined)
-energyHist.addSample(data.energy);if(powerHist!==undefined)
-powerHist.addSample(data.power);}
-function createHistograms_(model,values){var hists={};hists.railStageToTimeHist=new Map();hists.railStageToEnergyHist=new Map();hists.railStageToPowerHist=new Map();hists.scrollTimeHist=makeTimeHistogram_(values,'scroll','scrolling');hists.scrollEnergyHist=makeEnergyHistogram_(values,'scroll','scrolling');hists.scrollPowerHist=makePowerHistogram_(values,'scroll','scrolling');hists.loadTimeHist=makeTimeHistogram_(values,'load','page loads');hists.loadEnergyHist=makeEnergyHistogram_(values,'load','page loads');hists.afterLoadTimeHist=makeTimeHistogram_(values,'after_load','period after load');hists.afterLoadPowerHist=makePowerHistogram_(values,'after_load','period after load');hists.videoPowerHist=makePowerHistogram_(values,'video','video playback')
-hists.frameEnergyHist=makeEnergyHistogram_(values,'per_frame','each frame');for(var exp of model.userModel.expectations){var currTitle=exp.title.toLowerCase().replace(' ','_');if(!hists.railStageToTimeHist.has(currTitle)){var timeHist=makeTimeHistogram_(values,currTitle,'RAIL stage '+currTitle);var energyHist=makeEnergyHistogram_(values,currTitle,'RAIL stage '+currTitle);var powerHist=makePowerHistogram_(values,currTitle,'RAIL stage '+currTitle);hists.railStageToTimeHist.set(currTitle,timeHist);hists.railStageToEnergyHist.set(currTitle,energyHist);hists.railStageToPowerHist.set(currTitle,powerHist);}}
-return hists;}
-function processInteractionRecord_(exp,model,hists){var currTitle=exp.title.toLowerCase().replace(' ','_');var data=getPowerData_(model,exp.start,exp.end);storePowerData_(data,hists.railStageToTimeHist.get(currTitle),hists.railStageToEnergyHist.get(currTitle),hists.railStageToPowerHist.get(currTitle));if(exp.initiatorType===tr.importer.INITIATOR_TYPE.SCROLL){storePowerData_(data,hists.scrollTimeHist,hists.scrollEnergyHist,hists.scrollPowerHist);}
-if(exp.initiatorType===tr.importer.INITIATOR_TYPE.VIDEO)
-storePowerData_(data,undefined,undefined,hists.videoPowerHist)}
-function computeLoadingMetric_(model,hists){var intervals=getNavigationTTIIntervals_(model);var lastLoadTime=undefined;for(var interval of intervals){var loadData=getPowerData_(model,interval.min,interval.max);storePowerData_(loadData,hists.loadTimeHist,hists.loadEnergyHist,undefined);lastLoadTime=(lastLoadTime==undefined?interval.max:Math.max(lastLoadTime,interval.max));}
-if(lastLoadTime!==undefined){var afterLoadData=getPowerData_(model,lastLoadTime,model.bounds.max);storePowerData_(afterLoadData,hists.afterLoadTimeHist,undefined,hists.afterLoadPowerHist);}}
-function computeFrameBasedPowerMetric_(model,hists){model.device.powerSeries.updateBounds();var currentTime=model.device.powerSeries.bounds.min;while(currentTime<model.device.powerSeries.bounds.max){var frameData=getPowerData_(model,currentTime,currentTime+FRAME_MS);hists.frameEnergyHist.addSample(frameData.energy);currentTime+=FRAME_MS;}}
-function powerMetric(values,model){if(!model.device.powerSeries)
-return;var hists=createHistograms_(model,values);for(var exp of model.userModel.expectations)
-processInteractionRecord_(exp,model,hists);computeLoadingMetric_(model,hists);computeFrameBasedPowerMetric_(model,hists);}
-tr.metrics.MetricRegistry.register(powerMetric);return{powerMetric:powerMetric};});'use strict';tr.exportTo('tr.metrics.sh',function(){function computeAnimationThroughput(animationExpectation){if(animationExpectation.frameEvents===undefined||animationExpectation.frameEvents.length===0)
-throw new Error('Animation missing frameEvents '+
-animationExpectation.stableId);var durationInS=tr.b.convertUnit(animationExpectation.duration,tr.b.UnitScale.Metric.MILLI,tr.b.UnitScale.Metric.NONE);return animationExpectation.frameEvents.length/durationInS;}
-function computeAnimationframeTimeDiscrepancy(animationExpectation){if(animationExpectation.frameEvents===undefined||animationExpectation.frameEvents.length===0)
-throw new Error('Animation missing frameEvents '+
-animationExpectation.stableId);var frameTimestamps=animationExpectation.frameEvents;frameTimestamps=frameTimestamps.toArray().map(function(event){return event.start;});var absolute=true;return tr.b.Statistics.timestampsDiscrepancy(frameTimestamps,absolute);}
-function responsivenessMetric(values,model,opt_options){var responseNumeric=new tr.v.Histogram('response latency',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(100,1e3,50));var throughputNumeric=new tr.v.Histogram('animation throughput',tr.b.Unit.byName.unitlessNumber_biggerIsBetter,tr.v.HistogramBinBoundaries.createLinear(10,60,10));var frameTimeDiscrepancyNumeric=new tr.v.Histogram('animation frameTimeDiscrepancy',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,1e3,50).addExponentialBins(1e4,10));var latencyNumeric=new tr.v.Histogram('animation latency',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,300,60));model.userModel.expectations.forEach(function(ue){if(opt_options&&opt_options.rangeOfInterest&&!opt_options.rangeOfInterest.intersectsExplicitRangeInclusive(ue.start,ue.end))
-return;var sampleDiagnosticMap=tr.v.d.DiagnosticMap.fromObject({relatedEvents:new tr.v.d.RelatedEventSet([ue])});if(ue instanceof tr.model.um.IdleExpectation){return;}else if(ue instanceof tr.model.um.StartupExpectation){return;}else if(ue instanceof tr.model.um.LoadExpectation){}else if(ue instanceof tr.model.um.ResponseExpectation){responseNumeric.addSample(ue.duration,sampleDiagnosticMap);}else if(ue instanceof tr.model.um.AnimationExpectation){if(ue.frameEvents===undefined||ue.frameEvents.length===0){return;}
-var throughput=computeAnimationThroughput(ue);if(throughput===undefined)
-throw new Error('Missing throughput for '+
-ue.stableId);throughputNumeric.addSample(throughput,sampleDiagnosticMap);var frameTimeDiscrepancy=computeAnimationframeTimeDiscrepancy(ue);if(frameTimeDiscrepancy===undefined)
-throw new Error('Missing frameTimeDiscrepancy for '+
-ue.stableId);frameTimeDiscrepancyNumeric.addSample(frameTimeDiscrepancy,sampleDiagnosticMap);ue.associatedEvents.forEach(function(event){if(!(event instanceof tr.e.cc.InputLatencyAsyncSlice))
-return;latencyNumeric.addSample(event.duration,sampleDiagnosticMap);});}else{throw new Error('Unrecognized stage for '+ue.stableId);}});[responseNumeric,throughputNumeric,frameTimeDiscrepancyNumeric,latencyNumeric].forEach(function(numeric){numeric.customizeSummaryOptions({avg:true,max:true,min:true,std:true});});values.addHistogram(responseNumeric);values.addHistogram(throughputNumeric);values.addHistogram(frameTimeDiscrepancyNumeric);values.addHistogram(latencyNumeric);}
-tr.metrics.MetricRegistry.register(responsivenessMetric,{supportsRangeOfInterest:true});return{responsivenessMetric:responsivenessMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){var CPU_TIME_PERCENTAGE_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.01,50,200);function cpuTimeMetric(values,model,opt_options){var rangeOfInterest=model.bounds;if(opt_options&&opt_options.rangeOfInterest)
-rangeOfInterest=opt_options.rangeOfInterest;var allProcessCpuTime=0;for(var pid in model.processes){var process=model.processes[pid];var processCpuTime=0;for(var tid in process.threads){var thread=process.threads[tid];var threadCpuTime=0;thread.sliceGroup.topLevelSlices.forEach(function(slice){if(slice.duration===0)
-return;if(!slice.cpuDuration)
-return;var sliceRange=tr.b.Range.fromExplicitRange(slice.start,slice.end);var intersection=rangeOfInterest.findIntersection(sliceRange);var fractionOfSliceInsideRangeOfInterest=intersection.duration/slice.duration;threadCpuTime+=slice.cpuDuration*fractionOfSliceInsideRangeOfInterest;});processCpuTime+=threadCpuTime;}
-allProcessCpuTime+=processCpuTime;}
-var normalizedAllProcessCpuTime=0;if(rangeOfInterest.duration>0){normalizedAllProcessCpuTime=allProcessCpuTime/rangeOfInterest.duration;}
-var unit=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;var cpuTimeHist=new tr.v.Histogram('cpu_time_percentage',unit,CPU_TIME_PERCENTAGE_BOUNDARIES);cpuTimeHist.description='Percent CPU utilization, normalized against a single core. Can be '+'greater than 100% if machine has multiple cores.';cpuTimeHist.addSample(normalizedAllProcessCpuTime);values.addHistogram(cpuTimeHist);}
-tr.metrics.MetricRegistry.register(cpuTimeMetric,{supportsRangeOfInterest:true});return{cpuTimeMetric:cpuTimeMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function systemHealthMetrics(values,model){tr.metrics.sh.responsivenessMetric(values,model);tr.metrics.sh.longTasksMetric(values,model);tr.metrics.sh.hazardMetric(values,model);tr.metrics.sh.powerMetric(values,model);tr.metrics.sh.cpuTimeMetric(values,model);}
-tr.metrics.MetricRegistry.register(systemHealthMetrics);return{systemHealthMetrics:systemHealthMetrics};});'use strict';tr.exportTo('tr.metrics.sh',function(){function webviewStartupMetric(values,model){var startupWallHist=new tr.v.Histogram('webview_startup_wall_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);startupWallHist.description='WebView startup wall time';var startupCPUHist=new tr.v.Histogram('webview_startup_cpu_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);startupCPUHist.description='WebView startup CPU time';var loadWallHist=new tr.v.Histogram('webview_url_load_wall_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);loadWallHist.description='WebView blank URL load wall time';var loadCPUHist=new tr.v.Histogram('webview_url_load_cpu_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);loadCPUHist.description='WebView blank URL load CPU time';for(var slice of model.getDescendantEvents()){if(!(slice instanceof tr.model.ThreadSlice))
-continue;if(slice.title==='WebViewStartupInterval'){startupWallHist.addSample(slice.duration);startupCPUHist.addSample(slice.cpuDuration);}
-if(slice.title==='WebViewBlankUrlLoadInterval'){loadWallHist.addSample(slice.duration);loadCPUHist.addSample(slice.cpuDuration);}}
-values.addHistogram(startupWallHist);values.addHistogram(startupCPUHist);values.addHistogram(loadWallHist);values.addHistogram(loadCPUHist);}
-tr.metrics.MetricRegistry.register(webviewStartupMetric);return{webviewStartupMetric:webviewStartupMetric};});'use strict';tr.exportTo('tr.metrics',function(){var MEMORY_INFRA_TRACING_CATEGORY='disabled-by-default-memory-infra';var TIME_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1e-3,1e5,30);var BYTE_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1e9,30);var COUNT_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1e5,30);function addTimeDurationValue(valueName,duration,allValues){var hist=new tr.v.Histogram(valueName,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,TIME_BOUNDARIES);hist.addSample(duration);allValues.addHistogram(hist);}
-function addMemoryInfraValues(values,model,categoryNamesToTotalEventSizes){var memoryDumpCount=model.globalMemoryDumps.length;if(memoryDumpCount===0)
-return;var totalOverhead=0;var nonMemoryInfraThreadOverhead=0;var overheadByProvider={};tr.b.iterItems(model.processes,function(pid,process){tr.b.iterItems(process.threads,function(tid,thread){tr.b.iterItems(thread.sliceGroup.slices,(unusedSliceId,slice)=>{if(slice.category!==MEMORY_INFRA_TRACING_CATEGORY)
-return;totalOverhead+=slice.duration;if(thread.name!=='MemoryInfra')
-nonMemoryInfraThreadOverhead+=slice.duration;if(slice.args&&slice.args['dump_provider.name']){var providerName=slice.args['dump_provider.name'];var durationAndCount=overheadByProvider[providerName];if(durationAndCount===undefined){overheadByProvider[providerName]=durationAndCount={duration:0,count:0};}
-durationAndCount.duration+=slice.duration;durationAndCount.count++;}});});});addTimeDurationValue('Average CPU overhead on all threads per memory-infra dump',totalOverhead/memoryDumpCount,values);addTimeDurationValue('Average CPU overhead on non-memory-infra threads per memory-infra '+'dump',nonMemoryInfraThreadOverhead/memoryDumpCount,values);tr.b.iterItems(overheadByProvider,function(providerName,overhead){addTimeDurationValue('Average CPU overhead of '+providerName+' per OnMemoryDump call',overhead.duration/overhead.count,values);});var memoryInfraEventsSize=categoryNamesToTotalEventSizes.get(MEMORY_INFRA_TRACING_CATEGORY);var memoryInfraTraceBytesValue=new tr.v.Histogram('Total trace size of memory-infra dumps in bytes',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);memoryInfraTraceBytesValue.addSample(memoryInfraEventsSize);values.addHistogram(memoryInfraTraceBytesValue);var traceBytesPerDumpValue=new tr.v.Histogram('Average trace size of memory-infra dumps in bytes',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);traceBytesPerDumpValue.addSample(memoryInfraEventsSize/memoryDumpCount);values.addHistogram(traceBytesPerDumpValue);}
-function tracingMetric(values,model){if(!model.stats.hasEventSizesinBytes){throw new Error('Model stats does not have event size information. '+'Please enable ImportOptions.trackDetailedModelStats.');}
-var eventStats=model.stats.allTraceEventStatsInTimeIntervals;eventStats.sort(function(a,b){return a.timeInterval-b.timeInterval;});var totalTraceBytes=eventStats.reduce((a,b)=>(a+b.totalEventSizeinBytes),0);var maxEventCountPerSec=0;var maxEventBytesPerSec=0;var INTERVALS_PER_SEC=Math.floor(1000/model.stats.TIME_INTERVAL_SIZE_IN_MS);var runningEventNumPerSec=0;var runningEventBytesPerSec=0;var start=0;var end=0;while(end<eventStats.length){runningEventNumPerSec+=eventStats[end].numEvents;runningEventBytesPerSec+=eventStats[end].totalEventSizeinBytes;end++;while((eventStats[end-1].timeInterval-
-eventStats[start].timeInterval)>=INTERVALS_PER_SEC){runningEventNumPerSec-=eventStats[start].numEvents;runningEventBytesPerSec-=eventStats[start].totalEventSizeinBytes;start++;}
-maxEventCountPerSec=Math.max(maxEventCountPerSec,runningEventNumPerSec);maxEventBytesPerSec=Math.max(maxEventBytesPerSec,runningEventBytesPerSec);}
-var stats=model.stats.allTraceEventStats;var categoryNamesToTotalEventSizes=(stats.reduce((map,stat)=>(map.set(stat.category,((map.get(stat.category)||0)+
-stat.totalEventSizeinBytes))),new Map()));var maxCatNameAndBytes=Array.from(categoryNamesToTotalEventSizes.entries()).reduce((a,b)=>(b[1]>=a[1])?b:a);var maxEventBytesPerCategory=maxCatNameAndBytes[1];var categoryWithMaxEventBytes=maxCatNameAndBytes[0];var maxEventCountPerSecValue=new tr.v.Histogram('Max number of events per second',tr.b.Unit.byName.count_smallerIsBetter,COUNT_BOUNDARIES);maxEventCountPerSecValue.addSample(maxEventCountPerSec);var maxEventBytesPerSecValue=new tr.v.Histogram('Max event size in bytes per second',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);maxEventBytesPerSecValue.addSample(maxEventBytesPerSec);var totalTraceBytesValue=new tr.v.Histogram('Total trace size in bytes',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);totalTraceBytesValue.addSample(totalTraceBytes);var biggestCategory={name:categoryWithMaxEventBytes,size_in_bytes:maxEventBytesPerCategory};totalTraceBytesValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));values.addHistogram(totalTraceBytesValue);maxEventCountPerSecValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));values.addHistogram(maxEventCountPerSecValue);maxEventBytesPerSecValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));values.addHistogram(maxEventBytesPerSecValue);addMemoryInfraValues(values,model,categoryNamesToTotalEventSizes);}
-tr.metrics.MetricRegistry.register(tracingMetric);return{tracingMetric:tracingMetric,MEMORY_INFRA_TRACING_CATEGORY:MEMORY_INFRA_TRACING_CATEGORY};});'use strict';tr.exportTo('tr.metrics.v8',function(){var CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(4,200,100);function computeExecuteMetrics(values,model){var cpuTotalExecution=new tr.v.Histogram('v8_execution_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalExecution.description='cpu total time spent in script execution';var wallTotalExecution=new tr.v.Histogram('v8_execution_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalExecution.description='wall total time spent in script execution';var cpuSelfExecution=new tr.v.Histogram('v8_execution_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfExecution.description='cpu self time spent in script execution';var wallSelfExecution=new tr.v.Histogram('v8_execution_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfExecution.description='wall self time spent in script execution';for(var e of model.findTopmostSlicesNamed('V8.Execute')){cpuTotalExecution.addSample(e.cpuDuration);wallTotalExecution.addSample(e.duration);cpuSelfExecution.addSample(e.cpuSelfTime);wallSelfExecution.addSample(e.selfTime);}
-values.addHistogram(cpuTotalExecution);values.addHistogram(wallTotalExecution);values.addHistogram(cpuSelfExecution);values.addHistogram(wallSelfExecution);}
-function computeParseLazyMetrics(values,model){var cpuSelfParseLazy=new tr.v.Histogram('v8_parse_lazy_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfParseLazy.description='cpu self time spent performing lazy parsing';var wallSelfParseLazy=new tr.v.Histogram('v8_parse_lazy_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfParseLazy.description='wall self time spent performing lazy parsing';for(var e of model.findTopmostSlicesNamed('V8.ParseLazyMicroSeconds')){cpuSelfParseLazy.addSample(e.cpuSelfTime);wallSelfParseLazy.addSample(e.selfTime);}
-for(var e of model.findTopmostSlicesNamed('V8.ParseLazy')){cpuSelfParseLazy.addSample(e.cpuSelfTime);wallSelfParseLazy.addSample(e.selfTime);}
-values.addHistogram(cpuSelfParseLazy);values.addHistogram(wallSelfParseLazy);}
-function computeCompileFullCodeMetrics(values,model){var cpuSelfCompileFullCode=new tr.v.Histogram('v8_compile_full_code_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfCompileFullCode.description='cpu self time spent performing compiling full code';var wallSelfCompileFullCode=new tr.v.Histogram('v8_compile_full_code_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfCompileFullCode.description='wall self time spent performing compiling full code';for(var e of model.findTopmostSlicesNamed('V8.CompileFullCode')){cpuSelfCompileFullCode.addSample(e.cpuSelfTime);wallSelfCompileFullCode.addSample(e.selfTime);}
-values.addHistogram(cpuSelfCompileFullCode);values.addHistogram(wallSelfCompileFullCode);}
-function computeCompileIgnitionMetrics(values,model){var cpuSelfCompileIgnition=new tr.v.Histogram('v8_compile_ignition_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfCompileIgnition.description='cpu self time spent in compile ignition';var wallSelfCompileIgnition=new tr.v.Histogram('v8_compile_ignition_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfCompileIgnition.description='wall self time spent in compile ignition';for(var e of model.findTopmostSlicesNamed('V8.CompileIgnition')){cpuSelfCompileIgnition.addSample(e.cpuSelfTime);wallSelfCompileIgnition.addSample(e.selfTime);}
-values.addHistogram(cpuSelfCompileIgnition);values.addHistogram(wallSelfCompileIgnition);}
-function computeRecompileMetrics(values,model){var cpuTotalRecompileSynchronous=new tr.v.Histogram('v8_recompile_synchronous_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileSynchronous.description='cpu total time spent in synchronous recompilation';var wallTotalRecompileSynchronous=new tr.v.Histogram('v8_recompile_synchronous_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileSynchronous.description='wall total time spent in synchronous recompilation';var cpuTotalRecompileConcurrent=new tr.v.Histogram('v8_recompile_concurrent_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileConcurrent.description='cpu total time spent in concurrent recompilation';var wallTotalRecompileConcurrent=new tr.v.Histogram('v8_recompile_concurrent_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileConcurrent.description='wall total time spent in concurrent recompilation';var cpuTotalRecompileOverall=new tr.v.Histogram('v8_recompile_overall_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileOverall.description='cpu total time spent in synchronous or concurrent recompilation';var wallTotalRecompileOverall=new tr.v.Histogram('v8_recompile_overall_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileOverall.description='wall total time spent in synchronous or concurrent recompilation';for(var e of model.findTopmostSlicesNamed('V8.RecompileSynchronous')){cpuTotalRecompileSynchronous.addSample(e.cpuDuration);wallTotalRecompileSynchronous.addSample(e.duration);cpuTotalRecompileOverall.addSample(e.cpuDuration);wallTotalRecompileOverall.addSample(e.duration);}
-values.addHistogram(cpuTotalRecompileSynchronous);values.addHistogram(wallTotalRecompileSynchronous);for(var e of model.findTopmostSlicesNamed('V8.RecompileConcurrent')){cpuTotalRecompileConcurrent.addSample(e.cpuDuration);wallTotalRecompileConcurrent.addSample(e.duration);cpuTotalRecompileOverall.addSample(e.cpuDuration);wallTotalRecompileOverall.addSample(e.duration);}
-values.addHistogram(cpuTotalRecompileConcurrent);values.addHistogram(wallTotalRecompileConcurrent);values.addHistogram(cpuTotalRecompileOverall);values.addHistogram(wallTotalRecompileOverall);}
-function computeOptimizeCodeMetrics(values,model){var cpuTotalOptimizeCode=new tr.v.Histogram('v8_optimize_code_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalOptimizeCode.description='cpu total time spent in code optimization';var wallTotalOptimizeCode=new tr.v.Histogram('v8_optimize_code_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalOptimizeCode.description='wall total time spent in code optimization';for(var e of model.findTopmostSlicesNamed('V8.OptimizeCode')){cpuTotalOptimizeCode.addSample(e.cpuDuration);wallTotalOptimizeCode.addSample(e.duration);}
-values.addHistogram(cpuTotalOptimizeCode);values.addHistogram(wallTotalOptimizeCode);}
-function computeDeoptimizeCodeMetrics(values,model){var cpuTotalDeoptimizeCode=new tr.v.Histogram('v8_deoptimize_code_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalDeoptimizeCode.description='cpu total time spent in code deoptimization';var wallTotalDeoptimizeCode=new tr.v.Histogram('v8_deoptimize_code_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalDeoptimizeCode.description='wall total time spent in code deoptimization';for(var e of model.findTopmostSlicesNamed('V8.DeoptimizeCode')){cpuTotalDeoptimizeCode.addSample(e.cpuDuration);wallTotalDeoptimizeCode.addSample(e.duration);}
-values.addHistogram(cpuTotalDeoptimizeCode);values.addHistogram(wallTotalDeoptimizeCode);}
-function executionMetric(values,model){computeExecuteMetrics(values,model);computeParseLazyMetrics(values,model);computeCompileIgnitionMetrics(values,model);computeCompileFullCodeMetrics(values,model);computeRecompileMetrics(values,model);computeOptimizeCodeMetrics(values,model);computeDeoptimizeCodeMetrics(values,model);}
-tr.metrics.MetricRegistry.register(executionMetric);return{executionMetric:executionMetric};});'use strict';tr.exportTo('tr.metrics.v8',function(){var TARGET_FPS=60;var MS_PER_SECOND=1000;var WINDOW_SIZE_MS=MS_PER_SECOND/TARGET_FPS;function gcMetric(values,model){addDurationOfTopEvents(values,model);addTotalDurationOfTopEvents(values,model);addDurationOfSubEvents(values,model);addIdleTimesOfTopEvents(values,model);addTotalIdleTimesOfTopEvents(values,model);addPercentageInV8ExecuteOfTopEvents(values,model);addTotalPercentageInV8Execute(values,model);addV8ExecuteMutatorUtilization(values,model);}
-tr.metrics.MetricRegistry.register(gcMetric);var timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;var percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;var percentage_smallerIsBetter=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;var CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,20,200).addExponentialBins(200,100);function createNumericForTopEventTime(name){var n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:true,max:true,min:false,std:true,sum:true,percentile:[0.90]});return n;}
-function createNumericForSubEventTime(name){var n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:false,percentile:[0.90]});return n;}
-function createNumericForIdleTime(name){var n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:true,percentile:[]});return n;}
-function createPercentage(name,numerator,denominator,unit){var hist=new tr.v.Histogram(name,unit);if(denominator===0)
-hist.addSample(0);else
-hist.addSample(numerator/denominator);hist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false,percentile:[]});return hist;}
-function isNotForcedTopGarbageCollectionEvent(event){return tr.metrics.v8.utils.isTopGarbageCollectionEvent(event)&&!tr.metrics.v8.utils.isForcedGarbageCollectionEvent(event);}
-function isNotForcedSubGarbageCollectionEvent(event){return tr.metrics.v8.utils.isSubGarbageCollectionEvent(event)&&!tr.metrics.v8.utils.isForcedGarbageCollectionEvent(event);}
-function addDurationOfTopEvents(values,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,tr.metrics.v8.utils.topGarbageCollectionEventName,function(name,events){var cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});values.addHistogram(cpuDuration);});}
-function addTotalDurationOfTopEvents(values,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,event=>'v8-gc-total',function(name,events){var cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});values.addHistogram(cpuDuration);});}
-function addDurationOfSubEvents(values,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedSubGarbageCollectionEvent,tr.metrics.v8.utils.subGarbageCollectionEventName,function(name,events){var cpuDuration=createNumericForSubEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});values.addHistogram(cpuDuration);});}
-function addIdleTimesOfTopEvents(values,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,tr.metrics.v8.utils.topGarbageCollectionEventName,function(name,events){addIdleTimes(values,model,name,events);});}
-function addTotalIdleTimesOfTopEvents(values,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,event=>'v8-gc-total',function(name,events){addIdleTimes(values,model,name,events);});}
-function addIdleTimes(values,model,name,events){var cpuDuration=createNumericForIdleTime();var insideIdle=createNumericForIdleTime();var outsideIdle=createNumericForIdleTime(name+'_outside_idle');var idleDeadlineOverrun=createNumericForIdleTime(name+'_idle_deadline_overrun');events.forEach(function(event){var idleTask=tr.metrics.v8.utils.findParent(event,tr.metrics.v8.utils.isIdleTask);var inside=0;var overrun=0;if(idleTask){var allottedTime=idleTask['args']['allotted_time_ms'];if(event.duration>allottedTime){overrun=event.duration-allottedTime;inside=event.cpuDuration*allottedTime/event.duration;}else{inside=event.cpuDuration;}}
-cpuDuration.addSample(event.cpuDuration);insideIdle.addSample(inside);outsideIdle.addSample(event.cpuDuration-inside);idleDeadlineOverrun.addSample(overrun);});values.addHistogram(idleDeadlineOverrun);values.addHistogram(outsideIdle);var percentage=createPercentage(name+'_percentage_idle',insideIdle.sum,cpuDuration.sum,percentage_biggerIsBetter);values.addHistogram(percentage);}
-function addPercentageInV8ExecuteOfTopEvents(values,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,tr.metrics.v8.utils.topGarbageCollectionEventName,function(name,events){addPercentageInV8Execute(values,model,name,events);});}
-function addTotalPercentageInV8Execute(values,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,event=>'v8-gc-total',function(name,events){addPercentageInV8Execute(values,model,name,events);});}
-function addPercentageInV8Execute(values,model,name,events){var cpuDurationInV8Execute=0;var cpuDurationTotal=0;events.forEach(function(event){var v8Execute=tr.metrics.v8.utils.findParent(event,tr.metrics.v8.utils.isV8ExecuteEvent);if(v8Execute){cpuDurationInV8Execute+=event.cpuDuration;}
-cpuDurationTotal+=event.cpuDuration;});var percentage=createPercentage(name+'_percentage_in_v8_execute',cpuDurationInV8Execute,cpuDurationTotal,percentage_smallerIsBetter);values.addHistogram(percentage);}
-function addV8ExecuteMutatorUtilization(values,model){tr.metrics.v8.utils.groupAndProcessEvents(model,tr.metrics.v8.utils.isTopV8ExecuteEvent,event=>'v8-execute',function(name,events){events.sort((a,b)=>a.start-b.start);var time=0;var pauses=[];for(var topEvent of events){for(var e of topEvent.enumerateAllDescendents()){if(isNotForcedTopGarbageCollectionEvent(e)){pauses.push({start:e.start-topEvent.start+time,end:e.end-topEvent.start+time});}}
-time+=topEvent.duration;}
-var mutatorUtilization=tr.metrics.v8.utils.mutatorUtilization(0,time,WINDOW_SIZE_MS,pauses);[0.90,0.95,0.99].forEach(function(percent){var hist=new tr.v.Histogram('v8-execute-mutator-utilization_pct_0'+percent*100,percentage_biggerIsBetter);hist.addSample(mutatorUtilization.percentile(1.0-percent));values.addHistogram(hist);});var hist=new tr.v.Histogram('v8-execute-mutator-utilization_min',percentage_biggerIsBetter);hist.addSample(mutatorUtilization.min);values.addHistogram(hist);});}
-return{gcMetric:gcMetric,WINDOW_SIZE_MS:WINDOW_SIZE_MS};});'use strict';tr.exportTo('tr.metrics.v8',function(){function v8AndMemoryMetrics(values,model){tr.metrics.v8.executionMetric(values,model);tr.metrics.v8.gcMetric(values,model);tr.metrics.sh.memoryMetric(values,model,{rangeOfInterest:tr.metrics.v8.utils.rangeForMemoryDumps(model)});}
-tr.metrics.MetricRegistry.register(v8AndMemoryMetrics);return{v8AndMemoryMetrics:v8AndMemoryMetrics};});'use strict';tr.exportTo('tr.ui.b',function(){var Location=tr.model.Location;function UIState(location,scaleX){this.location_=location;this.scaleX_=scaleX;};UIState.fromUserFriendlyString=function(model,viewport,stateString){var navByFinderPattern=/^(-?\d+(\.\d+)?)@(.+)x(\d+(\.\d+)?)$/g;var match=navByFinderPattern.exec(stateString);if(!match)
-return;var timestamp=parseFloat(match[1]);var stableId=match[3];var scaleX=parseFloat(match[4]);if(scaleX<=0)
-throw new Error('Invalid ScaleX value in UI State string.');if(!viewport.containerToTrackMap.getTrackByStableId(stableId))
-throw new Error('Invalid StableID given in UI State String.');var loc=tr.model.Location.fromStableIdAndTimestamp(viewport,stableId,timestamp);return new UIState(loc,scaleX);}
-UIState.prototype={get location(){return this.location_;},get scaleX(){return this.scaleX_;},toUserFriendlyString:function(viewport){var timestamp=this.location_.xWorld;var stableId=this.location_.getContainingTrack(viewport).eventContainer.stableId;var scaleX=this.scaleX_;return timestamp.toFixed(5)+'@'+stableId+'x'+scaleX.toFixed(5);},toDict:function(){return{location:this.location_.toDict(),scaleX:this.scaleX_};}};return{UIState:UIState};});'use strict';tr.exportTo('tr.ui.b',function(){var EventSet=tr.model.EventSet;var SelectionState=tr.model.SelectionState;function BrushingState(){this.guid_=tr.b.GUID.allocateSimple();this.selection_=new EventSet();this.findMatches_=new EventSet();this.analysisViewRelatedEvents_=new EventSet();this.analysisLinkHoveredEvents_=new EventSet();this.appliedToModel_=undefined;this.viewSpecificBrushingStates_={};}
-BrushingState.prototype={get guid(){return this.guid_;},clone:function(){var that=new BrushingState();that.selection_=this.selection_;that.findMatches_=this.findMatches_;that.analysisViewRelatedEvents_=this.analysisViewRelatedEvents_;that.analysisLinkHoveredEvents_=this.analysisLinkHoveredEvents_;that.viewSpecificBrushingStates_=this.viewSpecificBrushingStates_;return that;},equals:function(that){if(!this.selection_.equals(that.selection_))
-return false;if(!this.findMatches_.equals(that.findMatches_))
-return false;if(!this.analysisViewRelatedEvents_.equals(that.analysisViewRelatedEvents_)){return false;}
-if(!this.analysisLinkHoveredEvents_.equals(that.analysisLinkHoveredEvents_)){return false;}
-return true;},get selectionOfInterest(){if(this.selection_.length)
-return this.selection_;if(this.highlight_.length)
-return this.highlight_;if(this.analysisViewRelatedEvents_.length)
-return this.analysisViewRelatedEvents_;if(this.analysisLinkHoveredEvents_.length)
-return this.analysisLinkHoveredEvents_;return this.selection_;},get selection(){return this.selection_;},set selection(selection){if(this.appliedToModel_)
-throw new Error('Cannot mutate this state right now');if(selection===undefined)
-selection=new EventSet();this.selection_=selection;},get findMatches(){return this.findMatches_;},set findMatches(findMatches){if(this.appliedToModel_)
-throw new Error('Cannot mutate this state right now');if(findMatches===undefined)
-findMatches=new EventSet();this.findMatches_=findMatches;},get analysisViewRelatedEvents(){return this.analysisViewRelatedEvents_;},set analysisViewRelatedEvents(analysisViewRelatedEvents){if(this.appliedToModel_)
-throw new Error('Cannot mutate this state right now');if(analysisViewRelatedEvents===undefined)
-analysisViewRelatedEvents=new EventSet();this.analysisViewRelatedEvents_=analysisViewRelatedEvents;},get analysisLinkHoveredEvents(){return this.analysisLinkHoveredEvents_;},set analysisLinkHoveredEvents(analysisLinkHoveredEvents){if(this.appliedToModel_)
-throw new Error('Cannot mutate this state right now');if(analysisLinkHoveredEvents===undefined)
-analysisLinkHoveredEvents=new EventSet();this.analysisLinkHoveredEvents_=analysisLinkHoveredEvents;},get isAppliedToModel(){return this.appliedToModel_!==undefined;},get viewSpecificBrushingStates(){return this.viewSpecificBrushingStates_;},set viewSpecificBrushingStates(viewSpecificBrushingStates){this.viewSpecificBrushingStates_=viewSpecificBrushingStates;},get dimmedEvents_(){var dimmedEvents=new EventSet();dimmedEvents.addEventSet(this.findMatches);dimmedEvents.addEventSet(this.analysisViewRelatedEvents_);return dimmedEvents;},get brightenedEvents_(){var brightenedEvents=new EventSet();brightenedEvents.addEventSet(this.selection_);brightenedEvents.addEventSet(this.analysisLinkHoveredEvents_);return brightenedEvents;},applyToEventSelectionStates:function(model){this.appliedToModel_=model;var dimmedEvents=this.dimmedEvents_;if(model){var newDefaultState=(dimmedEvents.length?SelectionState.DIMMED0:SelectionState.NONE);var currentDefaultState=tr.b.getFirstElement(model.getDescendantEvents()).selectionState;if(currentDefaultState!==newDefaultState)
-for(var e of model.getDescendantEvents())
-e.selectionState=newDefaultState;}
-var score;for(var e of dimmedEvents){score=0;if(this.findMatches_.contains(e))
-score++;if(this.analysisViewRelatedEvents_.contains(e))
-score++;e.selectionState=SelectionState.getFromDimmingLevel(score);}
-for(var e of this.brightenedEvents_){score=0;if(this.selection_.contains(e))
-score++;if(this.analysisLinkHoveredEvents_.contains(e))
-score++;e.selectionState=SelectionState.getFromBrighteningLevel(score);}},transferModelOwnershipToClone:function(that){if(!this.appliedToModel_)
-throw new Error('Not applied');that.appliedToModel_=this.appliedToModel_;this.appliedToModel_=undefined;},unapplyFromEventSelectionStates:function(){if(!this.appliedToModel_)
-throw new Error('Not applied');var model=this.appliedToModel_;this.appliedToModel_=undefined;var dimmedEvents=this.dimmedEvents_;var defaultState=(dimmedEvents.length?SelectionState.DIMMED0:SelectionState.NONE);for(var e of this.brightenedEvents_)
-e.selectionState=defaultState;for(var e of dimmedEvents)
-e.selectionState=defaultState;return defaultState;}};return{BrushingState:BrushingState};});'use strict';tr.exportTo('tr.ui.b',function(){function Animation(){}
-Animation.prototype={canTakeOverFor:function(existingAnimation){throw new Error('Not implemented');},takeOverFor:function(existingAnimation,newStartTimestamp,target){throw new Error('Not implemented');},start:function(timestamp,target){throw new Error('Not implemented');},didStopEarly:function(timestamp,target,willBeTakenOverByAnotherAnimation){},tick:function(timestamp,target){throw new Error('Not implemented');}};return{Animation:Animation};});'use strict';tr.exportTo('tr.ui.b',function(){function AnimationController(){tr.b.EventTarget.call(this);this.target_=undefined;this.activeAnimation_=undefined;this.tickScheduled_=false;}
-AnimationController.prototype={__proto__:tr.b.EventTarget.prototype,get target(){return this.target_;},set target(target){if(this.activeAnimation_)
-throw new Error('Cannot change target while animation is running.');if(target.cloneAnimationState===undefined||typeof target.cloneAnimationState!=='function')
-throw new Error('target must have a cloneAnimationState function');this.target_=target;},get activeAnimation(){return this.activeAnimation_;},get hasActiveAnimation(){return!!this.activeAnimation_;},queueAnimation:function(animation,opt_now){if(this.target_===undefined)
-throw new Error('Cannot queue animations without a target');var now;if(opt_now!==undefined)
-now=opt_now;else
-now=window.performance.now();if(this.activeAnimation_){var done=this.activeAnimation_.tick(now,this.target_);if(done)
-this.activeAnimation_=undefined;}
-if(this.activeAnimation_){if(animation.canTakeOverFor(this.activeAnimation_)){this.activeAnimation_.didStopEarly(now,this.target_,true);animation.takeOverFor(this.activeAnimation_,now,this.target_);}else{this.activeAnimation_.didStopEarly(now,this.target_,false);}}
-this.activeAnimation_=animation;this.activeAnimation_.start(now,this.target_);if(this.tickScheduled_)
-return;this.tickScheduled_=true;tr.b.requestAnimationFrame(this.tickActiveAnimation_,this);},cancelActiveAnimation:function(opt_now){if(!this.activeAnimation_)
-return;var now;if(opt_now!==undefined)
-now=opt_now;else
-now=window.performance.now();this.activeAnimation_.didStopEarly(now,this.target_,false);this.activeAnimation_=undefined;},tickActiveAnimation_:function(frameBeginTime){this.tickScheduled_=false;if(!this.activeAnimation_)
-return;if(this.target_===undefined){this.activeAnimation_.didStopEarly(frameBeginTime,this.target_,false);return;}
-var oldTargetState=this.target_.cloneAnimationState();var done=this.activeAnimation_.tick(frameBeginTime,this.target_);if(done)
-this.activeAnimation_=undefined;if(this.activeAnimation_){this.tickScheduled_=true;tr.b.requestAnimationFrame(this.tickActiveAnimation_,this);}
-if(oldTargetState){var e=new tr.b.Event('didtick');e.oldTargetState=oldTargetState;this.dispatchEvent(e,false,false);}}};return{AnimationController:AnimationController};});'use strict';tr.exportTo('tr.ui.b',function(){function createSpan(opt_dictionary){var ownerDocument=document;if(opt_dictionary&&opt_dictionary.ownerDocument)
-ownerDocument=opt_dictionary.ownerDocument;var spanEl=ownerDocument.createElement('span');if(opt_dictionary){if(opt_dictionary.className)
-spanEl.className=opt_dictionary.className;if(opt_dictionary.textContent){Polymer.dom(spanEl).textContent=opt_dictionary.textContent;}
-if(opt_dictionary.tooltip)
-spanEl.title=opt_dictionary.tooltip;if(opt_dictionary.parent)
-Polymer.dom(opt_dictionary.parent).appendChild(spanEl);if(opt_dictionary.bold)
-spanEl.style.fontWeight='bold';if(opt_dictionary.italic)
-spanEl.style.fontStyle='italic';if(opt_dictionary.marginLeft)
-spanEl.style.marginLeft=opt_dictionary.marginLeft;if(opt_dictionary.marginRight)
-spanEl.style.marginRight=opt_dictionary.marginRight;if(opt_dictionary.backgroundColor)
-spanEl.style.backgroundColor=opt_dictionary.backgroundColor;if(opt_dictionary.color)
-spanEl.style.color=opt_dictionary.color;}
-return spanEl;};function createDiv(opt_dictionary){var divEl=document.createElement('div');if(opt_dictionary){if(opt_dictionary.className)
-divEl.className=opt_dictionary.className;if(opt_dictionary.parent)
-Polymer.dom(opt_dictionary.parent).appendChild(divEl);if(opt_dictionary.textContent)
-Polymer.dom(divEl).textContent=opt_dictionary.textContent;if(opt_dictionary.maxWidth)
-divEl.style.maxWidth=opt_dictionary.maxWidth;}
-return divEl;};function createScopedStyle(styleContent){var styleEl=document.createElement('style');styleEl.scoped=true;Polymer.dom(styleEl).innerHTML=styleContent;return styleEl;}
-function valuesEqual(a,b){if(a instanceof Array&&b instanceof Array)
-return a.length===b.length&&JSON.stringify(a)===JSON.stringify(b);return a===b;}
-function createSelector(targetEl,targetElProperty,settingsKey,defaultValue,items,opt_namespace){var defaultValueIndex;for(var i=0;i<items.length;i++){var item=items[i];if(valuesEqual(item.value,defaultValue)){defaultValueIndex=i;break;}}
-if(defaultValueIndex===undefined)
-throw new Error('defaultValue must be in the items list');var selectorEl=document.createElement('select');selectorEl.addEventListener('change',onChange);for(var i=0;i<items.length;i++){var item=items[i];var optionEl=document.createElement('option');Polymer.dom(optionEl).textContent=item.label;optionEl.targetPropertyValue=item.value;optionEl.item=item;Polymer.dom(selectorEl).appendChild(optionEl);}
-function onChange(e){var value=selectorEl.selectedOptions[0].targetPropertyValue;tr.b.Settings.set(settingsKey,value,opt_namespace);targetEl[targetElProperty]=value;}
-var oldSetter=targetEl.__lookupSetter__('selectedIndex');selectorEl.__defineGetter__('selectedValue',function(v){return selectorEl.children[selectorEl.selectedIndex].targetPropertyValue;});selectorEl.__defineGetter__('selectedItem',function(v){return selectorEl.children[selectorEl.selectedIndex].item;});selectorEl.__defineSetter__('selectedValue',function(v){for(var i=0;i<selectorEl.children.length;i++){var value=selectorEl.children[i].targetPropertyValue;if(valuesEqual(value,v)){var changed=selectorEl.selectedIndex!=i;if(changed){selectorEl.selectedIndex=i;onChange();}
-return;}}
-throw new Error('Not a valid value');});var initialValue=tr.b.Settings.get(settingsKey,defaultValue,opt_namespace);var didSet=false;for(var i=0;i<selectorEl.children.length;i++){if(valuesEqual(selectorEl.children[i].targetPropertyValue,initialValue)){didSet=true;targetEl[targetElProperty]=initialValue;selectorEl.selectedIndex=i;break;}}
-if(!didSet){selectorEl.selectedIndex=defaultValueIndex;targetEl[targetElProperty]=defaultValue;}
-return selectorEl;}
-function createEditCategorySpan(optionGroupEl,targetEl){var spanEl=createSpan({className:'edit-categories'});Polymer.dom(spanEl).textContent='Edit categories';Polymer.dom(spanEl).classList.add('labeled-option');spanEl.addEventListener('click',function(){targetEl.onClickEditCategories();});return spanEl;}
-function createOptionGroup(targetEl,targetElProperty,settingsKey,defaultValue,items){function onChange(){var value=[];if(this.value.length)
-value=this.value.split(',');tr.b.Settings.set(settingsKey,value);targetEl[targetElProperty]=value;}
-var optionGroupEl=createSpan({className:'labeled-option-group'});var initialValue=tr.b.Settings.get(settingsKey,defaultValue);for(var i=0;i<items.length;++i){var item=items[i];var id='category-preset-'+item.label.replace(/ /g,'-');var radioEl=document.createElement('input');radioEl.type='radio';Polymer.dom(radioEl).setAttribute('id',id);Polymer.dom(radioEl).setAttribute('name','category-presets-group');Polymer.dom(radioEl).setAttribute('value',item.value);radioEl.addEventListener('change',onChange.bind(radioEl,targetEl,targetElProperty,settingsKey));if(valuesEqual(initialValue,item.value))
-radioEl.checked=true;var labelEl=document.createElement('label');Polymer.dom(labelEl).textContent=item.label;Polymer.dom(labelEl).setAttribute('for',id);var spanEl=createSpan({className:'labeled-option'});Polymer.dom(spanEl).appendChild(radioEl);Polymer.dom(spanEl).appendChild(labelEl);spanEl.__defineSetter__('checked',function(opt_bool){var changed=radioEl.checked!==(!!opt_bool);if(!changed)
-return;radioEl.checked=!!opt_bool;onChange();});spanEl.__defineGetter__('checked',function(){return radioEl.checked;});Polymer.dom(optionGroupEl).appendChild(spanEl);}
-Polymer.dom(optionGroupEl).appendChild(createEditCategorySpan(optionGroupEl,targetEl));if(!initialValue.length)
-Polymer.dom(optionGroupEl).classList.add('categories-expanded');targetEl[targetElProperty]=initialValue;return optionGroupEl;}
-var nextCheckboxId=1;function createCheckBox(targetEl,targetElProperty,settingsKey,defaultValue,label,opt_changeCb){var buttonEl=document.createElement('input');buttonEl.type='checkbox';var initialValue=tr.b.Settings.get(settingsKey,defaultValue);buttonEl.checked=!!initialValue;if(targetEl)
-targetEl[targetElProperty]=initialValue;function onChange(){tr.b.Settings.set(settingsKey,buttonEl.checked);if(targetEl)
-targetEl[targetElProperty]=buttonEl.checked;if(opt_changeCb)
-opt_changeCb.call();}
-buttonEl.addEventListener('change',onChange);var id='#checkbox-'+nextCheckboxId++;var spanEl=createSpan({className:'labeled-checkbox'});Polymer.dom(buttonEl).setAttribute('id',id);var labelEl=document.createElement('label');Polymer.dom(labelEl).textContent=label;Polymer.dom(labelEl).setAttribute('for',id);Polymer.dom(spanEl).appendChild(buttonEl);Polymer.dom(spanEl).appendChild(labelEl);spanEl.__defineSetter__('checked',function(opt_bool){var changed=buttonEl.checked!==(!!opt_bool);if(!changed)
-return;buttonEl.checked=!!opt_bool;onChange();});spanEl.__defineGetter__('checked',function(){return buttonEl.checked;});return spanEl;}
-function createButton(label,opt_callback,opt_this){var buttonEl=document.createElement('input');buttonEl.type='button';buttonEl.value=label;function onClick(){opt_callback.call(opt_this||buttonEl);}
-if(opt_callback)
-buttonEl.addEventListener('click',onClick);return buttonEl;}
-function createTextInput(targetEl,targetElProperty,settingsKey,defaultValue){var initialValue=tr.b.Settings.get(settingsKey,defaultValue);var el=document.createElement('input');el.type='text';function onChange(e){tr.b.Settings.set(settingsKey,el.value);targetEl[targetElProperty]=el.value;}
-el.addEventListener('input',onChange);el.value=initialValue;targetEl[targetElProperty]=initialValue;return el;}
-function isElementAttachedToDocument(el){var cur=el;while(Polymer.dom(cur).parentNode)
-cur=Polymer.dom(cur).parentNode;return(cur===el.ownerDocument||cur.nodeName==='#document-fragment');}
-function asHTMLOrTextNode(value,opt_ownerDocument){if(value instanceof Node)
-return value;var ownerDocument=opt_ownerDocument||document;return ownerDocument.createTextNode(value);}
-return{createSpan:createSpan,createDiv:createDiv,createScopedStyle:createScopedStyle,createSelector:createSelector,createOptionGroup:createOptionGroup,createCheckBox:createCheckBox,createButton:createButton,createTextInput:createTextInput,isElementAttachedToDocument:isElementAttachedToDocument,asHTMLOrTextNode:asHTMLOrTextNode};});'use strict';tr.exportTo('tr.ui.b',function(){var elidedTitleCacheDict=new Map();var elidedTitleCache=new ElidedTitleCache();function ElidedTitleCache(){this.textWidthMap=new Map();}
-ElidedTitleCache.prototype={get:function(ctx,pixWidth,title,width,sliceDuration){var elidedDict=elidedTitleCacheDict.get(title);if(!elidedDict){elidedDict=new Map();elidedTitleCacheDict.set(title,elidedDict);}
-var elidedDictForPixWidth=elidedDict.get(pixWidth);if(!elidedDictForPixWidth){elidedDict.set(pixWidth,new Map());elidedDictForPixWidth=elidedDict.get(pixWidth);}
-var stringWidthPair=elidedDictForPixWidth.get(sliceDuration);if(stringWidthPair===undefined){var newtitle=title;var elided=false;while(this.labelWidthWorld(ctx,newtitle,pixWidth)>sliceDuration){if(newtitle.length*0.75<1)
-break;newtitle=newtitle.substring(0,newtitle.length*0.75);elided=true;}
-if(elided&&newtitle.length>3)
-newtitle=newtitle.substring(0,newtitle.length-3)+'...';stringWidthPair=new ElidedStringWidthPair(newtitle,this.labelWidth(ctx,newtitle));elidedDictForPixWidth.set(sliceDuration,stringWidthPair);}
-return stringWidthPair;},quickMeasureText_:function(ctx,text){var w=this.textWidthMap.get(text);if(!w){w=ctx.measureText(text).width;this.textWidthMap.set(text,w);}
-return w;},labelWidth:function(ctx,title){return this.quickMeasureText_(ctx,title)+2;},labelWidthWorld:function(ctx,title,pixWidth){return this.labelWidth(ctx,title)*pixWidth;}};function ElidedStringWidthPair(string,width){this.string=string;this.width=width;}
-return{ElidedTitleCache:ElidedTitleCache};});'use strict';tr.exportTo('tr.ui.b',function(){var ColorScheme=tr.b.ColorScheme;var colors=ColorScheme.colors;var colorsAsStrings=ColorScheme.colorsAsStrings;var numColorsPerVariant=ColorScheme.properties.numColorsPerVariant;var SelectionState=tr.model.SelectionState;var EventPresenter={getSelectableItemColorAsString:function(item){var colorId=item.colorId+this.getColorIdOffset_(item);return colorsAsStrings[colorId];},getColorIdOffset_:function(event){return event.selectionState;},getTextColor:function(event){if(event.selectionState===SelectionState.DIMMED)
-return'rgb(60,60,60)';return'rgb(0,0,0)';},getSliceColorId:function(slice){return slice.colorId+this.getColorIdOffset_(slice);},getSliceAlpha:function(slice,async){var alpha=1;if(async)
-alpha*=0.3;return alpha;},getInstantSliceColor:function(instant){var colorId=instant.colorId+this.getColorIdOffset_(instant);return colors[colorId].toStringWithAlphaOverride(1.0);},getObjectInstanceColor:function(instance){var colorId=instance.colorId+this.getColorIdOffset_(instance);return colors[colorId].toStringWithAlphaOverride(0.25);},getObjectSnapshotColor:function(snapshot){var colorId=snapshot.objectInstance.colorId+this.getColorIdOffset_(snapshot);return colors[colorId];},getCounterSeriesColor:function(colorId,selectionState,opt_alphaMultiplier){var event={selectionState:selectionState};var c=colors[colorId+this.getColorIdOffset_(event)];return c.toStringWithAlphaOverride(opt_alphaMultiplier!==undefined?opt_alphaMultiplier:1.0);},getBarSnapshotColor:function(snapshot,offset){var colorId=(snapshot.objectInstance.colorId+offset)%numColorsPerVariant;colorId+=this.getColorIdOffset_(snapshot);return colors[colorId].toStringWithAlphaOverride(1.0);}};return{EventPresenter:EventPresenter};});'use strict';tr.exportTo('tr.ui.b',function(){var elidedTitleCache=new tr.ui.b.ElidedTitleCache();var ColorScheme=tr.b.ColorScheme;var colorsAsStrings=ColorScheme.colorsAsStrings;var EventPresenter=tr.ui.b.EventPresenter;var blackColorId=ColorScheme.getColorIdForReservedName('black');var THIN_SLICE_HEIGHT=4;var SLICE_WAITING_WIDTH_DRAW_THRESHOLD=3;var SLICE_ACTIVE_WIDTH_DRAW_THRESHOLD=1;var SHOULD_ELIDE_TEXT=true;function drawLine(ctx,x1,y1,x2,y2){ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);}
-function drawTriangle(ctx,x1,y1,x2,y2,x3,y3){ctx.beginPath();ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);ctx.lineTo(x3,y3);ctx.closePath();}
-function drawArrow(ctx,x1,y1,x2,y2,arrowLength,arrowWidth){var dx=x2-x1;var dy=y2-y1;var len=Math.sqrt(dx*dx+dy*dy);var perc=(len-arrowLength)/len;var bx=x1+perc*dx;var by=y1+perc*dy;var ux=dx/len;var uy=dy/len;var ax=uy*arrowWidth;var ay=-ux*arrowWidth;ctx.beginPath();drawLine(ctx,x1,y1,x2,y2);ctx.stroke();drawTriangle(ctx,bx+ax,by+ay,x2,y2,bx-ax,by-ay);ctx.fill();}
-function drawSlices(ctx,dt,viewLWorld,viewRWorld,viewHeight,slices,async){var pixelRatio=window.devicePixelRatio||1;var pixWidth=dt.xViewVectorToWorld(1);var height=viewHeight*pixelRatio;var darkRectHeight=THIN_SLICE_HEIGHT*pixelRatio;if(height<darkRectHeight)
-darkRectHeight=0;var lightRectHeight=height-darkRectHeight;ctx.save();dt.applyTransformToCanvas(ctx);var rect=new tr.ui.b.FastRectRenderer(ctx,2*pixWidth,2*pixWidth,colorsAsStrings);rect.setYandH(0,height);var lowSlice=tr.b.findLowIndexInSortedArray(slices,function(slice){return slice.start+slice.duration;},viewLWorld);var hadTopLevel=false;for(var i=lowSlice;i<slices.length;++i){var slice=slices[i];var x=slice.start;if(x>viewRWorld)
-break;var w=pixWidth;if(slice.duration>0){w=Math.max(slice.duration,0.000001);if(w<pixWidth)
-w=pixWidth;}
-var colorId=EventPresenter.getSliceColorId(slice);var alpha=EventPresenter.getSliceAlpha(slice,async);var lightAlpha=alpha*0.70;if(async&&slice.isTopLevel){rect.setYandH(3,height-3);hadTopLevel=true;}else{rect.setYandH(0,height);}
-if(!slice.cpuDuration){rect.fillRect(x,w,colorId,alpha);continue;}
-var activeWidth=w*(slice.cpuDuration/slice.duration);var waitingWidth=w-activeWidth;if(activeWidth<SLICE_ACTIVE_WIDTH_DRAW_THRESHOLD*pixWidth){activeWidth=0;waitingWidth=w;}
-if(waitingWidth<SLICE_WAITING_WIDTH_DRAW_THRESHOLD*pixWidth){activeWidth=w;waitingWidth=0;}
-if(activeWidth>0){rect.fillRect(x,activeWidth,colorId,alpha);}
-if(waitingWidth>0){rect.setYandH(0,lightRectHeight);rect.fillRect(x+activeWidth-pixWidth,waitingWidth+pixWidth,colorId,lightAlpha);rect.setYandH(lightRectHeight,darkRectHeight);rect.fillRect(x+activeWidth-pixWidth,waitingWidth+pixWidth,colorId,alpha);rect.setYandH(0,height);}}
-rect.flush();if(async&&hadTopLevel){rect.setYandH(2,1);for(var i=lowSlice;i<slices.length;++i){var slice=slices[i];var x=slice.start;if(x>viewRWorld)
-break;if(!slice.isTopLevel)
-continue;var w=pixWidth;if(slice.duration>0){w=Math.max(slice.duration,0.000001);if(w<pixWidth)
-w=pixWidth;}
-rect.fillRect(x,w,blackColorId,0.7);}
-rect.flush();}
-ctx.restore();}
-function drawInstantSlicesAsLines(ctx,dt,viewLWorld,viewRWorld,viewHeight,slices,lineWidthInPixels){var pixelRatio=window.devicePixelRatio||1;var height=viewHeight*pixelRatio;var pixWidth=dt.xViewVectorToWorld(1);ctx.save();ctx.lineWidth=pixWidth*lineWidthInPixels*pixelRatio;dt.applyTransformToCanvas(ctx);ctx.beginPath();var lowSlice=tr.b.findLowIndexInSortedArray(slices,function(slice){return slice.start;},viewLWorld);for(var i=lowSlice;i<slices.length;++i){var slice=slices[i];var x=slice.start;if(x>viewRWorld)
-break;ctx.strokeStyle=EventPresenter.getInstantSliceColor(slice);ctx.beginPath();ctx.moveTo(x,0);ctx.lineTo(x,height);ctx.stroke();}
-ctx.restore();}
-function drawLabels(ctx,dt,viewLWorld,viewRWorld,slices,async,fontSize,yOffset){var pixelRatio=window.devicePixelRatio||1;var pixWidth=dt.xViewVectorToWorld(1);ctx.save();ctx.textAlign='center';ctx.textBaseline='top';ctx.font=(fontSize*pixelRatio)+'px sans-serif';if(async)
-ctx.font='italic '+ctx.font;var cY=yOffset*pixelRatio;var lowSlice=tr.b.findLowIndexInSortedArray(slices,function(slice){return slice.start+slice.duration;},viewLWorld);var quickDiscardThresshold=pixWidth*20;for(var i=lowSlice;i<slices.length;++i){var slice=slices[i];if(slice.start>viewRWorld)
-break;if(slice.duration<=quickDiscardThresshold)
-continue;var title=slice.title+
-(slice.didNotFinish?' (Did Not Finish)':'');var drawnTitle=title;var drawnWidth=elidedTitleCache.labelWidth(ctx,drawnTitle);var fullLabelWidth=elidedTitleCache.labelWidthWorld(ctx,drawnTitle,pixWidth);if(SHOULD_ELIDE_TEXT&&fullLabelWidth>slice.duration){var elidedValues=elidedTitleCache.get(ctx,pixWidth,drawnTitle,drawnWidth,slice.duration);drawnTitle=elidedValues.string;drawnWidth=elidedValues.width;}
-if(drawnWidth*pixWidth<slice.duration){ctx.fillStyle=EventPresenter.getTextColor(slice);var cX=dt.xWorldToView(slice.start+0.5*slice.duration);ctx.fillText(drawnTitle,cX,cY,drawnWidth);}}
-ctx.restore();}
-return{drawSlices:drawSlices,drawInstantSlicesAsLines:drawInstantSlicesAsLines,drawLabels:drawLabels,drawLine:drawLine,drawTriangle:drawTriangle,drawArrow:drawArrow,elidedTitleCache_:elidedTitleCache,THIN_SLICE_HEIGHT:THIN_SLICE_HEIGHT};});'use strict';tr.exportTo('tr.ui',function(){function TimelineDisplayTransform(opt_that){if(opt_that){this.set(opt_that);return;}
-this.scaleX=1;this.panX=0;this.panY=0;}
-TimelineDisplayTransform.prototype={set:function(that){this.scaleX=that.scaleX;this.panX=that.panX;this.panY=that.panY;},clone:function(){return new TimelineDisplayTransform(this);},equals:function(that){var eq=true;if(that===undefined||that===null)
-return false;eq&=this.panX===that.panX;eq&=this.panY===that.panY;eq&=this.scaleX===that.scaleX;return!!eq;},almostEquals:function(that){var eq=true;if(that===undefined||that===null)
-return false;eq&=Math.abs(this.panX-that.panX)<0.001;eq&=Math.abs(this.panY-that.panY)<0.001;eq&=Math.abs(this.scaleX-that.scaleX)<0.001;return!!eq;},incrementPanXInViewUnits:function(xDeltaView){this.panX+=this.xViewVectorToWorld(xDeltaView);},xPanWorldPosToViewPos:function(worldX,viewX,viewWidth){if(typeof viewX=='string'){if(viewX==='left'){viewX=0;}else if(viewX==='center'){viewX=viewWidth/2;}else if(viewX==='right'){viewX=viewWidth-1;}else{throw new Error('viewX must be left|center|right or number.');}}
-this.panX=(viewX/this.scaleX)-worldX;},xPanWorldBoundsIntoView:function(worldMin,worldMax,viewWidth){if(this.xWorldToView(worldMin)<0)
-this.xPanWorldPosToViewPos(worldMin,'left',viewWidth);else if(this.xWorldToView(worldMax)>viewWidth)
-this.xPanWorldPosToViewPos(worldMax,'right',viewWidth);},xSetWorldBounds:function(worldMin,worldMax,viewWidth){var worldWidth=worldMax-worldMin;var scaleX=viewWidth/worldWidth;var panX=-worldMin;this.setPanAndScale(panX,scaleX);},setPanAndScale:function(p,s){this.scaleX=s;this.panX=p;},xWorldToView:function(x){return(x+this.panX)*this.scaleX;},xWorldVectorToView:function(x){return x*this.scaleX;},xViewToWorld:function(x){return(x/this.scaleX)-this.panX;},xViewVectorToWorld:function(x){return x/this.scaleX;},applyTransformToCanvas:function(ctx){ctx.transform(this.scaleX,0,0,1,this.panX*this.scaleX,0);}};return{TimelineDisplayTransform:TimelineDisplayTransform};});'use strict';tr.exportTo('tr.ui',function(){function SnapIndicator(y,height){this.y=y;this.height=height;}
-function TimelineInterestRange(vp){this.viewport_=vp;this.range_=new tr.b.Range();this.leftSelected_=false;this.rightSelected_=false;this.leftSnapIndicator_=undefined;this.rightSnapIndicator_=undefined;}
-TimelineInterestRange.prototype={get isEmpty(){return this.range_.isEmpty;},reset:function(){this.range_.reset();this.leftSelected_=false;this.rightSelected_=false;this.leftSnapIndicator_=undefined;this.rightSnapIndicator_=undefined;this.viewport_.dispatchChangeEvent();},get min(){return this.range_.min;},set min(min){this.range_.min=min;this.viewport_.dispatchChangeEvent();},get max(){return this.range_.max;},set max(max){this.range_.max=max;this.viewport_.dispatchChangeEvent();},set:function(range){this.range_.reset();this.range_.addRange(range);this.viewport_.dispatchChangeEvent();},setMinAndMax:function(min,max){this.range_.min=min;this.range_.max=max;this.viewport_.dispatchChangeEvent();},get range(){return this.range_.range;},asRangeObject:function(){var range=new tr.b.Range();range.addRange(this.range_);return range;},get leftSelected(){return this.leftSelected_;},set leftSelected(leftSelected){if(this.leftSelected_==leftSelected)
-return;this.leftSelected_=leftSelected;this.viewport_.dispatchChangeEvent();},get rightSelected(){return this.rightSelected_;},set rightSelected(rightSelected){if(this.rightSelected_==rightSelected)
-return;this.rightSelected_=rightSelected;this.viewport_.dispatchChangeEvent();},get leftSnapIndicator(){return this.leftSnapIndicator_;},set leftSnapIndicator(leftSnapIndicator){this.leftSnapIndicator_=leftSnapIndicator;this.viewport_.dispatchChangeEvent();},get rightSnapIndicator(){return this.rightSnapIndicator_;},set rightSnapIndicator(rightSnapIndicator){this.rightSnapIndicator_=rightSnapIndicator;this.viewport_.dispatchChangeEvent();},draw:function(ctx,viewLWorld,viewRWorld){if(this.range_.isEmpty)
-return;var dt=this.viewport_.currentDisplayTransform;var markerLWorld=this.min;var markerRWorld=this.max;var markerLView=Math.round(dt.xWorldToView(markerLWorld));var markerRView=Math.round(dt.xWorldToView(markerRWorld));ctx.fillStyle='rgba(0, 0, 0, 0.2)';if(markerLWorld>viewLWorld){ctx.fillRect(dt.xWorldToView(viewLWorld),0,markerLView,ctx.canvas.height);}
-if(markerRWorld<viewRWorld){ctx.fillRect(markerRView,0,dt.xWorldToView(viewRWorld),ctx.canvas.height);}
-var pixelRatio=window.devicePixelRatio||1;ctx.lineWidth=Math.round(pixelRatio);if(this.range_.range>0){this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.min,this.leftSelected_);this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.max,this.rightSelected_);}else{this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.min,this.leftSelected_||this.rightSelected_);}
-ctx.lineWidth=1;},drawLine_:function(ctx,viewLWorld,viewRWorld,height,ts,selected){if(ts<viewLWorld||ts>=viewRWorld)
-return;var dt=this.viewport_.currentDisplayTransform;var viewX=Math.round(dt.xWorldToView(ts));ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();tr.ui.b.drawLine(ctx,viewX,0,viewX,height);if(selected)
-ctx.strokeStyle='rgb(255, 0, 0)';else
-ctx.strokeStyle='rgb(0, 0, 0)';ctx.stroke();ctx.restore();},drawIndicators:function(ctx,viewLWorld,viewRWorld){if(this.leftSnapIndicator_){this.drawIndicator_(ctx,viewLWorld,viewRWorld,this.range_.min,this.leftSnapIndicator_,this.leftSelected_);}
-if(this.rightSnapIndicator_){this.drawIndicator_(ctx,viewLWorld,viewRWorld,this.range_.max,this.rightSnapIndicator_,this.rightSelected_);}},drawIndicator_:function(ctx,viewLWorld,viewRWorld,xWorld,si,selected){var dt=this.viewport_.currentDisplayTransform;var viewX=Math.round(dt.xWorldToView(xWorld));ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);var pixelRatio=window.devicePixelRatio||1;var viewY=si.y*devicePixelRatio;var viewHeight=si.height*devicePixelRatio;var arrowSize=4*pixelRatio;if(selected)
-ctx.fillStyle='rgb(255, 0, 0)';else
-ctx.fillStyle='rgb(0, 0, 0)';tr.ui.b.drawTriangle(ctx,viewX-arrowSize*0.75,viewY,viewX+arrowSize*0.75,viewY,viewX,viewY+arrowSize);ctx.fill();tr.ui.b.drawTriangle(ctx,viewX-arrowSize*0.75,viewY+viewHeight,viewX+arrowSize*0.75,viewY+viewHeight,viewX,viewY+viewHeight-arrowSize);ctx.fill();ctx.restore();}};return{SnapIndicator:SnapIndicator,TimelineInterestRange:TimelineInterestRange};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ContainerToTrackMap(){this.stableIdToTrackMap_={};}
-ContainerToTrackMap.prototype={addContainer:function(container,track){if(!track)
-throw new Error('Must provide a track.');this.stableIdToTrackMap_[container.stableId]=track;},clear:function(){this.stableIdToTrackMap_={};},getTrackByStableId:function(stableId){return this.stableIdToTrackMap_[stableId];}};return{ContainerToTrackMap:ContainerToTrackMap};});'use strict';tr.exportTo('tr.ui.tracks',function(){function EventToTrackMap(){}
-EventToTrackMap.prototype={addEvent:function(event,track){if(!track)
-throw new Error('Must provide a track.');this[event.guid]=track;}};return{EventToTrackMap:EventToTrackMap};});'use strict';tr.exportTo('tr.ui',function(){var TimelineDisplayTransform=tr.ui.TimelineDisplayTransform;var TimelineInterestRange=tr.ui.TimelineInterestRange;function TimelineViewport(parentEl){this.parentEl_=parentEl;this.modelTrackContainer_=undefined;this.currentDisplayTransform_=new TimelineDisplayTransform();this.initAnimationController_();this.showFlowEvents_=false;this.highlightVSync_=false;this.highDetails_=false;this.gridTimebase_=0;this.gridStep_=1000/60;this.gridEnabled_=false;this.hasCalledSetupFunction_=false;this.onResize_=this.onResize_.bind(this);this.onModelTrackControllerScroll_=this.onModelTrackControllerScroll_.bind(this);this.checkForAttachInterval_=setInterval(this.checkForAttach_.bind(this),250);this.majorMarkPositions=[];this.interestRange_=new TimelineInterestRange(this);this.eventToTrackMap_=new tr.ui.tracks.EventToTrackMap();this.containerToTrackMap=new tr.ui.tracks.ContainerToTrackMap();}
-TimelineViewport.prototype={__proto__:tr.b.EventTarget.prototype,setWhenPossible:function(fn){this.pendingSetFunction_=fn;},get isAttachedToDocumentOrInTestMode(){if(this.parentEl_===undefined)
-return;return tr.ui.b.isElementAttachedToDocument(this.parentEl_);},onResize_:function(){this.dispatchChangeEvent();},checkForAttach_:function(){if(!this.isAttachedToDocumentOrInTestMode||this.clientWidth==0)
-return;window.addEventListener('resize',this.dispatchChangeEvent.bind(this));var curSize=this.parentEl_.clientWidth+'x'+
-this.parentEl_.clientHeight;if(this.pendingSetFunction_){this.lastSize_=curSize;try{this.pendingSetFunction_();}catch(ex){console.log('While running setWhenPossible:',ex.message?ex.message+'\n'+ex.stack:ex.stack);}
-this.pendingSetFunction_=undefined;}
-window.clearInterval(this.checkForAttachInterval_);this.checkForAttachInterval_=undefined;},dispatchChangeEvent:function(){tr.b.dispatchSimpleEvent(this,'change');},detach:function(){if(this.checkForAttachInterval_){window.clearInterval(this.checkForAttachInterval_);this.checkForAttachInterval_=undefined;}
-window.removeEventListener('resize',this.dispatchChangeEvent.bind(this));},initAnimationController_:function(){this.dtAnimationController_=new tr.ui.b.AnimationController();this.dtAnimationController_.addEventListener('didtick',function(e){this.onCurentDisplayTransformChange_(e.oldTargetState);}.bind(this));var that=this;this.dtAnimationController_.target={get panX(){return that.currentDisplayTransform_.panX;},set panX(panX){that.currentDisplayTransform_.panX=panX;},get panY(){return that.currentDisplayTransform_.panY;},set panY(panY){that.currentDisplayTransform_.panY=panY;},get scaleX(){return that.currentDisplayTransform_.scaleX;},set scaleX(scaleX){that.currentDisplayTransform_.scaleX=scaleX;},cloneAnimationState:function(){return that.currentDisplayTransform_.clone();},xPanWorldPosToViewPos:function(xWorld,xView){that.currentDisplayTransform_.xPanWorldPosToViewPos(xWorld,xView,that.modelTrackContainer_.canvas.clientWidth);}};},get currentDisplayTransform(){return this.currentDisplayTransform_;},setDisplayTransformImmediately:function(displayTransform){this.dtAnimationController_.cancelActiveAnimation();var oldDisplayTransform=this.dtAnimationController_.target.cloneAnimationState();this.currentDisplayTransform_.set(displayTransform);this.onCurentDisplayTransformChange_(oldDisplayTransform);},queueDisplayTransformAnimation:function(animation){if(!(animation instanceof tr.ui.b.Animation))
-throw new Error('animation must be instanceof tr.ui.b.Animation');this.dtAnimationController_.queueAnimation(animation);},onCurentDisplayTransformChange_:function(oldDisplayTransform){if(this.modelTrackContainer_){this.currentDisplayTransform.panY=tr.b.clamp(this.currentDisplayTransform.panY,0,this.modelTrackContainer_.scrollHeight-
-this.modelTrackContainer_.clientHeight);}
-var changed=!this.currentDisplayTransform.equals(oldDisplayTransform);var yChanged=this.currentDisplayTransform.panY!==oldDisplayTransform.panY;if(yChanged)
-this.modelTrackContainer_.scrollTop=this.currentDisplayTransform.panY;if(changed)
-this.dispatchChangeEvent();},onModelTrackControllerScroll_:function(e){if(this.dtAnimationController_.activeAnimation&&this.dtAnimationController_.activeAnimation.affectsPanY)
-this.dtAnimationController_.cancelActiveAnimation();var panY=this.modelTrackContainer_.scrollTop;this.currentDisplayTransform_.panY=panY;},get modelTrackContainer(){return this.modelTrackContainer_;},set modelTrackContainer(m){if(this.modelTrackContainer_)
-this.modelTrackContainer_.removeEventListener('scroll',this.onModelTrackControllerScroll_);this.modelTrackContainer_=m;this.modelTrackContainer_.addEventListener('scroll',this.onModelTrackControllerScroll_);},get showFlowEvents(){return this.showFlowEvents_;},set showFlowEvents(showFlowEvents){this.showFlowEvents_=showFlowEvents;this.dispatchChangeEvent();},get highlightVSync(){return this.highlightVSync_;},set highlightVSync(highlightVSync){this.highlightVSync_=highlightVSync;this.dispatchChangeEvent();},get highDetails(){return this.highDetails_;},set highDetails(highDetails){this.highDetails_=highDetails;this.dispatchChangeEvent();},get gridEnabled(){return this.gridEnabled_;},set gridEnabled(enabled){if(this.gridEnabled_==enabled)
-return;this.gridEnabled_=enabled&&true;this.dispatchChangeEvent();},get gridTimebase(){return this.gridTimebase_;},set gridTimebase(timebase){if(this.gridTimebase_==timebase)
-return;this.gridTimebase_=timebase;this.dispatchChangeEvent();},get gridStep(){return this.gridStep_;},get interestRange(){return this.interestRange_;},drawMajorMarkLines:function(ctx){ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();for(var idx in this.majorMarkPositions){var x=Math.floor(this.majorMarkPositions[idx]);tr.ui.b.drawLine(ctx,x,0,x,ctx.canvas.height);}
-ctx.strokeStyle='#ddd';ctx.stroke();ctx.restore();},drawGridLines:function(ctx,viewLWorld,viewRWorld){if(!this.gridEnabled)
-return;var dt=this.currentDisplayTransform;var x=this.gridTimebase;ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();while(x<viewRWorld){if(x>=viewLWorld){var vx=Math.floor(dt.xWorldToView(x));tr.ui.b.drawLine(ctx,vx,0,vx,ctx.canvas.height);}
-x+=this.gridStep;}
-ctx.strokeStyle='rgba(255, 0, 0, 0.25)';ctx.stroke();ctx.restore();},getShiftedSelection:function(selection,offset){var newSelection=new tr.model.EventSet();for(var event of selection){if(event instanceof tr.model.FlowEvent){if(offset>0){newSelection.push(event.endSlice);}else if(offset<0){newSelection.push(event.startSlice);}else{}
-continue;}
-var track=this.trackForEvent(event);track.addEventNearToProvidedEventToSelection(event,offset,newSelection);}
-if(newSelection.length==0)
-return undefined;return newSelection;},rebuildEventToTrackMap:function(){this.eventToTrackMap_=new tr.ui.tracks.EventToTrackMap();this.modelTrackContainer_.addEventsToTrackMap(this.eventToTrackMap_);},rebuildContainerToTrackMap:function(){this.containerToTrackMap.clear();this.modelTrackContainer_.addContainersToTrackMap(this.containerToTrackMap);},trackForEvent:function(event){return this.eventToTrackMap_[event.guid];}};return{TimelineViewport:TimelineViewport};});'use strict';tr.exportTo('tr.c',function(){var BrushingState=tr.ui.b.BrushingState;var EventSet=tr.model.EventSet;var SelectionState=tr.model.SelectionState;var Viewport=tr.ui.TimelineViewport;function BrushingStateController(timelineView){tr.b.EventTarget.call(this);this.timelineView_=timelineView;this.currentBrushingState_=new BrushingState();this.onPopState_=this.onPopState_.bind(this);this.historyEnabled_=false;this.selections_={};}
-BrushingStateController.prototype={__proto__:tr.b.EventTarget.prototype,dispatchChangeEvent_:function(){var e=new tr.b.Event('change',false,false);this.dispatchEvent(e);},get model(){if(!this.timelineView_)
-return undefined;return this.timelineView_.model;},get trackView(){if(!this.timelineView_)
-return undefined;return this.timelineView_.trackView;},get viewport(){if(!this.timelineView_)
-return undefined;if(!this.timelineView_.trackView)
-return undefined;return this.timelineView_.trackView.viewport;},get historyEnabled(){return this.historyEnabled_;},set historyEnabled(historyEnabled){this.historyEnabled_=!!historyEnabled;if(historyEnabled)
-window.addEventListener('popstate',this.onPopState_);else
-window.removeEventListener('popstate',this.onPopState_);},modelWillChange:function(){if(this.currentBrushingState_.isAppliedToModel)
-this.currentBrushingState_.unapplyFromEventSelectionStates();},modelDidChange:function(){this.selections_={};this.currentBrushingState_=new BrushingState();this.currentBrushingState_.applyToEventSelectionStates(this.model);var e=new tr.b.Event('model-changed',false,false);this.dispatchEvent(e);this.dispatchChangeEvent_();},onUserInitiatedSelectionChange_:function(){var selection=this.selection;if(this.historyEnabled){this.selections_[selection.guid]=selection;var state={selection_guid:selection.guid};window.history.pushState(state,document.title);}},onPopState_:function(e){if(e.state===null)
-return;var selection=this.selections_[e.state.selection_guid];if(selection){var newState=this.currentBrushingState_.clone();newState.selection=selection;this.currentBrushingState=newState;}
-e.stopPropagation();},get selection(){return this.currentBrushingState_.selection;},get findMatches(){return this.currentBrushingState_.findMatches;},get selectionOfInterest(){return this.currentBrushingState_.selectionOfInterest;},get currentBrushingState(){return this.currentBrushingState_;},set currentBrushingState(newBrushingState){if(newBrushingState.isAppliedToModel)
-throw new Error('Cannot apply this state, it is applied');var hasValueChanged=!this.currentBrushingState_.equals(newBrushingState);if(newBrushingState!==this.currentBrushingState_&&!hasValueChanged){if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.transferModelOwnershipToClone(newBrushingState);}
-this.currentBrushingState_=newBrushingState;return;}
-if(this.currentBrushingState_.isAppliedToModel)
-this.currentBrushingState_.unapplyFromEventSelectionStates();this.currentBrushingState_=newBrushingState;this.currentBrushingState_.applyToEventSelectionStates(this.model);this.dispatchChangeEvent_();},addAllEventsMatchingFilterToSelectionAsTask:function(filter,selection){var timelineView=this.timelineView_.trackView;if(!timelineView)
-return new tr.b.Task();return timelineView.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);},findTextChangedTo:function(allPossibleMatches){var newBrushingState=this.currentBrushingState_.clone();newBrushingState.findMatches=allPossibleMatches;this.currentBrushingState=newBrushingState;},findFocusChangedTo:function(currentFocus){var newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=currentFocus;this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},findTextCleared:function(){if(this.xNavStringMarker_!==undefined){this.model.removeAnnotation(this.xNavStringMarker_);this.xNavStringMarker_=undefined;}
-if(this.guideLineAnnotation_!==undefined){this.model.removeAnnotation(this.guideLineAnnotation_);this.guideLineAnnotation_=undefined;}
-var newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=new EventSet();newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},uiStateFromString:function(string){return tr.ui.b.UIState.fromUserFriendlyString(this.model,this.viewport,string);},navToPosition:function(uiState,showNavLine){this.trackView.navToPosition(uiState,showNavLine);},changeSelectionFromTimeline:function(selection){var newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},showScriptControlSelection:function(selection){var newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;},changeSelectionFromRequestSelectionChangeEvent:function(selection){var newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},changeAnalysisViewRelatedEvents:function(eventSet){var newBrushingState=this.currentBrushingState_.clone();newBrushingState.analysisViewRelatedEvents=eventSet;this.currentBrushingState=newBrushingState;},changeAnalysisLinkHoveredEvents:function(eventSet){var newBrushingState=this.currentBrushingState_.clone();newBrushingState.analysisLinkHoveredEvents=eventSet;this.currentBrushingState=newBrushingState;},getViewSpecificBrushingState:function(viewId){return this.currentBrushingState.viewSpecificBrushingStates[viewId];},changeViewSpecificBrushingState:function(viewId,newState){var oldStates=this.currentBrushingState_.viewSpecificBrushingStates;var newStates={};for(var id in oldStates)
-newStates[id]=oldStates[id];if(newState===undefined)
-delete newStates[viewId];else
-newStates[viewId]=newState;var newBrushingState=this.currentBrushingState_.clone();newBrushingState.viewSpecificBrushingStates=newStates;this.currentBrushingState=newBrushingState;}};BrushingStateController.getControllerForElement=function(element){if(tr.isHeadless)
-throw new Error('Unsupported');var currentElement=element;while(currentElement){if(currentElement.brushingStateController)
-return currentElement.brushingStateController;if(currentElement.parentElement){currentElement=currentElement.parentElement;continue;}
-var currentNode=currentElement;while(Polymer.dom(currentNode).parentNode)
-currentNode=Polymer.dom(currentNode).parentNode;currentElement=currentNode.host;}
-return undefined;};return{BrushingStateController:BrushingStateController};});'use strict';Polymer({is:'tr-ui-a-analysis-link',properties:{href:{type:String}},listeners:{'click':'onClicked_','mouseenter':'onMouseEnter_','mouseleave':'onMouseLeave_'},ready:function(){this.selection_=undefined;},attached:function(){this.controller_=tr.c.BrushingStateController.getControllerForElement(this);},detached:function(){this.clearHighlight_();this.controller_=undefined;},set color(c){this.style.color=c;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;Polymer.dom(this).textContent=selection.userFriendlyName;},setSelectionAndContent:function(selection,opt_textContent){this.selection_=selection;if(opt_textContent)
-Polymer.dom(this).textContent=opt_textContent;},getCurrentSelection_:function(){if(typeof this.selection_==='function')
-return this.selection_();return this.selection_;},setHighlight_:function(opt_eventSet){if(this.controller_)
-this.controller_.changeAnalysisLinkHoveredEvents(opt_eventSet);},clearHighlight_:function(opt_eventSet){this.setHighlight_();},onClicked_:function(clickEvent){if(!this.selection_)
-return;clickEvent.stopPropagation();var event=new tr.model.RequestSelectionChangeEvent();event.selection=this.getCurrentSelection_();this.dispatchEvent(event);},onMouseEnter_:function(){this.setHighlight_(this.getCurrentSelection_());},onMouseLeave_:function(){this.clearHighlight_();}});'use strict';tr.exportTo('tr.ui.analysis',function(){var AnalysisSubView={set tabLabel(label){Polymer.dom(this).setAttribute('tab-label',label);},get tabLabel(){return this.getAttribute('tab-label');},get requiresTallView(){return false;},get relatedEventsToHighlight(){return undefined;},set selection(selection){throw new Error('Not implemented!');},get selection(){throw new Error('Not implemented!');}};var allTypeInfosByEventProto=new Map();var onlyRootTypeInfosByEventProto=undefined;var eventProtoToRootTypeInfoMap=undefined;function AnalysisSubViewTypeInfo(eventConstructor,options){if(options.multi===undefined)
-throw new Error('missing field: multi');if(options.title===undefined)
-throw new Error('missing field: title');this.eventConstructor=eventConstructor;this.singleTagName=undefined;this.singleTitle=undefined;this.multiTagName=undefined;this.multiTitle=undefined;this.childrenTypeInfos_=undefined;};AnalysisSubViewTypeInfo.prototype={get childrenTypeInfos(){return this.childrenTypeInfos_;},resetchildrenTypeInfos:function(){this.childrenTypeInfos_=[];}};AnalysisSubView.register=function(tagName,eventConstructor,options){var typeInfo=allTypeInfosByEventProto.get(eventConstructor.prototype);if(typeInfo===undefined){typeInfo=new AnalysisSubViewTypeInfo(eventConstructor,options);allTypeInfosByEventProto.set(typeInfo.eventConstructor.prototype,typeInfo);onlyRootTypeInfosByEventProto=undefined;}
-if(!options.multi){if(typeInfo.singleTagName!==undefined)
-throw new Error('SingleTagName already set');typeInfo.singleTagName=tagName;typeInfo.singleTitle=options.title;}else{if(typeInfo.multiTagName!==undefined)
-throw new Error('MultiTagName already set');typeInfo.multiTagName=tagName;typeInfo.multiTitle=options.title;}
-return typeInfo;};function rebuildRootSubViewTypeInfos(){onlyRootTypeInfosByEventProto=new Map();allTypeInfosByEventProto.forEach(function(typeInfo){typeInfo.resetchildrenTypeInfos();});allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){var eventPrototype=typeInfo.eventConstructor.prototype;var lastEventProto=eventPrototype;var curEventProto=eventPrototype.__proto__;while(true){if(!allTypeInfosByEventProto.has(curEventProto)){var rootTypeInfo=allTypeInfosByEventProto.get(lastEventProto);var rootEventProto=lastEventProto;var isNew=onlyRootTypeInfosByEventProto.has(rootEventProto);onlyRootTypeInfosByEventProto.set(rootEventProto,rootTypeInfo);break;}
-lastEventProto=curEventProto;curEventProto=curEventProto.__proto__;}});allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){var eventPrototype=typeInfo.eventConstructor.prototype;var parentEventProto=eventPrototype.__proto__;var parentTypeInfo=allTypeInfosByEventProto.get(parentEventProto);if(!parentTypeInfo)
-return;parentTypeInfo.childrenTypeInfos.push(typeInfo);});eventProtoToRootTypeInfoMap=new Map();allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){var eventPrototype=typeInfo.eventConstructor.prototype;var curEventProto=eventPrototype;while(true){if(onlyRootTypeInfosByEventProto.has(curEventProto)){var rootTypeInfo=onlyRootTypeInfosByEventProto.get(curEventProto);eventProtoToRootTypeInfoMap.set(eventPrototype,rootTypeInfo);break;}
-curEventProto=curEventProto.__proto__;}});}
-function findLowestTypeInfoForEvents(thisTypeInfo,events){if(events.length===0)
-return thisTypeInfo;var event0=tr.b.getFirstElement(events);var candidateSubTypeInfo;for(var i=0;i<thisTypeInfo.childrenTypeInfos.length;i++){var childTypeInfo=thisTypeInfo.childrenTypeInfos[i];if(event0 instanceof childTypeInfo.eventConstructor){candidateSubTypeInfo=childTypeInfo;break;}}
-if(!candidateSubTypeInfo)
-return thisTypeInfo;var allMatch=true;for(var event of events){if(event instanceof candidateSubTypeInfo.eventConstructor)
-continue;allMatch=false;break;}
-if(!allMatch){return thisTypeInfo;}
-return findLowestTypeInfoForEvents(candidateSubTypeInfo,events);}
-var primaryEventProtoToTypeInfoMap=new Map();function getRootTypeInfoForEvent(event){var curProto=event.__proto__;var typeInfo=primaryEventProtoToTypeInfoMap.get(curProto);if(typeInfo)
-return typeInfo;return getRootTypeInfoForEventSlow(event);}
-function getRootTypeInfoForEventSlow(event){var typeInfo;var curProto=event.__proto__;while(true){if(curProto===Object.prototype)
-throw new Error('No view registered for '+event.toString());typeInfo=onlyRootTypeInfosByEventProto.get(curProto);if(typeInfo){primaryEventProtoToTypeInfoMap.set(event.__proto__,typeInfo);return typeInfo;}
-curProto=curProto.__proto__;}}
-AnalysisSubView.getEventsOrganizedByTypeInfo=function(selection){if(onlyRootTypeInfosByEventProto===undefined)
-rebuildRootSubViewTypeInfos();var eventsByRootTypeInfo=tr.b.groupIntoMap(selection,function(event){return getRootTypeInfoForEvent(event);},this,tr.model.EventSet);var eventsByLowestTypeInfo=new Map();eventsByRootTypeInfo.forEach(function(events,typeInfo){var lowestTypeInfo=findLowestTypeInfoForEvents(typeInfo,events);eventsByLowestTypeInfo.set(lowestTypeInfo,events);});return eventsByLowestTypeInfo;};return{AnalysisSubView:AnalysisSubView,AnalysisSubViewTypeInfo:AnalysisSubViewTypeInfo};});Polymer({is:'tr-ui-a-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView]});'use strict';tr.exportTo('tr.ui.b',function(){var TableFormat={};TableFormat.SelectionMode={NONE:0,ROW:1,CELL:2};TableFormat.HighlightStyle={DEFAULT:0,NONE:1,LIGHT:2,DARK:3};TableFormat.ColumnAlignment={LEFT:0,RIGHT:1};return{TableFormat:TableFormat};});'use strict';(function(){var RIGHT_ARROW=String.fromCharCode(0x25b6);var UNSORTED_ARROW=String.fromCharCode(0x25BF);var ASCENDING_ARROW=String.fromCharCode(0x25B4);var DESCENDING_ARROW=String.fromCharCode(0x25BE);var BASIC_INDENTATION=8;var SelectionMode=tr.ui.b.TableFormat.SelectionMode;var HighlightStyle=tr.ui.b.TableFormat.HighlightStyle;var ColumnAlignment=tr.ui.b.TableFormat.ColumnAlignment;Polymer({is:'tr-ui-b-table',created:function(){this.selectionMode_=SelectionMode.NONE;this.rowHighlightStyle_=HighlightStyle.DEFAULT;this.cellHighlightStyle_=HighlightStyle.DEFAULT;this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;this.tableColumns_=[];this.tableRows_=[];this.tableRowsInfo_=new WeakMap();this.tableFooterRows_=[];this.tableFooterRowsInfo_=new WeakMap();this.sortColumnIndex_=undefined;this.sortDescending_=false;this.columnsWithExpandButtons_=[];this.headerCells_=[];this.showHeader_=true;this.emptyValue_=undefined;this.subRowsPropertyName_='subRows';this.customizeTableRowCallback_=undefined;this.defaultExpansionStateCallback_=undefined;this.userCanModifySortOrder_=true;},ready:function(){this.$.body.addEventListener('keydown',this.onKeyDown_.bind(this),true);this.$.body.addEventListener('focus',this.onFocus_.bind(this),true);},clear:function(){this.selectionMode_=SelectionMode.NONE;this.rowHighlightStyle_=HighlightStyle.DEFAULT;this.cellHighlightStyle_=HighlightStyle.DEFAULT;this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;Polymer.dom(this).textContent='';this.tableColumns_=[];this.tableRows_=[];this.tableRowsInfo_=new WeakMap();this.tableFooterRows_=[];this.tableFooterRowsInfo_=new WeakMap();this.sortColumnIndex_=undefined;this.sortDescending_=false;this.columnsWithExpandButtons_=[];this.headerCells_=[];this.showHeader_=true;this.emptyValue_=undefined;this.subRowsPropertyName_='subRows';this.defaultExpansionStateCallback_=undefined;this.userCanModifySortOrder_=true;},set zebra(zebra){if(zebra){this.setAttribute('zebra',true);}else{this.removeAttribute('zebra');}},get zebra(){return this.getAttribute('zebra');},get showHeader(){return this.showHeader_;},set showHeader(showHeader){this.showHeader_=showHeader;this.scheduleRebuildHeaders_();},set subRowsPropertyName(name){this.subRowsPropertyName_=name;},set defaultExpansionStateCallback(cb){this.defaultExpansionStateCallback_=cb;this.scheduleRebuildBody_();},set customizeTableRowCallback(cb){this.customizeTableRowCallback_=cb;this.scheduleRebuildBody_();},get emptyValue(){return this.emptyValue_;},set emptyValue(emptyValue){var previousEmptyValue=this.emptyValue_;this.emptyValue_=emptyValue;if(this.tableRows_.length===0&&emptyValue!==previousEmptyValue)
-this.scheduleRebuildBody_();},set tableColumns(columns){var columnsWithExpandButtons=[];for(var i=0;i<columns.length;i++){if(columns[i].showExpandButtons)
-columnsWithExpandButtons.push(i);}
-if(columnsWithExpandButtons.length===0){columnsWithExpandButtons=[0];}
-for(var i=0;i<columns.length;i++){var colInfo=columns[i];if(colInfo.width===undefined)
-continue;var hasExpandButton=columnsWithExpandButtons.indexOf(i)!==-1;var w=colInfo.width;if(w){if(/\d+px/.test(w)){continue;}else if(/\d+%/.test(w)){if(hasExpandButton){throw new Error('Columns cannot be %-sized and host '+' an expand button');}}else{throw new Error('Unrecognized width string');}}}
-this.tableColumns_=columns;this.headerCells_=[];this.columnsWithExpandButtons_=columnsWithExpandButtons;this.sortColumnIndex=undefined;this.scheduleRebuildHeaders_();this.tableRows=this.tableRows_;},get tableColumns(){return this.tableColumns_;},set tableRows(rows){this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;this.tableRows_=rows;this.tableRowsInfo_=new WeakMap();this.scheduleRebuildBody_();},get tableRows(){return this.tableRows_;},set footerRows(rows){this.tableFooterRows_=rows;this.tableFooterRowsInfo_=new WeakMap();this.scheduleRebuildFooter_();},get footerRows(){return this.tableFooterRows_;},get userCanModifySortOrder(){return this.userCanModifySortOrder_;},set userCanModifySortOrder(userCanModifySortOrder){var newUserCanModifySortOrder=!!userCanModifySortOrder;if(newUserCanModifySortOrder===this.userCanModifySortOrder_)
-return
-this.userCanModifySortOrder_=newUserCanModifySortOrder;this.scheduleRebuildHeaders_();},set sortColumnIndex(number){if(number===this.sortColumnIndex_)
-return;if(number!==undefined){if(this.tableColumns_.length<=number)
-throw new Error('Column number '+number+' is out of bounds.');if(!this.tableColumns_[number].cmp)
-throw new Error('Column '+number+' does not have a comparator.');}
-this.sortColumnIndex_=number;this.updateHeaderArrows_();this.scheduleRebuildBody_();this.dispatchSortingChangedEvent_();},get sortColumnIndex(){return this.sortColumnIndex_;},set sortDescending(value){var newValue=!!value;if(newValue!==this.sortDescending_){this.sortDescending_=newValue;this.updateHeaderArrows_();this.scheduleRebuildBody_();this.dispatchSortingChangedEvent_();}},get sortDescending(){return this.sortDescending_;},updateHeaderArrows_:function(){for(var i=0;i<this.headerCells_.length;i++){var headerCell=this.headerCells_[i];var isColumnCurrentlySorted=i===this.sortColumnIndex_;if(!this.tableColumns_[i].cmp||(!this.userCanModifySortOrder_&&!isColumnCurrentlySorted)){headerCell.sideContent='';continue;}
-if(!isColumnCurrentlySorted){headerCell.sideContent=UNSORTED_ARROW;headerCell.sideContentDisabled=false;continue;}
-headerCell.sideContent=this.sortDescending_?DESCENDING_ARROW:ASCENDING_ARROW;headerCell.sideContentDisabled=!this.userCanModifySortOrder_;}},generateHeaderColumns_:function(){var selectedTableColumnIndex=this.selectedTableColumnIndex;Polymer.dom(this.$.cols).textContent='';for(var i=0;i<this.tableColumns_.length;++i){var colElement=document.createElement('col');if(i===selectedTableColumnIndex){colElement.setAttribute('selected',true);}
-Polymer.dom(this.$.cols).appendChild(colElement);}
-this.headerCells_=[];Polymer.dom(this.$.head).textContent='';if(!this.showHeader_)
-return;var tr=this.appendNewElement_(this.$.head,'tr');for(var i=0;i<this.tableColumns_.length;i++){var td=this.appendNewElement_(tr,'td');var headerCell=document.createElement('tr-ui-b-table-header-cell');headerCell.column=this.tableColumns_[i];if(this.tableColumns_[i].cmp){var isColumnCurrentlySorted=i===this.sortColumnIndex_;if(isColumnCurrentlySorted){headerCell.sideContent=this.sortDescending_?DESCENDING_ARROW:ASCENDING_ARROW;if(!this.userCanModifySortOrder_)
-headerCell.sideContentDisabled=true;}
-if(this.userCanModifySortOrder_){Polymer.dom(td).classList.add('sensitive');if(!isColumnCurrentlySorted)
-headerCell.sideContent=UNSORTED_ARROW;headerCell.tapCallback=this.createSortCallback_(i);}}
-Polymer.dom(td).appendChild(headerCell);this.headerCells_.push(headerCell);}},applySizes_:function(){if(this.tableRows_.length===0&&!this.showHeader)
-return;var rowToRemoveSizing;var rowToSize;if(this.showHeader){rowToSize=Polymer.dom(this.$.head).children[0];rowToRemoveSizing=Polymer.dom(this.$.body).children[0];}else{rowToSize=Polymer.dom(this.$.body).children[0];rowToRemoveSizing=Polymer.dom(this.$.head).children[0];}
-for(var i=0;i<this.tableColumns_.length;i++){if(rowToRemoveSizing&&Polymer.dom(rowToRemoveSizing).children[i]){var tdToRemoveSizing=Polymer.dom(rowToRemoveSizing).children[i];tdToRemoveSizing.style.minWidth='';tdToRemoveSizing.style.width='';}
-var td=Polymer.dom(rowToSize).children[i];var delta;if(this.columnsWithExpandButtons_.indexOf(i)!==-1){td.style.paddingLeft=BASIC_INDENTATION+'px';delta=BASIC_INDENTATION+'px';}else{delta=undefined;}
-function calc(base,delta){if(delta)
-return'calc('+base+' - '+delta+')';else
-return base;}
-var w=this.tableColumns_[i].width;if(w){if(/\d+px/.test(w)){td.style.minWidth=calc(w,delta);}else if(/\d+%/.test(w)){td.style.width=w;}else{throw new Error('Unrecognized width string: '+w);}}}},createSortCallback_:function(columnNumber){return function(){if(!this.userCanModifySortOrder_)
-return;var previousIndex=this.sortColumnIndex;this.sortColumnIndex=columnNumber;if(previousIndex!==columnNumber)
-this.sortDescending=false;else
-this.sortDescending=!this.sortDescending;}.bind(this);},generateTableRowNodes_:function(tableSection,userRows,rowInfoMap,indentation,lastAddedRow,parentRowInfo){if(this.sortColumnIndex_!==undefined&&tableSection===this.$.body){userRows=userRows.slice();userRows.sort(function(rowA,rowB){var c=this.tableColumns_[this.sortColumnIndex_].cmp(rowA,rowB);if(this.sortDescending_)
-c=-c;return c;}.bind(this));}
-for(var i=0;i<userRows.length;i++){var userRow=userRows[i];var rowInfo=this.getOrCreateRowInfoFor_(rowInfoMap,userRow,parentRowInfo);var htmlNode=this.getHTMLNodeForRowInfo_(tableSection,rowInfo,rowInfoMap,indentation);if(lastAddedRow===undefined){Polymer.dom(tableSection).insertBefore(htmlNode,Polymer.dom(tableSection).firstChild);}else{var nextSiblingOfLastAdded=Polymer.dom(lastAddedRow).nextSibling;Polymer.dom(tableSection).insertBefore(htmlNode,nextSiblingOfLastAdded);}
-lastAddedRow=htmlNode;if(!rowInfo.isExpanded)
-continue;lastAddedRow=this.generateTableRowNodes_(tableSection,userRow[this.subRowsPropertyName_],rowInfoMap,indentation+1,lastAddedRow,rowInfo);}
-return lastAddedRow;},getOrCreateRowInfoFor_:function(rowInfoMap,userRow,parentRowInfo){var rowInfo=undefined;if(rowInfoMap.has(userRow)){rowInfo=rowInfoMap.get(userRow);}else{rowInfo={userRow:userRow,htmlNode:undefined,parentRowInfo:parentRowInfo};rowInfoMap.set(userRow,rowInfo);}
-rowInfo.isExpanded=this.getExpandedForUserRow_(userRow);return rowInfo;},customizeTableRow_:function(userRow,trElement){if(!this.customizeTableRowCallback_)
-return;this.customizeTableRowCallback_(userRow,trElement);},getHTMLNodeForRowInfo_:function(tableSection,rowInfo,rowInfoMap,indentation){if(rowInfo.htmlNode){this.customizeTableRow_(rowInfo.userRow,rowInfo.htmlNode);return rowInfo.htmlNode;}
-var INDENT_SPACE=indentation*16;var INDENT_SPACE_NO_BUTTON=indentation*16+BASIC_INDENTATION;var trElement=this.ownerDocument.createElement('tr');rowInfo.htmlNode=trElement;rowInfo.indentation=indentation;trElement.rowInfo=rowInfo;this.customizeTableRow_(rowInfo.userRow,trElement);var isBodyRow=tableSection===this.$.body;var isExpandableRow=rowInfo.userRow[this.subRowsPropertyName_]&&rowInfo.userRow[this.subRowsPropertyName_].length;for(var i=0;i<this.tableColumns_.length;){var td=this.appendNewElement_(trElement,'td');td.columnIndex=i;var column=this.tableColumns_[i];var value=column.value(rowInfo.userRow);var colSpan=column.colSpan?column.colSpan:1;td.style.colSpan=colSpan;switch(column.align){case undefined:case ColumnAlignment.LEFT:break;case ColumnAlignment.RIGHT:td.style.textAlign='right';break;default:throw new Error('Invalid alignment of column at index='+i+': '+column.align);}
-if(this.doesColumnIndexSupportSelection(i))
-Polymer.dom(td).classList.add('supports-selection');if(this.columnsWithExpandButtons_.indexOf(i)!=-1){if(rowInfo.userRow[this.subRowsPropertyName_]&&rowInfo.userRow[this.subRowsPropertyName_].length>0){td.style.paddingLeft=INDENT_SPACE+'px';var expandButton=this.appendNewElement_(td,'expand-button');Polymer.dom(expandButton).textContent=RIGHT_ARROW;if(rowInfo.isExpanded)
-Polymer.dom(expandButton).classList.add('button-expanded');}else{td.style.paddingLeft=INDENT_SPACE_NO_BUTTON+'px';}}
-if(value!==undefined){Polymer.dom(td).appendChild(tr.ui.b.asHTMLOrTextNode(value,this.ownerDocument));}
-if(isBodyRow||isExpandableRow){td.addEventListener('click',function(i,e){e.stopPropagation();if(e.target.tagName==='EXPAND-BUTTON'){this.setExpandedForUserRow_(tableSection,rowInfoMap,rowInfo.userRow,!rowInfo.isExpanded);return;}
-if(isBodyRow&&this.selectionMode_!==SelectionMode.NONE){var shouldSelect=false;var shouldFocus=false;switch(this.selectionMode_){case SelectionMode.ROW:shouldSelect=this.selectedTableRowInfo_!==rowInfo;shouldFocus=true;break;case SelectionMode.CELL:if(this.doesColumnIndexSupportSelection(i)){shouldSelect=this.selectedTableRowInfo_!==rowInfo||this.selectedColumnIndex_!==i;shouldFocus=true;}
-break;default:throw new Error('Invalid selection mode '+
-this.selectionMode_);}
-if(shouldFocus){this.focus();}
-if(shouldSelect){this.didTableRowInfoGetClicked_(rowInfo,i);return;}}
-if(isExpandableRow){this.setExpandedForUserRow_(tableSection,rowInfoMap,rowInfo.userRow,!rowInfo.isExpanded);}}.bind(this,i));}
-td.addEventListener('mousedown',function(e){e.preventDefault();});if(isBodyRow){td.addEventListener('dblclick',function(i,e){e.stopPropagation();this.dispatchStepIntoEvent_(rowInfo,i);}.bind(this,i));}
-i+=colSpan;}
-return rowInfo.htmlNode;},removeSubNodes_:function(tableSection,rowInfo,rowInfoMap){if(rowInfo.userRow[this.subRowsPropertyName_]===undefined)
-return;for(var i=0;i<rowInfo.userRow[this.subRowsPropertyName_].length;i++){var subRow=rowInfo.userRow[this.subRowsPropertyName_][i];var subRowInfo=rowInfoMap.get(subRow);if(!subRowInfo)
-continue;var subNode=subRowInfo.htmlNode;if(subNode&&Polymer.dom(subNode).parentNode===tableSection){Polymer.dom(tableSection).removeChild(subNode);this.removeSubNodes_(tableSection,subRowInfo,rowInfoMap);}}},scheduleRebuildHeaders_:function(){this.headerDirty_=true;this.scheduleRebuild_();},scheduleRebuildBody_:function(){this.bodyDirty_=true;this.scheduleRebuild_();},scheduleRebuildFooter_:function(){this.footerDirty_=true;this.scheduleRebuild_();},scheduleRebuild_:function(){if(this.rebuildPending_)
-return;this.rebuildPending_=true;setTimeout(function(){this.rebuildPending_=false;this.rebuild();}.bind(this),0);},rebuildIfNeeded_:function(){this.rebuild();},rebuild:function(){var wasBodyOrHeaderDirty=this.headerDirty_||this.bodyDirty_;if(this.headerDirty_){this.generateHeaderColumns_();this.headerDirty_=false;}
-if(this.bodyDirty_){Polymer.dom(this.$.body).textContent='';this.generateTableRowNodes_(this.$.body,this.tableRows_,this.tableRowsInfo_,0,undefined,undefined);if(this.tableRows_.length===0&&this.emptyValue_!==undefined){var trElement=this.ownerDocument.createElement('tr');Polymer.dom(this.$.body).appendChild(trElement);Polymer.dom(trElement).classList.add('empty-row');var td=this.ownerDocument.createElement('td');Polymer.dom(trElement).appendChild(td);td.colSpan=this.tableColumns_.length;var emptyValue=this.emptyValue_;Polymer.dom(td).appendChild(tr.ui.b.asHTMLOrTextNode(emptyValue,this.ownerDocument));}
-this.bodyDirty_=false;}
-if(wasBodyOrHeaderDirty)
-this.applySizes_();if(this.footerDirty_){Polymer.dom(this.$.foot).textContent='';this.generateTableRowNodes_(this.$.foot,this.tableFooterRows_,this.tableFooterRowsInfo_,0,undefined,undefined);if(this.tableFooterRowsInfo_.length){Polymer.dom(this.$.body).classList.add('has-footer');}else{Polymer.dom(this.$.body).classList.remove('has-footer');}
-this.footerDirty_=false;}},appendNewElement_:function(parent,tagName){var element=parent.ownerDocument.createElement(tagName);Polymer.dom(parent).appendChild(element);return element;},getExpandedForTableRow:function(userRow){this.rebuildIfNeeded_();var rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo===undefined)
-throw new Error('Row has not been seen, must expand its parents');return rowInfo.isExpanded;},getExpandedForUserRow_:function(userRow){if(userRow[this.subRowsPropertyName_]===undefined)
-return false;if(userRow[this.subRowsPropertyName_].length===0)
-return false;if(userRow.isExpanded)
-return true;if(userRow.isExpanded===false)
-return false;var rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo&&rowInfo.isExpanded)
-return true;if(this.defaultExpansionStateCallback_===undefined)
-return false;var parentUserRow=undefined;if(rowInfo&&rowInfo.parentRowInfo)
-parentUserRow=rowInfo.parentRowInfo.userRow;return this.defaultExpansionStateCallback_(userRow,parentUserRow);},setExpandedForTableRow:function(userRow,expanded){this.rebuildIfNeeded_();var rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo===undefined)
-throw new Error('Row has not been seen, must expand its parents');return this.setExpandedForUserRow_(this.$.body,this.tableRowsInfo_,userRow,expanded);},setExpandedForUserRow_:function(tableSection,rowInfoMap,userRow,expanded){this.rebuildIfNeeded_();var rowInfo=rowInfoMap.get(userRow);if(rowInfo===undefined)
-throw new Error('Row has not been seen, must expand its parents');rowInfo.isExpanded=!!expanded;if(rowInfo.htmlNode===undefined)
-return;if(rowInfo.htmlNode.parentElement!==tableSection)
-return;var expandButton=Polymer.dom(rowInfo.htmlNode).querySelector('expand-button');if(rowInfo.isExpanded){Polymer.dom(expandButton).classList.add('button-expanded');var lastAddedRow=rowInfo.htmlNode;if(rowInfo.userRow[this.subRowsPropertyName_]){this.generateTableRowNodes_(tableSection,rowInfo.userRow[this.subRowsPropertyName_],rowInfoMap,rowInfo.indentation+1,lastAddedRow,rowInfo);}}else{Polymer.dom(expandButton).classList.remove('button-expanded');this.removeSubNodes_(tableSection,rowInfo,rowInfoMap);}
-this.maybeUpdateSelectedRow_();},get selectionMode(){return this.selectionMode_;},set selectionMode(selectionMode){if(!tr.b.dictionaryContainsValue(SelectionMode,selectionMode))
-throw new Error('Invalid selection mode '+selectionMode);this.rebuildIfNeeded_();this.selectionMode_=selectionMode;this.didSelectionStateChange_();},get rowHighlightStyle(){return this.rowHighlightStyle_;},set rowHighlightStyle(rowHighlightStyle){if(!tr.b.dictionaryContainsValue(HighlightStyle,rowHighlightStyle))
-throw new Error('Invalid row highlight style '+rowHighlightStyle);this.rebuildIfNeeded_();this.rowHighlightStyle_=rowHighlightStyle;this.didSelectionStateChange_();},get resolvedRowHighlightStyle(){if(this.rowHighlightStyle_!==HighlightStyle.DEFAULT)
-return this.rowHighlightStyle_;switch(this.selectionMode_){case SelectionMode.NONE:return HighlightStyle.NONE;case SelectionMode.ROW:return HighlightStyle.DARK;case SelectionMode.CELL:return HighlightStyle.LIGHT;default:throw new Error('Invalid selection mode '+selectionMode);}},get cellHighlightStyle(){return this.cellHighlightStyle_;},set cellHighlightStyle(cellHighlightStyle){if(!tr.b.dictionaryContainsValue(HighlightStyle,cellHighlightStyle))
-throw new Error('Invalid cell highlight style '+cellHighlightStyle);this.rebuildIfNeeded_();this.cellHighlightStyle_=cellHighlightStyle;this.didSelectionStateChange_();},get resolvedCellHighlightStyle(){if(this.cellHighlightStyle_!==HighlightStyle.DEFAULT)
-return this.cellHighlightStyle_;switch(this.selectionMode_){case SelectionMode.NONE:case SelectionMode.ROW:return HighlightStyle.NONE;case SelectionMode.CELL:return HighlightStyle.DARK;default:throw new Error('Invalid selection mode '+selectionMode);}},setHighlightStyle_:function(highlightAttribute,resolvedHighlightStyle){switch(resolvedHighlightStyle){case HighlightStyle.NONE:Polymer.dom(this.$.body).removeAttribute(highlightAttribute);break;case HighlightStyle.LIGHT:Polymer.dom(this.$.body).setAttribute(highlightAttribute,'light');break;case HighlightStyle.DARK:Polymer.dom(this.$.body).setAttribute(highlightAttribute,'dark');break;default:throw new Error('Invalid resolved highlight style '+
-resolvedHighlightStyle);}},didSelectionStateChange_:function(){this.setHighlightStyle_('row-highlight-style',this.resolvedRowHighlightStyle);this.setHighlightStyle_('cell-highlight-style',this.resolvedCellHighlightStyle);this.removeSelectedState_();switch(this.selectionMode_){case SelectionMode.ROW:Polymer.dom(this.$.body).setAttribute('selection-mode','row');Polymer.dom(this.$.body).setAttribute('tabindex',0);this.selectedColumnIndex_=undefined;break;case SelectionMode.CELL:Polymer.dom(this.$.body).setAttribute('selection-mode','cell');Polymer.dom(this.$.body).setAttribute('tabindex',0);if(this.selectedTableRowInfo_&&this.selectedColumnIndex_===undefined){var i=this.getFirstSelectableColumnIndex_();if(i===-1){this.selectedTableRowInfo_=undefined;}else{this.selectedColumnIndex_=i;}}
-break;case SelectionMode.NONE:Polymer.dom(this.$.body).removeAttribute('selection-mode');Polymer.dom(this.$.body).removeAttribute('tabindex');this.$.body.blur();this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;break;default:throw new Error('Invalid selection mode '+this.selectionMode_);}
-this.maybeUpdateSelectedRow_();},maybeUpdateSelectedRow_:function(){if(this.selectedTableRowInfo_===undefined)
-return;function isVisible(rowInfo){if(!rowInfo.htmlNode)
-return false;return!!rowInfo.htmlNode.parentElement;}
-if(isVisible(this.selectedTableRowInfo_)){this.updateSelectedState_();return;}
-this.removeSelectedState_();var curRowInfo=this.selectedTableRowInfo_;while(curRowInfo&&!isVisible(curRowInfo))
-curRowInfo=curRowInfo.parentRowInfo;this.selectedTableRowInfo_=curRowInfo;if(this.selectedTableRowInfo_)
-this.updateSelectedState_();else
-this.selectedColumnIndex_=undefined;},didTableRowInfoGetClicked_:function(rowInfo,columnIndex){switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.CELL:if(!this.doesColumnIndexSupportSelection(columnIndex))
-return;if(this.selectedColumnIndex!==columnIndex)
-this.selectedColumnIndex=columnIndex;case SelectionMode.ROW:if(this.selectedTableRowInfo_!==rowInfo)
-this.selectedTableRow=rowInfo.userRow;}},dispatchStepIntoEvent_:function(rowInfo,columnIndex){var e=new tr.b.Event('step-into');e.tableRow=rowInfo.userRow;e.tableColumn=this.tableColumns_[columnIndex];e.columnIndex=columnIndex;this.dispatchEvent(e);},get selectedCell(){var row=this.selectedTableRow;var columnIndex=this.selectedColumnIndex;if(row===undefined||columnIndex===undefined||this.tableColumns_.length<=columnIndex)
-return undefined;var column=this.tableColumns_[columnIndex];return{row:row,column:column,value:column.value(row)};},get selectedTableColumnIndex(){var cols=Polymer.dom(this.$.cols).children;for(var i=0;i<cols.length;++i){if(cols[i].getAttribute('selected')){return i;}}
-return undefined;},set selectedTableColumnIndex(selectedIndex){var cols=Polymer.dom(this.$.cols).children;for(var i=0;i<cols.length;++i){if(i===selectedIndex)
-cols[i].setAttribute('selected',true);else
-cols[i].removeAttribute('selected');}},get selectedTableRow(){if(!this.selectedTableRowInfo_)
-return undefined;return this.selectedTableRowInfo_.userRow;},set selectedTableRow(userRow){this.rebuildIfNeeded_();if(this.selectionMode_===SelectionMode.NONE)
-throw new Error('Selection is off.');var rowInfo;if(userRow===undefined){rowInfo=undefined;}else{rowInfo=this.tableRowsInfo_.get(userRow);if(!rowInfo)
-throw new Error('Row has not been seen, must expand its parents.');}
-var e=this.prepareToChangeSelection_();if(!rowInfo){this.selectedColumnIndex_=undefined;}else{switch(this.selectionMode_){case SelectionMode.ROW:this.selectedColumnIndex_=undefined;break;case SelectionMode.CELL:if(this.selectedColumnIndex_===undefined){var i=this.getFirstSelectableColumnIndex_();if(i===-1)
-throw new Error('Cannot find a selectable column.');this.selectedColumnIndex_=i;}
-break;default:throw new Error('Invalid selection mode '+this.selectionMode_);}}
-this.selectedTableRowInfo_=rowInfo;this.updateSelectedState_();this.dispatchEvent(e);},prepareToChangeSelection_:function(){var e=new tr.b.Event('selection-changed');var previousSelectedRowInfo=this.selectedTableRowInfo_;if(previousSelectedRowInfo)
-e.previousSelectedTableRow=previousSelectedRowInfo.userRow;else
-e.previousSelectedTableRow=undefined;this.removeSelectedState_();return e;},removeSelectedState_:function(){this.setSelectedState_(false);},updateSelectedState_:function(){this.setSelectedState_(true);},setSelectedState_:function(select){if(this.selectedTableRowInfo_===undefined)
-return;var rowNode=this.selectedTableRowInfo_.htmlNode;if(select)
-Polymer.dom(rowNode).setAttribute('selected',true);else
-Polymer.dom(rowNode).removeAttribute('selected');var cellNode=Polymer.dom(rowNode).children[this.selectedColumnIndex_];if(!cellNode)
-return;if(select)
-Polymer.dom(cellNode).setAttribute('selected',true);else
-Polymer.dom(cellNode).removeAttribute('selected');},doesColumnIndexSupportSelection:function(columnIndex){var columnInfo=this.tableColumns_[columnIndex];var scs=columnInfo.supportsCellSelection;if(scs===false)
-return false;return true;},getFirstSelectableColumnIndex_:function(){for(var i=0;i<this.tableColumns_.length;i++){if(this.doesColumnIndexSupportSelection(i))
-return i;}
-return-1;},getSelectableNodeGivenTableRowNode_:function(htmlNode){switch(this.selectionMode_){case SelectionMode.ROW:return htmlNode;case SelectionMode.CELL:return Polymer.dom(htmlNode).children[this.selectedColumnIndex_];default:throw new Error('Invalid selection mode '+this.selectionMode_);}},get selectedColumnIndex(){if(this.selectionMode_!==SelectionMode.CELL)
-return undefined;return this.selectedColumnIndex_;},set selectedColumnIndex(selectedColumnIndex){this.rebuildIfNeeded_();if(this.selectionMode_===SelectionMode.NONE)
-throw new Error('Selection is off.');if(selectedColumnIndex<0||selectedColumnIndex>=this.tableColumns_.length)
-throw new Error('Invalid index');if(!this.doesColumnIndexSupportSelection(selectedColumnIndex))
-throw new Error('Selection is not supported on this column');var e=this.prepareToChangeSelection_();if(this.selectedColumnIndex_===undefined){this.selectedTableRowInfo_=undefined;}else if(!this.selectedTableRowInfo_){if(this.tableRows_.length===0)
-throw new Error('No available row to be selected');this.selectedTableRowInfo_=this.tableRowsInfo_.get(this.tableRows_[0]);}
-this.selectedColumnIndex_=selectedColumnIndex;this.updateSelectedState_();this.dispatchEvent(e);},onKeyDown_:function(e){if(this.selectionMode_===SelectionMode.NONE)
-return;var CODE_TO_COMMAND_NAMES={13:'ENTER',32:'SPACE',37:'ARROW_LEFT',38:'ARROW_UP',39:'ARROW_RIGHT',40:'ARROW_DOWN'};var cmdName=CODE_TO_COMMAND_NAMES[e.keyCode];if(cmdName===undefined)
-return;e.stopPropagation();e.preventDefault();this.performKeyCommand_(cmdName);},onFocus_:function(e){if(this.selectionMode_===SelectionMode.NONE||this.selectedTableRowInfo_||this.tableRows_.length===0){return;}
-if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;}
-this.selectedTableRow=this.tableRows_[0];},focus:function(){this.$.body.focus();},blur:function(){this.$.body.blur();},get isFocused(){return this.root.activeElement===this.$.body;},performKeyCommand_:function(cmdName){this.rebuildIfNeeded_();switch(cmdName){case'ARROW_UP':this.selectPreviousOrFirstRowIfPossible_();return;case'ARROW_DOWN':this.selectNextOrFirstRowIfPossible_();return;case'ARROW_RIGHT':switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.ROW:this.expandRowAndSelectChildRowIfPossible_();return;case SelectionMode.CELL:this.selectNextSelectableCellToTheRightIfPossible_();return;default:throw new Error('Invalid selection mode '+this.selectionMode_);}
-case'ARROW_LEFT':switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.ROW:this.collapseRowOrSelectParentRowIfPossible_();return;case SelectionMode.CELL:this.selectNextSelectableCellToTheLeftIfPossible_();return;default:throw new Error('Invalid selection mode '+this.selectionMode_);}
-case'SPACE':this.toggleRowExpansionStateIfPossible_();return;case'ENTER':this.stepIntoSelectionIfPossible_();return;default:throw new Error('Unrecognized command '+cmdName);}},selectPreviousOrFirstRowIfPossible_:function(){var prev=this.selectedTableRowInfo_?this.selectedTableRowInfo_.htmlNode.previousElementSibling:this.$.body.firstChild;if(!prev)
-return;if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;}
-tr.ui.b.scrollIntoViewIfNeeded(prev);this.selectedTableRow=prev.rowInfo.userRow;},selectNextOrFirstRowIfPossible_:function(){this.getFirstSelectableColumnIndex_
-var next=this.selectedTableRowInfo_?this.selectedTableRowInfo_.htmlNode.nextElementSibling:this.$.body.firstChild;if(!next)
-return;if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;}
-tr.ui.b.scrollIntoViewIfNeeded(next);this.selectedTableRow=next.rowInfo.userRow;},expandRowAndSelectChildRowIfPossible_:function(){var selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo||selectedRowInfo.userRow[this.subRowsPropertyName_]===undefined||selectedRowInfo.userRow[this.subRowsPropertyName_].length===0){return;}
-if(!selectedRowInfo.isExpanded)
-this.setExpandedForTableRow(selectedRowInfo.userRow,true);this.selectedTableRow=selectedRowInfo.htmlNode.nextElementSibling.rowInfo.userRow;},collapseRowOrSelectParentRowIfPossible_:function(){var selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo)
-return;if(selectedRowInfo.isExpanded){this.setExpandedForTableRow(selectedRowInfo.userRow,false);}else{var parentRowInfo=selectedRowInfo.parentRowInfo;if(parentRowInfo)
-this.selectedTableRow=parentRowInfo.userRow;}},selectNextSelectableCellToTheRightIfPossible_:function(){if(!this.selectedTableRowInfo_||this.selectedColumnIndex_===undefined){return;}
-for(var i=this.selectedColumnIndex_+1;i<this.tableColumns_.length;i++){if(this.doesColumnIndexSupportSelection(i)){this.selectedColumnIndex=i;return;}}},selectNextSelectableCellToTheLeftIfPossible_:function(){if(!this.selectedTableRowInfo_||this.selectedColumnIndex_===undefined){return;}
-for(var i=this.selectedColumnIndex_-1;i>=0;i--){if(this.doesColumnIndexSupportSelection(i)){this.selectedColumnIndex=i;return;}}},toggleRowExpansionStateIfPossible_:function(){var selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo||selectedRowInfo.userRow[this.subRowsPropertyName_]===undefined||selectedRowInfo.userRow[this.subRowsPropertyName_].length===0){return;}
-this.setExpandedForTableRow(selectedRowInfo.userRow,!selectedRowInfo.isExpanded);},stepIntoSelectionIfPossible_:function(){if(!this.selectedTableRowInfo_)
-return;this.dispatchStepIntoEvent_(this.selectedTableRowInfo_,this.selectedColumnIndex_);},dispatchSortingChangedEvent_:function(){var e=new tr.b.Event('sort-column-changed');e.sortColumnIndex=this.sortColumnIndex_;e.sortDescending=this.sortDescending_;this.dispatchEvent(e);}});})();'use strict';var ColumnAlignment=tr.ui.b.TableFormat.ColumnAlignment;Polymer({is:'tr-ui-b-table-header-cell',created:function(){this.tapCallback_=undefined;this.cellTitle_='';this.align_=undefined;this.selectable_=false;this.column_=undefined;},ready:function(){this.addEventListener('click',this.onTap_.bind(this));},set column(column){this.column_=column;this.align=column.align;this.cellTitle=column.title;},get column(){return this.column_;},set cellTitle(value){this.cellTitle_=value;var titleNode=tr.ui.b.asHTMLOrTextNode(this.cellTitle_,this.ownerDocument);this.$.title.innerText='';Polymer.dom(this.$.title).appendChild(titleNode);},get cellTitle(){return this.cellTitle_;},set align(align){switch(align){case undefined:case ColumnAlignment.LEFT:this.style.justifyContent='';break;case ColumnAlignment.RIGHT:this.style.justifyContent='flex-end';break;default:throw new Error('Invalid alignment of column (title=\''+
-this.cellTitle_+'\'): '+align);}
-this.align_=align;},get align(){return this.align_;},clearSideContent:function(){Polymer.dom(this.$.side).textContent='';},set sideContent(content){Polymer.dom(this.$.side).textContent=content;this.$.side.style.display=content?'inline':'none';},get sideContent(){return Polymer.dom(this.$.side).textContent;},set sideContentDisabled(sideContentDisabled){this.$.side.classList.toggle('disabled',sideContentDisabled);},get sideContentDisabled(){return this.$.side.classList.contains('disabled');},set tapCallback(callback){this.style.cursor='pointer';this.tapCallback_=callback;},get tapCallback(){return this.tapCallback_;},onTap_:function(){if(this.tapCallback_)
-this.tapCallback_();}});'use strict';Polymer({is:'tr-ui-a-alert-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready:function(){this.currentSelection_=undefined;this.$.table.tableColumns=[{title:'Label',value:function(row){return row.name;},width:'150px'},{title:'Value',width:'100%',value:function(row){return row.value;}}];this.$.table.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},getRowsForSingleAlert_:function(alert){var rows=[];for(var argName in alert.args){var argView=document.createElement('tr-ui-a-generic-object-view');argView.object=alert.args[argName];rows.push({name:argName,value:argView});}
-if(alert.associatedEvents.length){alert.associatedEvents.forEach(function(event,i){var linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(event),event.title);var valueString='';if(event instanceof tr.model.TimedEvent)
-valueString='took '+event.duration.toFixed(2)+'ms';rows.push({name:linkEl,value:valueString});});}
-var descriptionEl=tr.ui.b.createDiv({textContent:alert.info.description,maxWidth:'300px'});rows.push({name:'Description',value:descriptionEl});if(alert.info.docLinks){alert.info.docLinks.forEach(function(linkObject){var linkEl=document.createElement('a');linkEl.target='_blank';linkEl.href=linkObject.href;Polymer.dom(linkEl).textContent=Polymer.dom(linkObject).textContent;rows.push({name:linkObject.label,value:linkEl});});}
-return rows;},getRowsForAlerts_:function(alerts){if(alerts.length==1){var rows=[{name:'Alert',value:tr.b.getOnlyElement(alerts).title}];var detailRows=this.getRowsForSingleAlert_(tr.b.getOnlyElement(alerts));rows.push.apply(rows,detailRows);return rows;}else{return alerts.map(function(alert){return{name:'Alert',value:alert.title,isExpanded:alerts.size<10,subRows:this.getRowsForSingleAlert_(alert)};},this);}},updateContents_:function(){if(this.currentSelection_===undefined){this.$.table.rows=[];this.$.table.rebuild();return;}
-var alerts=this.currentSelection_;this.$.table.tableRows=this.getRowsForAlerts_(alerts);this.$.table.rebuild();},get relatedEventsToHighlight(){if(!this.currentSelection_)
-return undefined;var result=new tr.model.EventSet();for(var event of this.currentSelection_)
-result.addEventSet(event.associatedEvents);return result;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-alert-sub-view',tr.model.Alert,{multi:false,title:'Alert',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-alert-sub-view',tr.model.Alert,{multi:true,title:'Alerts',});'use strict';tr.exportTo('tr.b',function(){function _iterateElementDeeplyImpl(element,cb,thisArg,includeElement){if(includeElement&&cb.call(thisArg,element))
-return true;if(element.root&&element.root!==element&&_iterateElementDeeplyImpl(element.root,cb,thisArg,false)){return true;}
-var children=Polymer.dom(element).children;for(var i=0;i<children.length;i++)
-if(_iterateElementDeeplyImpl(children[i],cb,thisArg,true))
-return true;return false;}
-function iterateElementDeeply(element,cb,thisArg){_iterateElementDeeplyImpl(element,cb,thisArg,false);}
-function findDeepElementMatchingPredicate(element,predicate){var foundElement=undefined;function matches(element){var match=predicate(element);if(!match)
-return false;foundElement=element;return true;}
-iterateElementDeeply(element,matches);return foundElement;}
-function findDeepElementsMatchingPredicate(element,predicate){var foundElements=[];function matches(element){var match=predicate(element);if(match){foundElements.push(element);}
-return false;}
-iterateElementDeeply(element,matches);return foundElements;}
-function findDeepElementMatching(element,selector){return findDeepElementMatchingPredicate(element,function(element){return element.matches(selector);});}
-function findDeepElementsMatching(element,selector){return findDeepElementsMatchingPredicate(element,function(element){return element.matches(selector);});}
-function findDeepElementWithTextContent(element,re){return findDeepElementMatchingPredicate(element,function(element){if(element.children.length!==0)
-return false;return re.test(Polymer.dom(element).textContent);});}
-return{iterateElementDeeply:iterateElementDeeply,findDeepElementMatching:findDeepElementMatching,findDeepElementsMatching:findDeepElementsMatching,findDeepElementMatchingPredicate:findDeepElementMatchingPredicate,findDeepElementsMatchingPredicate:findDeepElementsMatchingPredicate,findDeepElementWithTextContent:findDeepElementWithTextContent};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-scalar-context-controller',created:function(){this.host_=undefined;this.groupToContext_=new Map();this.dirtyGroups_=new Set();},attached:function(){if(this.host_){throw new Error('Scalar context controller is already attached to a host');}
-var host=findParentOrHost(this);if(host.__scalarContextController){throw new Error('Multiple scalar context controllers attached to this host');}
-host.__scalarContextController=this;this.host_=host;},detached:function(){if(!this.host_)
-throw new Error('Scalar context controller is not attached to a host');if(this.host_.__scalarContextController!==this){throw new Error('Scalar context controller is not attached to its host');}
-delete this.host_.__scalarContextController;this.host_=undefined;},getContext:function(group){return this.groupToContext_.get(group);},onScalarSpanAdded:function(group,span){var context=this.groupToContext_.get(group);if(context===undefined){context={spans:new Set(),range:new tr.b.Range()};this.groupToContext_.set(group,context);}
-if(context.spans.has(span))
-throw new Error('Scalar span already registered with group: '+group);context.spans.add(span);this._markGroupDirtyAndScheduleUpdate(group);},onScalarSpanRemoved:function(group,span){var context=this.groupToContext_.get(group);if(!context.spans.has(span))
-throw new Error('Scalar span not registered with group: '+group);context.spans.delete(span);this._markGroupDirtyAndScheduleUpdate(group);},onScalarSpanUpdated:function(group,span){var context=this.groupToContext_.get(group);if(!context.spans.has(span))
-throw new Error('Scalar span not registered with group: '+group);this._markGroupDirtyAndScheduleUpdate(group);},_markGroupDirtyAndScheduleUpdate:function(group){var alreadyDirty=this.dirtyGroups_.size>0;this.dirtyGroups_.add(group);if(!alreadyDirty){tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContext,this);}},updateContext:function(){var groups=this.dirtyGroups_;if(groups.size===0)
-return;this.dirtyGroups_=new Set();for(var group of groups)
-this.updateGroup_(group);var event=new tr.b.Event('context-updated');event.groups=groups;this.dispatchEvent(event);},updateGroup_:function(group){var context=this.groupToContext_.get(group);if(context.spans.size===0){this.groupToContext_.delete(group);return;}
-context.range.reset();for(var span of context.spans)
-context.range.addValue(span.value);}});function getScalarContextControllerForElement(element){while(element){if(element.__scalarContextController)
-return element.__scalarContextController;element=findParentOrHost(element);}
-return undefined;}
-function findParentOrHost(node){if(node.parentElement)
-return node.parentElement;while(Polymer.dom(node).parentNode)
-node=Polymer.dom(node).parentNode;return node.host;}
-return{getScalarContextControllerForElement:getScalarContextControllerForElement};});'use strict';tr.exportTo('tr.v.ui',function(){function createScalarSpan(value,opt_config){if(value===undefined)
-return'';var config=opt_config||{};var ownerDocument=config.ownerDocument||document;var span=ownerDocument.createElement('tr-v-ui-scalar-span');var numericValue;if(value instanceof tr.v.ScalarNumeric){span.value=value;numericValue=value.value;}else if(value instanceof tr.v.Histogram){numericValue=value.average;if(numericValue===undefined)
-return'';span.setValueAndUnit(numericValue,value.unit);}else{var unit=config.unit;if(unit===undefined){throw new Error('Unit must be provided in config when value is a number');}
-span.setValueAndUnit(value,unit);numericValue=value;}
-if(config.context)
-span.context=config.context;if(config.customContextRange)
-span.customContextRange=config.customContextRange;if(config.rightAlign)
-span.rightAlign=true;if(config.significance!==undefined)
-span.significance=config.significance;if(config.contextGroup!==undefined)
-span.contextGroup=config.contextGroup;return span;}
-return{createScalarSpan:createScalarSpan};});'use strict';Polymer({is:'tr-v-ui-scalar-span',properties:{contextGroup:{type:String,reflectToAttribute:true,observer:'contextGroupChanged_'}},created:function(){this.value_=undefined;this.unit_=undefined;this.context_=undefined;this.warning_=undefined;this.significance_=tr.b.Statistics.Significance.DONT_CARE;this.shouldSearchForContextController_=false;this.lazyContextController_=undefined;this.onContextUpdated_=this.onContextUpdated_.bind(this);this.customContextRange_=undefined;},get significance(){return this.significance_;},set significance(s){this.significance_=s;this.updateContents_();},set contentTextDecoration(deco){this.$.content.style.textDecoration=deco;},get value(){return this.value_;},set value(value){if(value instanceof tr.v.ScalarNumeric){this.value_=value.value;this.unit_=value.unit;}else{this.value_=value;}
-this.updateContents_();if(this.hasContext_(this.contextGroup))
-this.contextController_.onScalarSpanUpdated(this.contextGroup,this);else
-this.updateSparkline_();},get contextController_(){if(this.shouldSearchForContextController_){this.lazyContextController_=tr.v.ui.getScalarContextControllerForElement(this);this.shouldSearchForContextController_=false;}
-return this.lazyContextController_;},hasContext_:function(contextGroup){return!!(contextGroup&&this.contextController_);},contextGroupChanged_:function(newContextGroup,oldContextGroup){this.detachFromContextControllerIfPossible_(oldContextGroup);if(!this.attachToContextControllerIfPossible_(newContextGroup)){this.onContextUpdated_();}},attachToContextControllerIfPossible_:function(contextGroup){if(!this.hasContext_(contextGroup))
-return false;this.contextController_.addEventListener('context-updated',this.onContextUpdated_);this.contextController_.onScalarSpanAdded(contextGroup,this);return true;},detachFromContextControllerIfPossible_:function(contextGroup){if(!this.hasContext_(contextGroup))
-return;this.contextController_.removeEventListener('context-updated',this.onContextUpdated_);this.contextController_.onScalarSpanRemoved(contextGroup,this);},attached:function(){tr.b.Unit.addEventListener('display-mode-changed',this.updateContents_.bind(this));this.shouldSearchForContextController_=true;this.attachToContextControllerIfPossible_(this.contextGroup);},detached:function(){tr.b.Unit.removeEventListener('display-mode-changed',this.updateContents_.bind(this));this.detachFromContextControllerIfPossible_(this.contextGroup);this.shouldSearchForContextController_=false;this.lazyContextController_=undefined;},onContextUpdated_:function(){this.updateSparkline_();},get context(){return this.context_;},set context(context){this.context_=context;this.updateContents_();},get unit(){return this.unit_;},set unit(unit){this.unit_=unit;this.updateContents_();this.updateSparkline_();},setValueAndUnit:function(value,unit){this.value_=value;this.unit_=unit;this.updateContents_();},get customContextRange(){return this.customContextRange_;},set customContextRange(customContextRange){this.customContextRange_=customContextRange;this.updateSparkline_();},get rightAlign(){return Polymer.dom(this.$.content).classList.contains('right-align');},set rightAlign(rightAlign){if(rightAlign)
-Polymer.dom(this.$.content).classList.add('right-align');else
-Polymer.dom(this.$.content).classList.remove('right-align');},updateSparkline_:function(){Polymer.dom(this.$.sparkline).classList.remove('positive');Polymer.dom(this.$.sparkline).classList.remove('better');Polymer.dom(this.$.sparkline).classList.remove('worse');Polymer.dom(this.$.sparkline).classList.remove('same');this.$.sparkline.style.display='none';this.$.sparkline.style.left='0';this.$.sparkline.style.width='0';var range=this.customContextRange_;if(!range&&this.hasContext_(this.contextGroup)){var context=this.contextController_.getContext(this.contextGroup);if(context)
-range=context.range;}
-if(!range||range.isEmpty)
-return;var leftPoint=Math.min(range.min,0);var rightPoint=Math.max(range.max,0);var pointDistance=rightPoint-leftPoint;if(pointDistance===0){return;}
-this.$.sparkline.style.display='block';var left,width;if(this.value>0){width=Math.min(this.value,rightPoint);left=-leftPoint;Polymer.dom(this.$.sparkline).classList.add('positive');}else if(this.value<=0){width=-Math.max(this.value,leftPoint);left=(-leftPoint)-width;}
-this.$.sparkline.style.left=this.buildSparklineStyle_(left/pointDistance,false);this.$.sparkline.style.width=this.buildSparklineStyle_(width/pointDistance,true);var changeClass=this.changeClassName_;if(changeClass)
-Polymer.dom(this.$.sparkline).classList.add(changeClass);},buildSparklineStyle_:function(ratio,isWidth){var position='calc('+ratio+' * (100% - 1px)';if(isWidth)
-position+=' + 1px';position+=')';return position;},updateContents_:function(){Polymer.dom(this.$.content).textContent='';Polymer.dom(this.$.content).classList.remove('better');Polymer.dom(this.$.content).classList.remove('worse');Polymer.dom(this.$.content).classList.remove('same');this.$.insignificant.style.display='';this.$.significantly_better.style.display='';this.$.significantly_worse.style.display='';if(this.unit_===undefined)
-return;this.$.content.title='';Polymer.dom(this.$.content).textContent=this.unit_.format(this.value,this.context);this.updateDelta_();},updateDelta_:function(){var changeClass=this.changeClassName_;if(!changeClass){this.$.significance.style.display='none';return;}
-this.$.significance.style.display='inline';var title;switch(changeClass){case'better':title='improvement';break;case'worse':title='regression';break;case'same':title='no change';break;default:throw new Error('Unknown change class: '+changeClass);}
-Polymer.dom(this.$.content).classList.add(changeClass);switch(this.significance){case tr.b.Statistics.Significance.DONT_CARE:break;case tr.b.Statistics.Significance.INSIGNIFICANT:if(changeClass!=='same')
-title='insignificant '+title;this.$.insignificant.style.display='inline';changeClass='same';break;case tr.b.Statistics.Significance.SIGNIFICANT:if(changeClass==='same')
-throw new Error('How can no change be significant?');this.$['significantly_'+changeClass].style.display='inline';title='significant '+title;break;default:throw new Error('Unknown significance '+this.significance);}
-this.$.significance.title=title;this.$.content.title=title;},get changeClassName_(){if(!this.unit_||!this.unit_.isDelta)
-return undefined;switch(this.unit_.improvementDirection){case tr.b.ImprovementDirection.DONT_CARE:return undefined;case tr.b.ImprovementDirection.BIGGER_IS_BETTER:if(this.value===0)
-return'same';return this.value>0?'better':'worse';case tr.b.ImprovementDirection.SMALLER_IS_BETTER:if(this.value===0)
-return'same';return this.value<0?'better':'worse';default:throw new Error('Unknown improvement direction: '+
-this.unit_.improvementDirection);}},get warning(){return this.warning_;},set warning(warning){this.warning_=warning;var warningEl=this.$.warning;if(this.warning_){warningEl.title=warning;warningEl.style.display='inline';}else{warningEl.title='';warningEl.style.display='';}},get timestamp(){return this.value;},set timestamp(timestamp){if(timestamp instanceof tr.b.u.TimeStamp){this.value=timestamp;return;}
-this.setValueAndUnit(timestamp,tr.b.u.Units.timeStampInMs);},get duration(){return this.value;},set duration(duration){if(duration instanceof tr.b.u.TimeDuration){this.value=duration;return;}
-this.setValueAndUnit(duration,tr.b.u.Units.timeDurationInMs);}});'use strict';tr.exportTo('tr.ui.analysis',function(){var NO_BREAK_SPACE=String.fromCharCode(160);var RIGHTWARDS_ARROW=String.fromCharCode(8594);var COLLATOR=new Intl.Collator(undefined,{numeric:true});function TitleColumn(title){this.title=title;}
-TitleColumn.prototype={supportsCellSelection:false,value:function(row){var formattedTitle=this.formatTitle(row);var contexts=row.contexts;if(contexts===undefined||contexts.length===0)
-return formattedTitle;var firstContext=contexts[0];var lastContext=contexts[contexts.length-1];var changeDefinedContextCount=0;for(var i=1;i<contexts.length;i++){if((contexts[i]===undefined)!==(contexts[i-1]===undefined))
-changeDefinedContextCount++;}
-var color=undefined;var prefix=undefined;if(!firstContext&&lastContext){color='red';prefix='+++';}else if(firstContext&&!lastContext){color='green';prefix='---';}
-if(changeDefinedContextCount>1){color='purple';}
-if(color===undefined&&prefix===undefined)
-return formattedTitle;var titleEl=document.createElement('span');if(prefix!==undefined){var prefixEl=tr.ui.b.createSpan({textContent:prefix});prefixEl.style.fontFamily='monospace';Polymer.dom(titleEl).appendChild(prefixEl);Polymer.dom(titleEl).appendChild(tr.ui.b.asHTMLOrTextNode(NO_BREAK_SPACE));}
-if(color!==undefined)
-titleEl.style.color=color;Polymer.dom(titleEl).appendChild(tr.ui.b.asHTMLOrTextNode(formattedTitle));return titleEl;},formatTitle:function(row){return row.title;},cmp:function(rowA,rowB){return COLLATOR.compare(rowA.title,rowB.title);}};function MemoryColumn(name,cellPath,aggregationMode){this.name=name;this.cellPath=cellPath;this.shouldSetContextGroup=false;this.aggregationMode=aggregationMode;}
-MemoryColumn.fromRows=function(rows,config){var cellNames=new Set();function gatherCellNames(rows){rows.forEach(function(row){if(row===undefined)
-return;var fieldCells=row[config.cellKey];if(fieldCells!==undefined){tr.b.iterItems(fieldCells,function(fieldName,fieldCell){if(fieldCell===undefined||fieldCell.fields===undefined)
-return;cellNames.add(fieldName);});}
-var subRows=row.subRows;if(subRows!==undefined)
-gatherCellNames(subRows);});}
-gatherCellNames(rows);var positions=[];cellNames.forEach(function(cellName){var cellPath=[config.cellKey,cellName];var matchingRule=MemoryColumn.findMatchingRule(cellName,config.rules);var constructor=matchingRule.columnConstructor;var column=new constructor(cellName,cellPath,config.aggregationMode);column.shouldSetContextGroup=!!config.shouldSetContextGroup;positions.push({importance:matchingRule.importance,column:column});});positions.sort(function(a,b){if(a.importance===b.importance)
-return COLLATOR.compare(a.column.name,b.column.name);return b.importance-a.importance;});return positions.map(function(position){return position.column});};MemoryColumn.spaceEqually=function(columns){var columnWidth=(100/columns.length).toFixed(3)+'%';columns.forEach(function(column){column.width=columnWidth;});};MemoryColumn.findMatchingRule=function(name,rules){for(var i=0;i<rules.length;i++){var rule=rules[i];if(MemoryColumn.nameMatchesCondition(name,rule.condition))
-return rule;}
-return undefined;};MemoryColumn.nameMatchesCondition=function(name,condition){if(condition===undefined)
-return true;if(typeof(condition)==='string')
-return name===condition;return condition.test(name);};MemoryColumn.AggregationMode={DIFF:0,MAX:1};MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER='at some selected timestamps';MemoryColumn.prototype={get title(){return this.name;},cell:function(row){var cell=row;var cellPath=this.cellPath;for(var i=0;i<cellPath.length;i++){if(cell===undefined)
-return undefined;cell=cell[cellPath[i]];}
-return cell;},aggregateCells:function(row,subRows){},fields:function(row){var cell=this.cell(row);if(cell===undefined)
-return undefined;return cell.fields;},value:function(row){var fields=this.fields(row);if(this.hasAllRelevantFieldsUndefined(fields))
-return'';var contexts=row.contexts;var color=this.color(fields,contexts);var infos=[];this.addInfos(fields,contexts,infos);var formattedFields=this.formatFields(fields);if((color===undefined||formattedFields==='')&&infos.length===0)
-return formattedFields;var fieldEl=document.createElement('span');fieldEl.style.display='flex';fieldEl.style.alignItems='center';fieldEl.style.justifyContent='flex-end';Polymer.dom(fieldEl).appendChild(tr.ui.b.asHTMLOrTextNode(formattedFields));infos.forEach(function(info){var infoEl=document.createElement('span');infoEl.style.paddingLeft='4px';infoEl.style.cursor='help';infoEl.style.fontWeight='bold';Polymer.dom(infoEl).textContent=info.icon;if(info.color!==undefined)
-infoEl.style.color=info.color;infoEl.title=info.message;Polymer.dom(fieldEl).appendChild(infoEl);},this);if(color!==undefined)
-fieldEl.style.color=color;return fieldEl;},hasAllRelevantFieldsUndefined:function(fields){if(fields===undefined)
-return true;switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return fields[0]===undefined&&fields[fields.length-1]===undefined;case MemoryColumn.AggregationMode.MAX:default:return fields.every(function(field){return field===undefined;});}},color:function(fields,contexts){return undefined;},formatFields:function(fields){if(fields.length===1)
-return this.formatSingleField(fields[0]);else
-return this.formatMultipleFields(fields);},formatSingleField:function(field){throw new Error('Not implemented');},formatMultipleFields:function(fields){switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return this.formatMultipleFieldsDiff(fields[0],fields[fields.length-1]);case MemoryColumn.AggregationMode.MAX:return this.formatMultipleFieldsMax(fields);default:return tr.ui.b.createSpan({textContent:'(unsupported aggregation mode)',italic:true});}},formatMultipleFieldsDiff:function(firstField,lastField){throw new Error('Not implemented');},formatMultipleFieldsMax:function(fields){return this.formatSingleField(this.getMaxField(fields));},cmp:function(rowA,rowB){var fieldsA=this.fields(rowA);var fieldsB=this.fields(rowB);if(fieldsA!==undefined&&fieldsB!==undefined&&fieldsA.length!==fieldsB.length)
-throw new Error('Different number of fields');var undefinedA=this.hasAllRelevantFieldsUndefined(fieldsA);var undefinedB=this.hasAllRelevantFieldsUndefined(fieldsB);if(undefinedA&&undefinedB)
-return 0;if(undefinedA)
-return-1;if(undefinedB)
-return 1;return this.compareFields(fieldsA,fieldsB);},compareFields:function(fieldsA,fieldsB){if(fieldsA.length===1)
-return this.compareSingleFields(fieldsA[0],fieldsB[0]);else
-return this.compareMultipleFields(fieldsA,fieldsB);},compareSingleFields:function(fieldA,fieldB){throw new Error('Not implemented');},compareMultipleFields:function(fieldsA,fieldsB){switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return this.compareMultipleFieldsDiff(fieldsA[0],fieldsA[fieldsA.length-1],fieldsB[0],fieldsB[fieldsB.length-1]);case MemoryColumn.AggregationMode.MAX:return this.compareMultipleFieldsMax(fieldsA,fieldsB);default:return 0;}},compareMultipleFieldsDiff:function(firstFieldA,lastFieldA,firstFieldB,lastFieldB){throw new Error('Not implemented');},compareMultipleFieldsMax:function(fieldsA,fieldsB){return this.compareSingleFields(this.getMaxField(fieldsA),this.getMaxField(fieldsB));},getMaxField:function(fields){return fields.reduce(function(accumulator,field){if(field===undefined)
-return accumulator;if(accumulator===undefined||this.compareSingleFields(field,accumulator)>0){return field;}
-return accumulator;}.bind(this),undefined);},addInfos:function(fields,contexts,infos){},getImportance:function(importanceRules){if(importanceRules.length===0)
-return 0;var matchingRule=MemoryColumn.findMatchingRule(this.name,importanceRules);if(matchingRule!==undefined)
-return matchingRule.importance;var minImportance=importanceRules[0].importance;for(var i=1;i<importanceRules.length;i++)
-minImportance=Math.min(minImportance,importanceRules[i].importance);return minImportance-1;}};function StringMemoryColumn(name,cellPath,aggregationMode){MemoryColumn.call(this,name,cellPath,aggregationMode);}
-StringMemoryColumn.prototype={__proto__:MemoryColumn.prototype,formatSingleField:function(string){return string;},formatMultipleFieldsDiff:function(firstString,lastString){if(firstString===undefined){var spanEl=tr.ui.b.createSpan({color:'red'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode('+'));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(lastString)));return spanEl;}else if(lastString===undefined){var spanEl=tr.ui.b.createSpan({color:'green'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode('-'));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(firstString)));return spanEl;}else if(firstString===lastString){return this.formatSingleField(firstString);}else{var spanEl=tr.ui.b.createSpan({color:'DarkOrange'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(firstString)));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(' '+RIGHTWARDS_ARROW+' '));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(lastString)));return spanEl;}},compareSingleFields:function(stringA,stringB){return COLLATOR.compare(stringA,stringB);},compareMultipleFieldsDiff:function(firstStringA,lastStringA,firstStringB,lastStringB){if(firstStringA===undefined&&firstStringB!==undefined)
-return 1;if(firstStringA!==undefined&&firstStringB===undefined)
-return-1;if(firstStringA===undefined&&firstStringB===undefined)
-return this.compareSingleFields(lastStringA,lastStringB);if(lastStringA===undefined&&lastStringB!==undefined)
-return-1;if(lastStringA!==undefined&&lastStringB===undefined)
-return 1;if(lastStringA===undefined&&lastStringB===undefined)
-return this.compareSingleFields(firstStringB,firstStringA);var areStringsAEqual=firstStringA===lastStringA;var areStringsBEqual=firstStringB===lastStringB;if(areStringsAEqual&&areStringsBEqual)
-return 0;if(areStringsAEqual)
-return-1;if(areStringsBEqual)
-return 1;return 0;}};function NumericMemoryColumn(name,cellPath,aggregationMode){MemoryColumn.call(this,name,cellPath,aggregationMode);}
-NumericMemoryColumn.DIFF_EPSILON=0.0001;NumericMemoryColumn.prototype={__proto__:MemoryColumn.prototype,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,aggregateCells:function(row,subRows){var subRowCells=subRows.map(this.cell,this);var hasDefinedSubRowNumeric=false;var timestampCount=undefined;subRowCells.forEach(function(subRowCell){if(subRowCell===undefined)
-return;var subRowNumerics=subRowCell.fields;if(subRowNumerics===undefined)
-return;if(timestampCount===undefined)
-timestampCount=subRowNumerics.length;else if(timestampCount!==subRowNumerics.length)
-throw new Error('Sub-rows have different numbers of timestamps');if(hasDefinedSubRowNumeric)
-return;hasDefinedSubRowNumeric=subRowNumerics.some(function(numeric){return numeric!==undefined;});});if(!hasDefinedSubRowNumeric)
-return;var cellPath=this.cellPath;var rowCell=row;for(var i=0;i<cellPath.length;i++){var nextStepName=cellPath[i];var nextStep=rowCell[nextStepName];if(nextStep===undefined){if(i<cellPath.length-1)
-nextStep={};else
-nextStep=new MemoryCell(undefined);rowCell[nextStepName]=nextStep;}
-rowCell=nextStep;}
-if(rowCell.fields===undefined){rowCell.fields=new Array(timestampCount);}else if(rowCell.fields.length!==timestampCount){throw new Error('Row has a different number of timestamps than sub-rows');}
-for(var i=0;i<timestampCount;i++){if(rowCell.fields[i]!==undefined)
-continue;rowCell.fields[i]=tr.model.MemoryAllocatorDump.aggregateNumerics(subRowCells.map(function(subRowCell){if(subRowCell===undefined||subRowCell.fields===undefined)
-return undefined;return subRowCell.fields[i];}));}},formatSingleField:function(numeric){var formattingContext=this.getFormattingContext(numeric.unit);var contextGroup=this.shouldSetContextGroup?this.name:undefined;var config=undefined;if(formattingContext||contextGroup){config={context:formattingContext,contextGroup:contextGroup};}
-return tr.v.ui.createScalarSpan(numeric,config);},getFormattingContext:function(unit){return undefined;},formatMultipleFieldsDiff:function(firstNumeric,lastNumeric){return this.formatSingleField(this.getDiffField_(firstNumeric,lastNumeric));},compareSingleFields:function(numericA,numericB){return numericA.value-numericB.value;},compareMultipleFieldsDiff:function(firstNumericA,lastNumericA,firstNumericB,lastNumericB){return this.getDiffFieldValue_(firstNumericA,lastNumericA)-
-this.getDiffFieldValue_(firstNumericB,lastNumericB);},getDiffField_:function(firstNumeric,lastNumeric){var definedNumeric=firstNumeric||lastNumeric;return new tr.v.ScalarNumeric(definedNumeric.unit.correspondingDeltaUnit,this.getDiffFieldValue_(firstNumeric,lastNumeric));},getDiffFieldValue_:function(firstNumeric,lastNumeric){var firstValue=firstNumeric===undefined?0:firstNumeric.value;var lastValue=lastNumeric===undefined?0:lastNumeric.value;var diff=lastValue-firstValue;return Math.abs(diff)<NumericMemoryColumn.DIFF_EPSILON?0:diff;}};function MemoryCell(fields){this.fields=fields;}
-MemoryCell.extractFields=function(cell){if(cell===undefined)
-return undefined;return cell.fields;};var RECURSIVE_EXPANSION_MAX_VISIBLE_ROW_COUNT=10;function expandTableRowsRecursively(table){var currentLevelRows=table.tableRows;var totalVisibleRowCount=currentLevelRows.length;while(currentLevelRows.length>0){var nextLevelRowCount=0;currentLevelRows.forEach(function(currentLevelRow){var subRows=currentLevelRow.subRows;if(subRows===undefined||subRows.length===0)
-return;nextLevelRowCount+=subRows.length;});if(totalVisibleRowCount+nextLevelRowCount>RECURSIVE_EXPANSION_MAX_VISIBLE_ROW_COUNT){break;}
-var nextLevelRows=new Array(nextLevelRowCount);var nextLevelRowIndex=0;currentLevelRows.forEach(function(currentLevelRow){var subRows=currentLevelRow.subRows;if(subRows===undefined||subRows.length===0)
-return;table.setExpandedForTableRow(currentLevelRow,true);subRows.forEach(function(subRow){nextLevelRows[nextLevelRowIndex++]=subRow;});});totalVisibleRowCount+=nextLevelRowCount;currentLevelRows=nextLevelRows;}}
-function aggregateTableRowCellsRecursively(row,columns,opt_predicate){var subRows=row.subRows;if(subRows===undefined||subRows.length===0)
-return;subRows.forEach(function(subRow){aggregateTableRowCellsRecursively(subRow,columns,opt_predicate);});if(opt_predicate===undefined||opt_predicate(row.contexts))
-aggregateTableRowCells(row,subRows,columns);}
-function aggregateTableRowCells(row,subRows,columns){columns.forEach(function(column){if(!(column instanceof MemoryColumn))
-return;column.aggregateCells(row,subRows);});}
-function createCells(timeToValues,valueFieldsGetter,opt_this){opt_this=opt_this||this;var fieldNameToFields=tr.b.invertArrayOfDicts(timeToValues,valueFieldsGetter,opt_this);return tr.b.mapItems(fieldNameToFields,function(fieldName,fields){return new tr.ui.analysis.MemoryCell(fields);});}
-function createWarningInfo(message){return{message:message,icon:String.fromCharCode(9888),color:'red'};}
-function DetailsNumericMemoryColumn(name,cellPath,aggregationMode){NumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
-DetailsNumericMemoryColumn.prototype={__proto__:NumericMemoryColumn.prototype,getFormattingContext:function(unit){if(unit.baseUnit===tr.b.Unit.byName.sizeInBytes)
-return{unitPrefix:tr.b.UnitScale.Binary.KIBI};return undefined;}};return{TitleColumn:TitleColumn,MemoryColumn:MemoryColumn,StringMemoryColumn:StringMemoryColumn,NumericMemoryColumn:NumericMemoryColumn,MemoryCell:MemoryCell,expandTableRowsRecursively:expandTableRowsRecursively,aggregateTableRowCellsRecursively:aggregateTableRowCellsRecursively,aggregateTableRowCells:aggregateTableRowCells,createCells:createCells,createWarningInfo:createWarningInfo,DetailsNumericMemoryColumn:DetailsNumericMemoryColumn};});'use strict';tr.exportTo('tr.ui.analysis',function(){var LATIN_SMALL_LETTER_F_WITH_HOOK=String.fromCharCode(0x0192);var CIRCLED_LATIN_CAPITAL_LETTER_T=String.fromCharCode(0x24C9);var HeapDetailsRowDimension={ROOT:{},STACK_FRAME:{label:'Stack frame',symbol:LATIN_SMALL_LETTER_F_WITH_HOOK,color:'heap_dump_stack_frame'},OBJECT_TYPE:{label:'Object type',symbol:CIRCLED_LATIN_CAPITAL_LETTER_T,color:'heap_dump_object_type'}};function HeapDetailsTitleColumn(title){tr.ui.analysis.TitleColumn.call(this,title);}
-HeapDetailsTitleColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle:function(row){if(row.dimension===HeapDetailsRowDimension.ROOT)
-return row.title;var symbolEl=document.createElement('span');Polymer.dom(symbolEl).textContent=row.dimension.symbol;symbolEl.title=row.dimension.label;symbolEl.style.color=tr.b.ColorScheme.getColorForReservedNameAsString(row.dimension.color);symbolEl.style.paddingRight='4px';symbolEl.style.cursor='help';symbolEl.style.fontWeight='bold';var titleEl=document.createElement('span');Polymer.dom(titleEl).appendChild(symbolEl);Polymer.dom(titleEl).appendChild(document.createTextNode(row.title));return titleEl;}};function AllocationCountColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
-AllocationCountColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,getFormattingContext:function(unit){return{minimumFractionDigits:0};}};var HEAP_DETAILS_COLUMN_RULES=[{condition:'Size',importance:3,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Count',importance:2,columnConstructor:AllocationCountColumn},{condition:'Average size per allocation',importance:1,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];return{HeapDetailsRowDimension:HeapDetailsRowDimension,HeapDetailsTitleColumn:HeapDetailsTitleColumn,AllocationCountColumn:AllocationCountColumn,HEAP_DETAILS_COLUMN_RULES:HEAP_DETAILS_COLUMN_RULES};});'use strict';tr.exportTo('tr.ui.analysis',function(){var RebuildableBehavior={rebuild:function(){if(!this.paneDirty_){return;}
-this.paneDirty_=false;this.onRebuild_();},scheduleRebuild_:function(){if(this.paneDirty_)
-return;this.paneDirty_=true;tr.b.requestAnimationFrame(this.rebuild.bind(this));},onRebuild_:function(){}};return{RebuildableBehavior:RebuildableBehavior};});'use strict';Polymer({is:'tr-ui-b-tab-view',properties:{label_:{type:String,value:()=>''},selectedSubView_:Object,subViews_:{type:Array,value:()=>[]},tabsHidden:{type:Boolean,value:false,observer:'tabsHiddenChanged_'}},ready:function(){this.$.tabs.addEventListener('keydown',this.onKeyDown_.bind(this),true);this.updateFocusability_();},set label(newLabel){this.set('label_',newLabel);},get tabs(){return this.get('subViews_');},get selectedSubView(){return this.selectedSubView_;},set selectedSubView(subView){if(subView===this.selectedSubView_)
-return;if(this.selectedSubView_){Polymer.dom(this.$.subView).removeChild(this.selectedSubView_);var oldInput=this.root.getElementById(this.computeRadioId_(this.selectedSubView_));if(oldInput){oldInput.checked=false;}}
-this.set('selectedSubView_',subView);if(subView){Polymer.dom(this.$.subView).appendChild(subView);var newInput=this.root.getElementById(this.computeRadioId_(subView));if(newInput){newInput.checked=true;}}
-this.fire('selected-tab-change');},clearSubViews:function(){this.splice('subViews_',0,this.subViews_.length);this.selectedSubView=undefined;this.updateFocusability_();},addSubView:function(subView){this.push('subViews_',subView);if(!this.selectedSubView_)
-this.selectedSubView=subView;this.updateFocusability_();},resetSubViews:function(subViews){this.splice('subViews_',0,this.subViews_.length);if(subViews.length){for(var subView of subViews)
-this.push('subViews_',subView);this.selectedSubView=subViews[0];}
-else{this.selectedSubView=undefined;}
-this.updateFocusability_();},onTabChanged_:function(event){this.selectedSubView=event.model.item;},isChecked_:function(subView){return this.selectedSubView_===subView;},tabsHiddenChanged_:function(){this.updateFocusability_();},onKeyDown_:function(e){if(this.tabsHidden)
-return;var keyHandled=false;switch(e.keyCode){case 37:keyHandled=this.selectPreviousTabIfPossible();break;case 39:keyHandled=this.selectNextTabIfPossible();break;}
-if(!keyHandled)
-return;e.stopPropagation();e.preventDefault();},selectNextTabIfPossible:function(){return this.selectTabByOffsetIfPossible_(1);},selectPreviousTabIfPossible:function(){return this.selectTabByOffsetIfPossible_(-1);},selectTabByOffsetIfPossible_:function(offset){if(!this.selectedSubView_)
-return false;var currentIndex=this.subViews_.indexOf(this.selectedSubView_);var newSubView=this.tabs[currentIndex+offset];if(!newSubView)
-return false;this.selectedSubView=newSubView;return true;},shouldBeFocusable_:function(){return!this.tabsHidden&&this.subViews_.length>0;},updateFocusability_:function(){if(this.shouldBeFocusable_()){Polymer.dom(this.$.tabs).setAttribute('tabindex',0);}else{Polymer.dom(this.$.tabs).removeAttribute('tabindex');}},computeRadioId_:function(subView){return subView.tagName+'-'+subView.tabLabel.replace(/ /g,'-');}});'use strict';tr.exportTo('tr.ui.analysis',function(){function EmptyFillerColumn(){}
-EmptyFillerColumn.prototype={title:'',value:function(){return'';},};Polymer({is:'tr-ui-a-memory-dump-heap-details-breakdown-view',behaviors:[tr.ui.analysis.RebuildableBehavior],created:function(){this.displayedNode_=undefined;},ready:function(){this.scheduleRebuild_();this.root.addEventListener('keydown',this.onKeyDown_.bind(this),true);},get displayedNode(){return this.displayedNode_;},set displayedNode(node){this.displayedNode_=node;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;for(var tab of this.$.tabs.tabs)
-tab.aggregationMode=aggregationMode;},onRebuild_:function(){var previouslySelectedTab=this.$.tabs.selectedSubView;var previouslySelectedTabFocused=false;var previouslySelectedDimension=undefined;if(previouslySelectedTab){previouslySelectedTabFocused=previouslySelectedTab.isFocused;previouslySelectedDimension=previouslySelectedTab.dimension;}
-this.$.tabs.clearSubViews();if(this.displayedNode_===undefined){this.$.tabs.label='No heap node provided.';return;}
-for(var[dimension,children]of this.displayedNode_.childNodes){var tab=document.createElement('tr-ui-a-memory-dump-heap-details-breakdown-view-tab');tab.aggregationMode=this.aggregationMode_;tab.dimension=dimension;tab.nodes=children;this.$.tabs.addSubView(tab);tab.rebuild();if(dimension===previouslySelectedDimension){this.$.tabs.selectedSubView=tab;if(previouslySelectedTabFocused)
-tab.focus();}}
-if(this.$.tabs.tabs.length>0)
-this.$.tabs.label='Break selected node further by:';else
-this.$.tabs.label='Selected node cannot be broken down any further.';},onKeyDown_:function(keyEvent){if(!this.displayedNode_)
-return;var keyHandled=false;switch(keyEvent.keyCode){case 8:if(!this.displayedNode_.parentNode)
-break;var viewEvent=new tr.b.Event('enter-node');viewEvent.node=this.displayedNode_.parentNode;this.dispatchEvent(viewEvent);keyHandled=true;break;case 37:case 39:var wasFocused=this.$.tabs.selectedSubView.isFocused;keyHandled=keyEvent.keyCode===37?this.$.tabs.selectPreviousTabIfPossible():this.$.tabs.selectNextTabIfPossible();if(wasFocused&&keyHandled)
-this.$.tabs.selectedSubView.focus();}
-if(!keyHandled)
-return;keyEvent.stopPropagation();keyEvent.preventDefault();}});Polymer({is:'tr-ui-a-memory-dump-heap-details-breakdown-view-tab',behaviors:[tr.ui.analysis.RebuildableBehavior],created:function(){this.dimension_=undefined;this.nodes_=undefined;this.aggregationMode_=undefined;},ready:function(){this.$.table.addEventListener('step-into',function(tableEvent){var viewEvent=new tr.b.Event('enter-node');viewEvent.node=tableEvent.tableRow;this.dispatchEvent(viewEvent);}.bind(this));},get dimension(){return this.dimension_;},set dimension(dimension){this.dimension_=dimension;this.scheduleRebuild_();},get nodes(){return this.nodes_;},set nodes(nodes){this.nodes_=nodes;this.scheduleRebuild_();},get dimensionLabel_(){if(this.dimension_===undefined)
-return'(undefined)'
-return this.dimension_.label;},get tabLabel(){var nodeCount=0;if(this.nodes_)
-nodeCount=this.nodes_.length;return this.dimensionLabel_+' ('+nodeCount+')';},get tabIcon(){if(this.dimension_===undefined||this.dimension_===tr.ui.analysis.HeapDetailsRowDimension.ROOT){return undefined;}
-return{text:this.dimension_.symbol,style:'color: '+tr.b.ColorScheme.getColorForReservedNameAsString(this.dimension_.color)+';'};},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},focus:function(){this.$.table.focus();},blur:function(){this.$.table.blur();},get isFocused(){return this.$.table.isFocused;},onRebuild_:function(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.emptyValue='Cannot break down by '+
-this.dimensionLabel_.toLowerCase()+' any further.';var rows=this.nodes_||[];this.$.table.tableRows=rows;this.$.table.tableColumns=this.createColumns_(rows);this.$.table.rebuild();},createColumns_:function(rows){var titleColumn=new tr.ui.analysis.HeapDetailsTitleColumn(this.dimensionLabel_);titleColumn.width='200px';var numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'cells',aggregationMode:this.aggregationMode_,rules:tr.ui.analysis.HEAP_DETAILS_COLUMN_RULES,shouldSetContextGroup:true});if(numericColumns.length===0){numericColumns.push(new EmptyFillerColumn());}
-tr.ui.analysis.MemoryColumn.spaceEqually(numericColumns);var columns=[titleColumn].concat(numericColumns);return columns;}});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){var DOWNWARDS_ARROW_WITH_TIP_RIGHTWARDS=String.fromCharCode(0x21B3);function HeapDetailsPathColumn(title){tr.ui.analysis.HeapDetailsTitleColumn.call(this,title);}
-HeapDetailsPathColumn.prototype={__proto__:tr.ui.analysis.HeapDetailsTitleColumn.prototype,formatTitle:function(row){var title=tr.ui.analysis.HeapDetailsTitleColumn.prototype.formatTitle.call(this,row);if(row.dimension===tr.ui.analysis.HeapDetailsRowDimension.ROOT)
-return title;var arrowEl=document.createElement('span');Polymer.dom(arrowEl).textContent=DOWNWARDS_ARROW_WITH_TIP_RIGHTWARDS;arrowEl.style.paddingRight='2px';arrowEl.style.fontWeight='bold';arrowEl.style.color=tr.b.ColorScheme.getColorForReservedNameAsString('heap_dump_child_node_arrow');var rowEl=document.createElement('span');Polymer.dom(rowEl).appendChild(arrowEl);Polymer.dom(rowEl).appendChild(tr.ui.b.asHTMLOrTextNode(title));return rowEl;}}
-Polymer({is:'tr-ui-a-memory-dump-heap-details-path-view',behaviors:[tr.ui.analysis.RebuildableBehavior],created:function(){this.selectedNode_=undefined;this.aggregationMode_=undefined;},ready:function(){this.$.table.addEventListener('selection-changed',function(event){this.selectedNode_=this.$.table.selectedTableRow;this.didSelectedNodeChange_();}.bind(this));},didSelectedNodeChange_:function(){this.dispatchEvent(new tr.b.Event('selected-node-changed'));},get selectedNode(){return this.selectedNode_;},set selectedNode(node){this.selectedNode_=node;this.didSelectedNodeChange_();this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},onRebuild_:function(){if(this.selectedNode_===undefined){this.$.table.clear();return;}
-if(this.$.table.tableRows.includes(this.selectedNode_)){this.$.table.selectedTableRow=this.selectedNode_;return;}
-this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.userCanModifySortOrder=false;var rows=this.createRows_(this.selectedNode_);this.$.table.tableRows=rows;this.$.table.tableColumns=this.createColumns_(rows);this.$.table.selectedTableRow=rows[rows.length-1];},createRows_:function(node){var rows=[];while(node){rows.push(node);node=node.parentNode;}
-rows.reverse();return rows;},createColumns_:function(rows){var titleColumn=new HeapDetailsPathColumn('Current path');titleColumn.width='200px';var numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'cells',aggregationMode:this.aggregationMode_,rules:tr.ui.analysis.HEAP_DETAILS_COLUMN_RULES,shouldSetContextGroup:true});tr.ui.analysis.MemoryColumn.spaceEqually(numericColumns);return[titleColumn].concat(numericColumns);}});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){var StackedPaneImpl={set childPaneBuilder(childPaneBuilder){this.childPaneBuilder_=childPaneBuilder;this.dispatchEvent(new tr.b.Event('request-child-pane-change'));},get childPaneBuilder(){return this.childPaneBuilder_;},appended:function(){this.rebuild();}};var StackedPane=[tr.ui.analysis.RebuildableBehavior,StackedPaneImpl];return{StackedPane:StackedPane};});Polymer({is:'tr-ui-a-stacked-pane',behaviors:[tr.ui.analysis.StackedPane]});'use strict';Polymer({is:'tr-ui-b-drag-handle',created:function(){this.lastMousePos_=0;this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.addEventListener('mousedown',this.onMouseDown_);this.target_=undefined;this.horizontal=true;this.observer_=new WebKitMutationObserver(this.didTargetMutate_.bind(this));this.targetSizesByModeKey_={};},get modeKey_(){return this.target_.className==''?'.':this.target_.className;},get target(){return this.target_;},set target(target){this.observer_.disconnect();this.target_=target;if(!this.target_)
-return;this.observer_.observe(this.target_,{attributes:true,attributeFilter:['class']});},get horizontal(){return this.horizontal_;},set horizontal(h){this.horizontal_=h;if(this.horizontal_)
-this.className='horizontal-drag-handle';else
-this.className='vertical-drag-handle';},get vertical(){return!this.horizontal_;},set vertical(v){this.horizontal=!v;},forceMutationObserverFlush_:function(){var records=this.observer_.takeRecords();if(records.length)
-this.didTargetMutate_(records);},didTargetMutate_:function(e){var modeSize=this.targetSizesByModeKey_[this.modeKey_];if(modeSize!==undefined){this.setTargetSize_(modeSize);return;}
-this.target_.style[this.targetStyleKey_]='';},get targetStyleKey_(){return this.horizontal_?'height':'width';},getTargetSize_:function(){var targetStyleKey=this.targetStyleKey_;if(!this.target_.style[targetStyleKey]){this.target_.style[targetStyleKey]=window.getComputedStyle(this.target_)[targetStyleKey];}
-var size=parseInt(this.target_.style[targetStyleKey]);this.targetSizesByModeKey_[this.modeKey_]=size;return size;},setTargetSize_:function(s){this.target_.style[this.targetStyleKey_]=s+'px';this.targetSizesByModeKey_[this.modeKey_]=s;tr.b.dispatchSimpleEvent(this,'drag-handle-resize',true,false);},applyDelta_:function(delta){var curSize=this.getTargetSize_();var newSize;if(this.target_===this.nextElementSibling){newSize=curSize+delta;}else{newSize=curSize-delta;}
-this.setTargetSize_(newSize);},onMouseMove_:function(e){var curMousePos=this.horizontal_?e.clientY:e.clientX;var delta=this.lastMousePos_-curMousePos;this.applyDelta_(delta);this.lastMousePos_=curMousePos;e.preventDefault();return true;},onMouseDown_:function(e){if(!this.target_)
-return;this.forceMutationObserverFlush_();this.lastMousePos_=this.horizontal_?e.clientY:e.clientX;document.addEventListener('mousemove',this.onMouseMove_);document.addEventListener('mouseup',this.onMouseUp_);e.preventDefault();return true;},onMouseUp_:function(e){document.removeEventListener('mousemove',this.onMouseMove_);document.removeEventListener('mouseup',this.onMouseUp_);e.preventDefault();}});'use strict';Polymer({is:'tr-ui-b-info-bar',ready:function(){this.messageEl_=this.$.message;this.buttonsEl_=this.$.buttons;this.message='';this.visible=false;},get message(){return Polymer.dom(this.messageEl_).textContent;},set message(message){Polymer.dom(this.messageEl_).textContent=message;},get visible(){return!Polymer.dom(this).classList.contains('info-bar-hidden');},set visible(visible){if(visible)
-Polymer.dom(this).classList.remove('info-bar-hidden');else
-Polymer.dom(this).classList.add('info-bar-hidden');},removeAllButtons:function(){Polymer.dom(this.buttonsEl_).textContent='';},addButton:function(text,clickCallback){var button=document.createElement('button');Polymer.dom(button).textContent=text;button.addEventListener('click',clickCallback);Polymer.dom(this.buttonsEl_).appendChild(button);return button;}});'use strict';tr.exportTo('tr.ui.analysis',function(){var ScalarNumeric=tr.v.ScalarNumeric;var sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;var count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;var MultiDimensionalViewBuilder=tr.b.MultiDimensionalViewBuilder;var TotalState=tr.b.MultiDimensionalViewNode.TotalState;function HeapDumpTreeNode(stackFrameNodes,dimension,title,heavyView,parentNode){this.dimension=dimension;this.title=title;this.parentNode=parentNode;this.heavyView_=heavyView;this.stackFrameNodes_=stackFrameNodes;this.lazyCells_=undefined;this.lazyChildNodes_=undefined;}
-HeapDumpTreeNode.prototype={get minDisplayedTotalState_(){if(this.heavyView_){return TotalState.LOWER_BOUND;}else{return TotalState.EXACT;}},get childNodes(){if(!this.lazyChildNodes_){this.lazyChildNodes_=new Map();this.addDimensionChildNodes_(tr.ui.analysis.HeapDetailsRowDimension.STACK_FRAME,0);this.addDimensionChildNodes_(tr.ui.analysis.HeapDetailsRowDimension.OBJECT_TYPE,1);this.releaseStackFrameNodesIfPossible_();}
-return this.lazyChildNodes_;},get cells(){if(!this.lazyCells_){this.addCells_();this.releaseStackFrameNodesIfPossible_();}
-return this.lazyCells_;},releaseStackFrameNodesIfPossible_:function(){if(this.lazyCells_&&this.lazyChildNodes_){this.stackFrameNodes_=undefined;}},addDimensionChildNodes_:function(dimension,dimensionIndex){var dimensionChildTitleToStackFrameNodes=tr.b.invertArrayOfDicts(this.stackFrameNodes_,node=>this.convertStackFrameNodeDimensionToChildDict_(node,dimensionIndex));var dimensionChildNodes=[];tr.b.iterItems(dimensionChildTitleToStackFrameNodes,function(childTitle,childStackFrameNodes){dimensionChildNodes.push(new HeapDumpTreeNode(childStackFrameNodes,dimension,childTitle,this.heavyView_,this));},this);this.lazyChildNodes_.set(dimension,dimensionChildNodes);},convertStackFrameNodeDimensionToChildDict_:function(stackFrameNode,dimensionIndex){var childDict={};var displayedChildrenTotalSize=0;var displayedChildrenTotalCount=0;var hasDisplayedChildren=false;var allDisplayedChildrenHaveDisplayedCounts=true;for(var child of stackFrameNode.children[dimensionIndex].values()){if(child.values[0].totalState<this.minDisplayedTotalState_)
-continue;if(child.values[1].totalState<this.minDisplayedTotalState_)
-allDisplayedChildrenHaveDisplayedCounts=false;childDict[child.title[dimensionIndex]]=child;displayedChildrenTotalSize+=child.values[0].total;displayedChildrenTotalCount+=child.values[1].total;hasDisplayedChildren=true;}
-var nodeTotalSize=stackFrameNode.values[0].total;var nodeTotalCount=stackFrameNode.values[1].total;var hasUnclassifiedSizeOrCount=displayedChildrenTotalSize<nodeTotalSize||displayedChildrenTotalCount<nodeTotalCount;if(!this.heavyView_&&hasUnclassifiedSizeOrCount&&hasDisplayedChildren){var otherTitle=stackFrameNode.title.slice();otherTitle[dimensionIndex]='<other>';var otherNode=new tr.b.MultiDimensionalViewNode(otherTitle,2);childDict[otherTitle[dimensionIndex]]=otherNode;otherNode.values[0].total=nodeTotalSize-displayedChildrenTotalSize;otherNode.values[0].totalState=this.minDisplayedTotalState_;otherNode.values[1].total=nodeTotalCount-displayedChildrenTotalCount;otherNode.values[1].totalState=allDisplayedChildrenHaveDisplayedCounts?this.minDisplayedTotalState_:TotalState.NOT_PROVIDED;}
-return childDict;},addCells_:function(){this.lazyCells_=tr.ui.analysis.createCells(this.stackFrameNodes_,function(stackFrameNode){var size=stackFrameNode.values[0].total;var numerics={'Size':new ScalarNumeric(sizeInBytes_smallerIsBetter,size)};var countValue=stackFrameNode.values[1];if(countValue.totalState>=this.minDisplayedTotalState_){var count=countValue.total;numerics['Count']=new ScalarNumeric(count_smallerIsBetter,count);numerics['Average size per allocation']=new ScalarNumeric(sizeInBytes_smallerIsBetter,count===0?0:size/count);}
-return numerics;},this);}};Polymer({is:'tr-ui-a-memory-dump-heap-details-pane',behaviors:[tr.ui.analysis.StackedPane],created:function(){this.heapDumps_=undefined;this.viewMode_=undefined;this.aggregationMode_=undefined;},ready:function(){this.$.info_bar.message='Note: Values displayed in the heavy view '+'are lower bounds (except for the root).';Polymer.dom(this.$.view_mode_container).appendChild(tr.ui.b.createSelector(this,'viewMode','memoryDumpHeapDetailsPane.viewMode',MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW,[{label:'Top-down (Tree)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW},{label:'Top-down (Heavy)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW},{label:'Bottom-up (Heavy)',value:MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW}]));this.$.drag_handle.target=this.$.path_view;this.$.drag_handle.horizontal=false;this.$.path_view.addEventListener('selected-node-changed',(function(e){this.$.breakdown_view.displayedNode=this.$.path_view.selectedNode;}).bind(this));this.$.breakdown_view.addEventListener('enter-node',(function(e){this.$.path_view.selectedNode=e.node;}).bind(this));},set heapDumps(heapDumps){this.heapDumps_=heapDumps;this.scheduleRebuild_();},get heapDumps(){return this.heapDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.$.path_view.aggregationMode=aggregationMode;this.$.breakdown_view.aggregationMode=aggregationMode;},get aggregationMode(){return this.aggregationMode_;},set viewMode(viewMode){this.viewMode_=viewMode;this.scheduleRebuild_();},get viewMode(){return this.viewMode_;},get heavyView(){switch(this.viewMode){case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW:case MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW:return true;default:return false;}},onRebuild_:function(){if(this.heapDumps_===undefined||this.heapDumps_.length===0){this.$.info_text.style.display='block';this.$.split_view.style.display='none';this.$.view_mode_container.style.display='none';this.$.info_bar.visible=false;this.$.path_view.selectedNode=undefined;return;}
-this.$.info_text.style.display='none';this.$.split_view.style.display='flex';this.$.view_mode_container.style.display='block';this.$.info_bar.visible=this.heavyView;this.$.path_view.selectedNode=this.createHeapTree_();this.$.path_view.rebuild();this.$.breakdown_view.rebuild();},createHeapTree_:function(){var definedHeapDump=tr.b.findFirstInArray(this.heapDumps_);if(definedHeapDump===undefined)
-return undefined;var rootRowTitle=definedHeapDump.allocatorName;var stackFrameTrees=this.createStackFrameTrees_(this.heapDumps_);return new HeapDumpTreeNode(stackFrameTrees,tr.ui.analysis.HeapDetailsRowDimension.ROOT,rootRowTitle,this.heavyView);},createStackFrameTrees_:function(heapDumps){return heapDumps.map(function(heapDump){if(heapDump===undefined)
-return undefined;var builder=new MultiDimensionalViewBuilder(2,2);heapDump.entries.forEach(function(entry){var leafStackFrame=entry.leafStackFrame;var stackTracePath=leafStackFrame===undefined?[]:leafStackFrame.getUserFriendlyStackTrace().reverse();var objectTypeName=entry.objectTypeName;var objectTypeNamePath=objectTypeName===undefined?[]:[objectTypeName];builder.addPath([stackTracePath,objectTypeNamePath],[entry.size,entry.count],MultiDimensionalViewBuilder.ValueKind.TOTAL);},this);return builder.buildView(this.viewMode);},this);}});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){var SUBALLOCATION_CONTEXT=true;var MemoryAllocatorDumpInfoType=tr.model.MemoryAllocatorDumpInfoType;var PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN;var PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER;var LEFTWARDS_OPEN_HEADED_ARROW=String.fromCharCode(0x21FD);var RIGHTWARDS_OPEN_HEADED_ARROW=String.fromCharCode(0x21FE);var EN_DASH=String.fromCharCode(0x2013);var CIRCLED_LATIN_SMALL_LETTER_I=String.fromCharCode(0x24D8);function AllocatorDumpNameColumn(){tr.ui.analysis.TitleColumn.call(this,'Component');}
-AllocatorDumpNameColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle:function(row){if(!row.suballocation)
-return row.title;return tr.ui.b.createSpan({textContent:row.title,italic:true,tooltip:row.fullNames===undefined?undefined:row.fullNames.join(', ')});}};function getAndUpdateEntry(map,name,createdCallback){var entry=map.get(name);if(entry===undefined){entry={count:0};createdCallback(entry);map.set(name,entry);}
-entry.count++;return entry;}
-function SizeInfoMessageBuilder(){this.parts_=[];this.indent_=0;}
-SizeInfoMessageBuilder.prototype={append:function(){this.parts_.push.apply(this.parts_,Array.prototype.slice.apply(arguments));},appendMap:function(map,hasPluralSuffix,emptyText,itemCallback,opt_this){opt_this=opt_this||this;if(map.size===0){if(emptyText)
-this.append(emptyText);}else if(map.size===1){this.parts_.push(' ');var key=map.keys().next().value;itemCallback.call(opt_this,key,map.get(key));}else{if(hasPluralSuffix)
-this.parts_.push('s');this.parts_.push(':');this.indent_++;for(var key of map.keys()){this.parts_.push('\n',' '.repeat(3*(this.indent_-1)),' - ');itemCallback.call(opt_this,key,map.get(key));}
-this.indent_--;}},appendImportanceRange:function(range){this.append(' (importance: ');if(range.min===range.max)
-this.append(range.min);else
-this.append(range.min,EN_DASH,range.max);this.append(')');},appendSizeIfDefined:function(size){if(size!==undefined)
-this.append(' (',tr.b.Unit.byName.sizeInBytes.format(size),')');},appendSomeTimestampsQuantifier:function(){this.append(' ',tr.ui.analysis.MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER);},build:function(){return this.parts_.join('');}};function EffectiveSizeColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
-EffectiveSizeColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,addInfos:function(numerics,memoryAllocatorDumps,infos){if(memoryAllocatorDumps===undefined)
-return;var ownerNameToEntry=new Map();var ownedNameToEntry=new Map();for(var i=0;i<numerics.length;i++){if(numerics[i]===undefined)
-continue;var dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT)
-return;dump.ownedBy.forEach(function(ownerLink){var ownerDump=ownerLink.source;this.getAndUpdateOwnershipEntry_(ownerNameToEntry,ownerDump,ownerLink);},this);var ownedLink=dump.owns;if(ownedLink!==undefined){var ownedDump=ownedLink.target;var ownedEntry=this.getAndUpdateOwnershipEntry_(ownedNameToEntry,ownedDump,ownedLink,true);var sharerNameToEntry=ownedEntry.sharerNameToEntry;ownedDump.ownedBy.forEach(function(sharerLink){var sharerDump=sharerLink.source;if(sharerDump===dump)
-return;this.getAndUpdateOwnershipEntry_(sharerNameToEntry,sharerDump,sharerLink);},this);}}
-if(ownerNameToEntry.size>0){var messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('shared by');messageBuilder.appendMap(ownerNameToEntry,false,undefined,function(ownerName,ownerEntry){messageBuilder.append(ownerName);if(ownerEntry.count<numerics.length)
-messageBuilder.appendSomeTimestampsQuantifier();messageBuilder.appendImportanceRange(ownerEntry.importanceRange);},this);infos.push({message:messageBuilder.build(),icon:LEFTWARDS_OPEN_HEADED_ARROW,color:'green'});}
-if(ownedNameToEntry.size>0){var messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('shares');messageBuilder.appendMap(ownedNameToEntry,false,undefined,function(ownedName,ownedEntry){messageBuilder.append(ownedName);var ownedCount=ownedEntry.count;if(ownedCount<numerics.length)
-messageBuilder.appendSomeTimestampsQuantifier();messageBuilder.appendImportanceRange(ownedEntry.importanceRange);messageBuilder.append(' with');messageBuilder.appendMap(ownedEntry.sharerNameToEntry,false,' no other dumps',function(sharerName,sharerEntry){messageBuilder.append(sharerName);if(sharerEntry.count<ownedCount)
-messageBuilder.appendSomeTimestampsQuantifier();messageBuilder.appendImportanceRange(sharerEntry.importanceRange);},this);},this);infos.push({message:messageBuilder.build(),icon:RIGHTWARDS_OPEN_HEADED_ARROW,color:'green'});}},getAndUpdateOwnershipEntry_:function(map,dump,link,opt_withSharerNameToEntry){var entry=getAndUpdateEntry(map,dump.quantifiedName,function(newEntry){newEntry.importanceRange=new tr.b.Range();if(opt_withSharerNameToEntry)
-newEntry.sharerNameToEntry=new Map();});entry.importanceRange.addValue(link.importance||0);return entry;}};function SizeColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
-SizeColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,addInfos:function(numerics,memoryAllocatorDumps,infos){if(memoryAllocatorDumps===undefined)
-return;this.addOverlapInfo_(numerics,memoryAllocatorDumps,infos);this.addProvidedSizeWarningInfos_(numerics,memoryAllocatorDumps,infos);},addOverlapInfo_:function(numerics,memoryAllocatorDumps,infos){var siblingNameToEntry=new Map();for(var i=0;i<numerics.length;i++){if(numerics[i]===undefined)
-continue;var dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT)
-return;var ownedBySiblingSizes=dump.ownedBySiblingSizes;for(var siblingDump of ownedBySiblingSizes.keys()){var siblingName=siblingDump.name;getAndUpdateEntry(siblingNameToEntry,siblingName,function(newEntry){if(numerics.length===1)
-newEntry.size=ownedBySiblingSizes.get(siblingDump);});}}
-if(siblingNameToEntry.size>0){var messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('overlaps with its sibling');messageBuilder.appendMap(siblingNameToEntry,true,undefined,function(siblingName,siblingEntry){messageBuilder.append('\'',siblingName,'\'');messageBuilder.appendSizeIfDefined(siblingEntry.size);if(siblingEntry.count<numerics.length)
-messageBuilder.appendSomeTimestampsQuantifier();},this);infos.push({message:messageBuilder.build(),icon:CIRCLED_LATIN_SMALL_LETTER_I,color:'blue'});}},addProvidedSizeWarningInfos_:function(numerics,memoryAllocatorDumps,infos){var infoTypeToEntry=new Map();for(var i=0;i<numerics.length;i++){if(numerics[i]===undefined)
-continue;var dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT)
-return;dump.infos.forEach(function(dumpInfo){getAndUpdateEntry(infoTypeToEntry,dumpInfo.type,function(newEntry){if(numerics.length===1){newEntry.providedSize=dumpInfo.providedSize;newEntry.dependencySize=dumpInfo.dependencySize;}});});}
-for(var infoType of infoTypeToEntry.keys()){var entry=infoTypeToEntry.get(infoType);var messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('provided size');messageBuilder.appendSizeIfDefined(entry.providedSize);var dependencyName;switch(infoType){case PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN:dependencyName='the aggregated size of the children';break;case PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER:dependencyName='the size of the largest owner';break;default:dependencyName='an unknown dependency';break;}
-messageBuilder.append(' was less than ',dependencyName);messageBuilder.appendSizeIfDefined(entry.dependencySize);if(entry.count<numerics.length)
-messageBuilder.appendSomeTimestampsQuantifier();infos.push(tr.ui.analysis.createWarningInfo(messageBuilder.build()));}}};var NUMERIC_COLUMN_RULES=[{condition:tr.model.MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME,importance:10,columnConstructor:EffectiveSizeColumn},{condition:tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME,importance:9,columnConstructor:SizeColumn},{condition:'page_size',importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:/size/,importance:5,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];var DIAGNOSTIC_COLUMN_RULES=[{importance:0,columnConstructor:tr.ui.analysis.StringMemoryColumn}];Polymer({is:'tr-ui-a-memory-dump-allocator-details-pane',behaviors:[tr.ui.analysis.StackedPane],created:function(){this.memoryAllocatorDumps_=undefined;this.heapDumps_=undefined;this.aggregationMode_=undefined;},ready:function(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},set memoryAllocatorDumps(memoryAllocatorDumps){this.memoryAllocatorDumps_=memoryAllocatorDumps;this.scheduleRebuild_();},get memoryAllocatorDumps(){return this.memoryAllocatorDumps_;},set heapDumps(heapDumps){this.heapDumps_=heapDumps;this.scheduleRebuild_();},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_:function(){if(this.memoryAllocatorDumps_===undefined||this.memoryAllocatorDumps_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();this.childPaneBuilder=undefined;return;}
-this.$.info_text.style.display='none';this.$.table.style.display='block';var rows=this.createRows_();var columns=this.createColumns_(rows);rows.forEach(function(rootRow){tr.ui.analysis.aggregateTableRowCellsRecursively(rootRow,columns,function(contexts){return contexts!==undefined&&contexts.some(function(context){return context===SUBALLOCATION_CONTEXT;});});});this.$.table.tableRows=rows;this.$.table.tableColumns=columns;this.$.table.rebuild();tr.ui.analysis.expandTableRowsRecursively(this.$.table);if(this.heapDumps_===undefined){this.childPaneBuilder=undefined;}else{this.childPaneBuilder=function(){var pane=document.createElement('tr-ui-a-memory-dump-heap-details-pane');pane.heapDumps=this.heapDumps_;pane.aggregationMode=this.aggregationMode_;return pane;}.bind(this);}},createRows_:function(){return[this.createAllocatorRowRecursively_(this.memoryAllocatorDumps_)];},createAllocatorRowRecursively_:function(dumps){var definedDump=tr.b.findFirstInArray(dumps);var title=definedDump.name;var fullName=definedDump.fullName;var numericCells=tr.ui.analysis.createCells(dumps,function(dump){return dump.numerics;});var diagnosticCells=tr.ui.analysis.createCells(dumps,function(dump){return dump.diagnostics;});var suballocatedBy=undefined;if(title.startsWith('__')){for(var i=0;i<dumps.length;i++){var dump=dumps[i];if(dump===undefined||dump.ownedBy.length===0){continue;}
-var ownerDump=dump.ownedBy[0].source;if(dump.ownedBy.length>1||dump.children.length>0||ownerDump.containerMemoryDump!==dump.containerMemoryDump){suballocatedBy=undefined;break;}
-if(suballocatedBy===undefined){suballocatedBy=ownerDump.fullName;}else if(suballocatedBy!==ownerDump.fullName){suballocatedBy=undefined;break;}}}
-var row={title:title,fullNames:[fullName],contexts:dumps,numericCells:numericCells,diagnosticCells:diagnosticCells,suballocatedBy:suballocatedBy};var childDumpNameToDumps=tr.b.invertArrayOfDicts(dumps,function(dump){return tr.b.arrayToDict(dump.children,function(child){return child.name;});});var subRows=[];var suballocationClassificationRootNode=undefined;tr.b.iterItems(childDumpNameToDumps,function(childName,childDumps){var childRow=this.createAllocatorRowRecursively_(childDumps);if(childRow.suballocatedBy===undefined){subRows.push(childRow);}else{suballocationClassificationRootNode=this.classifySuballocationRow_(childRow,suballocationClassificationRootNode);}},this);if(suballocationClassificationRootNode!==undefined){var suballocationRow=this.createSuballocationRowRecursively_('suballocations',suballocationClassificationRootNode);subRows.push(suballocationRow);}
-if(subRows.length>0)
-row.subRows=subRows;return row;},classifySuballocationRow_:function(suballocationRow,rootNode){if(rootNode===undefined){rootNode={children:{},row:undefined};}
-var suballocationLevels=suballocationRow.suballocatedBy.split('/');var currentNode=rootNode;for(var i=0;i<suballocationLevels.length;i++){var suballocationLevel=suballocationLevels[i];var nextNode=currentNode.children[suballocationLevel];if(nextNode===undefined){currentNode.children[suballocationLevel]=nextNode={children:{},row:undefined};}
-var currentNode=nextNode;}
-var existingRow=currentNode.row;if(existingRow!==undefined){for(var i=0;i<suballocationRow.contexts.length;i++){var newContext=suballocationRow.contexts[i];if(newContext===undefined)
-continue;if(existingRow.contexts[i]!==undefined)
-throw new Error('Multiple suballocations with the same owner name');existingRow.contexts[i]=newContext;['numericCells','diagnosticCells'].forEach(function(cellKey){var suballocationCells=suballocationRow[cellKey];if(suballocationCells===undefined)
-return;tr.b.iterItems(suballocationCells,function(cellName,cell){if(cell===undefined)
-return;var fields=cell.fields;if(fields===undefined)
-return;var field=fields[i];if(field===undefined)
-return;var existingCells=existingRow[cellKey];if(existingCells===undefined){existingCells={};existingRow[cellKey]=existingCells;}
-var existingCell=existingCells[cellName];if(existingCell===undefined){existingCell=new tr.ui.analysis.MemoryCell(new Array(fields.length));existingCells[cellName]=existingCell;}
-existingCell.fields[i]=field;});});}
-existingRow.fullNames.push.apply(existingRow.fullNames,suballocationRow.fullNames);}else{currentNode.row=suballocationRow;}
-return rootNode;},createSuballocationRowRecursively_:function(name,node){var childCount=Object.keys(node.children).length;if(childCount===0){if(node.row===undefined)
-throw new Error('Suballocation node must have a row or children');var row=node.row;row.title=name;row.suballocation=true;return row;}
-var subRows=tr.b.dictionaryValues(tr.b.mapItems(node.children,this.createSuballocationRowRecursively_,this));if(node.row!==undefined){var row=node.row;row.title='<unspecified>';row.suballocation=true;subRows.unshift(row);}
-var contexts=new Array(subRows[0].contexts.length);for(var i=0;i<subRows.length;i++){subRows[i].contexts.forEach(function(subContext,index){if(subContext!==undefined)
-contexts[index]=SUBALLOCATION_CONTEXT;});}
-return{title:name,suballocation:true,contexts:contexts,subRows:subRows};},createColumns_:function(rows){var titleColumn=new AllocatorDumpNameColumn();titleColumn.width='200px';var numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'numericCells',aggregationMode:this.aggregationMode_,rules:NUMERIC_COLUMN_RULES});var diagnosticColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'diagnosticCells',aggregationMode:this.aggregationMode_,rules:DIAGNOSTIC_COLUMN_RULES});var fieldColumns=numericColumns.concat(diagnosticColumns);tr.ui.analysis.MemoryColumn.spaceEqually(fieldColumns);var columns=[titleColumn].concat(fieldColumns);return columns;}});return{SUBALLOCATION_CONTEXT:SUBALLOCATION_CONTEXT,AllocatorDumpNameColumn:AllocatorDumpNameColumn,EffectiveSizeColumn:EffectiveSizeColumn,SizeColumn:SizeColumn};});'use strict';tr.exportTo('tr.ui.analysis',function(){var ScalarNumeric=tr.v.ScalarNumeric;var sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;var CONSTANT_COLUMN_RULES=[{condition:'Start address',importance:0,columnConstructor:tr.ui.analysis.StringMemoryColumn}];var VARIABLE_COLUMN_RULES=[{condition:'Virtual size',importance:7,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Protection flags',importance:6,columnConstructor:tr.ui.analysis.StringMemoryColumn},{condition:'PSS',importance:5,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Private dirty',importance:4,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Private clean',importance:3,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Shared dirty',importance:2,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Shared clean',importance:1,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Swapped',importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];var BYTE_STAT_COLUMN_MAP={'proportionalResident':'PSS','privateDirtyResident':'Private dirty','privateCleanResident':'Private clean','sharedDirtyResident':'Shared dirty','sharedCleanResident':'Shared clean','swapped':'Swapped'};function hexString(address,is64BitAddress){if(address===undefined)
-return undefined;var hexPadding=is64BitAddress?'0000000000000000':'00000000';return(hexPadding+address.toString(16)).substr(-hexPadding.length);}
-function pruneEmptyRuleRows(row){if(row.subRows===undefined||row.subRows.length===0)
-return;if(row.subRows[0].rule===undefined){return;}
-row.subRows.forEach(pruneEmptyRuleRows);row.subRows=row.subRows.filter(function(subRow){return subRow.subRows.length>0;});}
-Polymer({is:'tr-ui-a-memory-dump-vm-regions-details-pane',behaviors:[tr.ui.analysis.StackedPane],created:function(){this.vmRegions_=undefined;this.aggregationMode_=undefined;},ready:function(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},set vmRegions(vmRegions){this.vmRegions_=vmRegions;this.scheduleRebuild_();},get vmRegions(){return this.vmRegions_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_:function(){if(this.vmRegions_===undefined||this.vmRegions_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();return;}
-this.$.info_text.style.display='none';this.$.table.style.display='block';var rows=this.createRows_(this.vmRegions_);var columns=this.createColumns_(rows);this.$.table.tableRows=rows;this.$.table.tableColumns=columns;this.$.table.rebuild();tr.ui.analysis.expandTableRowsRecursively(this.$.table);},createRows_:function(timeToVmRegionTree){var is64BitAddress=timeToVmRegionTree.some(function(vmRegionTree){if(vmRegionTree===undefined)
-return false;return vmRegionTree.someRegion(function(region){if(region.startAddress===undefined)
-return false;return region.startAddress>=4294967296;});});return[this.createClassificationNodeRow(timeToVmRegionTree,is64BitAddress)];},createClassificationNodeRow:function(timeToNode,is64BitAddress){var definedNode=tr.b.findFirstInArray(timeToNode);var childNodeIdToTimeToNode=tr.b.dictionaryValues(tr.b.invertArrayOfDicts(timeToNode,function(node){var children=node.children;if(children===undefined)
-return undefined;var childMap={};children.forEach(function(childNode){if(!childNode.hasRegions)
-return;childMap[childNode.title]=childNode;});return childMap;}));var childNodeSubRows=childNodeIdToTimeToNode.map(function(timeToChildNode){return this.createClassificationNodeRow(timeToChildNode,is64BitAddress);},this);var regionIdToTimeToRegion=tr.b.dictionaryValues(tr.b.invertArrayOfDicts(timeToNode,function(node){var regions=node.regions;if(regions===undefined)
-return undefined;return tr.b.arrayToDict(regions,function(region){return region.uniqueIdWithinProcess;});}));var regionSubRows=regionIdToTimeToRegion.map(function(timeToRegion){return this.createRegionRow_(timeToRegion,is64BitAddress);},this);var subRows=childNodeSubRows.concat(regionSubRows);return{title:definedNode.title,contexts:timeToNode,variableCells:this.createVariableCells_(timeToNode),subRows:subRows};},createRegionRow_:function(timeToRegion,is64BitAddress){var definedRegion=tr.b.findFirstInArray(timeToRegion);return{title:definedRegion.mappedFile,contexts:timeToRegion,constantCells:this.createConstantCells_(definedRegion,is64BitAddress),variableCells:this.createVariableCells_(timeToRegion)};},createConstantCells_:function(definedRegion,is64BitAddress){return tr.ui.analysis.createCells([definedRegion],function(region){var startAddress=region.startAddress;if(startAddress===undefined)
-return undefined;return{'Start address':hexString(startAddress,is64BitAddress)};});},createVariableCells_:function(timeToRegion){return tr.ui.analysis.createCells(timeToRegion,function(region){var fields={};var sizeInBytes=region.sizeInBytes;if(sizeInBytes!==undefined){fields['Virtual size']=new ScalarNumeric(sizeInBytes_smallerIsBetter,sizeInBytes);}
-var protectionFlags=region.protectionFlagsToString;if(protectionFlags!==undefined)
-fields['Protection flags']=protectionFlags;tr.b.iterItems(BYTE_STAT_COLUMN_MAP,function(byteStatName,columnName){var byteStat=region.byteStats[byteStatName];if(byteStat===undefined)
-return;fields[columnName]=new ScalarNumeric(sizeInBytes_smallerIsBetter,byteStat);});return fields;});},createColumns_:function(rows){var titleColumn=new tr.ui.analysis.TitleColumn('Mapped file');titleColumn.width='200px';var constantColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'constantCells',aggregationMode:undefined,rules:CONSTANT_COLUMN_RULES});var variableColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'variableCells',aggregationMode:this.aggregationMode_,rules:VARIABLE_COLUMN_RULES});var fieldColumns=constantColumns.concat(variableColumns);tr.ui.analysis.MemoryColumn.spaceEqually(fieldColumns);var columns=[titleColumn].concat(fieldColumns);return columns;}});return{};});'use strict';Polymer({is:'tr-ui-b-color-legend',ready:function(){var blackSquareCharCode=9632;this.$.square.innerText=String.fromCharCode(blackSquareCharCode);this.label_=undefined;this.compoundEventSelectionState_=tr.model.CompoundEventSelectionState.NOT_SELECTED;},set compoundEventSelectionState(compoundEventSelectionState){this.compoundEventSelectionState_=compoundEventSelectionState;},get label(){return this.label_;},set label(label){if(label===undefined){this.setLabelAndColorId(undefined,undefined);return;}
-var colorId=tr.b.ColorScheme.getColorIdForGeneralPurposeString(label);this.setLabelAndColorId(label,colorId);},setLabelAndColorId:function(label,colorId){this.label_=label;Polymer.dom(this.$.label).textContent='';Polymer.dom(this.$.label).appendChild(tr.ui.b.asHTMLOrTextNode(label));if(colorId===undefined)
-this.$.square.style.color='initial';else
-this.$.square.style.color=tr.b.ColorScheme.colorsAsStrings[colorId];}});'use strict';Polymer({is:'tr-ui-b-view-specific-brushing-state',get viewId(){return this.getAttribute('view-id');},set viewId(viewId){Polymer.dom(this).setAttribute('view-id',viewId);},get:function(){var viewId=this.viewId;if(!viewId)
-throw new Error('Element must have a view-id attribute!');var brushingStateController=tr.c.BrushingStateController.getControllerForElement(this);if(!brushingStateController)
-return undefined;return brushingStateController.getViewSpecificBrushingState(viewId);},set:function(state){var viewId=this.viewId;if(!viewId)
-throw new Error('Element must have a view-id attribute!');var brushingStateController=tr.c.BrushingStateController.getControllerForElement(this);if(!brushingStateController)
-return;brushingStateController.changeViewSpecificBrushingState(viewId,state);}});'use strict';tr.exportTo('tr.ui.analysis',function(){var ColorScheme=tr.b.ColorScheme;var ScalarNumeric=tr.v.ScalarNumeric;var sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;var PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX='_bytes';var DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;var SOME_TIMESTAMPS_INFO_QUANTIFIER=tr.ui.analysis.MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER;var RIGHTWARDS_ARROW_WITH_HOOK=String.fromCharCode(0x21AA);var RIGHTWARDS_ARROW_FROM_BAR=String.fromCharCode(0x21A6);var GREATER_THAN_OR_EQUAL_TO=String.fromCharCode(0x2265);var UNMARRIED_PARTNERSHIP_SYMBOL=String.fromCharCode(0x26AF);var TRIGRAM_FOR_HEAVEN=String.fromCharCode(0x2630);function lazyMap(list,fn,opt_this){opt_this=opt_this||this;var result=undefined;list.forEach(function(item,index){var value=fn.call(opt_this,item,index);if(value===undefined)
-return;if(result===undefined)
-result=new Array(list.length);result[index]=value;});return result;}
-function ProcessNameColumn(){tr.ui.analysis.TitleColumn.call(this,'Process');}
-ProcessNameColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle:function(row){if(row.contexts===undefined)
-return row.title;var titleEl=document.createElement('tr-ui-b-color-legend');titleEl.label=row.title;return titleEl;}};function UsedMemoryColumn(name,cellPath,aggregationMode){tr.ui.analysis.NumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
-UsedMemoryColumn.COLOR=ColorScheme.getColorForReservedNameAsString('used_memory_column');UsedMemoryColumn.OLDER_COLOR=ColorScheme.getColorForReservedNameAsString('older_used_memory_column');UsedMemoryColumn.prototype={__proto__:tr.ui.analysis.NumericMemoryColumn.prototype,get title(){return tr.ui.b.createSpan({textContent:this.name,color:UsedMemoryColumn.COLOR});},getFormattingContext:function(unit){return{unitPrefix:tr.b.UnitScale.Binary.MEBI};},color:function(numerics,processMemoryDumps){return UsedMemoryColumn.COLOR;},getChildPaneBuilder:function(processMemoryDumps){if(processMemoryDumps===undefined)
-return undefined;var vmRegions=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined)
-return undefined;return pmd.mostRecentVmRegions;});if(vmRegions===undefined)
-return undefined;return function(){var pane=document.createElement('tr-ui-a-memory-dump-vm-regions-details-pane');pane.vmRegions=vmRegions;pane.aggregationMode=this.aggregationMode;return pane;}.bind(this);}};function PeakMemoryColumn(name,cellPath,aggregationMode){UsedMemoryColumn.call(this,name,cellPath,aggregationMode);}
-PeakMemoryColumn.prototype={__proto__:UsedMemoryColumn.prototype,addInfos:function(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)
-return;var resettableValueCount=0;var nonResettableValueCount=0;for(var i=0;i<numerics.length;i++){if(numerics[i]===undefined)
-continue;if(processMemoryDumps[i].arePeakResidentBytesResettable)
-resettableValueCount++;else
-nonResettableValueCount++;}
-if(resettableValueCount>0&&nonResettableValueCount>0){infos.push(tr.ui.analysis.createWarningInfo('Both resettable and '+'non-resettable peak RSS values were provided by the process'));}else if(resettableValueCount>0){infos.push({icon:RIGHTWARDS_ARROW_WITH_HOOK,message:'Peak RSS since previous memory dump.'});}else{infos.push({icon:RIGHTWARDS_ARROW_FROM_BAR,message:'Peak RSS since process startup. Finer grained '+'peaks require a Linux kernel version '+
-GREATER_THAN_OR_EQUAL_TO+' 4.0.'});}}};function ByteStatColumn(name,cellPath,aggregationMode){UsedMemoryColumn.call(this,name,cellPath,aggregationMode);}
-ByteStatColumn.prototype={__proto__:UsedMemoryColumn.prototype,color:function(numerics,processMemoryDumps){if(processMemoryDumps===undefined)
-return UsedMemoryColumn.COLOR;var allOlderValues=processMemoryDumps.every(function(processMemoryDump){if(processMemoryDump===undefined)
-return true;return!processMemoryDump.hasOwnVmRegions;});if(allOlderValues)
-return UsedMemoryColumn.OLDER_COLOR;else
-return UsedMemoryColumn.COLOR;},addInfos:function(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)
-return;var olderValueCount=0;for(var i=0;i<numerics.length;i++){var processMemoryDump=processMemoryDumps[i];if(processMemoryDump!==undefined&&!processMemoryDump.hasOwnVmRegions){olderValueCount++;}}
-if(olderValueCount===0)
-return;var infoQuantifier=olderValueCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push({message:'Older value'+infoQuantifier+' (only heavy (purple) memory dumps contain memory maps).',icon:UNMARRIED_PARTNERSHIP_SYMBOL});}};UsedMemoryColumn.RULES=[{condition:'Total resident',importance:10,columnConstructor:UsedMemoryColumn},{condition:'Peak total resident',importance:9,columnConstructor:PeakMemoryColumn},{condition:'PSS',importance:8,columnConstructor:ByteStatColumn},{condition:'Private dirty',importance:7,columnConstructor:ByteStatColumn},{condition:'Swapped',importance:6,columnConstructor:ByteStatColumn},{importance:0,columnConstructor:UsedMemoryColumn}];UsedMemoryColumn.TOTALS_MAP={'residentBytes':'Total resident','peakResidentBytes':'Peak total resident'};UsedMemoryColumn.BYTE_STAT_MAP={'proportionalResident':'PSS','privateDirtyResident':'Private dirty','swapped':'Swapped'};function AllocatorColumn(name,cellPath,aggregationMode){tr.ui.analysis.NumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
-AllocatorColumn.prototype={__proto__:tr.ui.analysis.NumericMemoryColumn.prototype,get title(){var titleEl=document.createElement('tr-ui-b-color-legend');titleEl.label=this.name;return titleEl;},getFormattingContext:function(unit){return{unitPrefix:tr.b.UnitScale.Binary.MEBI};},addInfos:function(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)
-return;var heapDumpCount=0;var missingSizeCount=0;for(var i=0;i<processMemoryDumps.length;i++){var processMemoryDump=processMemoryDumps[i];if(processMemoryDump===undefined)
-continue;var heapDumps=processMemoryDump.heapDumps;if(heapDumps!==undefined&&heapDumps[this.name]!==undefined)
-heapDumpCount++;var allocatorDump=processMemoryDump.getMemoryAllocatorDumpByFullName(this.name);if(allocatorDump!==undefined&&allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME]===undefined){missingSizeCount++;}}
-if(heapDumpCount>0){var infoQuantifier=heapDumpCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push({message:'Heap dump provided'+infoQuantifier+'.',icon:TRIGRAM_FOR_HEAVEN});}
-if(missingSizeCount>0){var infoQuantifier=missingSizeCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push(tr.ui.analysis.createWarningInfo('Size was not provided'+infoQuantifier+'.'));}},getChildPaneBuilder:function(processMemoryDumps){if(processMemoryDumps===undefined)
-return undefined;var memoryAllocatorDumps=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined)
-return undefined;return pmd.getMemoryAllocatorDumpByFullName(this.name);},this);if(memoryAllocatorDumps===undefined)
-return undefined;var heapDumps=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined||pmd.heapDumps===undefined)
-return undefined;return pmd.heapDumps[this.name];},this);return function(){var pane=document.createElement('tr-ui-a-memory-dump-allocator-details-pane');pane.memoryAllocatorDumps=memoryAllocatorDumps;pane.heapDumps=heapDumps;pane.aggregationMode=this.aggregationMode;return pane;}.bind(this);}};function TracingColumn(name,cellPath,aggregationMode){AllocatorColumn.call(this,name,cellPath,aggregationMode);}
-TracingColumn.COLOR=ColorScheme.getColorForReservedNameAsString('tracing_memory_column');TracingColumn.prototype={__proto__:AllocatorColumn.prototype,get title(){return tr.ui.b.createSpan({textContent:this.name,color:TracingColumn.COLOR});},color:function(numerics,processMemoryDumps){return TracingColumn.COLOR;}};AllocatorColumn.RULES=[{condition:'tracing',importance:0,columnConstructor:TracingColumn},{importance:1,columnConstructor:AllocatorColumn}];Polymer({is:'tr-ui-a-memory-dump-overview-pane',behaviors:[tr.ui.analysis.StackedPane],created:function(){this.processMemoryDumps_=undefined;this.aggregationMode_=undefined;},ready:function(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.CELL;this.$.table.addEventListener('selection-changed',function(tableEvent){tableEvent.stopPropagation();this.changeChildPane_();}.bind(this));},set processMemoryDumps(processMemoryDumps){this.processMemoryDumps_=processMemoryDumps;this.scheduleRebuild_();},get processMemoryDumps(){return this.processMemoryDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},get selectedMemoryCell(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){return undefined;}
-var selectedTableRow=this.$.table.selectedTableRow;if(!selectedTableRow)
-return undefined;var selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex===undefined)
-return undefined;var selectedColumn=this.$.table.tableColumns[selectedColumnIndex];var selectedMemoryCell=selectedColumn.cell(selectedTableRow);return selectedMemoryCell;},changeChildPane_:function(){this.storeSelection_();this.childPaneBuilder=this.determineChildPaneBuilderFromSelection_();},determineChildPaneBuilderFromSelection_:function(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){return undefined;}
-var selectedTableRow=this.$.table.selectedTableRow;if(!selectedTableRow)
-return undefined;var selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex===undefined)
-return undefined;var selectedColumn=this.$.table.tableColumns[selectedColumnIndex];return selectedColumn.getChildPaneBuilder(selectedTableRow.contexts);},onRebuild_:function(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();return;}
-this.$.info_text.style.display='none';this.$.table.style.display='block';var rows=this.createRows_();var columns=this.createColumns_(rows);var footerRows=this.createFooterRows_(rows,columns);this.$.table.tableRows=rows;this.$.table.footerRows=footerRows;this.$.table.tableColumns=columns;this.$.table.rebuild();this.restoreSelection_();},createRows_:function(){var timeToPidToProcessMemoryDump=this.processMemoryDumps_;var pidToTimeToProcessMemoryDump=tr.b.invertArrayOfDicts(timeToPidToProcessMemoryDump);return tr.b.dictionaryValues(tr.b.mapItems(pidToTimeToProcessMemoryDump,function(pid,timeToDump){var process=tr.b.findFirstInArray(timeToDump).process;var usedMemoryCells=tr.ui.analysis.createCells(timeToDump,function(dump){var sizes={};var totals=dump.totals;if(totals!==undefined){tr.b.iterItems(UsedMemoryColumn.TOTALS_MAP,function(totalName,cellName){var total=totals[totalName];if(total===undefined)
-return;sizes[cellName]=new ScalarNumeric(sizeInBytes_smallerIsBetter,total);});var platformSpecific=totals.platformSpecific;if(platformSpecific!==undefined){tr.b.iterItems(platformSpecific,function(name,size){if(name.endsWith(PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX)){name=name.substring(0,name.length-
-PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX.length);}
-name=name.replace('_',' ').trim();name=name.charAt(0).toUpperCase()+name.slice(1);sizes[name]=new ScalarNumeric(sizeInBytes_smallerIsBetter,size);});}}
-var vmRegions=dump.mostRecentVmRegions;if(vmRegions!==undefined){tr.b.iterItems(UsedMemoryColumn.BYTE_STAT_MAP,function(byteStatName,cellName){var byteStat=vmRegions.byteStats[byteStatName];if(byteStat===undefined)
-return;sizes[cellName]=new ScalarNumeric(sizeInBytes_smallerIsBetter,byteStat);});}
-return sizes;});var allocatorCells=tr.ui.analysis.createCells(timeToDump,function(dump){var memoryAllocatorDumps=dump.memoryAllocatorDumps;if(memoryAllocatorDumps===undefined)
-return undefined;var sizes={};memoryAllocatorDumps.forEach(function(allocatorDump){var rootDisplayedSizeNumeric=allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME];if(rootDisplayedSizeNumeric===undefined){rootDisplayedSizeNumeric=new ScalarNumeric(sizeInBytes_smallerIsBetter,0);}
-sizes[allocatorDump.fullName]=rootDisplayedSizeNumeric;});return sizes;});return{title:process.userFriendlyName,contexts:timeToDump,usedMemoryCells:usedMemoryCells,allocatorCells:allocatorCells};}));},createFooterRows_:function(rows,columns){if(rows.length<=1)
-return[];var totalRow={title:'Total'};tr.ui.analysis.aggregateTableRowCells(totalRow,rows,columns);return[totalRow];},createColumns_:function(rows){var titleColumn=new ProcessNameColumn();titleColumn.width='200px';var usedMemorySizeColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'usedMemoryCells',aggregationMode:this.aggregationMode_,rules:UsedMemoryColumn.RULES});var allocatorSizeColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'allocatorCells',aggregationMode:this.aggregationMode_,rules:AllocatorColumn.RULES});var sizeColumns=usedMemorySizeColumns.concat(allocatorSizeColumns);tr.ui.analysis.MemoryColumn.spaceEqually(sizeColumns);var columns=[titleColumn].concat(sizeColumns);return columns;},storeSelection_:function(){var selectedRowTitle;var selectedRow=this.$.table.selectedTableRow;if(selectedRow!==undefined)
-selectedRowTitle=selectedRow.title;var selectedColumnName;var selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex!==undefined){var selectedColumn=this.$.table.tableColumns[selectedColumnIndex];selectedColumnName=selectedColumn.name;}
-this.$.state.set({rowTitle:selectedRowTitle,columnName:selectedColumnName});},restoreSelection_:function(){var settings=this.$.state.get();if(settings===undefined||settings.rowTitle===undefined||settings.columnName===undefined)
-return;var selectedColumnName=settings.columnName;var selectedColumnIndex=tr.b.findFirstIndexInArray(this.$.table.tableColumns,function(column){return column.name===selectedColumnName;});if(selectedColumnIndex<0)
-return;var selectedRowTitle=settings.rowTitle;var selectedRow=tr.b.findFirstInArray(this.$.table.tableRows,function(row){return row.title===selectedRowTitle;});if(selectedRow===undefined)
-return;this.$.table.selectedTableRow=selectedRow;this.$.table.selectedColumnIndex=selectedColumnIndex;}});return{ProcessNameColumn:ProcessNameColumn,UsedMemoryColumn:UsedMemoryColumn,PeakMemoryColumn:PeakMemoryColumn,ByteStatColumn:ByteStatColumn,AllocatorColumn:AllocatorColumn,TracingColumn:TracingColumn};});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-memory-dump-header-pane',behaviors:[tr.ui.analysis.StackedPane],created:function(){this.containerMemoryDumps_=undefined;},ready:function(){Polymer.dom(this.$.aggregation_mode_container).appendChild(tr.ui.b.createSelector(this,'aggregationMode','memoryDumpHeaderPane.aggregationMode',tr.ui.analysis.MemoryColumn.AggregationMode.DIFF,[{label:'Diff',value:tr.ui.analysis.MemoryColumn.AggregationMode.DIFF},{label:'Max',value:tr.ui.analysis.MemoryColumn.AggregationMode.MAX}]));},set containerMemoryDumps(containerMemoryDumps){this.containerMemoryDumps_=containerMemoryDumps;this.scheduleRebuild_();},get containerMemoryDumps(){return this.containerMemoryDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_:function(){this.updateLabel_();this.updateAggregationModeSelector_();this.changeChildPane_();},updateLabel_:function(){Polymer.dom(this.$.label).textContent='';if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=0){Polymer.dom(this.$.label).textContent='No memory dumps selected';return;}
-var containerDumpCount=this.containerMemoryDumps_.length;var isMultiSelection=containerDumpCount>1;Polymer.dom(this.$.label).appendChild(document.createTextNode('Selected '+containerDumpCount+' memory dump'+
-(isMultiSelection?'s':'')+' in '+this.containerMemoryDumps_[0].containerName+' at '));Polymer.dom(this.$.label).appendChild(document.createTextNode(tr.b.Unit.byName.timeStampInMs.format(this.containerMemoryDumps_[0].start)));if(isMultiSelection){var ELLIPSIS=String.fromCharCode(8230);Polymer.dom(this.$.label).appendChild(document.createTextNode(ELLIPSIS));Polymer.dom(this.$.label).appendChild(document.createTextNode(tr.b.Unit.byName.timeStampInMs.format(this.containerMemoryDumps_[containerDumpCount-1].start)));}},updateAggregationModeSelector_:function(){var displayStyle;if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=1)
-displayStyle='none';else
-displayStyle='initial';this.$.aggregation_mode_container.style.display=displayStyle;},changeChildPane_:function(){this.childPaneBuilder=function(){if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=0)
-return undefined;var overviewPane=document.createElement('tr-ui-a-memory-dump-overview-pane');overviewPane.processMemoryDumps=this.containerMemoryDumps_.map(function(containerDump){return containerDump.processMemoryDumps;});overviewPane.aggregationMode=this.aggregationMode;return overviewPane;}.bind(this);}});return{};});'use strict';Polymer({is:'tr-ui-a-stacked-pane-view',setPaneBuilder:function(paneBuilder,opt_parentPane){var paneContainer=this.$.pane_container;if(opt_parentPane){if(!(opt_parentPane instanceof HTMLElement))
-throw new Error('Parent pane must be an HTML element');if(opt_parentPane.parentElement!==paneContainer)
-throw new Error('Parent pane must be a child of the pane container');}
-while(Polymer.dom(paneContainer).lastElementChild!==null&&Polymer.dom(paneContainer).lastElementChild!==opt_parentPane){var removedPane=Polymer.dom(this.$.pane_container).lastElementChild;var listener=this.listeners_.get(removedPane);if(listener===undefined)
-throw new Error('No listener associated with pane');this.listeners_.delete(removedPane);removedPane.removeEventListener('request-child-pane-change',listener);Polymer.dom(paneContainer).removeChild(removedPane);}
-if(opt_parentPane&&opt_parentPane.parentElement!==paneContainer)
-throw new Error('Parent pane was removed from the pane container');if(!paneBuilder)
-return;var pane=paneBuilder();if(!pane)
-return;if(!(pane instanceof HTMLElement))
-throw new Error('Pane must be an HTML element');var listener=function(event){this.setPaneBuilder(pane.childPaneBuilder,pane);}.bind(this);if(!this.listeners_){this.listeners_=new WeakMap();}
-this.listeners_.set(pane,listener);pane.addEventListener('request-child-pane-change',listener);Polymer.dom(paneContainer).appendChild(pane);pane.appended();},rebuild:function(){var currentPane=Polymer.dom(this.$.pane_container).firstElementChild;while(currentPane){currentPane.rebuild();currentPane=currentPane.nextElementSibling;}},get panesForTesting(){var panes=[];var currentChild=Polymer.dom(this.$.pane_container).firstElementChild;while(currentChild){panes.push(currentChild);currentChild=currentChild.nextElementSibling;}
-return panes;}});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-container-memory-dump-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],set selection(selection){if(selection===undefined){this.currentSelection_=undefined;this.dumpsByContainerName_=undefined;this.updateContents_();return;}
-selection.forEach(function(event){if(!(event instanceof tr.model.ContainerMemoryDump)){throw new Error('Memory dump sub-view only supports container memory dumps');}});this.currentSelection_=selection;this.dumpsByContainerName_=tr.b.group(this.currentSelection_.toArray(),function(dump){return dump.containerName;});tr.b.iterItems(this.dumpsByContainerName_,function(containerName,dumps){dumps.sort(function(a,b){return a.start-b.start;});});this.updateContents_();},get selection(){return this.currentSelection_;},get requiresTallView(){return true;},updateContents_:function(){Polymer.dom(this.$.content).textContent='';if(this.dumpsByContainerName_===undefined)
-return;var containerNames=Object.keys(this.dumpsByContainerName_);if(containerNames.length===0)
-return;if(containerNames.length>1)
-this.buildViewForMultipleContainerNames_();else
-this.buildViewForSingleContainerName_();},buildViewForSingleContainerName_:function(){var containerMemoryDumps=tr.b.dictionaryValues(this.dumpsByContainerName_)[0];var dumpView=this.ownerDocument.createElement('tr-ui-a-stacked-pane-view');Polymer.dom(this.$.content).appendChild(dumpView);dumpView.setPaneBuilder(function(){var headerPane=document.createElement('tr-ui-a-memory-dump-header-pane');headerPane.containerMemoryDumps=containerMemoryDumps;return headerPane;});},buildViewForMultipleContainerNames_:function(){var ownerDocument=this.ownerDocument;var rows=tr.b.dictionaryValues(tr.b.mapItems(this.dumpsByContainerName_,function(containerName,dumps){return{containerName:containerName,subRows:dumps,isExpanded:true};}));rows.sort(function(a,b){return a.containerName.localeCompare(b.containerName);});var columns=[{title:'Dump',value:function(row){if(row.subRows===undefined)
-return this.singleDumpValue_(row);else
-return this.groupedDumpValue_(row);},singleDumpValue_:function(row){var linkEl=ownerDocument.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet([row]));Polymer.dom(linkEl).appendChild(tr.v.ui.createScalarSpan(row.start,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:ownerDocument}));return linkEl;},groupedDumpValue_:function(row){var linkEl=ownerDocument.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(row.subRows));Polymer.dom(linkEl).appendChild(tr.ui.b.createSpan({ownerDocument:ownerDocument,textContent:row.subRows.length+' memory dump'+
-(row.subRows.length===1?'':'s')+' in '}));Polymer.dom(linkEl).appendChild(tr.ui.b.createSpan({ownerDocument:ownerDocument,textContent:row.containerName,bold:true}));return linkEl;}}];var table=this.ownerDocument.createElement('tr-ui-b-table');table.tableColumns=columns;table.tableRows=rows;table.showHeader=false;table.rebuild();Polymer.dom(this.$.content).appendChild(table);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.GlobalMemoryDump,{multi:false,title:'Global Memory Dump',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.GlobalMemoryDump,{multi:true,title:'Global Memory Dumps',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.ProcessMemoryDump,{multi:false,title:'Process Memory Dump',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.ProcessMemoryDump,{multi:true,title:'Process Memory Dumps',});return{};});'use strict';(function(){var COUNTER_SAMPLE_TABLE_COLUMNS=[{title:'Counter',width:'150px',value:function(row){return row.counter;}},{title:'Series',width:'150px',value:function(row){return row.series;}},{title:'Time',width:'150px',value:function(row){return row.start;}},{title:'Value',width:'100%',value:function(row){return row.value;}}];Polymer({is:'tr-ui-a-counter-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready:function(){this.currentSelection_=undefined;this.$.table.tableColumns=COUNTER_SAMPLE_TABLE_COLUMNS;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_:function(){this.$.table.tableRows=this.selection?this.getRows_(this.selection.toArray()):[];this.$.table.rebuild();},getRows_:function(samples){var samplesByCounter=tr.b.group(samples,function(sample){return sample.series.counter.guid;});var rows=[];tr.b.iterItems(samplesByCounter,function(unused,counterSamples){var samplesBySeries=tr.b.group(counterSamples,function(sample){return sample.series.guid;});tr.b.iterItems(samplesBySeries,function(unused,seriesSamples){var seriesRows=this.getRowsForSamples_(seriesSamples);seriesRows[0].counter=seriesSamples[0].series.counter.name;seriesRows[0].series=seriesSamples[0].series.name;if(seriesRows.length>1){seriesRows[0].subRows=seriesRows.slice(1);seriesRows[0].isExpanded=true;}
-rows.push(seriesRows[0]);},this);},this);return rows;},getRowsForSamples_:function(samples){return samples.map(function(sample){return{start:sample.timestamp,value:sample.value};});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-counter-sample-sub-view',tr.model.CounterSample,{multi:false,title:'Counter Sample',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-counter-sample-sub-view',tr.model.CounterSample,{multi:true,title:'Counter Samples',});})();'use strict';tr.exportTo('tr.ui.analysis',function(){function MultiEventSummary(title,events){this.title=title;this.duration_=undefined;this.selfTime_=undefined;this.events_=events;this.cpuTimesComputed_=false;this.cpuSelfTime_=undefined;this.cpuDuration_=undefined;this.maxDuration_=undefined;this.maxCpuDuration_=undefined;this.maxSelfTime_=undefined;this.maxCpuSelfTime_=undefined;this.untotallableArgs_=[];this.totalledArgs_=undefined;};MultiEventSummary.prototype={set title(title){if(title=='Totals')
-this.totalsRow=true;this.title_=title;},get title(){return this.title_;},get duration(){if(this.duration_===undefined){this.duration_=tr.b.Statistics.sum(this.events_,function(event){return event.duration;});}
-return this.duration_;},get cpuSelfTime(){this.computeCpuTimesIfNeeded_();return this.cpuSelfTime_;},get cpuDuration(){this.computeCpuTimesIfNeeded_();return this.cpuDuration_;},computeCpuTimesIfNeeded_:function(){if(this.cpuTimesComputed_)
-return;this.cpuTimesComputed_=true;var cpuSelfTime=0;var cpuDuration=0;var hasCpuData=false;for(var event of this.events_){if(event.cpuDuration!==undefined){cpuDuration+=event.cpuDuration;hasCpuData=true;}
-if(event.cpuSelfTime!==undefined){cpuSelfTime+=event.cpuSelfTime;hasCpuData=true;}}
-if(hasCpuData){this.cpuDuration_=cpuDuration;this.cpuSelfTime_=cpuSelfTime;}},get selfTime(){if(this.selfTime_===undefined){this.selfTime_=0;for(var event of this.events_)
-if(event.selfTime!==undefined)
-this.selfTime_+=event.selfTime;}
-return this.selfTime_;},get events(){return this.events_;},get numEvents(){return this.events_.length;},get numAlerts(){if(this.numAlerts_===undefined){this.numAlerts_=tr.b.Statistics.sum(this.events_,function(event){return event.associatedAlerts.length;});}
-return this.numAlerts_;},get untotallableArgs(){this.updateArgsIfNeeded_();return this.untotallableArgs_;},get totalledArgs(){this.updateArgsIfNeeded_();return this.totalledArgs_;},get maxDuration(){if(this.maxDuration_===undefined){this.maxDuration_=tr.b.Statistics.max(this.events_,function(event){return event.duration;});}
-return this.maxDuration_;},get maxCpuDuration(){if(this.maxCpuDuration_===undefined){this.maxCpuDuration_=tr.b.Statistics.max(this.events_,function(event){return event.cpuDuration;});}
-return this.maxCpuDuration_;},get maxSelfTime(){if(this.maxSelfTime_===undefined){this.maxSelfTime_=tr.b.Statistics.max(this.events_,function(event){return event.selfTime;});}
-return this.maxSelfTime_;},get maxCpuSelfTime(){if(this.maxCpuSelfTime_===undefined){this.maxCpuSelfTime_=tr.b.Statistics.max(this.events_,function(event){return event.cpuSelfTime;});}
-return this.maxCpuSelfTime_;},updateArgsIfNeeded_:function(){if(this.totalledArgs_!==undefined)
-return;var untotallableArgs={};var totalledArgs={};for(var event of this.events_){for(var argName in event.args){var argVal=event.args[argName];var type=typeof argVal;if(type!=='number'){untotallableArgs[argName]=true;delete totalledArgs[argName];continue;}
-if(untotallableArgs[argName]){continue;}
-if(totalledArgs[argName]===undefined)
-totalledArgs[argName]=0;totalledArgs[argName]+=argVal;}}
-this.untotallableArgs_=tr.b.dictionaryKeys(untotallableArgs);this.totalledArgs_=totalledArgs;}};return{MultiEventSummary:MultiEventSummary};});'use strict';Polymer({is:'tr-ui-a-multi-event-summary-table',ready:function(){this.showTotals_=false;this.eventsHaveDuration_=true;this.eventsHaveSubRows_=true;this.eventsByTitle_=undefined;},updateTableColumns_:function(rows,maxValues){var hasCpuData=false;var hasAlerts=false;rows.forEach(function(row){if(row.cpuDuration!==undefined)
-hasCpuData=true;if(row.cpuSelfTime!==undefined)
-hasCpuData=true;if(row.numAlerts)
-hasAlerts=true;});var ownerDocument=this.ownerDocument;var columns=[];columns.push({title:'Name',value:function(row){if(row.title==='Totals')
-return'Totals';var linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(row.events);},row.title);return linkEl;},width:'350px',cmp:function(rowA,rowB){return rowA.title.localeCompare(rowB.title);}});if(this.eventsHaveDuration_){columns.push({title:'Wall Duration',value:function(row){return tr.v.ui.createScalarSpan(row.duration,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.Range.fromExplicitRange(0,maxValues.duration),ownerDocument:ownerDocument,rightAlign:true});},width:'<upated further down>',cmp:function(rowA,rowB){return rowA.duration-rowB.duration;}});}
-if(this.eventsHaveDuration_&&hasCpuData){columns.push({title:'CPU Duration',value:function(row){return tr.v.ui.createScalarSpan(row.cpuDuration,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.Range.fromExplicitRange(0,maxValues.cpuDuration),ownerDocument:ownerDocument,rightAlign:true});},width:'<upated further down>',cmp:function(rowA,rowB){return rowA.cpuDuration-rowB.cpuDuration;}});}
-if(this.eventsHaveSubRows_&&this.eventsHaveDuration_){columns.push({title:'Self time',value:function(row){return tr.v.ui.createScalarSpan(row.selfTime,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.Range.fromExplicitRange(0,maxValues.selfTime),ownerDocument:ownerDocument,rightAlign:true});},width:'<upated further down>',cmp:function(rowA,rowB){return rowA.selfTime-rowB.selfTime;}});}
-if(this.eventsHaveSubRows_&&this.eventsHaveDuration_&&hasCpuData){columns.push({title:'CPU Self Time',value:function(row){return tr.v.ui.createScalarSpan(row.cpuSelfTime,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.Range.fromExplicitRange(0,maxValues.cpuSelfTime),ownerDocument:ownerDocument,rightAlign:true});},width:'<upated further down>',cmp:function(rowA,rowB){return rowA.cpuSelfTime-rowB.cpuSelfTime;}});}
-if(this.eventsHaveDuration_){columns.push({title:'Average '+(hasCpuData?'CPU':'Wall')+' Duration',value:function(row){var totalDuration=hasCpuData?row.cpuDuration:row.duration;return tr.v.ui.createScalarSpan(totalDuration/row.numEvents,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.Range.fromExplicitRange(0,maxValues.duration),ownerDocument:ownerDocument,rightAlign:true});},width:'<upated further down>',cmp:function(rowA,rowB){if(hasCpuData){return rowA.cpuDuration/rowA.numEvents-
-rowB.cpuDuration/rowB.numEvents;}else{return rowA.duration/rowA.numEvents-
-rowB.duration/rowB.numEvents;}}});}
-columns.push({title:'Occurrences',value:function(row){return row.numEvents;},width:'<upated further down>',cmp:function(rowA,rowB){return rowA.numEvents-rowB.numEvents;}});var alertsColumnIndex;if(hasAlerts){columns.push({title:'Num Alerts',value:function(row){return row.numAlerts;},width:'<upated further down>',cmp:function(rowA,rowB){return rowA.numAlerts-rowB.numAlerts;}});alertsColumnIndex=columns.length-1;}
-var colWidthPercentage;if(columns.length==1)
-colWidthPercentage='100%';else
-colWidthPercentage=(100/(columns.length-1)).toFixed(3)+'%';for(var i=1;i<columns.length;i++)
-columns[i].width=colWidthPercentage;this.$.table.tableColumns=columns;if(hasAlerts){this.$.table.sortColumnIndex=alertsColumnIndex;this.$.table.sortDescending=true;}},configure:function(config){if(config.eventsByTitle===undefined)
-throw new Error('Required: eventsByTitle');if(config.showTotals!==undefined)
-this.showTotals_=config.showTotals;else
-this.showTotals_=true;if(config.eventsHaveDuration!==undefined)
-this.eventsHaveDuration_=config.eventsHaveDuration;else
-this.eventsHaveDuration_=true;if(config.eventsHaveSubRows!==undefined)
-this.eventsHaveSubRows_=config.eventsHaveSubRows;else
-this.eventsHaveSubRows_=true;this.eventsByTitle_=config.eventsByTitle;this.updateContents_();},get showTotals(){return this.showTotals_;},set showTotals(showTotals){this.showTotals_=showTotals;this.updateContents_();},get eventsHaveDuration(){return this.eventsHaveDuration_;},set eventsHaveDuration(eventsHaveDuration){this.eventsHaveDuration_=eventsHaveDuration;this.updateContents_();},get eventsHaveSubRows(){return this.eventsHaveSubRows_;},set eventsHaveSubRows(eventsHaveSubRows){this.eventsHaveSubRows_=eventsHaveSubRows;this.updateContents_();},get eventsByTitle(){return this.eventsByTitle_;},set eventsByTitle(eventsByTitle){this.eventsByTitle_=eventsByTitle;this.updateContents_();},get selectionBounds(){return this.selectionBounds_;},set selectionBounds(selectionBounds){this.selectionBounds_=selectionBounds;this.updateContents_();},updateContents_:function(){var eventsByTitle;if(this.eventsByTitle_!==undefined)
-eventsByTitle=this.eventsByTitle_;else
-eventsByTitle=[];var allEvents=new tr.model.EventSet();var rows=[];tr.b.iterItems(eventsByTitle,function(title,eventsOfSingleTitle){for(var event of allEvents)
-allEvents.push(event);var row=new tr.ui.analysis.MultiEventSummary(title,eventsOfSingleTitle);rows.push(row);});this.updateTableColumns_(rows);this.$.table.tableRows=rows;var maxValues={duration:undefined,selfTime:undefined,cpuSelfTime:undefined,cpuDuration:undefined};if(this.eventsHaveDuration){for(var column in maxValues){maxValues[column]=tr.b.Statistics.max(rows,function(event){return event[column];});}}
-var footerRows=[];if(this.showTotals_){var multiEventSummary=new tr.ui.analysis.MultiEventSummary('Totals',allEvents);footerRows.push(multiEventSummary);}
-this.updateTableColumns_(rows,maxValues);this.$.table.tableRows=rows;this.$.table.footerRows=footerRows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-selection-summary-table',created:function(){this.selection_=new tr.b.Range();},ready:function(){this.$.table.showHeader=false;this.$.table.tableColumns=[{title:'Name',value:function(row){return row.title;},width:'350px'},{title:'Value',width:'100%',value:function(row){return row.value;}}];},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;this.updateContents_();},updateContents_:function(){var selection=this.selection_;var rows=[];var hasRange;if(this.selection_&&(!selection.bounds.isEmpty))
-hasRange=true;else
-hasRange=false;rows.push({title:'Selection start',value:hasRange?tr.v.ui.createScalarSpan(selection.bounds.min,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument}):'<empty>'});rows.push({title:'Selection extent',value:hasRange?tr.v.ui.createScalarSpan(selection.bounds.range,{unit:tr.b.Unit.byName.timeDurationInMs,ownerDocument:this.ownerDocument}):'<empty>'});this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-b-radio-picker',created:function(){this.needsInit_=true;this.settingsKey_=undefined;this.isReady_=false;this.radioButtons_=undefined;this.selectedKey_=undefined;},ready:function(){this.isReady_=true;this.maybeInit_();this.maybeRenderRadioButtons_();},get vertical(){return this.getAttribute('vertical');},set vertical(vertical){if(vertical)
-this.setAttribute('vertical',true);else
-this.removeAttribute('vertical');},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){if(!this.needsInit_)
-throw new Error('Already initialized.');this.settingsKey_=settingsKey;this.maybeInit_();},maybeInit_:function(){if(!this.needsInit_)
-return;if(this.settingsKey_===undefined)
-return;this.needsInit_=false;this.select(tr.b.Settings.get(this.settingsKey_));},set items(items){this.radioButtons_={};items.forEach(function(e){if(e.key in this.radioButtons_)
-throw new Error(e.key+' already exists');var radioButton=document.createElement('div');var input=document.createElement('input');var label=document.createElement('div');input.type='radio';input.addEventListener('click',function(){this.select(e.key);}.bind(this));Polymer.dom(label).innerHTML=e.label;label.style.display='inline';Polymer.dom(radioButton).appendChild(input);Polymer.dom(radioButton).appendChild(label);this.radioButtons_[e.key]=input;}.bind(this));this.maybeInit_();this.maybeRenderRadioButtons_();},maybeRenderRadioButtons_:function(){if(!this.isReady_)
-return;if(this.radioButtons_===undefined)
-return;for(var key in this.radioButtons_)
-Polymer.dom(this.$.container).appendChild(this.radioButtons_[key].parentElement);if(this.selectedKey_!==undefined)
-this.select(this.selectedKey_);},select:function(key){if(key===undefined||key===this.selectedKey_)
-return;if(this.radioButtons_===undefined){this.selectedKey_=key;return;}
-if(!(key in this.radioButtons_))
-throw new Error(key+' does not exists');if(this.selectedKey_!==undefined)
-this.radioButtons_[this.selectedKey_].checked=false;this.selectedKey_=key;tr.b.Settings.set(this.settingsKey_,this.selectedKey_);if(this.selectedKey_!==undefined)
-this.radioButtons_[this.selectedKey_].checked=true;this.dispatchEvent(new tr.b.Event('change',false));},get selectedKey(){return this.selectedKey_;},});'use strict';tr.exportTo('tr.ui.analysis',function(){var EVENT_FIELD=[{key:'start',label:'Start'},{key:'cpuDuration',label:'CPU Duration'},{key:'duration',label:'Duration'},{key:'cpuSelfTime',label:'CPU Self Time'},{key:'selfTime',label:'Self Time'}];function buildDiagnostics_(slice,selectedKey){var diagnostics={};for(var item of EVENT_FIELD){var fieldName=item.key;if(fieldName===selectedKey||slice[fieldName]===undefined)
-continue;diagnostics[fieldName]=new tr.v.d.Scalar(new tr.v.ScalarNumeric(tr.b.Unit.byName.timeDurationInMs,slice[fieldName]));}
-diagnostics['args']=new tr.v.d.Generic(slice.args);diagnostics['event']=new tr.v.d.RelatedEventSet(slice);return diagnostics;}
-Polymer({is:'tr-ui-a-multi-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.currentSelection_=undefined;this.eventsHaveDuration_=true;this.eventsHaveSubRows_=true;},ready:function(){this.$.radioPicker.style.display='none';this.$.radioPicker.items=EVENT_FIELD;this.$.radioPicker.select('cpuSelfTime');this.$.radioPicker.addEventListener('change',function(e){this.$.histogramSpan.histogram=this.buildHistogram_(e.target.selectedKey);}.bind(this));this.$.histogramSpan.chartWidth=400;this.$.histogramContainer.style.display='none';},set selection(selection){if(selection.length<=1)
-throw new Error('Only supports multiple items');this.setSelectionWithoutErrorChecks(selection);},get selection(){return this.currentSelection_;},setSelectionWithoutErrorChecks:function(selection){this.currentSelection_=selection;this.updateContents_();},get eventsHaveDuration(){return this.eventsHaveDuration_;},set eventsHaveDuration(eventsHaveDuration){this.eventsHaveDuration_=eventsHaveDuration;this.updateContents_();},get eventsHaveSubRows(){return this.eventsHaveSubRows_;},set eventsHaveSubRows(eventsHaveSubRows){this.eventsHaveSubRows_=eventsHaveSubRows;this.updateContents_();},buildHistogram_:function(selectedKey){var leftBoundary=Number.MAX_VALUE;var rightBoundary=tr.b.Statistics.percentile(this.currentSelection_,0.95,function(value){leftBoundary=Math.min(leftBoundary,value[selectedKey]);return value[selectedKey];});if(leftBoundary===rightBoundary)rightBoundary+=1;var histogram=new tr.v.Histogram('',tr.b.Unit.byName.timeDurationInMs,tr.v.HistogramBinBoundaries.createLinear(leftBoundary,rightBoundary,Math.ceil(Math.sqrt(this.currentSelection_.length))));histogram.customizeSummaryOptions({sum:false});for(var slice of this.currentSelection_){histogram.addSample(slice[selectedKey],buildDiagnostics_(slice,selectedKey));}
-return histogram;},updateContents_:function(){var selection=this.currentSelection_;if(!selection)
-return;var eventsByTitle=selection.getEventsOrganizedByTitle();var numTitles=tr.b.dictionaryLength(eventsByTitle);this.$.eventSummaryTable.configure({showTotals:numTitles>1,eventsByTitle:eventsByTitle,eventsHaveDuration:this.eventsHaveDuration_,eventsHaveSubRows:this.eventsHaveSubRows_});this.$.selectionSummaryTable.selection=this.currentSelection_;if(numTitles===1){this.$.radioPicker.style.display='block';this.$.histogramSpan.histogram=this.buildHistogram_(this.$.radioPicker.selectedKey);this.$.histogramContainer.style.display='flex';}else{this.$.radioPicker.style.display='none';this.$.histogramContainer.style.display='none';}}});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){var FLOW_IN=0x1;var FLOW_OUT=0x2;var FLOW_IN_OUT=FLOW_IN|FLOW_OUT;function FlowClassifier(){this.numEvents_=0;this.eventsByGUID_={};}
-FlowClassifier.prototype={getFS_:function(event){var fs=this.eventsByGUID_[event.guid];if(fs===undefined){this.numEvents_++;fs={state:0,event:event};this.eventsByGUID_[event.guid]=fs;}
-return fs;},addInFlow:function(event){var fs=this.getFS_(event);fs.state|=FLOW_IN;return event;},addOutFlow:function(event){var fs=this.getFS_(event);fs.state|=FLOW_OUT;return event;},hasEvents:function(){return this.numEvents_>0;},get inFlowEvents(){var selection=new tr.model.EventSet();for(var guid in this.eventsByGUID_){var fs=this.eventsByGUID_[guid];if(fs.state===FLOW_IN)
-selection.push(fs.event);}
-return selection;},get outFlowEvents(){var selection=new tr.model.EventSet();for(var guid in this.eventsByGUID_){var fs=this.eventsByGUID_[guid];if(fs.state===FLOW_OUT)
-selection.push(fs.event);}
-return selection;},get internalFlowEvents(){var selection=new tr.model.EventSet();for(var guid in this.eventsByGUID_){var fs=this.eventsByGUID_[guid];if(fs.state===FLOW_IN_OUT)
-selection.push(fs.event);}
-return selection;}};return{FlowClassifier:FlowClassifier};});'use strict';function*getEventInFlowEvents(event){if(!event.inFlowEvents)
-return;yield*event.inFlowEvents;}
-function*getEventOutFlowEvents(event){if(!event.outFlowEvents)
-return;yield*event.outFlowEvents;}
-function*getEventAncestors(event){if(!event.enumerateAllAncestors)
-return;yield*event.enumerateAllAncestors();}
-function*getEventDescendents(event){if(!event.enumerateAllDescendents)
-return;yield*event.enumerateAllDescendents();}
-Polymer({is:'tr-ui-a-related-events',ready:function(){this.eventGroups_=[];this.cancelFunctions_=[];this.$.table.tableColumns=[{title:'Event(s)',value:function(row){var typeEl=document.createElement('span');typeEl.innerText=row.type;if(row.tooltip)
-typeEl.title=row.tooltip;return typeEl;},width:'150px'},{title:'Link',width:'100%',value:function(row){var linkEl=document.createElement('tr-ui-a-analysis-link');if(row.name)
-linkEl.setSelectionAndContent(row.selection,row.name);else
-linkEl.selection=row.selection;return linkEl;}}];},hasRelatedEvents:function(){return(this.eventGroups_&&this.eventGroups_.length>0);},setRelatedEvents:function(eventSet){this.cancelAllTasks_();this.eventGroups_=[];this.addRuntimeCallStats_(eventSet);this.addV8Slices_(eventSet);this.addConnectedFlows_(eventSet);this.addConnectedEvents_(eventSet);this.addOverlappingSamples_(eventSet);this.updateContents_();},addConnectedFlows_:function(eventSet){var classifier=new tr.ui.analysis.FlowClassifier();eventSet.forEach(function(slice){if(slice.inFlowEvents){slice.inFlowEvents.forEach(function(flow){classifier.addInFlow(flow);});}
-if(slice.outFlowEvents){slice.outFlowEvents.forEach(function(flow){classifier.addOutFlow(flow);});}});if(!classifier.hasEvents())
-return;var addToEventGroups=function(type,flowEvent){this.eventGroups_.push({type:type,selection:new tr.model.EventSet(flowEvent),name:flowEvent.title});};classifier.inFlowEvents.forEach(addToEventGroups.bind(this,'Incoming flow'));classifier.outFlowEvents.forEach(addToEventGroups.bind(this,'Outgoing flow'));classifier.internalFlowEvents.forEach(addToEventGroups.bind(this,'Internal flow'));},cancelAllTasks_:function(){this.cancelFunctions_.forEach(function(cancelFunction){cancelFunction();});this.cancelFunctions_=[];},addConnectedEvents_:function(eventSet){this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('Preceding events','Add all events that have led to the selected one(s), connected by '+'flow arrows or by call stack.',eventSet,function*(event){yield*getEventInFlowEvents(event);yield*getEventAncestors(event);if(event.startSlice)
-yield event.startSlice;}.bind(this)));this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('Following events','Add all events that have been caused by the selected one(s), '+'connected by flow arrows or by call stack.',eventSet,function*(event){yield*getEventOutFlowEvents(event);yield*getEventDescendents(event);if(event.endSlice)
-yield event.endSlice;}.bind(this)));this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('All connected events','Add all events connected to the selected one(s) by flow arrows or '+'by call stack.',eventSet,function*(event){yield*getEventInFlowEvents(event);yield*getEventOutFlowEvents(event);yield*getEventAncestors(event);yield*getEventDescendents(event);if(event.startSlice)
-yield event.startSlice;if(event.endSlice)
-yield event.endSlice;}.bind(this)));},createEventsLinkIfNeeded_:function(title,tooltip,events,connectedFn){events=new tr.model.EventSet(events);var eventsToProcess=new Set(events);var wasChanged=false;var task;var isCanceled=false;function addEventsUntilTimeout(){if(isCanceled)
-return;var timeout=window.performance.now()+8;while(eventsToProcess.size>0&&window.performance.now()<=timeout){var nextEvent=tr.b.getFirstElement(eventsToProcess);eventsToProcess.delete(nextEvent);for(var eventToAdd of connectedFn(nextEvent)){if(!events.contains(eventToAdd)){events.push(eventToAdd);eventsToProcess.add(eventToAdd);wasChanged=true;}}}
-if(eventsToProcess.size>0){var newTask=new tr.b.Task(addEventsUntilTimeout.bind(this),this);task.after(newTask);task=newTask;return;}
-if(!wasChanged)
-return;this.eventGroups_.push({type:title,tooltip:tooltip,selection:events});this.updateContents_();}
-function cancelTask(){isCanceled=true;}
-task=new tr.b.Task(addEventsUntilTimeout.bind(this),this);tr.b.Task.RunWhenIdle(task);return cancelTask;},addOverlappingSamples_:function(eventSet){var samples=new tr.model.EventSet;for(var slice of eventSet){if(!slice.parentContainer||!slice.parentContainer.samples)
-continue;var candidates=slice.parentContainer.samples;var range=tr.b.Range.fromExplicitRange(slice.start,slice.start+slice.duration);var filteredSamples=range.filterArray(candidates,function(value){return value.start;});for(var sample of filteredSamples)
-samples.push(sample);}
-if(samples.length>0){this.eventGroups_.push({type:'Overlapping samples',tooltip:'All samples overlapping the selected slice(s).',selection:samples});}},addV8Slices_:function(eventSet){var v8Slices=new tr.model.EventSet;for(var slice of eventSet){if(slice.category==='v8')
-v8Slices.push(slice);}
-if(v8Slices.length>0){this.eventGroups_.push({type:'V8 Slices',tooltip:'All V8 slices in the selected slice(s).',selection:v8Slices});}},addRuntimeCallStats_:function(eventSet){var slices=new tr.model.EventSet;for(var slice of eventSet){if(slice.category==='v8'&&slice.runtimeCallStats)
-slices.push(slice);}
-if(slices.length>0){this.eventGroups_.push({type:'Runtime call stats table',tooltip:'All V8 slices containing runtime call stats table in the selected slice(s).',selection:slices});}},updateContents_:function(){var table=this.$.table;if(this.eventGroups_===undefined)
-table.tableRows=[];else
-table.tableRows=this.eventGroups_.slice();table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-multi-async-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}},get relatedEventsToHighlight(){if(!this.$.content.selection)
-return undefined;var selection=new tr.model.EventSet();this.$.content.selection.forEach(function(asyncEvent){if(!asyncEvent.associatedEvents)
-return;asyncEvent.associatedEvents.forEach(function(event){selection.push(event);});});if(selection.length)
-return selection;return undefined;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-async-slice-sub-view',tr.model.AsyncSlice,{multi:true,title:'Async Slices',});'use strict';Polymer({is:'tr-ui-a-multi-cpu-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready:function(){this.$.content.eventsHaveSubRows=false;},get selection(){return this.$.content.selection;},set selection(selection){this.$.content.setSelectionWithoutErrorChecks(selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-cpu-slice-sub-view',tr.model.CpuSlice,{multi:true,title:'CPU Slices',});'use strict';Polymer({is:'tr-ui-a-multi-flow-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready:function(){this.$.content.eventsHaveDuration=false;this.$.content.eventsHaveSubRows=false;},set selection(selection){this.$.content.selection=selection;},get selection(){return this.$.content.selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-flow-event-sub-view',tr.model.FlowEvent,{multi:true,title:'Flow Events',});'use strict';Polymer({is:'tr-ui-a-multi-frame-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this).textContent='';var realView=document.createElement('tr-ui-a-multi-event-sub-view');realView.eventsHaveDuration=false;realView.eventsHaveSubRows=false;Polymer.dom(this).appendChild(realView);realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;},get selection(){return this.currentSelection_;},get relatedEventsToHighlight(){if(!this.currentSelection_)
-return undefined;var selection=new tr.model.EventSet();this.currentSelection_.forEach(function(frameEvent){frameEvent.associatedEvents.forEach(function(event){selection.push(event);});});return selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-frame-sub-view',tr.model.Frame,{multi:true,title:'Frames',});'use strict';Polymer({is:'tr-ui-a-multi-instant-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this.$.content).textContent='';var realView=document.createElement('tr-ui-a-multi-event-sub-view');realView.eventsHaveDuration=false;realView.eventsHaveSubRows=false;Polymer.dom(this.$.content).appendChild(realView);realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;},get selection(){return this.currentSelection_;}});'use strict';Polymer({is:'tr-ui-a-multi-object-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.currentSelection_=undefined;},ready:function(){this.$.content.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;var objectEvents=tr.b.asArray(selection).sort(tr.b.Range.compareByMinTimes);var timeSpanConfig={unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument};var table=this.$.content;table.tableColumns=[{title:'First',value:function(event){if(event instanceof tr.model.ObjectSnapshot)
-return tr.v.ui.createScalarSpan(event.ts,timeSpanConfig);var spanEl=document.createElement('span');Polymer.dom(spanEl).appendChild(tr.v.ui.createScalarSpan(event.creationTs,timeSpanConfig));Polymer.dom(spanEl).appendChild(tr.ui.b.createSpan({textContent:'-',marginLeft:'4px',marginRight:'4px'}));if(event.deletionTs!=Number.MAX_VALUE){Polymer.dom(spanEl).appendChild(tr.v.ui.createScalarSpan(event.deletionTs,timeSpanConfig));}
-return spanEl;},width:'200px'},{title:'Second',value:function(event){var linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(event);},event.userFriendlyName);return linkEl;},width:'100%'}];table.tableRows=objectEvents;table.rebuild();}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-object-sub-view',tr.model.ObjectInstance,{multi:true,title:'Object Instances',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-object-sub-view',tr.model.ObjectSnapshot,{multi:true,title:'Object Snapshots',});'use strict';(function(window){window.define=function(x){window.d3=x;};window.define.amd=true;})(this);!function(){function n(n){return null!=n&&!isNaN(n)}function t(n){return n.length}function e(n){for(var t=1;n*t%1;)t*=10;return t}function r(n,t){try{for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}catch(r){n.prototype=t}}function u(){}function i(n){return aa+n in this}function o(n){return n=aa+n,n in this&&delete this[n]}function a(){var n=[];return this.forEach(function(t){n.push(t)}),n}function c(){var n=0;for(var t in this)t.charCodeAt(0)===ca&&++n;return n}function s(){for(var n in this)if(n.charCodeAt(0)===ca)return!1;return!0}function l(){}function f(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function h(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.substring(1);for(var e=0,r=sa.length;r>e;++e){var u=sa[e]+t;if(u in n)return u}}function g(){}function p(){}function v(n){function t(){for(var t,r=e,u=-1,i=r.length;++u<i;)(t=r[u].on)&&t.apply(this,arguments);return n}var e=[],r=new u;return t.on=function(t,u){var i,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(t)),u&&e.push(r.set(t,{on:u})),n)},t}function d(){Xo.event.preventDefault()}function m(){for(var n,t=Xo.event;n=t.sourceEvent;)t=n;return t}function y(n){for(var t=new p,e=0,r=arguments.length;++e<r;)t[arguments[e]]=v(t);return t.of=function(e,r){return function(u){try{var i=u.sourceEvent=Xo.event;u.target=n,Xo.event=u,t[u.type].apply(e,r)}finally{Xo.event=i}}},t}function x(n){return fa(n,da),n}function M(n){return"function"==typeof n?n:function(){return ha(n,this)}}function _(n){return"function"==typeof n?n:function(){return ga(n,this)}}function b(n,t){function e(){this.removeAttribute(n)}function r(){this.removeAttributeNS(n.space,n.local)}function u(){this.setAttribute(n,t)}function i(){this.setAttributeNS(n.space,n.local,t)}function o(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function a(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}return n=Xo.ns.qualify(n),null==t?n.local?r:e:"function"==typeof t?n.local?a:o:n.local?i:u}function w(n){return n.trim().replace(/\s+/g," ")}function S(n){return new RegExp("(?:^|\\s+)"+Xo.requote(n)+"(?:\\s+|$)","g")}function k(n){return n.trim().split(/^|\s+/)}function E(n,t){function e(){for(var e=-1;++e<u;)n[e](this,t)}function r(){for(var e=-1,r=t.apply(this,arguments);++e<u;)n[e](this,r)}n=k(n).map(A);var u=n.length;return"function"==typeof t?r:e}function A(n){var t=S(n);return function(e,r){if(u=e.classList)return r?u.add(n):u.remove(n);var u=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(u)||e.setAttribute("class",w(u+" "+n))):e.setAttribute("class",w(u.replace(t," ")))}}function C(n,t,e){function r(){this.style.removeProperty(n)}function u(){this.style.setProperty(n,t,e)}function i(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}return null==t?r:"function"==typeof t?i:u}function N(n,t){function e(){delete this[n]}function r(){this[n]=t}function u(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}return null==t?e:"function"==typeof t?u:r}function L(n){return"function"==typeof n?n:(n=Xo.ns.qualify(n)).local?function(){return this.ownerDocument.createElementNS(n.space,n.local)}:function(){return this.ownerDocument.createElementNS(this.namespaceURI,n)}}function T(n){return{__data__:n}}function q(n){return function(){return va(this,n)}}function z(n){return arguments.length||(n=Xo.ascending),function(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}}function R(n,t){for(var e=0,r=n.length;r>e;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function D(n){return fa(n,ya),n}function P(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t<c;);return o}}function U(){var n=this.__transition__;n&&++n.active}function j(n,t,e){function r(){var t=this[o];t&&(this.removeEventListener(n,t,t.$),delete this[o])}function u(){var u=c(t,Bo(arguments));r.call(this),this.addEventListener(n,this[o]=u,u.$=e),u._=t}function i(){var t,e=new RegExp("^__on([^.]+)"+Xo.requote(n)+"$");for(var r in this)if(t=r.match(e)){var u=this[r];this.removeEventListener(t[1],u,u.$),delete this[r]}}var o="__on"+n,a=n.indexOf("."),c=H;a>0&&(n=n.substring(0,a));var s=Ma.get(n);return s&&(n=s,c=F),a?t?u:r:t?g:i}function H(n,t){return function(e){var r=Xo.event;Xo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{Xo.event=r}}}function F(n,t){var e=H(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function O(){var n=".dragsuppress-"+ ++ba,t="click"+n,e=Xo.select(Go).on("touchmove"+n,d).on("dragstart"+n,d).on("selectstart"+n,d);if(_a){var r=Jo.style,u=r[_a];r[_a]="none"}return function(i){function o(){e.on(t,null)}e.on(n,null),_a&&(r[_a]=u),i&&(e.on(t,function(){d(),o()},!0),setTimeout(o,0))}}function Y(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>wa&&(Go.scrollX||Go.scrollY)){e=Xo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();wa=!(u.f||u.e),e.remove()}return wa?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function I(n){return n>0?1:0>n?-1:0}function Z(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function V(n){return n>1?0:-1>n?Sa:Math.acos(n)}function X(n){return n>1?Ea:-1>n?-Ea:Math.asin(n)}function $(n){return((n=Math.exp(n))-1/n)/2}function B(n){return((n=Math.exp(n))+1/n)/2}function W(n){return((n=Math.exp(2*n))-1)/(n+1)}function J(n){return(n=Math.sin(n/2))*n}function G(){}function K(n,t,e){return new Q(n,t,e)}function Q(n,t,e){this.h=n,this.s=t,this.l=e}function nt(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,gt(u(n+120),u(n),u(n-120))}function tt(n,t,e){return new et(n,t,e)}function et(n,t,e){this.h=n,this.c=t,this.l=e}function rt(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),ut(e,Math.cos(n*=Na)*t,Math.sin(n)*t)}function ut(n,t,e){return new it(n,t,e)}function it(n,t,e){this.l=n,this.a=t,this.b=e}function ot(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=ct(u)*Fa,r=ct(r)*Oa,i=ct(i)*Ya,gt(lt(3.2404542*u-1.5371385*r-.4985314*i),lt(-.969266*u+1.8760108*r+.041556*i),lt(.0556434*u-.2040259*r+1.0572252*i))}function at(n,t,e){return n>0?tt(Math.atan2(e,t)*La,Math.sqrt(t*t+e*e),n):tt(0/0,0/0,n)}function ct(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function st(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function lt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function ft(n){return gt(n>>16,255&n>>8,255&n)}function ht(n){return ft(n)+""}function gt(n,t,e){return new pt(n,t,e)}function pt(n,t,e){this.r=n,this.g=t,this.b=e}function vt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function dt(n,t,e){var r,u,i,o,a=0,c=0,s=0;if(u=/([a-z]+)\((.*)\)/i.exec(n))switch(i=u[2].split(","),u[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(Mt(i[0]),Mt(i[1]),Mt(i[2]))}return(o=Va.get(n))?t(o.r,o.g,o.b):(null!=n&&"#"===n.charAt(0)&&(r=parseInt(n.substring(1),16),isNaN(r)||(4===n.length?(a=(3840&r)>>4,a=a>>4|a,c=240&r,c=c>>4|c,s=15&r,s=s<<4|s):7===n.length&&(a=(16711680&r)>>16,c=(65280&r)>>8,s=255&r))),t(a,c,s))}function mt(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),K(r,u,c)}function yt(n,t,e){n=xt(n),t=xt(t),e=xt(e);var r=st((.4124564*n+.3575761*t+.1804375*e)/Fa),u=st((.2126729*n+.7151522*t+.072175*e)/Oa),i=st((.0193339*n+.119192*t+.9503041*e)/Ya);return ut(116*u-16,500*(r-u),200*(u-i))}function xt(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function Mt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function _t(n){return"function"==typeof n?n:function(){return n}}function bt(n){return n}function wt(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),St(t,e,n,r)}}function St(n,t,e,r){function u(){var n,t=c.status;if(!t&&c.responseText||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=Xo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,s=null;return!Go.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=Xo.event;Xo.event=n;try{o.progress.call(i,c)}finally{Xo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(s=n,i):s},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Bo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var l in a)c.setRequestHeader(l,a[l]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=s&&(c.responseType=s),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},Xo.rebind(i,o,"on"),null==r?i:i.get(kt(r))}function kt(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Et(){var n=At(),t=Ct()-n;t>24?(isFinite(t)&&(clearTimeout(Wa),Wa=setTimeout(Et,t)),Ba=0):(Ba=1,Ga(Et))}function At(){var n=Date.now();for(Ja=Xa;Ja;)n>=Ja.t&&(Ja.f=Ja.c(n-Ja.t)),Ja=Ja.n;return n}function Ct(){for(var n,t=Xa,e=1/0;t;)t.f?t=n?n.n=t.n:Xa=t.n:(t.t<e&&(e=t.t),t=(n=t).n);return $a=n,e}function Nt(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Lt(n,t){var e=Math.pow(10,3*oa(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Tt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r?function(n){for(var t=n.length,u=[],i=0,o=r[0];t>0&&o>0;)u.push(n.substring(t-=o,t+o)),o=r[i=(i+1)%r.length];return u.reverse().join(e)}:bt;return function(n){var e=Qa.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"",c=e[4]||"",s=e[5],l=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1;switch(h&&(h=+h.substring(1)),(s||"0"===r&&"="===o)&&(s=r="0",o="=",f&&(l-=Math.floor((l-1)/4))),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=nc.get(g)||qt;var y=s&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):a;if(0>p){var c=Xo.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var x=n.lastIndexOf("."),M=0>x?n:n.substring(0,x),_=0>x?"":t+n.substring(x+1);!s&&f&&(M=i(M));var b=v.length+M.length+_.length+(y?0:u.length),w=l>b?new Array(b=l-b+1).join(r):"";return y&&(M=i(w+M)),u+=v,n=M+_,("<"===o?u+n+w:">"===o?w+u+n:"^"===o?w.substring(0,b>>=1)+u+n+w.substring(b):u+(y?n:w+n))+e}}}function qt(n){return n+""}function zt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Rt(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new ec(e-1)),1),e}function i(n,e){return t(n=new ec(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{ec=zt;var r=new zt;return r._=n,o(r,t,e)}finally{ec=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Dt(n);return c.floor=c,c.round=Dt(r),c.ceil=Dt(u),c.offset=Dt(i),c.range=a,n}function Dt(n){return function(t,e){try{ec=zt;var r=new zt;return r._=t,n(r,e)._}finally{ec=Date}}}function Pt(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.substring(c,a)),null!=(u=uc[e=n.charAt(++a)])&&(e=n.charAt(++a)),(i=C[e])&&(e=i(t,null==u?"e"===e?" ":"0":u)),o.push(e),c=a+1);return o.push(n.substring(c,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},u=e(r,n,t,0);if(u!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var i=null!=r.Z&&ec!==zt,o=new(i?zt:ec);return"j"in r?o.setFullYear(r.y,0,r.j):"w"in r&&("W"in r||"U"in r)?(o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+Math.floor(r.Z/100),r.M+r.Z%100,r.S,r.L),i?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var u,i,o,a=0,c=t.length,s=e.length;c>a;){if(r>=s)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=N[o in uc?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){b.lastIndex=0;var r=b.exec(t.substring(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){M.lastIndex=0;var r=M.exec(t.substring(e));return r?(n.w=_.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.substring(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.substring(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,C.c.toString(),t,r)}function c(n,t,r){return e(n,C.x.toString(),t,r)}function s(n,t,r){return e(n,C.X.toString(),t,r)}function l(n,t,e){var r=x.get(t.substring(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{ec=zt;var t=new ec;return t._=n,r(t)}finally{ec=Date}}var r=t(n);return e.parse=function(n){try{ec=zt;var t=r.parse(n);return t&&t._}finally{ec=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ee;var x=Xo.map(),M=jt(v),_=Ht(v),b=jt(d),w=Ht(d),S=jt(m),k=Ht(m),E=jt(y),A=Ht(y);p.forEach(function(n,t){x.set(n.toLowerCase(),t)});var C={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return Ut(n.getDate(),t,2)},e:function(n,t){return Ut(n.getDate(),t,2)},H:function(n,t){return Ut(n.getHours(),t,2)},I:function(n,t){return Ut(n.getHours()%12||12,t,2)},j:function(n,t){return Ut(1+tc.dayOfYear(n),t,3)},L:function(n,t){return Ut(n.getMilliseconds(),t,3)},m:function(n,t){return Ut(n.getMonth()+1,t,2)},M:function(n,t){return Ut(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return Ut(n.getSeconds(),t,2)},U:function(n,t){return Ut(tc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Ut(tc.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return Ut(n.getFullYear()%100,t,2)},Y:function(n,t){return Ut(n.getFullYear()%1e4,t,4)},Z:ne,"%":function(){return"%"}},N={a:r,A:u,b:i,B:o,c:a,d:Bt,e:Bt,H:Jt,I:Jt,j:Wt,L:Qt,m:$t,M:Gt,p:l,S:Kt,U:Ot,w:Ft,W:Yt,x:c,X:s,y:Zt,Y:It,Z:Vt,"%":te};return t}function Ut(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function jt(n){return new RegExp("^(?:"+n.map(Xo.requote).join("|")+")","i")}function Ht(n){for(var t=new u,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function Ft(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Ot(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e));return r?(n.U=+r[0],e+r[0].length):-1}function Yt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e));return r?(n.W=+r[0],e+r[0].length):-1}function It(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Zt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.y=Xt(+r[0]),e+r[0].length):-1}function Vt(n,t,e){return/^[+-]\d{4}$/.test(t=t.substring(e,e+5))?(n.Z=+t,e+5):-1}function Xt(n){return n+(n>68?1900:2e3)}function $t(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Bt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function Wt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function Jt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function Gt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function Kt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function Qt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ne(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=~~(oa(t)/60),u=oa(t)%60;return e+Ut(r,"0",2)+Ut(u,"0",2)}function te(n,t,e){oc.lastIndex=0;var r=oc.exec(t.substring(e,e+1));return r?e+r[0].length:-1}function ee(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function re(){}function ue(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function ie(n,t){n&&lc.hasOwnProperty(n.type)&&lc[n.type](n,t)}function oe(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++u<i;)r=n[u],t.point(r[0],r[1],r[2]);t.lineEnd()}function ae(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)oe(n[e],t,1);t.polygonEnd()}function ce(){function n(n,t){n*=Na,t=t*Na/2+Sa/4;var e=n-r,o=e>=0?1:-1,a=o*e,c=Math.cos(t),s=Math.sin(t),l=i*s,f=u*c+l*Math.cos(a),h=l*o*Math.sin(a);hc.add(Math.atan2(h,f)),r=n,u=c,i=s}var t,e,r,u,i;gc.point=function(o,a){gc.point=n,r=(t=o)*Na,u=Math.cos(a=(e=a)*Na/2+Sa/4),i=Math.sin(a)},gc.lineEnd=function(){n(t,e)}}function se(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function le(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function fe(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function he(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ge(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function pe(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function ve(n){return[Math.atan2(n[1],n[0]),X(n[2])]}function de(n,t){return oa(n[0]-t[0])<Aa&&oa(n[1]-t[1])<Aa}function me(n,t){n*=Na;var e=Math.cos(t*=Na);ye(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function ye(n,t,e){++pc,dc+=(n-dc)/pc,mc+=(t-mc)/pc,yc+=(e-yc)/pc}function xe(){function n(n,u){n*=Na;var i=Math.cos(u*=Na),o=i*Math.cos(n),a=i*Math.sin(n),c=Math.sin(u),s=Math.atan2(Math.sqrt((s=e*c-r*a)*s+(s=r*o-t*c)*s+(s=t*a-e*o)*s),t*o+e*a+r*c);vc+=s,xc+=s*(t+(t=o)),Mc+=s*(e+(e=a)),_c+=s*(r+(r=c)),ye(t,e,r)}var t,e,r;kc.point=function(u,i){u*=Na;var o=Math.cos(i*=Na);t=o*Math.cos(u),e=o*Math.sin(u),r=Math.sin(i),kc.point=n,ye(t,e,r)}}function Me(){kc.point=me}function _e(){function n(n,t){n*=Na;var e=Math.cos(t*=Na),o=e*Math.cos(n),a=e*Math.sin(n),c=Math.sin(t),s=u*c-i*a,l=i*o-r*c,f=r*a-u*o,h=Math.sqrt(s*s+l*l+f*f),g=r*o+u*a+i*c,p=h&&-V(g)/h,v=Math.atan2(h,g);bc+=p*s,wc+=p*l,Sc+=p*f,vc+=v,xc+=v*(r+(r=o)),Mc+=v*(u+(u=a)),_c+=v*(i+(i=c)),ye(r,u,i)}var t,e,r,u,i;kc.point=function(o,a){t=o,e=a,kc.point=n,o*=Na;var c=Math.cos(a*=Na);r=c*Math.cos(o),u=c*Math.sin(o),i=Math.sin(a),ye(r,u,i)},kc.lineEnd=function(){n(t,e),kc.lineEnd=Me,kc.point=me}}function be(){return!0}function we(n,t,e,r,u){var i=[],o=[];if(n.forEach(function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(de(e,r)){u.lineStart();for(var a=0;t>a;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c=new ke(e,n,null,!0),s=new ke(e,null,c,!1);c.o=s,i.push(c),o.push(s),c=new ke(r,n,null,!1),s=new ke(r,null,c,!0),c.o=s,i.push(c),o.push(s)}}),o.sort(t),Se(i),Se(o),i.length){for(var a=0,c=e,s=o.length;s>a;++a)o[a].e=c=!c;for(var l,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;l=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,s=l.length;s>a;++a)u.point((f=l[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){l=g.p.z;for(var a=l.length-1;a>=0;--a)u.point((f=l[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,l=g.z,p=!p}while(!g.v);u.lineEnd()}}}function Se(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r<t;)u.n=e=n[r],e.p=u,u=e;u.n=e=n[0],e.p=u}}function ke(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Ee(n,t,e,r){return function(u,i){function o(t,e){var r=u(t,e);n(t=r[0],e=r[1])&&i.point(t,e)}function a(n,t){var e=u(n,t);d.point(e[0],e[1])}function c(){y.point=a,d.lineStart()}function s(){y.point=o,d.lineEnd()}function l(n,t){v.push([n,t]);var e=u(n,t);M.point(e[0],e[1])}function f(){M.lineStart(),v=[]}function h(){l(v[0][0],v[0][1]),M.lineEnd();var n,t=M.clean(),e=x.buffer(),r=e.length;if(v.pop(),p.push(v),v=null,r){if(1&t){n=e[0];var u,r=n.length-1,o=-1;for(i.lineStart();++o<r;)i.point((u=n[o])[0],u[1]);return i.lineEnd(),void 0}r>1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Ae))}}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:s,polygonStart:function(){y.point=l,y.lineStart=f,y.lineEnd=h,g=[],p=[],i.polygonStart()},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=s,g=Xo.merge(g);var n=Le(m,p);g.length?we(g,Ne,n,e,i):n&&(i.lineStart(),e(null,null,1,i),i.lineEnd()),i.polygonEnd(),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},x=Ce(),M=t(x);return y}}function Ae(n){return n.length>1}function Ce(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:g,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ne(n,t){return((n=n.x)[0]<0?n[1]-Ea-Aa:Ea-n[1])-((t=t.x)[0]<0?t[1]-Ea-Aa:Ea-t[1])}function Le(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;hc.reset();for(var a=0,c=t.length;c>a;++a){var s=t[a],l=s.length;if(l)for(var f=s[0],h=f[0],g=f[1]/2+Sa/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===l&&(d=0),n=s[d];var m=n[0],y=n[1]/2+Sa/4,x=Math.sin(y),M=Math.cos(y),_=m-h,b=_>=0?1:-1,w=b*_,S=w>Sa,k=p*x;if(hc.add(Math.atan2(k*b*Math.sin(w),v*M+k*Math.cos(w))),i+=S?_+b*ka:_,S^h>=e^m>=e){var E=fe(se(f),se(n));pe(E);var A=fe(u,E);pe(A);var C=(S^_>=0?-1:1)*X(A[2]);(r>C||r===C&&(E[0]||E[1]))&&(o+=S^_>=0?1:-1)}if(!d++)break;h=m,p=x,v=M,f=n}}return(-Aa>i||Aa>i&&0>hc)^1&o}function Te(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Sa:-Sa,c=oa(i-e);oa(c-Sa)<Aa?(n.point(e,r=(r+o)/2>0?Ea:-Ea),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Sa&&(oa(e-u)<Aa&&(e-=u*Aa),oa(i-a)<Aa&&(i-=a*Aa),r=qe(e,r,i,o),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=i,r=o),u=a},lineEnd:function(){n.lineEnd(),e=r=0/0},clean:function(){return 2-t}}}function qe(n,t,e,r){var u,i,o=Math.sin(n-e);return oa(o)>Aa?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function ze(n,t,e,r){var u;if(null==n)u=e*Ea,r.point(-Sa,u),r.point(0,u),r.point(Sa,u),r.point(Sa,0),r.point(Sa,-u),r.point(0,-u),r.point(-Sa,-u),r.point(-Sa,0),r.point(-Sa,u);else if(oa(n[0]-t[0])>Aa){var i=n[0]<t[0]?Sa:-Sa;u=e*i/2,r.point(-i,u),r.point(0,u),r.point(i,u)}else r.point(t[0],t[1])}function Re(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,s,l;return{lineStart:function(){s=c=!1,l=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?Sa:-Sa),h):0;if(!e&&(s=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(de(e,g)||de(p,g))&&(p[0]+=Aa,p[1]+=Aa,v=t(p[0],p[1]))),v!==c)l=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(l=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&de(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return l|(s&&c)<<1}}}function r(n,t,e){var r=se(n),u=se(t),o=[1,0,0],a=fe(r,u),c=le(a,a),s=a[0],l=c-s*s;if(!l)return!e&&n;var f=i*c/l,h=-i*s/l,g=fe(o,a),p=ge(o,f),v=ge(a,h);he(p,v);var d=g,m=le(p,d),y=le(d,d),x=m*m-y*(le(p,p)-1);if(!(0>x)){var M=Math.sqrt(x),_=ge(d,(-m-M)/y);if(he(_,p),_=ve(_),!e)return _;var b,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(b=w,w=S,S=b);var A=S-w,C=oa(A-Sa)<Aa,N=C||Aa>A;if(!C&&k>E&&(b=k,k=E,E=b),N?C?k+E>0^_[1]<(oa(_[0]-w)<Aa?k:E):k<=_[1]&&_[1]<=E:A>Sa^(w<=_[0]&&_[0]<=S)){var L=ge(d,(-m+M)/y);return he(L,p),[_,ve(L)]}}}function u(t,e){var r=o?n:Sa-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=oa(i)>Aa,c=cr(n,6*Na);return Ee(t,e,c,o?[0,-n]:[-Sa,n-Sa])}function De(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,s=o.y,l=a.x,f=a.y,h=0,g=1,p=l-c,v=f-s;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-s,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-s,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:s+h*v}),1>g&&(u.b={x:c+g*p,y:s+g*v}),u}}}}}}function Pe(n,t,e,r){function u(r,u){return oa(r[0]-n)<Aa?u>0?0:3:oa(r[0]-e)<Aa?u>0?2:1:oa(r[1]-t)<Aa?u>0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,s=a[0];c>o;++o)i=a[o],s[1]<=r?i[1]>r&&Z(s,i,n)>0&&++t:i[1]<=r&&Z(s,i,n)<0&&--t,s=i;return 0!==t}function s(i,a,c,s){var l=0,f=0;if(null==i||(l=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do s.point(0===l||3===l?n:e,l>1?r:t);while((l=(l+c+4)%4)!==f)}else s.point(a[0],a[1])}function l(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){l(n,t)&&a.point(n,t)}function h(){N.point=p,d&&d.push(m=[]),S=!0,w=!1,_=b=0/0}function g(){v&&(p(y,x),M&&w&&A.rejoin(),v.push(A.buffer())),N.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-Ac,Math.min(Ac,n)),t=Math.max(-Ac,Math.min(Ac,t));var e=l(n,t);if(d&&m.push([n,t]),S)y=n,x=t,M=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:_,y:b},b:{x:n,y:t}};C(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}_=n,b=t,w=e}var v,d,m,y,x,M,_,b,w,S,k,E=a,A=Ce(),C=De(n,t,e,r),N={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=Xo.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),s(null,null,1,a),a.lineEnd()),u&&we(v,i,t,s,a),a.polygonEnd()),v=d=m=null}};return N}}function Ue(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function je(n){var t=0,e=Sa/3,r=nr(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*Sa/180,e=n[1]*Sa/180):[180*(t/Sa),180*(e/Sa)]},u}function He(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,X((i-(n*n+e*e)*u*u)/(2*u))]},e}function Fe(){function n(n,t){Nc+=u*n-r*t,r=n,u=t}var t,e,r,u;Rc.point=function(i,o){Rc.point=n,t=r=i,e=u=o},Rc.lineEnd=function(){n(t,e)}}function Oe(n,t){Lc>n&&(Lc=n),n>qc&&(qc=n),Tc>t&&(Tc=t),t>zc&&(zc=t)}function Ye(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Ie(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Ie(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Ie(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Ze(n,t){dc+=n,mc+=t,++yc}function Ve(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);xc+=o*(t+n)/2,Mc+=o*(e+r)/2,_c+=o,Ze(t=n,e=r)}var t,e;Pc.point=function(r,u){Pc.point=n,Ze(t=r,e=u)}}function Xe(){Pc.point=Ze}function $e(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);xc+=o*(r+n)/2,Mc+=o*(u+t)/2,_c+=o,o=u*n-r*t,bc+=o*(r+n),wc+=o*(u+t),Sc+=3*o,Ze(r=n,u=t)}var t,e,r,u;Pc.point=function(i,o){Pc.point=n,Ze(t=r=i,e=u=o)},Pc.lineEnd=function(){n(t,e)}}function Be(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,ka)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:g};return a}function We(n){function t(n){return(a?r:e)(n)}function e(t){return Ke(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){x=0/0,S.point=i,t.lineStart()}function i(e,r){var i=se([e,r]),o=n(e,r);u(x,M,y,_,b,w,x=o[0],M=o[1],y=e,_=i[0],b=i[1],w=i[2],a,t),t.point(x,M)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=s,S.lineEnd=l}function s(n,t){i(f=n,h=t),g=x,p=M,v=_,d=b,m=w,S.point=i}function l(){u(x,M,y,_,b,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,x,M,_,b,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,s,l,f,h,g,p,v,d,m){var y=l-t,x=f-e,M=y*y+x*x;if(M>4*i&&d--){var _=a+g,b=c+p,w=s+v,S=Math.sqrt(_*_+b*b+w*w),k=Math.asin(w/=S),E=oa(oa(w)-1)<Aa||oa(r-h)<Aa?(r+h)/2:Math.atan2(b,_),A=n(E,k),C=A[0],N=A[1],L=C-t,T=N-e,q=x*L-y*T;(q*q/M>i||oa((y*L+x*T)/M-.5)>.3||o>a*g+c*p+s*v)&&(u(t,e,r,a,c,s,C,N,E,_/=S,b/=S,w,d,m),m.point(C,N),u(C,N,E,_,b,w,l,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*Na),a=16;return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function Je(n){var t=We(function(t,e){return n([t*La,e*La])});return function(n){return tr(t(n))}}function Ge(n){this.stream=n}function Ke(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function Qe(n){return nr(function(){return n})()}function nr(n){function t(n){return n=a(n[0]*Na,n[1]*Na),[n[0]*h+c,s-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(s-n[1])/h),n&&[n[0]*La,n[1]*La]}function r(){a=Ue(o=ur(m,y,x),i);var n=i(v,d);return c=g-n[0]*h,s=p+n[1]*h,u()}function u(){return l&&(l.valid=!1,l=null),t}var i,o,a,c,s,l,f=We(function(n,t){return n=i(n,t),[n[0]*h+c,s-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,y=0,x=0,M=Ec,_=bt,b=null,w=null;return t.stream=function(n){return l&&(l.valid=!1),l=tr(M(o,f(_(n)))),l.valid=!0,l},t.clipAngle=function(n){return arguments.length?(M=null==n?(b=n,Ec):Re((b=+n)*Na),u()):b},t.clipExtent=function(n){return arguments.length?(w=n,_=n?Pe(n[0][0],n[0][1],n[1][0],n[1][1]):bt,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*Na,d=n[1]%360*Na,r()):[v*La,d*La]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Na,y=n[1]%360*Na,x=n.length>2?n[2]%360*Na:0,r()):[m*La,y*La,x*La]},Xo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function tr(n){return Ke(n,function(t,e){n.point(t*Na,e*Na)})}function er(n,t){return[n,t]}function rr(n,t){return[n>Sa?n-ka:-Sa>n?n+ka:n,t]}function ur(n,t,e){return n?t||e?Ue(or(n),ar(t,e)):or(n):t||e?ar(t,e):rr}function ir(n){return function(t,e){return t+=n,[t>Sa?t-ka:-Sa>t?t+ka:t,e]}}function or(n){var t=ir(n);return t.invert=ir(-n),t}function ar(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,s=Math.sin(t),l=s*r+a*u;return[Math.atan2(c*i-l*o,a*r-s*u),X(l*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,s=Math.sin(t),l=s*i-c*o;return[Math.atan2(c*i+s*o,a*r+l*u),X(l*r-a*u)]},e}function cr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=sr(e,u),i=sr(e,i),(o>0?i>u:u>i)&&(u+=o*ka)):(u=n+o*ka,i=n-.5*c);for(var s,l=u;o>0?l>i:i>l;l-=c)a.point((s=ve([e,-r*Math.cos(l),-r*Math.sin(l)]))[0],s[1])}}function sr(n,t){var e=se(t);e[0]-=n,pe(e);var r=V(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Aa)%(2*Math.PI)}function lr(n,t,e){var r=Xo.range(n,t-Aa,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function fr(n,t,e){var r=Xo.range(n,t-Aa,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function hr(n){return n.source}function gr(n){return n.target}function pr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),s=u*Math.sin(n),l=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(J(r-t)+u*o*J(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*l,u=e*s+t*f,o=e*i+t*a;return[Math.atan2(u,r)*La,Math.atan2(o,Math.sqrt(r*r+u*u))*La]}:function(){return[n*La,t*La]};return p.distance=h,p}function vr(){function n(n,u){var i=Math.sin(u*=Na),o=Math.cos(u),a=oa((n*=Na)-t),c=Math.cos(a);Uc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;jc.point=function(u,i){t=u*Na,e=Math.sin(i*=Na),r=Math.cos(i),jc.point=n},jc.lineEnd=function(){jc.point=jc.lineEnd=g}}function dr(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function mr(n,t){function e(n,t){var e=oa(oa(t)-Ea)<Aa?0:o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(Sa/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=I(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-Ea]},e):xr}function yr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return oa(u)<Aa?er:(e.invert=function(n,t){var e=i-t;return[Math.atan2(n,e)/u,i-I(u)*Math.sqrt(n*n+e*e)]},e)}function xr(n,t){return[n,Math.log(Math.tan(Sa/4+t/2))]}function Mr(n){var t,e=Qe(n),r=e.scale,u=e.translate,i=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=u.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=i.apply(e,arguments);if(o===e){if(t=null==n){var a=Sa*r(),c=u();i([[c[0]-a,c[1]-a],[c[0]+a,c[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function _r(n,t){return[Math.log(Math.tan(Sa/4+t/2)),-n]}function br(n){return n[0]}function wr(n){return n[1]}function Sr(n){for(var t=n.length,e=[0,1],r=2,u=2;t>u;u++){for(;r>1&&Z(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function kr(n,t){return n[0]-t[0]||n[1]-t[1]}function Er(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Ar(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],s=e[1],l=t[1]-c,f=r[1]-s,h=(a*(c-s)-f*(u-i))/(f*o-a*l);return[u+h*o,c+h*l]}function Cr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Nr(){Jr(this),this.edge=this.site=this.circle=null}function Lr(n){var t=Jc.pop()||new Nr;return t.site=n,t}function Tr(n){Or(n),$c.remove(n),Jc.push(n),Jr(n)}function qr(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Tr(n);for(var c=i;c.circle&&oa(e-c.circle.x)<Aa&&oa(r-c.circle.cy)<Aa;)i=c.P,a.unshift(c),Tr(c),c=i;a.unshift(c),Or(c);for(var s=o;s.circle&&oa(e-s.circle.x)<Aa&&oa(r-s.circle.cy)<Aa;)o=s.N,a.push(s),Tr(s),s=o;a.push(s),Or(s);var l,f=a.length;for(l=1;f>l;++l)s=a[l],c=a[l-1],$r(s.edge,c.site,s.site,u);c=a[0],s=a[f-1],s.edge=Vr(c.site,s.site,null,u),Fr(c),Fr(s)}function zr(n){for(var t,e,r,u,i=n.x,o=n.y,a=$c._;a;)if(r=Rr(a,o)-i,r>Aa)a=a.L;else{if(u=i-Dr(a,o),!(u>Aa)){r>-Aa?(t=a.P,e=a):u>-Aa?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Lr(n);if($c.insert(t,c),t||e){if(t===e)return Or(t),e=Lr(t.site),$c.insert(c,e),c.edge=e.edge=Vr(t.site,c.site),Fr(t),Fr(e),void 0;if(!e)return c.edge=Vr(t.site,c.site),void 0;Or(t),Or(e);var s=t.site,l=s.x,f=s.y,h=n.x-l,g=n.y-f,p=e.site,v=p.x-l,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,x=v*v+d*d,M={x:(d*y-g*x)/m+l,y:(h*x-v*y)/m+f};$r(e.edge,s,p,M),c.edge=Vr(s,n,null,M),e.edge=Vr(n,p,null,M),Fr(t),Fr(e)}}function Rr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,s=c-t;if(!s)return a;var l=a-r,f=1/i-1/s,h=l/s;return f?(-h+Math.sqrt(h*h-2*f*(l*l/(-2*s)-c+s/2+u-i/2)))/f+r:(r+a)/2}function Dr(n,t){var e=n.N;if(e)return Rr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Pr(n){this.site=n,this.edges=[]}function Ur(n){for(var t,e,r,u,i,o,a,c,s,l,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=Xc,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)l=a[o].end(),r=l.x,u=l.y,s=a[++o%c].start(),t=s.x,e=s.y,(oa(r-t)>Aa||oa(u-e)>Aa)&&(a.splice(o,0,new Br(Xr(i.site,l,oa(r-f)<Aa&&p-u>Aa?{x:f,y:oa(t-f)<Aa?e:p}:oa(u-p)<Aa&&h-r>Aa?{x:oa(e-p)<Aa?t:h,y:p}:oa(r-h)<Aa&&u-g>Aa?{x:h,y:oa(t-h)<Aa?e:g}:oa(u-g)<Aa&&r-f>Aa?{x:oa(e-g)<Aa?t:f,y:g}:null),i.site,null)),++c)}function jr(n,t){return t.angle-n.angle}function Hr(){Jr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Fr(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,u=n.site,i=e.site;if(r!==i){var o=u.x,a=u.y,c=r.x-o,s=r.y-a,l=i.x-o,f=i.y-a,h=2*(c*f-s*l);if(!(h>=-Ca)){var g=c*c+s*s,p=l*l+f*f,v=(f*g-s*p)/h,d=(c*p-l*g)/h,f=d+a,m=Gc.pop()||new Hr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,x=Wc._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}Wc.insert(y,m),y||(Bc=m)}}}}function Or(n){var t=n.circle;t&&(t.P||(Bc=t.N),Wc.remove(t),Gc.push(t),Jr(t),n.circle=null)}function Yr(n){for(var t,e=Vc,r=De(n[0][0],n[0][1],n[1][0],n[1][1]),u=e.length;u--;)t=e[u],(!Ir(t,n)||!r(t)||oa(t.a.x-t.b.x)<Aa&&oa(t.a.y-t.b.y)<Aa)&&(t.a=t.b=null,e.splice(u,1))}function Ir(n,t){var e=n.b;if(e)return!0;var r,u,i=n.a,o=t[0][0],a=t[1][0],c=t[0][1],s=t[1][1],l=n.l,f=n.r,h=l.x,g=l.y,p=f.x,v=f.y,d=(h+p)/2,m=(g+v)/2;if(v===g){if(o>d||d>=a)return;if(h>p){if(i){if(i.y>=s)return}else i={x:d,y:c};e={x:d,y:s}}else{if(i){if(i.y<c)return}else i={x:d,y:s};e={x:d,y:c}}}else if(r=(h-p)/(v-g),u=m-r*d,-1>r||r>1)if(h>p){if(i){if(i.y>=s)return}else i={x:(c-u)/r,y:c};e={x:(s-u)/r,y:s}}else{if(i){if(i.y<c)return}else i={x:(s-u)/r,y:s};e={x:(c-u)/r,y:c}}else if(v>g){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.x<o)return}else i={x:a,y:r*a+u};e={x:o,y:r*o+u}}return n.a=i,n.b=e,!0}function Zr(n,t){this.l=n,this.r=t,this.a=this.b=null}function Vr(n,t,e,r){var u=new Zr(n,t);return Vc.push(u),e&&$r(u,n,t,e),r&&$r(u,t,n,r),Xc[n.i].edges.push(new Br(u,n,t)),Xc[t.i].edges.push(new Br(u,t,n)),u}function Xr(n,t,e){var r=new Zr(n,null);return r.a=t,r.b=e,Vc.push(r),r}function $r(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function Br(n,t,e){var r=n.a,u=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(u.x-r.x,r.y-u.y):Math.atan2(r.x-u.x,u.y-r.y)}function Wr(){this._=null}function Jr(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function Gr(n,t){var e=t,r=t.R,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function Kr(n,t){var e=t,r=t.L,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function Qr(n){for(;n.L;)n=n.L;return n}function nu(n,t){var e,r,u,i=n.sort(tu).pop();for(Vc=[],Xc=new Array(n.length),$c=new Wr,Wc=new Wr;;)if(u=Bc,i&&(!u||i.y<u.y||i.y===u.y&&i.x<u.x))(i.x!==e||i.y!==r)&&(Xc[i.i]=new Pr(i),zr(i),e=i.x,r=i.y),i=n.pop();else{if(!u)break;qr(u.arc)}t&&(Yr(t),Ur(t));var o={cells:Xc,edges:Vc};return $c=Wc=Vc=Xc=null,o}function tu(n,t){return t.y-n.y||t.x-n.x}function eu(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function ru(n){return n.x}function uu(n){return n.y}function iu(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function ou(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&ou(n,c[0],e,r,o,a),c[1]&&ou(n,c[1],o,r,u,a),c[2]&&ou(n,c[2],e,a,o,i),c[3]&&ou(n,c[3],o,a,u,i)}}function au(n,t){n=Xo.rgb(n),t=Xo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+vt(Math.round(e+i*n))+vt(Math.round(r+o*n))+vt(Math.round(u+a*n))}}function cu(n,t){var e,r={},u={};for(e in n)e in t?r[e]=fu(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function su(n,t){return t-=n=+n,function(e){return n+t*e}}function lu(n,t){var e,r,u,i,o,a=0,c=0,s=[],l=[];for(n+="",t+="",Qc.lastIndex=0,r=0;e=Qc.exec(t);++r)e.index&&s.push(t.substring(a,c=e.index)),l.push({i:s.length,x:e[0]}),s.push(null),a=Qc.lastIndex;for(a<t.length&&s.push(t.substring(a)),r=0,i=l.length;(e=Qc.exec(n))&&i>r;++r)if(o=l[r],o.x==e[0]){if(o.i)if(null==s[o.i+1])for(s[o.i-1]+=o.x,s.splice(o.i,1),u=r+1;i>u;++u)l[u].i--;else for(s[o.i-1]+=o.x+s[o.i+1],s.splice(o.i,2),u=r+1;i>u;++u)l[u].i-=2;else if(null==s[o.i+1])s[o.i]=o.x;else for(s[o.i]=o.x+s[o.i+1],s.splice(o.i+1,1),u=r+1;i>u;++u)l[u].i--;l.splice(r,1),i--,r--}else o.x=su(parseFloat(e[0]),parseFloat(o.x));for(;i>r;)o=l.pop(),null==s[o.i+1]?s[o.i]=o.x:(s[o.i]=o.x+s[o.i+1],s.splice(o.i+1,1)),i--;return 1===s.length?null==s[0]?(o=l[0].x,function(n){return o(n)+""}):function(){return t}:function(n){for(r=0;i>r;++r)s[(o=l[r]).i]=o.x(n);return s.join("")}}function fu(n,t){for(var e,r=Xo.interpolators.length;--r>=0&&!(e=Xo.interpolators[r](n,t)););return e}function hu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(fu(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function gu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function pu(n){return function(t){return 1-n(1-t)}}function vu(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function du(n){return n*n}function mu(n){return n*n*n}function yu(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function xu(n){return function(t){return Math.pow(t,n)}}function Mu(n){return 1-Math.cos(n*Ea)}function _u(n){return Math.pow(2,10*(n-1))}function bu(n){return 1-Math.sqrt(1-n*n)}function wu(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/ka*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*ka/t)}}function Su(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function ku(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Eu(n,t){n=Xo.hcl(n),t=Xo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return rt(e+i*n,r+o*n,u+a*n)+""}}function Au(n,t){n=Xo.hsl(n),t=Xo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return nt(e+i*n,r+o*n,u+a*n)+""}}function Cu(n,t){n=Xo.lab(n),t=Xo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ot(e+i*n,r+o*n,u+a*n)+""}}function Nu(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Lu(n){var t=[n.a,n.b],e=[n.c,n.d],r=qu(t),u=Tu(t,e),i=qu(zu(e,t,-u))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,u*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*La,this.translate=[n.e,n.f],this.scale=[r,i],this.skew=i?Math.atan2(u,i)*La:0}function Tu(n,t){return n[0]*t[0]+n[1]*t[1]}function qu(n){var t=Math.sqrt(Tu(n,n));return t&&(n[0]/=t,n[1]/=t),t}function zu(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}function Ru(n,t){var e,r=[],u=[],i=Xo.transform(n),o=Xo.transform(t),a=i.translate,c=o.translate,s=i.rotate,l=o.rotate,f=i.skew,h=o.skew,g=i.scale,p=o.scale;return a[0]!=c[0]||a[1]!=c[1]?(r.push("translate(",null,",",null,")"),u.push({i:1,x:su(a[0],c[0])},{i:3,x:su(a[1],c[1])})):c[0]||c[1]?r.push("translate("+c+")"):r.push(""),s!=l?(s-l>180?l+=360:l-s>180&&(s+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:su(s,l)})):l&&r.push(r.pop()+"rotate("+l+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:su(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:su(g[0],p[0])},{i:e-2,x:su(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i<e;)r[(t=u[i]).i]=t.x(n);return r.join("")}}function Du(n,t){return t=t-(n=+n)?1/(t-n):0,function(e){return(e-n)*t}}function Pu(n,t){return t=t-(n=+n)?1/(t-n):0,function(e){return Math.max(0,Math.min(1,(e-n)*t))}}function Uu(n){for(var t=n.source,e=n.target,r=Hu(t,e),u=[t];t!==r;)t=t.parent,u.push(t);for(var i=u.length;e!==r;)u.splice(i,0,e),e=e.parent;return u}function ju(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Hu(n,t){if(n===t)return n;for(var e=ju(n),r=ju(t),u=e.pop(),i=r.pop(),o=null;u===i;)o=u,u=e.pop(),i=r.pop();return o}function Fu(n){n.fixed|=2}function Ou(n){n.fixed&=-7}function Yu(n){n.fixed|=4,n.px=n.x,n.py=n.y}function Iu(n){n.fixed&=-5}function Zu(n,t,e){var r=0,u=0;if(n.charge=0,!n.leaf)for(var i,o=n.nodes,a=o.length,c=-1;++c<a;)i=o[c],null!=i&&(Zu(i,t,e),n.charge+=i.charge,r+=i.charge*i.cx,u+=i.charge*i.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var s=t*e[n.point.index];n.charge+=n.pointCharge=s,r+=s*n.point.x,u+=s*n.point.y}n.cx=r/n.charge,n.cy=u/n.charge}function Vu(n,t){return Xo.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=Wu,n}function Xu(n){return n.children}function $u(n){return n.value}function Bu(n,t){return t.value-n.value}function Wu(n){return Xo.merge(n.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function Ju(n){return n.x}function Gu(n){return n.y}function Ku(n,t,e){n.y0=t,n.y=e}function Qu(n){return Xo.range(n.length)}function ni(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function ti(n){for(var t,e=1,r=0,u=n[0][1],i=n.length;i>e;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function ei(n){return n.reduce(ri,0)}function ri(n,t){return n+t[1]}function ui(n,t){return ii(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function ii(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function oi(n){return[Xo.min(n),Xo.max(n)]}function ai(n,t){return n.parent==t.parent?1:2}function ci(n){var t=n.children;return t&&t.length?t[0]:n._tree.thread}function si(n){var t,e=n.children;return e&&(t=e.length)?e[t-1]:n._tree.thread}function li(n,t){var e=n.children;if(e&&(u=e.length))for(var r,u,i=-1;++i<u;)t(r=li(e[i],t),n)>0&&(n=r);return n}function fi(n,t){return n.x-t.x}function hi(n,t){return t.x-n.x}function gi(n,t){return n.depth-t.depth}function pi(n,t){function e(n,r){var u=n.children;if(u&&(o=u.length))for(var i,o,a=null,c=-1;++c<o;)i=u[c],e(i,a),a=i;t(n,r)}e(n,null)}function vi(n){for(var t,e=0,r=0,u=n.children,i=u.length;--i>=0;)t=u[i]._tree,t.prelim+=e,t.mod+=e,e+=t.shift+(r+=t.change)}function di(n,t,e){n=n._tree,t=t._tree;var r=e/(t.number-n.number);n.change+=r,t.change-=r,t.shift+=e,t.prelim+=e,t.mod+=e}function mi(n,t,e){return n._tree.ancestor.parent==t.parent?n._tree.ancestor:e}function yi(n,t){return n.value-t.value}function xi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Mi(n,t){n._pack_next=t,t._pack_prev=n}function _i(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function bi(n){function t(n){l=Math.min(n.x-n.r,l),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(s=e.length)){var e,r,u,i,o,a,c,s,l=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(wi),r=e[0],r.x=-r.r,r.y=0,t(r),s>1&&(u=e[1],u.x=u.r,u.y=0,t(u),s>2))for(i=e[2],Ei(r,u,i),t(i),xi(r,i),r._pack_prev=i,xi(i,u),u=r._pack_next,o=3;s>o;o++){Ei(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(_i(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!_i(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.r<r.r?Mi(r,u=a):Mi(r=c,u),o--):(xi(r,i),u=i,t(i))}var m=(l+f)/2,y=(h+g)/2,x=0;for(o=0;s>o;o++)i=e[o],i.x-=m,i.y-=y,x=Math.max(x,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=x,e.forEach(Si)}}function wi(n){n._pack_next=n._pack_prev=n}function Si(n){delete n._pack_next,delete n._pack_prev}function ki(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i<o;)ki(u[i],t,e,r)}function Ei(n,t,e){var r=n.r+e.r,u=t.x-n.x,i=t.y-n.y;if(r&&(u||i)){var o=t.r+e.r,a=u*u+i*i;o*=o,r*=r;var c=.5+(r-o)/(2*a),s=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+c*u+s*i,e.y=n.y+c*i-s*u}else e.x=n.x+r,e.y=n.y}function Ai(n){return 1+Xo.max(n,function(n){return n.y})}function Ci(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Ni(n){var t=n.children;return t&&t.length?Ni(t[0]):n}function Li(n){var t,e=n.children;return e&&(t=e.length)?Li(e[t-1]):n}function Ti(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function qi(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function zi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Ri(n){return n.rangeExtent?n.rangeExtent():zi(n.range())}function Di(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Pi(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Ui(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:ls}function ji(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)u.push(e(n[o-1],n[o])),i.push(r(t[o-1],t[o]));return function(t){var e=Xo.bisect(n,t,1,a)-1;return i[e](u[e](t))}}function Hi(n,t,e,r){function u(){var u=Math.min(n.length,t.length)>2?ji:Di,c=r?Pu:Du;return o=u(n,t,c,e),a=u(t,n,c,fu),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Nu)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Ii(n,t)},i.tickFormat=function(t,e){return Zi(n,t,e)},i.nice=function(t){return Oi(n,t),u()},i.copy=function(){return Hi(n,t,e,r)},u()}function Fi(n,t){return Xo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Oi(n,t){return Pi(n,Ui(Yi(n,t)[2]))}function Yi(n,t){null==t&&(t=10);var e=zi(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Ii(n,t){return Xo.range.apply(Xo,Yi(n,t))}function Zi(n,t,e){var r=Yi(n,t);return Xo.format(e?e.replace(Qa,function(n,t,e,u,i,o,a,c,s,l){return[t,e,u,i,o,a,c,s||"."+Xi(l,r),l].join("")}):",."+Vi(r[2])+"f")}function Vi(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Xi(n,t){var e=Vi(t[2]);return n in fs?Math.abs(e-Vi(Math.max(Math.abs(t[0]),Math.abs(t[1]))))+ +("e"!==n):e-2*("%"===n)}function $i(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Pi(r.map(u),e?Math:gs);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=zi(r),o=[],a=n[0],c=n[1],s=Math.floor(u(a)),l=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(l-s)){if(e){for(;l>s;s++)for(var h=1;f>h;h++)o.push(i(s)*h);o.push(i(s))}else for(o.push(i(s));s++<l;)for(var h=f-1;h>0;h--)o.push(i(s)*h);for(s=0;o[s]<a;s++);for(l=o.length;o[l-1]>c;l--);o=o.slice(s,l)}return o},o.tickFormat=function(n,t){if(!arguments.length)return hs;arguments.length<2?t=hs:"function"!=typeof t&&(t=Xo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return $i(n.copy(),t,e,r)},Fi(o,n)}function Bi(n,t,e){function r(t){return n(u(t))}var u=Wi(t),i=Wi(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Ii(e,n)},r.tickFormat=function(n,t){return Zi(e,n,t)},r.nice=function(n){return r.domain(Oi(e,n))},r.exponent=function(o){return arguments.length?(u=Wi(t=o),i=Wi(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Bi(n.copy(),t,e)},Fi(r,n)}function Wi(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Ji(n,t){function e(e){return o[((i.get(e)||"range"===t.t&&i.set(e,n.push(e)))-1)%o.length]}function r(t,e){return Xo.range(n.length).map(function(n){return t+e*n})}var i,o,a;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new u;for(var o,a=-1,c=r.length;++a<c;)i.has(o=r[a])||i.set(o,n.push(o));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(o=n,a=0,t={t:"range",a:arguments},e):o},e.rangePoints=function(u,i){arguments.length<2&&(i=0);var c=u[0],s=u[1],l=(s-c)/(Math.max(1,n.length-1)+i);return o=r(n.length<2?(c+s)/2:c+l*i/2,l),a=0,t={t:"rangePoints",a:arguments},e},e.rangeBands=function(u,i,c){arguments.length<2&&(i=0),arguments.length<3&&(c=i);var s=u[1]<u[0],l=u[s-0],f=u[1-s],h=(f-l)/(n.length-i+2*c);return o=r(l+h*c,h),s&&o.reverse(),a=h*(1-i),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(u,i,c){arguments.length<2&&(i=0),arguments.length<3&&(c=i);var s=u[1]<u[0],l=u[s-0],f=u[1-s],h=Math.floor((f-l)/(n.length-i+2*c)),g=f-l-(n.length-i)*h;return o=r(l+Math.round(g/2),h),s&&o.reverse(),a=Math.round(h*(1-i)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return a},e.rangeExtent=function(){return zi(t.a[0])},e.copy=function(){return Ji(n,t)},e.domain(n)}function Gi(n,t){function e(){var e=0,i=t.length;for(u=[];++e<i;)u[e-1]=Xo.quantile(n,e/i);return r}function r(n){return isNaN(n=+n)?void 0:t[Xo.bisect(u,n)]}var u;return r.domain=function(t){return arguments.length?(n=t.filter(function(n){return!isNaN(n)}).sort(Xo.ascending),e()):n},r.range=function(n){return arguments.length?(t=n,e()):t},r.quantiles=function(){return u},r.invertExtent=function(e){return e=t.indexOf(e),0>e?[0/0,0/0]:[e>0?u[e-1]:n[0],e<u.length?u[e]:n[n.length-1]]},r.copy=function(){return Gi(n,t)},e()}function Ki(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(i*(t-n))))]}function u(){return i=e.length/(t-n),o=e.length-1,r}var i,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],u()):[n,t]},r.range=function(n){return arguments.length?(e=n,u()):e},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return Ki(n,t,e)},u()}function Qi(n,t){function e(e){return e>=e?t[Xo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return Qi(n,t)},e}function no(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Ii(n,t)},t.tickFormat=function(t,e){return Zi(n,t,e)},t.copy=function(){return no(n)},t}function to(n){return n.innerRadius}function eo(n){return n.outerRadius}function ro(n){return n.startAngle}function uo(n){return n.endAngle}function io(n){function t(t){function o(){s.push("M",i(n(l),a))}for(var c,s=[],l=[],f=-1,h=t.length,g=_t(e),p=_t(r);++f<h;)u.call(this,c=t[f],f)?l.push([+g.call(this,c,f),+p.call(this,c,f)]):l.length&&(o(),l=[]);return l.length&&o(),s.length?s.join(""):null}var e=br,r=wr,u=be,i=oo,o=i.key,a=.7;return t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){return arguments.length?(u=n,t):u},t.interpolate=function(n){return arguments.length?(o="function"==typeof n?i=n:(i=Ms.get(n)||oo).key,t):o},t.tension=function(n){return arguments.length?(a=n,t):a},t}function oo(n){return n.join("L")}function ao(n){return oo(n)+"Z"}function co(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r[0]+(r=n[t])[0])/2,"V",r[1]);return e>1&&u.push("H",r[0]),u.join("")}function so(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("V",(r=n[t])[1],"H",r[0]);return u.join("")}function lo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r=n[t])[0],"V",r[1]);return u.join("")}function fo(n,t){return n.length<4?oo(n):n[1]+po(n.slice(1,n.length-1),vo(n,t))}function ho(n,t){return n.length<3?oo(n):n[0]+po((n.push(n[0]),n),vo([n[n.length-2]].concat(n,[n[1]]),t))}function go(n,t){return n.length<3?oo(n):n[0]+po(n,vo(n,t))}function po(n,t){if(t.length<1||n.length!=t.length&&n.length!=t.length+2)return oo(n);var e=n.length!=t.length,r="",u=n[0],i=n[1],o=t[0],a=o,c=1;if(e&&(r+="Q"+(i[0]-2*o[0]/3)+","+(i[1]-2*o[1]/3)+","+i[0]+","+i[1],u=n[1],c=2),t.length>1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var s=2;s<t.length;s++,c++)i=n[c],a=t[s],r+="S"+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1]}if(e){var l=n[c];r+="Q"+(i[0]+2*a[0]/3)+","+(i[1]+2*a[1]/3)+","+l[0]+","+l[1]}return r}function vo(n,t){for(var e,r=[],u=(1-t)/2,i=n[0],o=n[1],a=1,c=n.length;++a<c;)e=i,i=o,o=n[a],r.push([u*(o[0]-e[0]),u*(o[1]-e[1])]);return r}function mo(n){if(n.length<3)return oo(n);var t=1,e=n.length,r=n[0],u=r[0],i=r[1],o=[u,u,u,(r=n[1])[0]],a=[i,i,i,r[1]],c=[u,",",i,"L",_o(ws,o),",",_o(ws,a)];for(n.push(n[e-1]);++t<=e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),bo(c,o,a);return n.pop(),c.push("L",r),c.join("")}function yo(n){if(n.length<4)return oo(n);for(var t,e=[],r=-1,u=n.length,i=[0],o=[0];++r<3;)t=n[r],i.push(t[0]),o.push(t[1]);for(e.push(_o(ws,i)+","+_o(ws,o)),--r;++r<u;)t=n[r],i.shift(),i.push(t[0]),o.shift(),o.push(t[1]),bo(e,i,o);return e.join("")}function xo(n){for(var t,e,r=-1,u=n.length,i=u+4,o=[],a=[];++r<4;)e=n[r%u],o.push(e[0]),a.push(e[1]);for(t=[_o(ws,o),",",_o(ws,a)],--r;++r<i;)e=n[r%u],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),bo(t,o,a);return t.join("")}function Mo(n,t){var e=n.length-1;if(e)for(var r,u,i=n[0][0],o=n[0][1],a=n[e][0]-i,c=n[e][1]-o,s=-1;++s<=e;)r=n[s],u=s/e,r[0]=t*r[0]+(1-t)*(i+u*a),r[1]=t*r[1]+(1-t)*(o+u*c);return mo(n)}function _o(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function bo(n,t,e){n.push("C",_o(_s,t),",",_o(_s,e),",",_o(bs,t),",",_o(bs,e),",",_o(ws,t),",",_o(ws,e))}function wo(n,t){return(t[1]-n[1])/(t[0]-n[0])}function So(n){for(var t=0,e=n.length-1,r=[],u=n[0],i=n[1],o=r[0]=wo(u,i);++t<e;)r[t]=(o+(o=wo(u=i,i=n[t+1])))/2;return r[t]=o,r}function ko(n){for(var t,e,r,u,i=[],o=So(n),a=-1,c=n.length-1;++a<c;)t=wo(n[a],n[a+1]),oa(t)<Aa?o[a]=o[a+1]=0:(e=o[a]/t,r=o[a+1]/t,u=e*e+r*r,u>9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function Eo(n){return n.length<3?oo(n):n[0]+po(n,ko(n))}function Ao(n){for(var t,e,r,u=-1,i=n.length;++u<i;)t=n[u],e=t[0],r=t[1]+ys,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function Co(n){function t(t){function c(){v.push("M",a(n(m),f),l,s(n(d.reverse()),f),"Z")}for(var h,g,p,v=[],d=[],m=[],y=-1,x=t.length,M=_t(e),_=_t(u),b=e===r?function(){return g}:_t(r),w=u===i?function(){return p}:_t(i);++y<x;)o.call(this,h=t[y],y)?(d.push([g=+M.call(this,h,y),p=+_.call(this,h,y)]),m.push([+b.call(this,h,y),+w.call(this,h,y)])):d.length&&(c(),d=[],m=[]);return d.length&&c(),v.length?v.join(""):null}var e=br,r=br,u=0,i=wr,o=be,a=oo,c=a.key,s=a,l="L",f=.7;return t.x=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return arguments.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r},t.y=function(n){return arguments.length?(u=i=n,t):i},t.y0=function(n){return arguments.length?(u=n,t):u},t.y1=function(n){return arguments.length?(i=n,t):i},t.defined=function(n){return arguments.length?(o=n,t):o},t.interpolate=function(n){return arguments.length?(c="function"==typeof n?a=n:(a=Ms.get(n)||oo).key,s=a.reverse||a,l=a.closed?"M":"L",t):c},t.tension=function(n){return arguments.length?(f=n,t):f},t}function No(n){return n.radius}function Lo(n){return[n.x,n.y]}function To(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]+ys;return[e*Math.cos(r),e*Math.sin(r)]}}function qo(){return 64}function zo(){return"circle"}function Ro(n){var t=Math.sqrt(n/Sa);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+-t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function Do(n,t){return fa(n,Ns),n.id=t,n}function Po(n,t,e,r){var u=n.id;return R(n,"function"==typeof e?function(n,i,o){n.__transition__[u].tween.set(t,r(e.call(n,n.__data__,i,o)))}:(e=r(e),function(n){n.__transition__[u].tween.set(t,e)}))}function Uo(n){return null==n&&(n=""),function(){this.textContent=n}}function jo(n,t,e,r){var i=n.__transition__||(n.__transition__={active:0,count:0}),o=i[e];if(!o){var a=r.time;o=i[e]={tween:new u,time:a,ease:r.ease,delay:r.delay,duration:r.duration},++i.count,Xo.timer(function(r){function u(r){return i.active>e?s():(i.active=e,o.event&&o.event.start.call(n,l,t),o.tween.forEach(function(e,r){(r=r.call(n,l,t))&&v.push(r)}),Xo.timer(function(){return p.c=c(r||1)?be:c,1},0,a),void 0)}function c(r){if(i.active!==e)return s();for(var u=r/g,a=f(u),c=v.length;c>0;)v[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,l,t),s()):void 0}function s(){return--i.count?delete i[e]:delete n.__transition__,1}var l=n.__data__,f=o.ease,h=o.delay,g=o.duration,p=Ja,v=[];return p.t=h+a,r>=h?u(r-h):(p.c=u,void 0)},0,a)}}function Ho(n,t){n.attr("transform",function(n){return"translate("+t(n)+",0)"})}function Fo(n,t){n.attr("transform",function(n){return"translate(0,"+t(n)+")"})}function Oo(n){return n.toISOString()}function Yo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=Xo.bisect(js,u);return i==js.length?[t.year,Yi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/js[i-1]<js[i]/u?i-1:i]:[Os,Yi(n,e)[2]]}return r.invert=function(t){return Io(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.domain().map(Io)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,Io(+e+1),t).length}var i=r.domain(),o=zi(i),a=null==n?u(o,10):"number"==typeof n&&u(o,n);return a&&(n=a[0],t=a[1]),r.domain(Pi(i,t>1?{floor:function(t){for(;e(t=n.floor(t));)t=Io(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Io(+t+1);return t}}:n))},r.ticks=function(n,t){var e=zi(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Io(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Yo(n.copy(),t,e)},Fi(r,n)}function Io(n){return new Date(n)}function Zo(n){return JSON.parse(n.responseText)}function Vo(n){var t=Wo.createRange();return t.selectNode(Wo.body),t.createContextualFragment(n.responseText)}var Xo={version:"3.4.3"};Date.now||(Date.now=function(){return+new Date});var $o=[].slice,Bo=function(n){return $o.call(n)},Wo=document,Jo=Wo.documentElement,Go=window;try{Bo(Jo.childNodes)[0].nodeType}catch(Ko){Bo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{Wo.createElement("div").style.setProperty("opacity",0,"")}catch(Qo){var na=Go.Element.prototype,ta=na.setAttribute,ea=na.setAttributeNS,ra=Go.CSSStyleDeclaration.prototype,ua=ra.setProperty;na.setAttribute=function(n,t){ta.call(this,n,t+"")},na.setAttributeNS=function(n,t,e){ea.call(this,n,t,e+"")},ra.setProperty=function(n,t,e){ua.call(this,n,t+"",e)}}Xo.ascending=function(n,t){return t>n?-1:n>t?1:n>=t?0:0/0},Xo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},Xo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&e>r&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&e>r&&(e=r)}return e},Xo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&r>e&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&r>e&&(e=r)}return e},Xo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i<o&&!(null!=(e=u=n[i])&&e>=e);)e=u=void 0;for(;++i<o;)null!=(r=n[i])&&(e>r&&(e=r),r>u&&(u=r))}else{for(;++i<o&&!(null!=(e=u=t.call(n,n[i],i))&&e>=e);)e=void 0;for(;++i<o;)null!=(r=t.call(n,n[i],i))&&(e>r&&(e=r),r>u&&(u=r))}return[e,u]},Xo.sum=function(n,t){var e,r=0,u=n.length,i=-1;if(1===arguments.length)for(;++i<u;)isNaN(e=+n[i])||(r+=e);else for(;++i<u;)isNaN(e=+t.call(n,n[i],i))||(r+=e);return r},Xo.mean=function(t,e){var r,u=t.length,i=0,o=-1,a=0;if(1===arguments.length)for(;++o<u;)n(r=t[o])&&(i+=(r-i)/++a);else for(;++o<u;)n(r=e.call(t,t[o],o))&&(i+=(r-i)/++a);return a?i:void 0},Xo.quantile=function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),u=+n[r-1],i=e-r;return i?u+i*(n[r]-u):u},Xo.median=function(t,e){return arguments.length>1&&(t=t.map(e)),t=t.filter(n),t.length?Xo.quantile(t.sort(Xo.ascending),.5):void 0},Xo.bisector=function(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n.call(t,t[i],i)<e?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;e<n.call(t,t[i],i)?u=i:r=i+1}return r}}};var ia=Xo.bisector(function(n){return n});Xo.bisectLeft=ia.left,Xo.bisect=Xo.bisectRight=ia.right,Xo.shuffle=function(n){for(var t,e,r=n.length;r;)e=0|Math.random()*r--,t=n[r],n[r]=n[e],n[e]=t;return n},Xo.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},Xo.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},Xo.zip=function(){if(!(u=arguments.length))return[];for(var n=-1,e=Xo.min(arguments,t),r=new Array(e);++n<e;)for(var u,i=-1,o=r[n]=new Array(u);++i<u;)o[i]=arguments[i][n];return r},Xo.transpose=function(n){return Xo.zip.apply(Xo,n)},Xo.keys=function(n){var t=[];for(var e in n)t.push(e);return t},Xo.values=function(n){var t=[];for(var e in n)t.push(n[e]);return t},Xo.entries=function(n){var t=[];for(var e in n)t.push({key:e,value:n[e]});return t},Xo.merge=function(n){for(var t,e,r,u=n.length,i=-1,o=0;++i<u;)o+=n[i].length;for(e=new Array(o);--u>=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var oa=Math.abs;Xo.range=function(n,t,r){if(arguments.length<3&&(r=1,arguments.length<2&&(t=n,n=0)),1/0===(t-n)/r)throw new Error("infinite range");var u,i=[],o=e(oa(r)),a=-1;if(n*=o,t*=o,r*=o,0>r)for(;(u=n+r*++a)>t;)i.push(u/o);else for(;(u=n+r*++a)<t;)i.push(u/o);return i},Xo.map=function(n){var t=new u;if(n instanceof u)n.forEach(function(n,e){t.set(n,e)});else for(var e in n)t.set(e,n[e]);return t},r(u,{has:i,get:function(n){return this[aa+n]},set:function(n,t){return this[aa+n]=t},remove:o,keys:a,values:function(){var n=[];return this.forEach(function(t,e){n.push(e)}),n},entries:function(){var n=[];return this.forEach(function(t,e){n.push({key:t,value:e})}),n},size:c,empty:s,forEach:function(n){for(var t in this)t.charCodeAt(0)===ca&&n.call(this,t.substring(1),this[t])}});var aa="\x00",ca=aa.charCodeAt(0);Xo.nest=function(){function n(t,a,c){if(c>=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var s,l,f,h,g=-1,p=a.length,v=o[c++],d=new u;++g<p;)(h=d.get(s=v(l=a[g])))?h.push(l):d.set(s,[l]);return t?(l=t(),f=function(e,r){l.set(e,n(t,r,c))}):(l={},f=function(e,r){l[e]=n(t,r,c)}),d.forEach(f),l}function t(n,e){if(e>=o.length)return n;var r=[],u=a[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(Xo.map,e,0),0)},i.key=function(n){return o.push(n),i},i.sortKeys=function(n){return a[o.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},Xo.set=function(n){var t=new l;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},r(l,{has:i,add:function(n){return this[aa+n]=!0,n},remove:function(n){return n=aa+n,n in this&&delete this[n]},values:a,size:c,empty:s,forEach:function(n){for(var t in this)t.charCodeAt(0)===ca&&n.call(this,t.substring(1))}}),Xo.behavior={},Xo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r<u;)n[e=arguments[r]]=f(n,t,t[e]);return n};var sa=["webkit","ms","moz","Moz","o","O"];Xo.dispatch=function(){for(var n=new p,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=v(n);return n},p.prototype.on=function(n,t){var e=n.indexOf("."),r="";if(e>=0&&(r=n.substring(e+1),n=n.substring(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},Xo.event=null,Xo.requote=function(n){return n.replace(la,"\\$&")};var la=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,fa={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},ha=function(n,t){return t.querySelector(n)},ga=function(n,t){return t.querySelectorAll(n)},pa=Jo[h(Jo,"matchesSelector")],va=function(n,t){return pa.call(n,t)};"function"==typeof Sizzle&&(ha=function(n,t){return Sizzle(n,t)[0]||null},ga=Sizzle,va=Sizzle.matchesSelector),Xo.selection=function(){return xa};var da=Xo.selection.prototype=[];da.select=function(n){var t,e,r,u,i=[];n=M(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]),t.parentNode=(r=this[o]).parentNode;for(var c=-1,s=r.length;++c<s;)(u=r[c])?(t.push(e=n.call(u,u.__data__,c,o)),e&&"__data__"in u&&(e.__data__=u.__data__)):t.push(null)}return x(i)},da.selectAll=function(n){var t,e,r=[];n=_(n);for(var u=-1,i=this.length;++u<i;)for(var o=this[u],a=-1,c=o.length;++a<c;)(e=o[a])&&(r.push(t=Bo(n.call(e,e.__data__,a,u))),t.parentNode=e);return x(r)};var ma={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};Xo.ns={prefix:ma,qualify:function(n){var t=n.indexOf(":"),e=n;return t>=0&&(e=n.substring(0,t),n=n.substring(t+1)),ma.hasOwnProperty(e)?{space:ma[e],local:n}:n}},da.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=Xo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(b(t,n[t]));return this}return this.each(b(n,t))},da.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=k(n)).length,u=-1;if(t=e.classList){for(;++u<r;)if(!t.contains(n[u]))return!1}else for(t=e.getAttribute("class");++u<r;)if(!S(n[u]).test(t))return!1;return!0}for(t in n)this.each(E(t,n[t]));return this}return this.each(E(n,t))},da.style=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(C(e,n[e],t));return this}if(2>r)return Go.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(C(n,t,e))},da.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(N(t,n[t]));return this}return this.each(N(n,t))},da.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},da.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},da.append=function(n){return n=L(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},da.insert=function(n,t){return n=L(n),t=M(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},da.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},da.data=function(n,t){function e(n,e){var r,i,o,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),v=new Array(a);if(t){var d,m=new u,y=new u,x=[];for(r=-1;++r<a;)d=t.call(i=n[r],i.__data__,r),m.has(d)?v[r]=i:m.set(d,i),x.push(d);for(r=-1;++r<f;)d=t.call(e,o=e[r],r),(i=m.get(d))?(g[r]=i,i.__data__=o):y.has(d)||(p[r]=T(o)),y.set(d,o),m.remove(d);for(r=-1;++r<a;)m.has(x[r])&&(v[r]=n[r])}else{for(r=-1;++r<h;)i=n[r],o=e[r],i?(i.__data__=o,g[r]=i):p[r]=T(o);for(;f>r;++r)p[r]=T(e[r]);for(;a>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,c.push(p),s.push(g),l.push(v)}var r,i,o=-1,a=this.length;if(!arguments.length){for(n=new Array(a=(r=this[0]).length);++o<a;)(i=r[o])&&(n[o]=i.__data__);return n}var c=D([]),s=x([]),l=x([]);if("function"==typeof n)for(;++o<a;)e(r=this[o],n.call(r,r.parentNode.__data__,o));else for(;++o<a;)e(r=this[o],n);return s.enter=function(){return c},s.exit=function(){return l},s},da.datum=function(n){return arguments.length?this.property("__data__",n):this.property("__data__")},da.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=q(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return x(u)},da.order=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],u=r.length-1,i=r[u];--u>=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},da.sort=function(n){n=z.apply(this,arguments);for(var t=-1,e=this.length;++t<e;)this[t].sort(n);return this.order()},da.each=function(n){return R(this,function(t,e,r){n.call(t,t.__data__,e,r)})},da.call=function(n){var t=Bo(arguments);return n.apply(t[0]=this,t),this},da.empty=function(){return!this.node()},da.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},da.size=function(){var n=0;return this.each(function(){++n}),n};var ya=[];Xo.selection.enter=D,Xo.selection.enter.prototype=ya,ya.append=da.append,ya.empty=da.empty,ya.node=da.node,ya.call=da.call,ya.size=da.size,ya.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++a<c;){r=(u=this[a]).update,o.push(t=[]),t.parentNode=u.parentNode;for(var s=-1,l=u.length;++s<l;)(i=u[s])?(t.push(r[s]=e=n.call(u.parentNode,i.__data__,s,a)),e.__data__=i.__data__):t.push(null)}return x(o)},ya.insert=function(n,t){return arguments.length<2&&(t=P(this)),da.insert.call(this,n,t)},da.transition=function(){for(var n,t,e=ks||++Ls,r=[],u=Es||{time:Date.now(),ease:yu,delay:0,duration:250},i=-1,o=this.length;++i<o;){r.push(n=[]);for(var a=this[i],c=-1,s=a.length;++c<s;)(t=a[c])&&jo(t,c,e,u),n.push(t)}return Do(r,e)},da.interrupt=function(){return this.each(U)},Xo.select=function(n){var t=["string"==typeof n?ha(n,Wo):n];return t.parentNode=Jo,x([t])},Xo.selectAll=function(n){var t=Bo("string"==typeof n?ga(n,Wo):n);return t.parentNode=Jo,x([t])};var xa=Xo.select(Jo);da.on=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(j(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(j(n,t,e))};var Ma=Xo.map({mouseenter:"mouseover",mouseleave:"mouseout"});Ma.forEach(function(n){"on"+n in Wo&&Ma.remove(n)});var _a="onselectstart"in Wo?null:h(Jo.style,"userSelect"),ba=0;Xo.mouse=function(n){return Y(n,m())};var wa=/WebKit/.test(Go.navigator.userAgent)?-1:0;Xo.touches=function(n,t){return arguments.length<2&&(t=m().touches),t?Bo(t).map(function(t){var e=Y(n,t);return e.identifier=t.identifier,e}):[]},Xo.behavior.drag=function(){function n(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function t(){return Xo.event.changedTouches[0].identifier}function e(n,t){return Xo.touches(n).filter(function(n){return n.identifier===t})[0]}function r(n,t,e,r){return function(){function o(){var n=t(l,g),e=n[0]-v[0],r=n[1]-v[1];d|=e|r,v=n,f({type:"drag",x:n[0]+c[0],y:n[1]+c[1],dx:e,dy:r})}function a(){m.on(e+"."+p,null).on(r+"."+p,null),y(d&&Xo.event.target===h),f({type:"dragend"})}var c,s=this,l=s.parentNode,f=u.of(s,arguments),h=Xo.event.target,g=n(),p=null==g?"drag":"drag-"+g,v=t(l,g),d=0,m=Xo.select(Go).on(e+"."+p,o).on(r+"."+p,a),y=O();i?(c=i.apply(s,arguments),c=[c.x-v[0],c.y-v[1]]):c=[0,0],f({type:"dragstart"})}}var u=y(n,"drag","dragstart","dragend"),i=null,o=r(g,Xo.mouse,"mousemove","mouseup"),a=r(t,e,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},Xo.rebind(n,u,"on")};var Sa=Math.PI,ka=2*Sa,Ea=Sa/2,Aa=1e-6,Ca=Aa*Aa,Na=Sa/180,La=180/Sa,Ta=Math.SQRT2,qa=2,za=4;Xo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=B(v),o=i/(qa*h)*(e*W(Ta*t+v)-$(v));return[r+o*s,u+o*l,i*e/B(Ta*t+v)]}return[r+n*s,u+n*l,i*Math.exp(Ta*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],s=o-r,l=a-u,f=s*s+l*l,h=Math.sqrt(f),g=(c*c-i*i+za*f)/(2*i*qa*h),p=(c*c-i*i-za*f)/(2*c*qa*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/Ta;return e.duration=1e3*y,e},Xo.behavior.zoom=function(){function n(n){n.on(A,s).on(Pa+".zoom",f).on(C,h).on("dblclick.zoom",g).on(L,l)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(E[0],Math.min(E[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){_&&_.domain(M.range().map(function(n){return(n-S.x)/S.k}).map(M.invert)),w&&w.domain(b.range().map(function(n){return(n-S.y)/S.k}).map(b.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function s(){function n(){l=1,u(Xo.mouse(r),g),a(i)}function e(){f.on(C,Go===r?h:null).on(N,null),p(l&&Xo.event.target===s),c(i)}var r=this,i=T.of(r,arguments),s=Xo.event.target,l=0,f=Xo.select(Go).on(C,n).on(N,e),g=t(Xo.mouse(r)),p=O();U.call(r),o(i)}function l(){function n(){var n=Xo.touches(g);return h=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){for(var t=Xo.event.changedTouches,e=0,i=t.length;i>e;++e)v[t[e].identifier]=null;var o=n(),c=Date.now();if(1===o.length){if(500>c-x){var s=o[0],l=v[s.identifier];r(2*S.k),u(s,l),d(),a(p)}x=c}else if(o.length>1){var s=o[0],f=o[1],h=s[0]-f[0],g=s[1]-f[1];m=h*h+g*g}}function i(){for(var n,t,e,i,o=Xo.touches(g),c=0,s=o.length;s>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var l=(l=e[0]-n[0])*l+(l=e[1]-n[1])*l,f=m&&Math.sqrt(l/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*h)}x=null,u(n,t),a(p)}function f(){if(Xo.event.touches.length){for(var t=Xo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}b.on(M,null).on(_,null),w.on(A,s).on(L,l),k(),c(p)}var h,g=this,p=T.of(g,arguments),v={},m=0,y=Xo.event.changedTouches[0].identifier,M="touchmove.zoom-"+y,_="touchend.zoom-"+y,b=Xo.select(Go).on(M,i).on(_,f),w=Xo.select(g).on(A,null).on(L,e),k=O();U.call(g),e(),o(p)}function f(){var n=T.of(this,arguments);m?clearTimeout(m):(U.call(this),o(n)),m=setTimeout(function(){m=null,c(n)},50),d();var e=v||Xo.mouse(this);p||(p=t(e)),r(Math.pow(2,.002*Ra())*S.k),u(e,p),a(n)}function h(){p=null}function g(){var n=T.of(this,arguments),e=Xo.mouse(this),i=t(e),s=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,Xo.event.shiftKey?Math.ceil(s)-1:Math.floor(s)+1)),u(e,i),a(n),c(n)}var p,v,m,x,M,_,b,w,S={x:0,y:0,k:1},k=[960,500],E=Da,A="mousedown.zoom",C="mousemove.zoom",N="mouseup.zoom",L="touchstart.zoom",T=y(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=T.of(this,arguments),t=S;ks?Xo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=k[0],r=k[1],u=e/2,i=r/2,o=Xo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(E=null==t?Da:[+t[0],+t[1]],n):E},n.center=function(t){return arguments.length?(v=t&&[+t[0],+t[1]],n):v},n.size=function(t){return arguments.length?(k=t&&[+t[0],+t[1]],n):k},n.x=function(t){return arguments.length?(_=t,M=t.copy(),S={x:0,y:0,k:1},n):_},n.y=function(t){return arguments.length?(w=t,b=t.copy(),S={x:0,y:0,k:1},n):w},Xo.rebind(n,T,"on")};var Ra,Da=[0,1/0],Pa="onwheel"in Wo?(Ra=function(){return-Xo.event.deltaY*(Xo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in Wo?(Ra=function(){return Xo.event.wheelDelta},"mousewheel"):(Ra=function(){return-Xo.event.detail},"MozMousePixelScroll");G.prototype.toString=function(){return this.rgb()+""},Xo.hsl=function(n,t,e){return 1===arguments.length?n instanceof Q?K(n.h,n.s,n.l):dt(""+n,mt,K):K(+n,+t,+e)};var Ua=Q.prototype=new G;Ua.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),K(this.h,this.s,this.l/n)},Ua.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),K(this.h,this.s,n*this.l)},Ua.rgb=function(){return nt(this.h,this.s,this.l)},Xo.hcl=function(n,t,e){return 1===arguments.length?n instanceof et?tt(n.h,n.c,n.l):n instanceof it?at(n.l,n.a,n.b):at((n=yt((n=Xo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):tt(+n,+t,+e)};var ja=et.prototype=new G;ja.brighter=function(n){return tt(this.h,this.c,Math.min(100,this.l+Ha*(arguments.length?n:1)))},ja.darker=function(n){return tt(this.h,this.c,Math.max(0,this.l-Ha*(arguments.length?n:1)))},ja.rgb=function(){return rt(this.h,this.c,this.l).rgb()},Xo.lab=function(n,t,e){return 1===arguments.length?n instanceof it?ut(n.l,n.a,n.b):n instanceof et?rt(n.l,n.c,n.h):yt((n=Xo.rgb(n)).r,n.g,n.b):ut(+n,+t,+e)};var Ha=18,Fa=.95047,Oa=1,Ya=1.08883,Ia=it.prototype=new G;Ia.brighter=function(n){return ut(Math.min(100,this.l+Ha*(arguments.length?n:1)),this.a,this.b)},Ia.darker=function(n){return ut(Math.max(0,this.l-Ha*(arguments.length?n:1)),this.a,this.b)},Ia.rgb=function(){return ot(this.l,this.a,this.b)},Xo.rgb=function(n,t,e){return 1===arguments.length?n instanceof pt?gt(n.r,n.g,n.b):dt(""+n,gt,nt):gt(~~n,~~t,~~e)};var Za=pt.prototype=new G;Za.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),gt(Math.min(255,~~(t/n)),Math.min(255,~~(e/n)),Math.min(255,~~(r/n)))):gt(u,u,u)},Za.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),gt(~~(n*this.r),~~(n*this.g),~~(n*this.b))},Za.hsl=function(){return mt(this.r,this.g,this.b)},Za.toString=function(){return"#"+vt(this.r)+vt(this.g)+vt(this.b)};var Va=Xo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Va.forEach(function(n,t){Va.set(n,ft(t))}),Xo.functor=_t,Xo.xhr=wt(bt),Xo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=St(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(l>=s)return o;if(u)return u=!1,i;var t=l;if(34===n.charCodeAt(t)){for(var e=t;e++<s;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}l=e+2;var r=n.charCodeAt(e+1);return 13===r?(u=!0,10===n.charCodeAt(e+2)&&++l):10===r&&(u=!0),n.substring(t+1,e).replace(/""/g,'"')}for(;s>l;){var r=n.charCodeAt(l++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(l)&&(++l,++a);else if(r!==c)continue;return n.substring(t,l-a)}return n.substring(t)}for(var r,u,i={},o={},a=[],s=n.length,l=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();(!t||(h=t(h,f++)))&&a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new l,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},Xo.csv=Xo.dsv(",","text/csv"),Xo.tsv=Xo.dsv("	","text/tab-separated-values");var Xa,$a,Ba,Wa,Ja,Ga=Go[h(Go,"requestAnimationFrame")]||function(n){setTimeout(n,17)};Xo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};$a?$a.n=i:Xa=i,$a=i,Ba||(Wa=clearTimeout(Wa),Ba=1,Ga(Et))},Xo.timer.flush=function(){At(),Ct()},Xo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var Ka=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Lt);Xo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=Xo.round(n,Nt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((0>=e?e+1:e-1)/3)))),Ka[8+e/3]};var Qa=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,nc=Xo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=Xo.round(n,Nt(n,t))).toFixed(Math.max(0,Math.min(20,Nt(n*(1+1e-15),t))))}}),tc=Xo.time={},ec=Date;zt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){rc.setUTCDate.apply(this._,arguments)},setDay:function(){rc.setUTCDay.apply(this._,arguments)},setFullYear:function(){rc.setUTCFullYear.apply(this._,arguments)},setHours:function(){rc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){rc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){rc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){rc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){rc.setUTCSeconds.apply(this._,arguments)},setTime:function(){rc.setTime.apply(this._,arguments)}};var rc=Date.prototype;tc.year=Rt(function(n){return n=tc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),tc.years=tc.year.range,tc.years.utc=tc.year.utc.range,tc.day=Rt(function(n){var t=new ec(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),tc.days=tc.day.range,tc.days.utc=tc.day.utc.range,tc.dayOfYear=function(n){var t=tc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=tc[n]=Rt(function(n){return(n=tc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=tc.year(n).getDay();return Math.floor((tc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});tc[n+"s"]=e.range,tc[n+"s"].utc=e.utc.range,tc[n+"OfYear"]=function(n){var e=tc.year(n).getDay();return Math.floor((tc.dayOfYear(n)+(e+t)%7)/7)}}),tc.week=tc.sunday,tc.weeks=tc.sunday.range,tc.weeks.utc=tc.sunday.utc.range,tc.weekOfYear=tc.sundayOfYear;var uc={"-":"",_:" ",0:"0"},ic=/^\s*\d+/,oc=/^%/;Xo.locale=function(n){return{numberFormat:Tt(n),timeFormat:Pt(n)}};var ac=Xo.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Xo.format=ac.numberFormat,Xo.geo={},re.prototype={s:0,t:0,add:function(n){ue(n,this.t,cc),ue(cc.s,this.s,this),this.s?this.t+=cc.t:this.s=cc.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cc=new re;Xo.geo.stream=function(n,t){n&&sc.hasOwnProperty(n.type)?sc[n.type](n,t):ie(n,t)};var sc={Feature:function(n,t){ie(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++r<u;)ie(e[r].geometry,t)}},lc={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){oe(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)oe(e[r],t,0)},Polygon:function(n,t){ae(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)ae(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,u=e.length;++r<u;)ie(e[r],t)}};Xo.geo.area=function(n){return fc=0,Xo.geo.stream(n,gc),fc};var fc,hc=new re,gc={sphere:function(){fc+=4*Sa},point:g,lineStart:g,lineEnd:g,polygonStart:function(){hc.reset(),gc.lineStart=ce},polygonEnd:function(){var n=2*hc;fc+=0>n?4*Sa+n:n,gc.lineStart=gc.lineEnd=gc.point=g}};Xo.geo.bounds=function(){function n(n,t){x.push(M=[l=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=se([t*Na,e*Na]);if(m){var u=fe(m,r),i=[u[1],-u[0],0],o=fe(i,u);pe(o),o=ve(o);var c=t-p,s=c>0?1:-1,v=o[0]*La*s,d=oa(c)>180;if(d^(v>s*p&&s*t>v)){var y=o[1]*La;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>s*p&&s*t>v)){var y=-o[1]*La;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(l,t)>a(l,h)&&(h=t):a(t,h)>a(l,h)&&(l=t):h>=l?(l>t&&(l=t),t>h&&(h=t)):t>p?a(l,t)>a(l,h)&&(h=t):a(t,h)>a(l,h)&&(l=t)}else n(t,e);m=r,p=t}function e(){_.point=t}function r(){M[0]=l,M[1]=h,_.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=oa(r)>180?r+(r>0?360:-360):r}else v=n,d=e;gc.point(n,e),t(n,e)}function i(){gc.lineStart()}function o(){u(v,d),gc.lineEnd(),oa(y)>Aa&&(l=-(h=180)),M[0]=l,M[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function s(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var l,f,h,g,p,v,d,m,y,x,M,_={point:n,lineStart:e,lineEnd:r,polygonStart:function(){_.point=u,_.lineStart=i,_.lineEnd=o,y=0,gc.polygonStart()},polygonEnd:function(){gc.polygonEnd(),_.point=n,_.lineStart=e,_.lineEnd=r,0>hc?(l=-(h=180),f=-(g=90)):y>Aa?g=90:-Aa>y&&(f=-90),M[0]=l,M[1]=h}};return function(n){g=h=-(l=f=1/0),x=[],Xo.geo.stream(n,_);var t=x.length;if(t){x.sort(c);for(var e,r=1,u=x[0],i=[u];t>r;++r)e=x[r],s(e[0],u)||s(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,l=e[0],h=u[1])}return x=M=null,1/0===l||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[l,f],[h,g]]}}(),Xo.geo.centroid=function(n){pc=vc=dc=mc=yc=xc=Mc=_c=bc=wc=Sc=0,Xo.geo.stream(n,kc);var t=bc,e=wc,r=Sc,u=t*t+e*e+r*r;return Ca>u&&(t=xc,e=Mc,r=_c,Aa>vc&&(t=dc,e=mc,r=yc),u=t*t+e*e+r*r,Ca>u)?[0/0,0/0]:[Math.atan2(e,t)*La,X(r/Math.sqrt(u))*La]};var pc,vc,dc,mc,yc,xc,Mc,_c,bc,wc,Sc,kc={sphere:g,point:me,lineStart:xe,lineEnd:Me,polygonStart:function(){kc.lineStart=_e},polygonEnd:function(){kc.lineStart=xe}},Ec=Ee(be,Te,ze,[-Sa,-Sa/2]),Ac=1e9;Xo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Pe(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(Xo.geo.conicEqualArea=function(){return je(He)}).raw=He,Xo.geo.albers=function(){return Xo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},Xo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=Xo.geo.albers(),o=Xo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=Xo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var s=i.scale(),l=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[l-.455*s,f-.238*s],[l+.455*s,f+.238*s]]).stream(c).point,r=o.translate([l-.307*s,f+.201*s]).clipExtent([[l-.425*s+Aa,f+.12*s+Aa],[l-.214*s-Aa,f+.234*s-Aa]]).stream(c).point,u=a.translate([l-.205*s,f+.212*s]).clipExtent([[l-.214*s+Aa,f+.166*s+Aa],[l-.115*s-Aa,f+.234*s-Aa]]).stream(c).point,n},n.scale(1070)};var Cc,Nc,Lc,Tc,qc,zc,Rc={point:g,lineStart:g,lineEnd:g,polygonStart:function(){Nc=0,Rc.lineStart=Fe},polygonEnd:function(){Rc.lineStart=Rc.lineEnd=Rc.point=g,Cc+=oa(Nc/2)}},Dc={point:Oe,lineStart:g,lineEnd:g,polygonStart:g,polygonEnd:g},Pc={point:Ze,lineStart:Ve,lineEnd:Xe,polygonStart:function(){Pc.lineStart=$e},polygonEnd:function(){Pc.point=Ze,Pc.lineStart=Ve,Pc.lineEnd=Xe}};Xo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),Xo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Cc=0,Xo.geo.stream(n,u(Rc)),Cc},n.centroid=function(n){return dc=mc=yc=xc=Mc=_c=bc=wc=Sc=0,Xo.geo.stream(n,u(Pc)),Sc?[bc/Sc,wc/Sc]:_c?[xc/_c,Mc/_c]:yc?[dc/yc,mc/yc]:[0/0,0/0]},n.bounds=function(n){return qc=zc=-(Lc=Tc=1/0),Xo.geo.stream(n,u(Dc)),[[Lc,Tc],[qc,zc]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||Je(n):bt,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new Ye:new Be(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(Xo.geo.albersUsa()).context(null)},Xo.geo.transform=function(n){return{stream:function(t){var e=new Ge(t);for(var r in n)e[r]=n[r];return e}}},Ge.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},Xo.geo.projection=Qe,Xo.geo.projectionMutator=nr,(Xo.geo.equirectangular=function(){return Qe(er)}).raw=er.invert=er,Xo.geo.rotation=function(n){function t(t){return t=n(t[0]*Na,t[1]*Na),t[0]*=La,t[1]*=La,t}return n=ur(n[0]%360*Na,n[1]*Na,n.length>2?n[2]*Na:0),t.invert=function(t){return t=n.invert(t[0]*Na,t[1]*Na),t[0]*=La,t[1]*=La,t},t},rr.invert=er,Xo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=ur(-n[0]*Na,-n[1]*Na,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=La,n[1]*=La}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=cr((t=+r)*Na,u*Na),n):t},n.precision=function(r){return arguments.length?(e=cr(t*Na,(u=+r)*Na),n):u},n.angle(90)},Xo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Na,u=n[1]*Na,i=t[1]*Na,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),s=Math.cos(u),l=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=s*l-c*f*a)*e),c*l+s*f*a)},Xo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return Xo.range(Math.ceil(i/d)*d,u,d).map(h).concat(Xo.range(Math.ceil(s/m)*m,c,m).map(g)).concat(Xo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return oa(n%d)>Aa}).map(l)).concat(Xo.range(Math.ceil(a/v)*v,o,v).filter(function(n){return oa(n%m)>Aa}).map(f))}var e,r,u,i,o,a,c,s,l,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(s).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],s=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),s>c&&(t=s,s=c,c=t),n.precision(y)):[[i,s],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,l=lr(a,o,90),f=fr(r,e,y),h=lr(s,c,90),g=fr(i,u,y),n):y},n.majorExtent([[-180,-90+Aa],[180,90-Aa]]).minorExtent([[-180,-80-Aa],[180,80+Aa]])},Xo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=hr,u=gr;return n.distance=function(){return Xo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},Xo.geo.interpolate=function(n,t){return pr(n[0]*Na,n[1]*Na,t[0]*Na,t[1]*Na)},Xo.geo.length=function(n){return Uc=0,Xo.geo.stream(n,jc),Uc};var Uc,jc={sphere:g,point:g,lineStart:vr,lineEnd:g,polygonStart:g,polygonEnd:g},Hc=dr(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(Xo.geo.azimuthalEqualArea=function(){return Qe(Hc)}).raw=Hc;var Fc=dr(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},bt);(Xo.geo.azimuthalEquidistant=function(){return Qe(Fc)}).raw=Fc,(Xo.geo.conicConformal=function(){return je(mr)}).raw=mr,(Xo.geo.conicEquidistant=function(){return je(yr)}).raw=yr;var Oc=dr(function(n){return 1/n},Math.atan);(Xo.geo.gnomonic=function(){return Qe(Oc)}).raw=Oc,xr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Ea]},(Xo.geo.mercator=function(){return Mr(xr)}).raw=xr;var Yc=dr(function(){return 1},Math.asin);(Xo.geo.orthographic=function(){return Qe(Yc)}).raw=Yc;var Ic=dr(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(Xo.geo.stereographic=function(){return Qe(Ic)}).raw=Ic,_r.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Ea]},(Xo.geo.transverseMercator=function(){var n=Mr(_r),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[-n[1],n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},n.rotate([0,0])}).raw=_r,Xo.geom={},Xo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=_t(e),i=_t(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(kr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var s=Sr(a),l=Sr(c),f=l[0]===s[0],h=l[l.length-1]===s[s.length-1],g=[];for(t=s.length-1;t>=0;--t)g.push(n[a[s[t]][2]]);for(t=+f;t<l.length-h;++t)g.push(n[a[l[t]][2]]);return g}var e=br,r=wr;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},Xo.geom.polygon=function(n){return fa(n,Zc),n};var Zc=Xo.geom.polygon.prototype=[];Zc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++t<e;)n=r,r=this[t],u+=n[1]*r[0]-n[0]*r[1];return.5*u},Zc.centroid=function(n){var t,e,r=-1,u=this.length,i=0,o=0,a=this[u-1];for(arguments.length||(n=-1/(6*this.area()));++r<u;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],i+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[i*n,o*n]},Zc.clip=function(n){for(var t,e,r,u,i,o,a=Cr(n),c=-1,s=this.length-Cr(this),l=this[s-1];++c<s;){for(t=n.slice(),n.length=0,u=this[c],i=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],Er(o,l,u)?(Er(i,l,u)||n.push(Ar(i,o,l,u)),n.push(o)):Er(i,l,u)&&n.push(Ar(i,o,l,u)),i=o;a&&n.push(n[0]),l=u}return n};var Vc,Xc,$c,Bc,Wc,Jc=[],Gc=[];Pr.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(jr),t.length},Br.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},Wr.prototype={insert:function(n,t){var e,r,u;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=Qr(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(u=r.R,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.R&&(Gr(this,e),n=e,e=n.U),e.C=!1,r.C=!0,Kr(this,r))):(u=r.L,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.L&&(Kr(this,e),n=e,e=n.U),e.C=!1,r.C=!0,Gr(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,u=n.U,i=n.L,o=n.R;if(e=i?o?Qr(o):i:o,u?u.L===n?u.L=e:u.R=e:this._=e,i&&o?(r=e.C,e.C=n.C,e.L=i,i.U=e,e!==o?(u=e.U,e.U=n.U,n=e.R,u.L=n,e.R=o,o.U=e):(e.U=u,u=e,n=e.R)):(r=n.C,n=e),n&&(n.U=u),!r){if(n&&n.C)return n.C=!1,void 0;do{if(n===this._)break;if(n===u.L){if(t=u.R,t.C&&(t.C=!1,u.C=!0,Gr(this,u),t=u.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,Kr(this,t),t=u.R),t.C=u.C,u.C=t.R.C=!1,Gr(this,u),n=this._;break}}else if(t=u.L,t.C&&(t.C=!1,u.C=!0,Kr(this,u),t=u.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,Gr(this,t),t=u.L),t.C=u.C,u.C=t.L.C=!1,Kr(this,u),n=this._;break}t.C=!0,n=u,u=u.U}while(!n.C);n&&(n.C=!1)}}},Xo.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],u=a[0][1],i=a[1][0],o=a[1][1];return nu(e(n),a).cells.forEach(function(e,a){var c=e.edges,s=e.site,l=t[a]=c.length?c.map(function(n){var t=n.start();return[t.x,t.y]}):s.x>=r&&s.x<=i&&s.y>=u&&s.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];l.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Aa)*Aa,y:Math.round(o(n,t)/Aa)*Aa,i:t}})}var r=br,u=wr,i=r,o=u,a=Kc;return n?t(n):(t.links=function(n){return nu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return nu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(jr),c=-1,s=a.length,l=a[s-1].edge,f=l.l===o?l.r:l.l;++c<s;)u=l,i=f,l=a[c].edge,f=l.l===o?l.r:l.l,r<i.i&&r<f.i&&eu(o,i,f)<0&&t.push([n[r],n[i.i],n[f.i]])}),t},t.x=function(n){return arguments.length?(i=_t(r=n),t):r},t.y=function(n){return arguments.length?(o=_t(u=n),t):u},t.clipExtent=function(n){return arguments.length?(a=null==n?Kc:n,t):a===Kc?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===Kc?null:a&&a[1]},t)};var Kc=[[-1e6,-1e6],[1e6,1e6]];Xo.geom.delaunay=function(n){return Xo.geom.voronoi().triangles(n)},Xo.geom.quadtree=function(n,t,e,r,u){function i(n){function i(n,t,e,r,u,i,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var c=n.x,l=n.y;if(null!=c)if(oa(c-e)+oa(l-r)<.01)s(n,t,e,r,u,i,o,a);else{var f=n.point;n.x=n.y=n.point=null,s(n,f,c,l,u,i,o,a),s(n,t,e,r,u,i,o,a)}else n.x=e,n.y=r,n.point=t}else s(n,t,e,r,u,i,o,a)}function s(n,t,e,r,u,o,a,c){var s=.5*(u+a),l=.5*(o+c),f=e>=s,h=r>=l,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=iu()),f?u=s:a=s,h?o=l:c=l,i(n,t,e,r,u,o,a,c)}var l,f,h,g,p,v,d,m,y,x=_t(a),M=_t(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)l=n[g],l.x<v&&(v=l.x),l.y<d&&(d=l.y),l.x>m&&(m=l.x),l.y>y&&(y=l.y),f.push(l.x),h.push(l.y);else for(g=0;p>g;++g){var _=+x(l=n[g],g),b=+M(l,g);v>_&&(v=_),d>b&&(d=b),_>m&&(m=_),b>y&&(y=b),f.push(_),h.push(b)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=iu();if(k.add=function(n){i(k,n,+x(n,++g),+M(n,g),v,d,m,y)},k.visit=function(n){ou(n,k,v,d,m,y)},g=-1,null==t){for(;++g<p;)i(k,n[g],f[g],h[g],v,d,m,y);--g}else n.forEach(k.add);return f=h=n=l=null,k}var o,a=br,c=wr;return(o=arguments.length)?(a=ru,c=uu,3===o&&(u=e,r=t,e=t=0),i(n)):(i.x=function(n){return arguments.length?(a=n,i):a},i.y=function(n){return arguments.length?(c=n,i):c},i.extent=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],u=+n[1][1]),i):null==t?null:[[t,e],[r,u]]},i.size=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=e=0,r=+n[0],u=+n[1]),i):null==t?null:[r-t,u-e]},i)},Xo.interpolateRgb=au,Xo.interpolateObject=cu,Xo.interpolateNumber=su,Xo.interpolateString=lu;var Qc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g;Xo.interpolate=fu,Xo.interpolators=[function(n,t){var e=typeof t;return("string"===e?Va.has(t)||/^(#|rgb\(|hsl\()/.test(t)?au:lu:t instanceof G?au:"object"===e?Array.isArray(t)?hu:cu:su)(n,t)}],Xo.interpolateArray=hu;var ns=function(){return bt},ts=Xo.map({linear:ns,poly:xu,quad:function(){return du},cubic:function(){return mu},sin:function(){return Mu},exp:function(){return _u},circle:function(){return bu},elastic:wu,back:Su,bounce:function(){return ku}}),es=Xo.map({"in":bt,out:pu,"in-out":vu,"out-in":function(n){return vu(pu(n))}});Xo.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.substring(0,t):n,r=t>=0?n.substring(t+1):"in";return e=ts.get(e)||ns,r=es.get(r)||bt,gu(r(e.apply(null,$o.call(arguments,1))))},Xo.interpolateHcl=Eu,Xo.interpolateHsl=Au,Xo.interpolateLab=Cu,Xo.interpolateRound=Nu,Xo.transform=function(n){var t=Wo.createElementNS(Xo.ns.prefix.svg,"g");return(Xo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Lu(e?e.matrix:rs)})(n)},Lu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var rs={a:1,b:0,c:0,d:1,e:0,f:0};Xo.interpolateTransform=Ru,Xo.layout={},Xo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Uu(n[e]));return t}},Xo.layout.chord=function(){function n(){var n,s,f,h,g,p={},v=[],d=Xo.range(i),m=[];for(e=[],r=[],n=0,h=-1;++h<i;){for(s=0,g=-1;++g<i;)s+=u[h][g];v.push(s),m.push(Xo.range(i)),n+=s}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&m.forEach(function(n,t){n.sort(function(n,e){return a(u[t][n],u[t][e])})}),n=(ka-l*i)/n,s=0,h=-1;++h<i;){for(f=s,g=-1;++g<i;){var y=d[h],x=m[y][g],M=u[y][x],_=s,b=s+=M*n;p[y+"-"+x]={index:y,subindex:x,startAngle:_,endAngle:b,value:M}}r[y]={index:y,startAngle:f,endAngle:s,value:(s-f)/n},s+=l}for(h=-1;++h<i;)for(g=h-1;++g<i;){var w=p[h+"-"+g],S=p[g+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}c&&t()}function t(){e.sort(function(n,t){return c((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,u,i,o,a,c,s={},l=0;return s.matrix=function(n){return arguments.length?(i=(u=n)&&u.length,e=r=null,s):u},s.padding=function(n){return arguments.length?(l=n,e=r=null,s):l},s.sortGroups=function(n){return arguments.length?(o=n,e=r=null,s):o},s.sortSubgroups=function(n){return arguments.length?(a=n,e=null,s):a},s.sortChords=function(n){return arguments.length?(c=n,e&&t(),s):c},s.chords=function(){return e||n(),e},s.groups=function(){return r||n(),r},s},Xo.layout.force=function(){function n(n){return function(t,e,r,u){if(t.point!==n){var i=t.cx-n.x,o=t.cy-n.y,a=u-e,c=i*i+o*o;if(c>a*a/d){if(p>c){var s=t.charge/c;n.px-=i*s,n.py-=o*s}return!0}if(t.point&&c&&p>c){var s=t.pointCharge/c;n.px-=i*s,n.py-=o*s}}return!t.charge}}function t(n){n.px=Xo.event.x,n.py=Xo.event.y,a.resume()}var e,r,u,i,o,a={},c=Xo.dispatch("start","tick","end"),s=[1,1],l=.9,f=us,h=is,g=-30,p=os,v=.1,d=.64,m=[],y=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,x,M,_=m.length,b=y.length;for(e=0;b>e;++e)a=y[e],f=a.source,h=a.target,x=h.x-f.x,M=h.y-f.y,(p=x*x+M*M)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,x*=p,M*=p,h.x-=x*(d=f.weight/(h.weight+f.weight)),h.y-=M*d,f.x+=x*(d=1-d),f.y+=M*d);if((d=r*v)&&(x=s[0]/2,M=s[1]/2,e=-1,d))for(;++e<_;)a=m[e],a.x+=(x-a.x)*d,a.y+=(M-a.y)*d;if(g)for(Zu(t=Xo.geom.quadtree(m),r,o),e=-1;++e<_;)(a=m[e]).fixed||t.visit(n(a));for(e=-1;++e<_;)a=m[e],a.fixed?(a.x=a.px,a.y=a.py):(a.x-=(a.px-(a.px=a.x))*l,a.y-=(a.py-(a.py=a.y))*l);c.tick({type:"tick",alpha:r})},a.nodes=function(n){return arguments.length?(m=n,a):m},a.links=function(n){return arguments.length?(y=n,a):y},a.size=function(n){return arguments.length?(s=n,a):s},a.linkDistance=function(n){return arguments.length?(f="function"==typeof n?n:+n,a):f},a.distance=a.linkDistance,a.linkStrength=function(n){return arguments.length?(h="function"==typeof n?n:+n,a):h},a.friction=function(n){return arguments.length?(l=+n,a):l},a.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,a):g},a.chargeDistance=function(n){return arguments.length?(p=n*n,a):Math.sqrt(p)},a.gravity=function(n){return arguments.length?(v=+n,a):v},a.theta=function(n){return arguments.length?(d=n*n,a):Math.sqrt(d)},a.alpha=function(n){return arguments.length?(n=+n,r?r=n>0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),Xo.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;s>a;++a){var u=y[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,s=o.length;++a<s;)if(!isNaN(i=o[a][n]))return i;return Math.random()*r}var t,e,r,c=m.length,l=y.length,p=s[0],v=s[1];for(t=0;c>t;++t)(r=m[t]).index=t,r.weight=0;for(t=0;l>t;++t)r=y[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;l>t;++t)u[t]=+f.call(this,y[t],t);else for(t=0;l>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;l>t;++t)i[t]=+h.call(this,y[t],t);else for(t=0;l>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=Xo.behavior.drag().origin(bt).on("dragstart.force",Fu).on("drag.force",t).on("dragend.force",Ou)),arguments.length?(this.on("mouseover.force",Yu).on("mouseout.force",Iu).call(e),void 0):e},Xo.rebind(a,c,"on")};var us=20,is=1,os=1/0;Xo.layout.hierarchy=function(){function n(t,o,a){var c=u.call(e,t,o);if(t.depth=o,a.push(t),c&&(s=c.length)){for(var s,l,f=-1,h=t.children=new Array(s),g=0,p=o+1;++f<s;)l=h[f]=n(c[f],p,a),l.parent=t,g+=l.value;r&&h.sort(r),i&&(t.value=g)}else delete t.children,i&&(t.value=+i.call(e,t,o)||0);return t}function t(n,r){var u=n.children,o=0;if(u&&(a=u.length))for(var a,c=-1,s=r+1;++c<a;)o+=t(u[c],s);else i&&(o=+i.call(e,n,r)||0);return i&&(n.value=o),o}function e(t){var e=[];return n(t,0,e),e}var r=Bu,u=Xu,i=$u;return e.sort=function(n){return arguments.length?(r=n,e):r},e.children=function(n){return arguments.length?(u=n,e):u},e.value=function(n){return arguments.length?(i=n,e):i},e.revalue=function(n){return t(n,0),n},e},Xo.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,s=-1;for(r=t.value?r/t.value:0;++s<o;)n(a=i[s],e,c=a.value*r,u),e+=c}}function t(n){var e=n.children,r=0;if(e&&(u=e.length))for(var u,i=-1;++i<u;)r=Math.max(r,t(e[i]));return 1+r}function e(e,i){var o=r.call(this,e,i);return n(o[0],0,u[0],u[1]/t(o[0])),o}var r=Xo.layout.hierarchy(),u=[1,1];return e.size=function(n){return arguments.length?(u=n,e):u},Vu(e,r)},Xo.layout.pie=function(){function n(i){var o=i.map(function(e,r){return+t.call(n,e,r)}),a=+("function"==typeof r?r.apply(this,arguments):r),c=(("function"==typeof u?u.apply(this,arguments):u)-a)/Xo.sum(o),s=Xo.range(i.length);null!=e&&s.sort(e===as?function(n,t){return o[t]-o[n]}:function(n,t){return e(i[n],i[t])});var l=[];return s.forEach(function(n){var t;l[n]={data:i[n],value:t=o[n],startAngle:a,endAngle:a+=t*c}}),l}var t=Number,e=as,r=0,u=ka;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n};var as={};Xo.layout.stack=function(){function n(a,c){var s=a.map(function(e,r){return t.call(n,e,r)}),l=s.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,l,c);s=Xo.permute(s,f),l=Xo.permute(l,f);var h,g,p,v=r.call(n,l,c),d=s.length,m=s[0].length;for(g=0;m>g;++g)for(u.call(n,s[0][g],p=v[g],l[0][g][1]),h=1;d>h;++h)u.call(n,s[h][g],p+=l[h-1][g][1],l[h][g][1]);return a}var t=bt,e=Qu,r=ni,u=Ku,i=Ju,o=Gu;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:cs.get(t)||Qu,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:ss.get(t)||ni,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var cs=Xo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(ti),i=n.map(ei),o=Xo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,s=[],l=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],s.push(e)):(c+=i[e],l.push(e));return l.reverse().concat(s)},reverse:function(n){return Xo.range(n.length).reverse()},"default":Qu}),ss=Xo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,s,l=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=s=0,e=1;h>e;++e){for(t=0,u=0;l>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];l>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,s>c&&(s=c)}for(e=0;h>e;++e)g[e]-=s;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ni});Xo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],s=n.map(e,this),l=r.call(this,s,i),f=u.call(this,l,s,i),i=-1,h=s.length,g=f.length-1,p=t?1:1/h;++i<g;)o=c[i]=[],o.dx=f[i+1]-(o.x=f[i]),o.y=0;if(g>0)for(i=-1;++i<h;)a=s[i],a>=l[0]&&a<=l[1]&&(o=c[Xo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=oi,u=ui;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=_t(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return ii(n,t)}:_t(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},Xo.layout.tree=function(){function n(n,i){function o(n,t){var r=n.children,u=n._tree;if(r&&(i=r.length)){for(var i,a,s,l=r[0],f=l,h=-1;++h<i;)s=r[h],o(s,a),f=c(s,a,f),a=s;vi(n);var g=.5*(l._tree.prelim+s._tree.prelim);t?(u.prelim=t._tree.prelim+e(n,t),u.mod=u.prelim-g):u.prelim=g}else t&&(u.prelim=t._tree.prelim+e(n,t))}function a(n,t){n.x=n._tree.prelim+t;var e=n.children;if(e&&(r=e.length)){var r,u=-1;for(t+=n._tree.mod;++u<r;)a(e[u],t)}}function c(n,t,r){if(t){for(var u,i=n,o=n,a=t,c=n.parent.children[0],s=i._tree.mod,l=o._tree.mod,f=a._tree.mod,h=c._tree.mod;a=si(a),i=ci(i),a&&i;)c=ci(c),o=si(o),o._tree.ancestor=n,u=a._tree.prelim+f-i._tree.prelim-s+e(a,i),u>0&&(di(mi(a,n,r),n,u),s+=u,l+=u),f+=a._tree.mod,s+=i._tree.mod,h+=c._tree.mod,l+=o._tree.mod;a&&!si(o)&&(o._tree.thread=a,o._tree.mod+=f-l),i&&!ci(c)&&(c._tree.thread=i,c._tree.mod+=s-h,r=n)}return r}var s=t.call(this,n,i),l=s[0];pi(l,function(n,t){n._tree={ancestor:n,prelim:0,mod:0,change:0,shift:0,number:t?t._tree.number+1:0}}),o(l),a(l,-l._tree.prelim);var f=li(l,hi),h=li(l,fi),g=li(l,gi),p=f.x-e(f,h)/2,v=h.x+e(h,f)/2,d=g.depth||1;return pi(l,u?function(n){n.x*=r[0],n.y=n.depth*r[1],delete n._tree}:function(n){n.x=(n.x-p)/(v-p)*r[0],n.y=n.depth/d*r[1],delete n._tree}),s}var t=Xo.layout.hierarchy().sort(null).value(null),e=ai,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Vu(n,t)},Xo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],s=u[1],l=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,pi(a,function(n){n.r=+l(n.value)}),pi(a,bi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/s))/2;pi(a,function(n){n.r+=f}),pi(a,bi),pi(a,function(n){n.r-=f})}return ki(a,c/2,s/2,t?1:1/Math.max(2*a.r/c,2*a.r/s)),o}var t,e=Xo.layout.hierarchy().sort(yi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Vu(n,e)},Xo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],s=0;pi(c,function(n){var t=n.children;t&&t.length?(n.x=Ci(t),n.y=Ai(t)):(n.x=o?s+=e(n,o):0,n.y=0,o=n)});var l=Ni(c),f=Li(c),h=l.x-e(l,f)/2,g=f.x+e(f,l)/2;return pi(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=Xo.layout.hierarchy().sort(null).value(null),e=ai,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Vu(n,t)},Xo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++u<i;)r=(e=n[u]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,s=f(e),l=[],h=i.slice(),p=1/0,v="slice"===g?s.dx:"dice"===g?s.dy:"slice-dice"===g?1&e.depth?s.dy:s.dx:Math.min(s.dx,s.dy);for(n(h,s.dx*s.dy/e.value),l.area=0;(c=h.length)>0;)l.push(o=h[c-1]),l.area+=o.area,"squarify"!==g||(a=r(l,v))<=p?(h.pop(),p=a):(l.area-=l.pop().area,u(l,v,s,!1),v=Math.min(s.dx,s.dy),l.length=l.area=0,p=1/0);l.length&&(u(l,v,s,!0),l.length=l.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(i>e&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,s=e.y,l=t?c(n.area/t):0;if(t==e.dx){for((r||l>e.dy)&&(l=e.dy);++i<o;)u=n[i],u.x=a,u.y=s,u.dy=l,a+=u.dx=Math.min(e.x+e.dx-a,l?c(u.area/l):0);u.z=!0,u.dx+=e.x+e.dx-a,e.y+=l,e.dy-=l}else{for((r||l>e.dx)&&(l=e.dx);++i<o;)u=n[i],u.x=a,u.y=s,u.dx=l,s+=u.dy=Math.min(e.y+e.dy-s,l?c(u.area/l):0);u.z=!1,u.dy+=e.y+e.dy-s,e.x+=l,e.dx-=l}}function i(r){var u=o||a(r),i=u[0];return i.x=0,i.y=0,i.dx=s[0],i.dy=s[1],o&&a.revalue(i),n([i],i.dx*i.dy/i.value),(o?e:t)(i),h&&(o=u),u}var o,a=Xo.layout.hierarchy(),c=Math.round,s=[1,1],l=null,f=Ti,h=!1,g="squarify",p=.5*(1+Math.sqrt(5));return i.size=function(n){return arguments.length?(s=n,i):s},i.padding=function(n){function t(t){var e=n.call(i,t,t.depth);return null==e?Ti(t):qi(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return qi(t,n)}if(!arguments.length)return l;var r;return f=null==(l=n)?Ti:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,i},i.round=function(n){return arguments.length?(c=n?Math.round:Number,i):c!=Number},i.sticky=function(n){return arguments.length?(h=n,o=null,i):h},i.ratio=function(n){return arguments.length?(p=n,i):p},i.mode=function(n){return arguments.length?(g=n+"",i):g},Vu(i,a)},Xo.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=Xo.random.normal.apply(Xo,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=Xo.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},Xo.scale={};var ls={floor:bt,ceil:bt};Xo.scale.linear=function(){return Hi([0,1],[0,1],fu,!1)};var fs={s:1,g:1,p:1,r:1,e:1};Xo.scale.log=function(){return $i(Xo.scale.linear().domain([0,1]),10,!0,[1,10])};var hs=Xo.format(".0e"),gs={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};Xo.scale.pow=function(){return Bi(Xo.scale.linear(),1,[0,1])},Xo.scale.sqrt=function(){return Xo.scale.pow().exponent(.5)},Xo.scale.ordinal=function(){return Ji([],{t:"range",a:[[]]})},Xo.scale.category10=function(){return Xo.scale.ordinal().range(ps)},Xo.scale.category20=function(){return Xo.scale.ordinal().range(vs)},Xo.scale.category20b=function(){return Xo.scale.ordinal().range(ds)},Xo.scale.category20c=function(){return Xo.scale.ordinal().range(ms)};var ps=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ht),vs=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ht),ds=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ht),ms=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ht);Xo.scale.quantile=function(){return Gi([],[])},Xo.scale.quantize=function(){return Ki(0,1,[0,1])},Xo.scale.threshold=function(){return Qi([.5],[0,1])},Xo.scale.identity=function(){return no([0,1])},Xo.svg={},Xo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+ys,a=u.apply(this,arguments)+ys,c=(o>a&&(c=o,o=a,a=c),a-o),s=Sa>c?"0":"1",l=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);return c>=xs?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*l+","+i*f+"A"+i+","+i+" 0 "+s+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+s+",0 "+n*l+","+n*f+"Z":"M"+i*l+","+i*f+"A"+i+","+i+" 0 "+s+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=to,e=eo,r=ro,u=uo;return n.innerRadius=function(e){return arguments.length?(t=_t(e),n):t},n.outerRadius=function(t){return arguments.length?(e=_t(t),n):e},n.startAngle=function(t){return arguments.length?(r=_t(t),n):r},n.endAngle=function(t){return arguments.length?(u=_t(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+ys;return[Math.cos(i)*n,Math.sin(i)*n]},n};var ys=-Ea,xs=ka-Aa;Xo.svg.line=function(){return io(bt)};var Ms=Xo.map({linear:oo,"linear-closed":ao,step:co,"step-before":so,"step-after":lo,basis:mo,"basis-open":yo,"basis-closed":xo,bundle:Mo,cardinal:go,"cardinal-open":fo,"cardinal-closed":ho,monotone:Eo});Ms.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var _s=[0,2/3,1/3,0],bs=[0,1/3,2/3,0],ws=[0,1/6,2/3,1/6];Xo.svg.line.radial=function(){var n=io(Ao);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},so.reverse=lo,lo.reverse=so,Xo.svg.area=function(){return Co(bt)},Xo.svg.area.radial=function(){var n=Co(Ao);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},Xo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),s=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,s)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,s.r,s.p0)+r(s.r,s.p1,s.a1-s.a0)+u(s.r,s.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+ys,l=s.call(n,u,r)+ys;return{r:i,a0:o,a1:l,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(l),i*Math.sin(l)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Sa)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=hr,o=gr,a=No,c=ro,s=uo;return n.radius=function(t){return arguments.length?(a=_t(t),n):a},n.source=function(t){return arguments.length?(i=_t(t),n):i},n.target=function(t){return arguments.length?(o=_t(t),n):o},n.startAngle=function(t){return arguments.length?(c=_t(t),n):c},n.endAngle=function(t){return arguments.length?(s=_t(t),n):s},n},Xo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=hr,e=gr,r=Lo;return n.source=function(e){return arguments.length?(t=_t(e),n):t},n.target=function(t){return arguments.length?(e=_t(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},Xo.svg.diagonal.radial=function(){var n=Xo.svg.diagonal(),t=Lo,e=n.projection;return n.projection=function(n){return arguments.length?e(To(t=n)):t},n},Xo.svg.symbol=function(){function n(n,r){return(Ss.get(t.call(this,n,r))||Ro)(e.call(this,n,r))}var t=zo,e=qo;return n.type=function(e){return arguments.length?(t=_t(e),n):t},n.size=function(t){return arguments.length?(e=_t(t),n):e},n};var Ss=Xo.map({circle:Ro,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Cs)),e=t*Cs;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/As),e=t*As/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/As),e=t*As/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});Xo.svg.symbolTypes=Ss.keys();var ks,Es,As=Math.sqrt(3),Cs=Math.tan(30*Na),Ns=[],Ls=0;Ns.call=da.call,Ns.empty=da.empty,Ns.node=da.node,Ns.size=da.size,Xo.transition=function(n){return arguments.length?ks?n.transition():n:xa.transition()},Xo.transition.prototype=Ns,Ns.select=function(n){var t,e,r,u=this.id,i=[];n=M(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]);for(var c=this[o],s=-1,l=c.length;++s<l;)(r=c[s])&&(e=n.call(r,r.__data__,s,o))?("__data__"in r&&(e.__data__=r.__data__),jo(e,s,u,r.__transition__[u]),t.push(e)):t.push(null)}return Do(i,u)},Ns.selectAll=function(n){var t,e,r,u,i,o=this.id,a=[];n=_(n);for(var c=-1,s=this.length;++c<s;)for(var l=this[c],f=-1,h=l.length;++f<h;)if(r=l[f]){i=r.__transition__[o],e=n.call(r,r.__data__,f,c),a.push(t=[]);for(var g=-1,p=e.length;++g<p;)(u=e[g])&&jo(u,g,o,i),t.push(u)}return Do(a,o)},Ns.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=q(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Do(u,this.id)},Ns.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):R(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Ns.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Ru:fu,a=Xo.ns.qualify(n);return Po(this,"attr."+n,t,a.local?i:u)},Ns.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=Xo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Ns.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=Go.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=fu(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return Po(this,"style."+n,t,u)},Ns.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,Go.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Ns.text=function(n){return Po(this,"text",n,Uo)},Ns.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Ns.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=Xo.ease.apply(Xo,arguments)),R(this,function(e){e.__transition__[t].ease=n}))},Ns.delay=function(n){var t=this.id;return R(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Ns.duration=function(n){var t=this.id;return R(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Ns.each=function(n,t){var e=this.id;if(arguments.length<2){var r=Es,u=ks;ks=e,R(this,function(t,r,u){Es=t.__transition__[e],n.call(t,t.__data__,r,u)}),Es=r,ks=u}else R(this,function(r){var u=r.__transition__[e];(u.event||(u.event=Xo.dispatch("start","end"))).on(n,t)});return this},Ns.transition=function(){for(var n,t,e,r,u=this.id,i=++Ls,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],s=0,l=t.length;l>s;s++)(e=t[s])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,jo(e,s,i,r)),n.push(e)}return Do(o,i)},Xo.svg.axis=function(){function n(n){n.each(function(){var n,s=Xo.select(this),l=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):bt:t,p=s.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Aa),d=Xo.transition(p.exit()).style("opacity",Aa).remove(),m=Xo.transition(p).style("opacity",1),y=Ri(f),x=s.selectAll(".domain").data([0]),M=(x.enter().append("path").attr("class","domain"),Xo.transition(x));v.append("line"),v.append("text");var _=v.select("line"),b=m.select("line"),w=p.select("text").text(g),S=v.select("text"),k=m.select("text");switch(r){case"bottom":n=Ho,_.attr("y2",u),S.attr("y",Math.max(u,0)+o),b.attr("x2",0).attr("y2",u),k.attr("x",0).attr("y",Math.max(u,0)+o),w.attr("dy",".71em").style("text-anchor","middle"),M.attr("d","M"+y[0]+","+i+"V0H"+y[1]+"V"+i);break;case"top":n=Ho,_.attr("y2",-u),S.attr("y",-(Math.max(u,0)+o)),b.attr("x2",0).attr("y2",-u),k.attr("x",0).attr("y",-(Math.max(u,0)+o)),w.attr("dy","0em").style("text-anchor","middle"),M.attr("d","M"+y[0]+","+-i+"V0H"+y[1]+"V"+-i);break;case"left":n=Fo,_.attr("x2",-u),S.attr("x",-(Math.max(u,0)+o)),b.attr("x2",-u).attr("y2",0),k.attr("x",-(Math.max(u,0)+o)).attr("y",0),w.attr("dy",".32em").style("text-anchor","end"),M.attr("d","M"+-i+","+y[0]+"H0V"+y[1]+"H"+-i);break;case"right":n=Fo,_.attr("x2",u),S.attr("x",Math.max(u,0)+o),b.attr("x2",u).attr("y2",0),k.attr("x",Math.max(u,0)+o).attr("y",0),w.attr("dy",".32em").style("text-anchor","start"),M.attr("d","M"+i+","+y[0]+"H0V"+y[1]+"H"+i)}if(f.rangeBand){var E=f,A=E.rangeBand()/2;l=f=function(n){return E(n)+A}}else l.rangeBand?l=f:d.call(n,f);v.call(n,l),m.call(n,f)})}var t,e=Xo.scale.linear(),r=Ts,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in qs?t+"":Ts,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Ts="bottom",qs={top:1,right:1,bottom:1,left:1};Xo.svg.brush=function(){function n(i){i.each(function(){var i=Xo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(p,bt);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return zs[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var l,f=Xo.transition(i),h=Xo.transition(o);c&&(l=Ri(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),e(f)),s&&(l=Ri(s),h.attr("y",l[0]).attr("height",l[1]-l[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+l[+/e$/.test(n)]+","+f[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",l[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function r(n){n.select(".extent").attr("y",f[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function u(){function u(){32==Xo.event.keyCode&&(C||(x=null,L[0]-=l[1],L[1]-=f[1],C=2),d())}function p(){32==Xo.event.keyCode&&2==C&&(L[0]+=l[1],L[1]+=f[1],C=0,d())}function v(){var n=Xo.mouse(_),u=!1;M&&(n[0]+=M[0],n[1]+=M[1]),C||(Xo.event.altKey?(x||(x=[(l[0]+l[1])/2,(f[0]+f[1])/2]),L[0]=l[+(n[0]<x[0])],L[1]=f[+(n[1]<x[1])]):x=null),E&&m(n,c,0)&&(e(S),u=!0),A&&m(n,s,1)&&(r(S),u=!0),u&&(t(S),w({type:"brush",mode:C?"move":"resize"}))}function m(n,t,e){var r,u,a=Ri(t),c=a[0],s=a[1],p=L[e],v=e?f:l,d=v[1]-v[0];return C&&(c-=p,s-=d+p),r=(e?g:h)?Math.max(c,Math.min(s,n[e])):n[e],C?u=(r+=p)+d:(x&&(p=Math.max(c,Math.min(s,2*x[e]-r))),r>p?(u=r,r=p):u=p),v[0]!=r||v[1]!=u?(e?o=null:i=null,v[0]=r,v[1]=u,!0):void 0}function y(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),Xo.select("body").style("cursor",null),T.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),N(),w({type:"brushend"})}var x,M,_=this,b=Xo.select(Xo.event.target),w=a.of(_,arguments),S=Xo.select(_),k=b.datum(),E=!/^(n|s)$/.test(k)&&c,A=!/^(e|w)$/.test(k)&&s,C=b.classed("extent"),N=O(),L=Xo.mouse(_),T=Xo.select(Go).on("keydown.brush",u).on("keyup.brush",p);if(Xo.event.changedTouches?T.on("touchmove.brush",v).on("touchend.brush",y):T.on("mousemove.brush",v).on("mouseup.brush",y),S.interrupt().selectAll("*").interrupt(),C)L[0]=l[0]-L[0],L[1]=f[0]-L[1];else if(k){var q=+/w$/.test(k),z=+/^n/.test(k);M=[l[1-q]-L[0],f[1-z]-L[1]],L[0]=l[q],L[1]=f[z]}else Xo.event.altKey&&(x=L.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),Xo.select("body").style("cursor",b.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=y(n,"brushstart","brush","brushend"),c=null,s=null,l=[0,0],f=[0,0],h=!0,g=!0,p=Rs[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:l,y:f,i:i,j:o},e=this.__chart__||t;this.__chart__=t,ks?Xo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,l=e.x,f=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=hu(l,t.x),r=hu(f,t.y);return i=o=null,function(u){l=t.x=e(u),f=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,p=Rs[!c<<1|!s],n):c},n.y=function(t){return arguments.length?(s=t,p=Rs[!c<<1|!s],n):s},n.clamp=function(t){return arguments.length?(c&&s?(h=!!t[0],g=!!t[1]):c?h=!!t:s&&(g=!!t),n):c&&s?[h,g]:c?h:s?g:null},n.extent=function(t){var e,r,u,a,h;return arguments.length?(c&&(e=t[0],r=t[1],s&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(h=e,e=r,r=h),(e!=l[0]||r!=l[1])&&(l=[e,r])),s&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],s.invert&&(u=s(u),a=s(a)),u>a&&(h=u,u=a,a=h),(u!=f[0]||a!=f[1])&&(f=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=l[0],r=l[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(h=e,e=r,r=h))),s&&(o?(u=o[0],a=o[1]):(u=f[0],a=f[1],s.invert&&(u=s.invert(u),a=s.invert(a)),u>a&&(h=u,u=a,a=h))),c&&s?[[e,u],[r,a]]:c?[e,r]:s&&[u,a])},n.clear=function(){return n.empty()||(l=[0,0],f=[0,0],i=o=null),n},n.empty=function(){return!!c&&l[0]==l[1]||!!s&&f[0]==f[1]},Xo.rebind(n,a,"on")};var zs={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Rs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Ds=tc.format=ac.timeFormat,Ps=Ds.utc,Us=Ps("%Y-%m-%dT%H:%M:%S.%LZ");Ds.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Oo:Us,Oo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Oo.toString=Us.toString,tc.second=Rt(function(n){return new ec(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),tc.seconds=tc.second.range,tc.seconds.utc=tc.second.utc.range,tc.minute=Rt(function(n){return new ec(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),tc.minutes=tc.minute.range,tc.minutes.utc=tc.minute.utc.range,tc.hour=Rt(function(n){var t=n.getTimezoneOffset()/60;return new ec(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),tc.hours=tc.hour.range,tc.hours.utc=tc.hour.utc.range,tc.month=Rt(function(n){return n=tc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),tc.months=tc.month.range,tc.months.utc=tc.month.utc.range;var js=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Hs=[[tc.second,1],[tc.second,5],[tc.second,15],[tc.second,30],[tc.minute,1],[tc.minute,5],[tc.minute,15],[tc.minute,30],[tc.hour,1],[tc.hour,3],[tc.hour,6],[tc.hour,12],[tc.day,1],[tc.day,2],[tc.week,1],[tc.month,1],[tc.month,3],[tc.year,1]],Fs=Ds.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",be]]),Os={range:function(n,t,e){return Xo.range(Math.ceil(n/e)*e,+t,e).map(Io)},floor:bt,ceil:bt};Hs.year=tc.year,tc.scale=function(){return Yo(Xo.scale.linear(),Hs,Fs)};var Ys=Hs.map(function(n){return[n[0].utc,n[1]]}),Is=Ps.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",be]]);Ys.year=tc.year.utc,tc.scale.utc=function(){return Yo(Xo.scale.linear(),Ys,Is)},Xo.text=wt(function(n){return n.responseText}),Xo.json=function(n,t){return St(n,"application/json",Zo,t)},Xo.html=function(n,t){return St(n,"text/html",Vo,t)},Xo.xml=wt(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(Xo):"object"==typeof module&&module.exports?module.exports=Xo:this.d3=Xo}();'use strict';(function(window){window.define=undefined;}).call(this,this);'use strict';tr.exportTo('tr.ui.b',function(){function getSVGTextWidth(parentNode,text){var textNode=document.createElementNS('http://www.w3.org/2000/svg','text');textNode.setAttributeNS(null,'x',0);textNode.setAttributeNS(null,'y',0);textNode.setAttributeNS(null,'fill','black');textNode.appendChild(document.createTextNode(text));parentNode.appendChild(textNode);var widthPx=textNode.getComputedTextLength();parentNode.removeChild(textNode);return widthPx;}
-return{getSVGTextWidth:getSVGTextWidth};});Polymer({is:'tr-ui-b-chart-legend-key',ready:function(){this.$.checkbox.addEventListener('change',this.onCheckboxChange_.bind(this));},onCheckboxChange_:function(){tr.b.dispatchSimpleEvent(this,tr.ui.b.DataSeriesEnableChangeEventType,true,false,{key:Polymer.dom(this).textContent,enabled:this.enabled});},set textContent(t){Polymer.dom(this.$.label).textContent=t;Polymer.dom(this.$.link).textContent=t;this.updateContents_();},set width(w){w-=20;this.$.link.style.width=w+'px';this.$.label.style.width=w+'px';},get textContent(){return Polymer.dom(this.$.label).textContent;},set optional(optional){this.$.checkbox.style.visibility=optional?'visible':'hidden';},get optional(){return this.$.checkbox.style.visibility==='visible';},set enabled(enabled){this.$.checkbox.checked=enabled?'checked':'';},get enabled(){return this.$.checkbox.checked;},set color(c){this.$.label.style.color=c;this.$.link.color=c;},set target(target){this.$.link.setSelectionAndContent(target,Polymer.dom(this.$.label).textContent);this.updateContents_();},get target(){return this.$.link.selection;},updateContents_:function(){this.$.link.style.display=this.target?'':'none';this.$.label.style.display=this.target?'none':'';this.$.label.htmlFor=this.optional?'checkbox':'';}});'use strict';tr.exportTo('tr.ui.b',function(){var DataSeriesEnableChangeEventType='data-series-enabled-change';var THIS_DOC=document.currentScript.ownerDocument;var svgNS='http://www.w3.org/2000/svg';var ColorScheme=tr.b.ColorScheme;function getColorOfKey(key,selected){var id=ColorScheme.getColorIdForGeneralPurposeString(key);if(selected)
-id+=ColorScheme.properties.brightenedOffsets[0];return ColorScheme.colorsAsStrings[id];}
-function DataSeries(key){this.key_=key;this.target_=undefined;this.optional_=false;this.enabled_=true;this.color_=getColorOfKey(key,false);this.highlightedColor_=getColorOfKey(key,true);}
-DataSeries.prototype={get key(){return this.key_;},get color(){return this.color_;},set color(c){this.color_=c;},get highlightedColor(){return this.highlightedColor_;},set highlightedColor(c){this.highlightedColor_=c;},get optional(){return this.optional_;},set optional(optional){this.optional_=optional;},get enabled(){return this.enabled_;},set enabled(enabled){if(!this.optional&&!enabled)
-this.optional=true;this.enabled_=enabled;},get target(){return this.target_;},set target(t){this.target_=t;}};var ChartBase=tr.ui.b.define('svg',undefined,svgNS);ChartBase.prototype={__proto__:HTMLUnknownElement.prototype,getDataSeries:function(key){if(!this.seriesByKey_.has(key))
-this.seriesByKey_.set(key,new DataSeries(key));return this.seriesByKey_.get(key);},decorate:function(){Polymer.dom(this).classList.add('chart-base');this.chartTitle_=undefined;this.seriesByKey_=new Map();this.width_=400;this.height_=300;this.margin={top:20,right:72,bottom:30,left:50};this.hideLegend_=false;var template=Polymer.dom(THIS_DOC).querySelector('#chart-base-template');var svgEl=Polymer.dom(template.content).querySelector('svg');for(var i=0;i<Polymer.dom(svgEl).children.length;i++)
-Polymer.dom(this).appendChild(Polymer.dom(svgEl.children[i]).cloneNode(true));Object.defineProperty(this,'width',{get:function(){return this.width_;},set:function(width){this.width_=width;this.updateContents_();}});Object.defineProperty(this,'height',{get:function(){return this.height_;},set:function(height){this.height_=height;this.updateContents_();}});this.addEventListener(DataSeriesEnableChangeEventType,this.onDataSeriesEnableChange_.bind(this));},get hideLegend(){return this.hideLegend_;},set hideLegend(h){this.hideLegend_=h;this.updateContents_();},isSeriesEnabled:function(key){return this.getDataSeries(key).enabled;},onDataSeriesEnableChange_:function(event){this.getDataSeries(event.key).enabled=event.enabled;this.updateContents_();},get chartTitle(){return this.chartTitle_;},set chartTitle(chartTitle){if(chartTitle&&!this.chartTitle_)
-this.margin.top+=this.titleMarginPx;else if(this.chartTitle_&&!chartTitle)
-this.margin.top-=this.titleMarginPx;this.chartTitle_=chartTitle;this.updateContents_();},get titleMarginPx(){return 20;},get chartAreaElement(){return Polymer.dom(this).querySelector('#chart-area');},setSize:function(size){this.width_=size.width;this.height_=size.height;this.updateContents_();},get chartAreaSize(){return{width:this.width_-this.margin.left-this.margin.right,height:this.height_-this.margin.top-this.margin.bottom};},updateScales_:function(){throw new Error('Not implemented');},updateContents_:function(){var thisSel=d3.select(this);thisSel.attr('width',this.width_);thisSel.attr('height',this.height_);var chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.attr('transform','translate('+this.margin.left+','+this.margin.top+')');this.updateScales_();this.updateTitle_(chartAreaSel);this.updateLegend_();},updateTitle_:function(chartAreaSel){var titleSel=chartAreaSel.select('#title');if(!this.chartTitle_){titleSel.style('display','none');return;}
-var width=this.chartAreaSize.width;titleSel.attr('transform','translate('+width*0.5+',-5)').style('display',undefined).style('text-anchor','middle').attr('class','title').attr('width',width).text(this.chartTitle_);},updateLegend_:function(){var chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.legend').remove();if(this.hideLegend)
-return;var series=[...this.seriesByKey_.values()].reverse();var legendEntriesSel=chartAreaSel.selectAll('.legend').data(series);var width=this.margin.right-2;legendEntriesSel.enter().append('foreignObject').attr('class','legend').attr('x',this.chartAreaSize.width+2).attr('width',width).attr('height',18).attr('transform',function(series,i){return'translate(0,'+i*18+')';}).append('xhtml:body').append('tr-ui-b-chart-legend-key').property('color',function(series){if(this.currentHighlightedLegendKey===series.key)
-return series.highlightedColor;return series.color;}.bind(this)).property('width',width).property('target',function(series){return series.target;}).property('optional',function(series){return series.optional;}).property('enabled',function(series){return series.enabled;}).text(function(series){return series.key;});legendEntriesSel.exit().remove();},get highlightedLegendKey(){return this.highlightedLegendKey_;},set highlightedLegendKey(highlightedLegendKey){this.highlightedLegendKey_=highlightedLegendKey;this.updateHighlight_();},get currentHighlightedLegendKey(){if(this.tempHighlightedLegendKey_)
-return this.tempHighlightedLegendKey_;return this.highlightedLegendKey_;},pushTempHighlightedLegendKey:function(key){if(this.tempHighlightedLegendKey_)
-throw new Error('push cannot nest');this.tempHighlightedLegendKey_=key;this.updateHighlight_();},popTempHighlightedLegendKey:function(key){if(this.tempHighlightedLegendKey_!=key)
-throw new Error('pop cannot happen');this.tempHighlightedLegendKey_=undefined;this.updateHighlight_();},updateHighlight_:function(){var chartAreaSel=d3.select(this.chartAreaElement);var legendEntriesSel=chartAreaSel.selectAll('.legend');var that=this;legendEntriesSel.each(function(key){var dataSeries=that.getDataSeries(key);if(key===that.currentHighlightedLegendKey){this.style.fill=dataSeries.highlightedColor;this.style.fontWeight='bold';}else{this.style.fill=dataSeries.color;this.style.fontWeight='';}});}};return{DataSeriesEnableChangeEventType:DataSeriesEnableChangeEventType,getColorOfKey:getColorOfKey,ChartBase:ChartBase};});'use strict';tr.exportTo('tr.ui.b',function(){function MouseTracker(opt_targetElement){this.onMouseDown_=this.onMouseDown_.bind(this);this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.targetElement=opt_targetElement;}
-MouseTracker.prototype={get targetElement(){return this.targetElement_;},set targetElement(targetElement){if(this.targetElement_)
-this.targetElement_.removeEventListener('mousedown',this.onMouseDown_);this.targetElement_=targetElement;if(this.targetElement_)
-this.targetElement_.addEventListener('mousedown',this.onMouseDown_);},onMouseDown_:function(e){if(e.button!==0)
-return true;e=this.remakeEvent_(e,'mouse-tracker-start');this.targetElement_.dispatchEvent(e);document.addEventListener('mousemove',this.onMouseMove_);document.addEventListener('mouseup',this.onMouseUp_);this.targetElement_.addEventListener('blur',this.onMouseUp_);this.savePreviousUserSelect_=document.body.style['-webkit-user-select'];document.body.style['-webkit-user-select']='none';e.preventDefault();return true;},onMouseMove_:function(e){e=this.remakeEvent_(e,'mouse-tracker-move');this.targetElement_.dispatchEvent(e);},onMouseUp_:function(e){document.removeEventListener('mousemove',this.onMouseMove_);document.removeEventListener('mouseup',this.onMouseUp_);this.targetElement_.removeEventListener('blur',this.onMouseUp_);document.body.style['-webkit-user-select']=this.savePreviousUserSelect_;e=this.remakeEvent_(e,'mouse-tracker-end');this.targetElement_.dispatchEvent(e);},remakeEvent_:function(e,newType){var remade=new tr.b.Event(newType,true,true);remade.x=e.x;remade.y=e.y;remade.offsetX=e.offsetX;remade.offsetY=e.offsetY;remade.clientX=e.clientX;remade.clientY=e.clientY;return remade;}};function trackMouseMovesUntilMouseUp(mouseMoveHandler,opt_mouseUpHandler,opt_keyUpHandler){function cleanupAndDispatchToMouseUp(e){document.removeEventListener('mousemove',mouseMoveHandler);if(opt_keyUpHandler)
-document.removeEventListener('keyup',opt_keyUpHandler);document.removeEventListener('mouseup',cleanupAndDispatchToMouseUp);if(opt_mouseUpHandler)
-opt_mouseUpHandler(e);}
-document.addEventListener('mousemove',mouseMoveHandler);if(opt_keyUpHandler)
-document.addEventListener('keyup',opt_keyUpHandler);document.addEventListener('mouseup',cleanupAndDispatchToMouseUp);}
-return{MouseTracker:MouseTracker,trackMouseMovesUntilMouseUp:trackMouseMovesUntilMouseUp};});'use strict';tr.exportTo('tr.ui.b',function(){var ChartBase=tr.ui.b.ChartBase;var ChartBase2D=tr.ui.b.define('chart-base-2d',ChartBase);ChartBase2D.prototype={__proto__:ChartBase.prototype,decorate:function(){ChartBase.prototype.decorate.call(this);Polymer.dom(this).classList.add('chart-base-2d');this.xScale_=d3.scale.linear();this.yScale_=d3.scale.linear();this.isYLogScale_=false;this.yLogScaleMin_=undefined;this.dataRange_=new tr.b.Range();this.hideXAxis_=false;this.hideYAxis_=false;this.data_=[];this.xAxisLabel_='';this.yAxisLabel_='';d3.select(this.chartAreaElement).append('g').attr('id','brushes');d3.select(this.chartAreaElement).append('g').attr('id','series');this.addEventListener('mousedown',this.onMouseDown_.bind(this));},get xAxisLabel(){return this.xAxisLabel_;},set xAxisLabel(label){this.xAxisLabel_=label;},get yAxisLabel(){return this.yAxisLabel_;},set yAxisLabel(label){this.yAxisLabel_=label;},get hideXAxis(){return this.hideXAxis_;},set hideXAxis(h){this.hideXAxis_=h;this.updateContents_();},get hideYAxis(){return this.hideYAxis_;},set hideYAxis(h){this.hideYAxis_=h;this.updateContents_();},get data(){return this.data_;},set data(data){if(data===undefined)
-throw new Error('data must be an Array');this.data_=data;this.updateSeriesKeys_();this.updateDataRange_();this.updateContents_();},set isYLogScale(logScale){if(logScale)
-this.yScale_=d3.scale.log(10);else
-this.yScale_=d3.scale.linear();this.isYLogScale_=logScale;},getYScaleMin_:function(){return this.isYLogScale_?this.yLogScaleMin_:0;},getYScaleDomain_:function(minValue,maxValue){if(this.isYLogScale_)
-return[this.getYScaleMin_(),maxValue];return[Math.min(minValue,this.getYScaleMin_()),maxValue];},getSampleWidth_:function(data,index,leftSide){var leftIndex,rightIndex;if(leftSide){leftIndex=Math.max(index-1,0);rightIndex=index;}else{leftIndex=index;rightIndex=Math.min(index+1,data.length-1);}
-var leftWidth=this.getXForDatum_(data[index],index)-
-this.getXForDatum_(data[leftIndex],leftIndex);var rightWidth=this.getXForDatum_(data[rightIndex],rightIndex)-
-this.getXForDatum_(data[index],index);return leftWidth*0.5+rightWidth*0.5;},updateSeriesKeys_:function(){this.data_.forEach(function(datum){Object.keys(datum).forEach(function(key){if(this.isDatumFieldSeries_(key))
-this.getDataSeries(key);},this);},this);},isDatumFieldSeries_:function(fieldName){throw new Error('Not implemented');},getXForDatum_:function(datum,index){throw new Error('Not implemented');},updateScales_:function(){if(this.data_.length===0)
-return;var width=this.chartAreaSize.width;var height=this.chartAreaSize.height;this.xScale_.range([0,width]);this.xScale_.domain(d3.extent(this.data_,this.getXForDatum_.bind(this)));var yRange=new tr.b.Range();for(var i=0;i<this.data_.length;i++){for(var key in this.data_[i]){if(!isNaN(Math.max(this.data_[i][key])))
-yRange.addValue(this.data_[i][key]);}}
-this.yScale_.range([height,0]);this.yScale_.domain([yRange.min,yRange.max]);},updateBrushContents_:function(brushSel){brushSel.selectAll('*').remove();},updateXAxis_:function(xAxis){xAxis.selectAll('*').remove();xAxis[0][0].style.opacity=0;if(this.hideXAxis)
-return;this.drawXAxis_(xAxis);var label=xAxis.append('text').attr('class','label');tr.b.requestAnimationFrame(()=>{this.drawXAxisTicks_(xAxis);this.drawXAxisLabel_(label);});},drawXAxis_:function(xAxis){xAxis.attr('transform','translate(0,'+this.chartAreaSize.height+')').call(d3.svg.axis().scale(this.xScale_).orient('bottom'));},drawXAxisLabel_:function(label){label.attr('x',this.chartAreaSize.width+16).attr('y',8).text(this.xAxisLabel);},drawXAxisTicks_:function(xAxis){var previousRight=undefined;xAxis.selectAll('.tick')[0].forEach(function(tick){var currentLeft=tick.transform.baseVal[0].matrix.e;if((previousRight===undefined)||(currentLeft>(previousRight+3))){var currentWidth=tick.getBBox().width;previousRight=currentLeft+currentWidth;}else{tick.style.opacity=0;}});xAxis[0][0].style.opacity=1;},updateDataRange_:function(){var dataBySeriesKey=this.getDataBySeriesKey_();this.dataRange_.reset();tr.b.iterItems(dataBySeriesKey,function(series,values){for(var i=0;i<values.length;i++){this.dataRange_.addValue(values[i][series]);}},this);this.yLogScaleMin_=undefined;if(this.dataRange_.min!==undefined){var minValue=this.dataRange_.min;if(minValue==0)
-minValue=1;var onePowerLess=Math.floor(Math.log(minValue)/Math.log(10))-1;this.yLogScaleMin_=Math.pow(10,onePowerLess);}},updateYAxis_:function(yAxis){yAxis.selectAll('*').remove();yAxis[0][0].style.opacity=0;if(this.hideYAxis)
-return;this.drawYAxis_(yAxis);var label=yAxis.append('text').attr('class','label');tr.b.requestAnimationFrame(()=>{this.drawYAxisTicks_(yAxis);this.drawYAxisLabel_(label);});},drawYAxis_:function(yAxis){var axisModifier=d3.svg.axis().scale(this.yScale_).orient('left');if(this.isYLogScale_){if(this.yLogScaleMin_===undefined)
-return;var minValue=this.dataRange_.min;if(minValue==0)
-minValue=1;var largestPower=Math.ceil(Math.log(this.dataRange_.max)/Math.log(10))+1;var smallestPower=Math.floor(Math.log(minValue)/Math.log(10));var tickValues=[];for(var i=smallestPower;i<largestPower;i++){tickValues.push(Math.pow(10,i));}
-axisModifier=axisModifier.tickValues(tickValues).tickFormat(function(d){return d;});}
-yAxis.call(axisModifier);},drawYAxisLabel_:function(label){var labelWidthPx=Math.ceil(tr.ui.b.getSVGTextWidth(this.chartAreaElement,this.yAxisLabel));label.attr('x',-labelWidthPx).attr('y',-8).text(this.yAxisLabel);},drawYAxisTicks_:function(yAxis){var previousTop=undefined;var leftMargin=0;yAxis.selectAll('.tick')[0].forEach(function(tick){var bbox=tick.getBBox();leftMargin=Math.max(leftMargin,bbox.width);var currentTop=tick.transform.baseVal[0].matrix.f;var currentBottom=currentTop+bbox.height;if((previousTop===undefined)||(previousTop>(currentBottom+3))){previousTop=currentTop;}else{tick.style.opacity=0;}});leftMargin=parseInt(Math.ceil(leftMargin));if(leftMargin>this.margin.left){this.margin.left=leftMargin;this.updateContents_();}else{yAxis[0][0].style.opacity=1;}},updateContents_:function(){ChartBase.prototype.updateContents_.call(this);var chartAreaSel=d3.select(this.chartAreaElement);this.updateXAxis_(chartAreaSel.select('.x.axis'));this.updateYAxis_(chartAreaSel.select('.y.axis'));this.updateBrushContents_(chartAreaSel.select('#brushes'));this.updateDataContents_(chartAreaSel.select('#series'));},updateDataContents_:function(seriesSel){throw new Error('Not implemented');},getDataBySeriesKey_:function(){var dataBySeriesKey={};for(var[key,series]of this.seriesByKey_){dataBySeriesKey[key]=[];}
-this.data_.forEach(function(multiSeriesDatum,index){var x=this.getXForDatum_(multiSeriesDatum,index);d3.keys(multiSeriesDatum).forEach(function(seriesKey){if(seriesKey==='x')
-return;if(multiSeriesDatum[seriesKey]===undefined)
-return;if(!this.isDatumFieldSeries_(seriesKey))
-return;var singleSeriesDatum={x:x};singleSeriesDatum[seriesKey]=multiSeriesDatum[seriesKey];dataBySeriesKey[seriesKey].push(singleSeriesDatum);},this);},this);return dataBySeriesKey;},getChartPointAtClientPoint_:function(clientPoint){var rect=this.getBoundingClientRect();return{x:clientPoint.x-rect.left-this.margin.left,y:clientPoint.y-rect.top-this.margin.top};},getDataPointAtChartPoint_:function(chartPoint){return{x:tr.b.clamp(this.xScale_.invert(chartPoint.x),this.xScale_.domain()[0],this.xScale_.domain()[1]),y:tr.b.clamp(this.yScale_.invert(chartPoint.y),this.yScale_.domain()[0],this.yScale_.domain()[1])};},getDataPointAtClientPoint_:function(clientX,clientY){var chartPoint=this.getChartPointAtClientPoint_({x:clientX,y:clientY});return this.getDataPointAtChartPoint_(chartPoint);},prepareDataEvent_:function(mouseEvent,dataEvent){var dataPoint=this.getDataPointAtClientPoint_(mouseEvent.clientX,mouseEvent.clientY);dataEvent.x=dataPoint.x;dataEvent.y=dataPoint.y;},onMouseDown_:function(mouseEvent){tr.ui.b.trackMouseMovesUntilMouseUp(this.onMouseMove_.bind(this,mouseEvent.button),this.onMouseUp_.bind(this,mouseEvent.button));mouseEvent.preventDefault();mouseEvent.stopPropagation();var dataEvent=new tr.b.Event('item-mousedown');dataEvent.button=mouseEvent.button;Polymer.dom(this).classList.add('updating-brushing-state');this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);},onMouseMove_:function(button,mouseEvent){if(mouseEvent.buttons!==undefined){mouseEvent.preventDefault();mouseEvent.stopPropagation();}
-var dataEvent=new tr.b.Event('item-mousemove');dataEvent.button=button;this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);},onMouseUp_:function(button,mouseEvent){mouseEvent.preventDefault();mouseEvent.stopPropagation();var dataEvent=new tr.b.Event('item-mouseup');dataEvent.button=button;this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);Polymer.dom(this).classList.remove('updating-brushing-state');}};return{ChartBase2D:ChartBase2D};});'use strict';tr.exportTo('tr.ui.b',function(){var ChartBase2D=tr.ui.b.ChartBase2D;var ChartBase2DBrushX=tr.ui.b.define('chart-base-2d-brush-1d',ChartBase2D);ChartBase2DBrushX.prototype={__proto__:ChartBase2D.prototype,decorate:function(){ChartBase2D.prototype.decorate.call(this);this.brushedRange_=new tr.b.Range();},set brushedRange(range){this.brushedRange_.reset();this.brushedRange_.addRange(range);this.updateContents_();},computeBrushRangeFromIndices:function(indexA,indexB){indexA=tr.b.clamp(indexA,0,this.data_.length-1);indexB=tr.b.clamp(indexB,0,this.data_.length-1);var leftIndex=Math.min(indexA,indexB);var rightIndex=Math.max(indexA,indexB);var r=new tr.b.Range();r.addValue(this.getXForDatum_(this.data_[leftIndex],leftIndex)-
-this.getSampleWidth_(this.data_,leftIndex,true));r.addValue(this.getXForDatum_(this.data_[rightIndex],rightIndex)+
-this.getSampleWidth_(this.data_,rightIndex,false));return r;},getDataIndex_:function(dataX){if(!this.data_)
-return undefined;var bisect=d3.bisector(this.getXForDatum_.bind(this)).right;return bisect(this.data_,dataX)-1;},prepareDataEvent_:function(mouseEvent,dataEvent){ChartBase2D.prototype.prepareDataEvent_.call(this,mouseEvent,dataEvent);dataEvent.index=this.getDataIndex_(dataEvent.x);if(dataEvent.index!==undefined)
-dataEvent.data=this.data_[dataEvent.index];},updateBrushContents_:function(brushSel){brushSel.selectAll('*').remove();var brushes=this.brushedRange_.isEmpty?[]:[this.brushedRange_];var brushRectsSel=brushSel.selectAll('rect').data(brushes);brushRectsSel.enter().append('rect');brushRectsSel.exit().remove();this.drawBrush_(brushRectsSel);},drawBrush_:function(brushRectsSel){brushRectsSel.attr('x',function(d){return this.xScale_(d.min);}.bind(this)).attr('y',0).attr('width',function(d){return this.xScale_(d.max)-this.xScale_(d.min);}.bind(this)).attr('height',this.chartAreaSize.height);}};return{ChartBase2DBrushX:ChartBase2DBrushX};});'use strict';tr.exportTo('tr.ui.b',function(){var ChartBase2DBrushX=tr.ui.b.ChartBase2DBrushX;var LineChart=tr.ui.b.define('line-chart',ChartBase2DBrushX);LineChart.prototype={__proto__:ChartBase2DBrushX.prototype,decorate:function(){ChartBase2DBrushX.prototype.decorate.call(this);Polymer.dom(this).classList.add('line-chart');},isDatumFieldSeries_:function(fieldName){return fieldName!='x';},getXForDatum_:function(datum,index){return datum.x;},updateDataContents_:function(dataSel){dataSel.selectAll('*').remove();var dataBySeriesKey=this.getDataBySeriesKey_();var seriesKeys=[...this.seriesByKey_.keys()];var pathsSel=dataSel.selectAll('path').data(seriesKeys);pathsSel.enter().append('path').attr('class','line').style('stroke',function(key){return this.getDataSeries(key).color;}.bind(this)).attr('d',function(key){var line=d3.svg.line().x(function(d){return this.xScale_(d.x);}.bind(this)).y(function(d){return this.yScale_(d[key]);}.bind(this));return line(dataBySeriesKey[key]);}.bind(this));pathsSel.exit().remove();}};return{LineChart:LineChart};});'use strict';var EventSet=tr.model.EventSet;var CHART_TITLE='Power (W) by ms since vertical sync';var CHART_WIDTH_FRACTION_OF_BODY=0.5;Polymer({is:'tr-ui-a-frame-power-usage-chart',ready:function(){this.chart_=undefined;this.samples_=new EventSet();this.vSyncTimestamps_=[];},get chart(){return this.chart_;},get samples(){return this.samples_;},get vSyncTimestamps(){return this.vSyncTimestamps_;},setData:function(samples,vSyncTimestamps){this.samples_=(samples===undefined)?new EventSet():samples;this.vSyncTimestamps_=(vSyncTimestamps===undefined)?[]:vSyncTimestamps;this.updateContents_();},updateContents_:function(){this.clearChart_();var data=this.getDataForLineChart_();if(data.length===0)
-return;this.chart_=this.createChart_(data);Polymer.dom(this.$.content).appendChild(this.chart_);},createChart_:function(data){var chart=new tr.ui.b.LineChart();var width=document.body.clientWidth*CHART_WIDTH_FRACTION_OF_BODY;chart.setSize({width:width,height:chart.height});chart.chartTitle=CHART_TITLE;chart.data=data;return chart;},clearChart_:function(){var content=this.$.content;while(Polymer.dom(content).firstChild)
-Polymer.dom(content).removeChild(Polymer.dom(content).firstChild);this.chart_=undefined;},getDataForLineChart_:function(){var sortedSamples=this.sortSamplesByTimestampAscending_(this.samples);var vSyncTimestamps=this.vSyncTimestamps.slice();var lastVSyncTimestamp=undefined;var points=[];var frameNumber=0;sortedSamples.forEach(function(sample){while(vSyncTimestamps.length>0&&vSyncTimestamps[0]<=sample.start){lastVSyncTimestamp=vSyncTimestamps.shift();frameNumber++;}
-if(lastVSyncTimestamp===undefined)
-return;var point={x:sample.start-lastVSyncTimestamp};point['f'+frameNumber]=sample.powerInW;points.push(point);});return points;},sortSamplesByTimestampAscending_:function(samples){return samples.toArray().sort(function(smpl1,smpl2){return smpl1.start-smpl2.start;});}});'use strict';Polymer({is:'tr-ui-a-power-sample-summary-table',ready:function(){this.$.table.tableColumns=[{title:'Min power',width:'100px',value:function(row){return tr.b.Unit.byName.powerInWatts.format(row.min);}},{title:'Max power',width:'100px',value:function(row){return tr.b.Unit.byName.powerInWatts.format(row.max);}},{title:'Time-weighted average',width:'100px',value:function(row){return tr.b.Unit.byName.powerInWatts.format(row.timeWeightedAverageInW);}},{title:'Energy consumed',width:'100px',value:function(row){return tr.b.Unit.byName.energyInJoules.format(row.energyConsumedInJ);}},{title:'Sample count',width:'100%',value:function(row){return row.sampleCount;}}];this.samples=new tr.model.EventSet();},get samples(){return this.samples_;},set samples(samples){if(samples===this.samples)
-return;this.samples_=(samples===undefined)?new tr.model.EventSet():samples;this.updateContents_();},updateContents_:function(){if(this.samples.length===0){this.$.table.tableRows=[];}else{this.$.table.tableRows=[{min:this.getMin(),max:this.getMax(),timeWeightedAverageInW:this.getTimeWeightedAverageInW(),energyConsumedInJ:this.getEnergyConsumedInJ(),sampleCount:this.samples.length}];}
-this.$.table.rebuild();},getMin:function(){return Math.min.apply(null,this.samples.map(function(sample){return sample.powerInW;}));},getMax:function(){return Math.max.apply(null,this.samples.map(function(sample){return sample.powerInW;}));},getTimeWeightedAverageInW:function(){var energyConsumedInJ=this.getEnergyConsumedInJ();if(energyConsumedInJ==='N/A')
-return'N/A';var durationInS=tr.b.convertUnit(this.samples.bounds.duration,tr.b.UnitScale.Metric.MILLI,tr.b.UnitScale.Metric.NONE);return energyConsumedInJ/durationInS;},getEnergyConsumedInJ:function(){if(this.samples.length<2)
-return'N/A';var bounds=this.samples.bounds;var series=tr.b.getFirstElement(this.samples).series;return series.getEnergyConsumedInJ(bounds.min,bounds.max);}});'use strict';Polymer({is:'tr-ui-a-multi-power-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready:function(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_:function(){var samples=this.selection;var vSyncTimestamps=(!samples?[]:tr.b.getFirstElement(samples).series.device.vSyncTimestamps);this.$.summaryTable.samples=samples;this.$.chart.setData(this.selection,vSyncTimestamps);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-power-sample-sub-view',tr.model.PowerSample,{multi:true,title:'Power Samples',});'use strict';(function(){var MultiDimensionalViewBuilder=tr.b.MultiDimensionalViewBuilder;var SAMPLE_TYPE={COMPILER:'compiler',EXTERNAL:'external',GC:'gc',NATIVEV8:'[native v8]',OTHER:'other',UNKNOWN:'unknown'};Polymer({is:'tr-ui-a-multi-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.viewOption_=undefined;this.selection_=undefined;},ready:function(){var viewSelector=tr.ui.b.createSelector(this,'viewOption','tracing.ui.analysis.multi_sample_sub_view',MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW,[{label:'Top-down (Tree)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW},{label:'Top-down (Heavy)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW},{label:'Bottom-up (Heavy)',value:MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW}]);Polymer.dom(this.$.control).appendChild(viewSelector);this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;this.updateContents_();},get viewOption(){return this.viewOption_;},set viewOption(viewOption){this.viewOption_=viewOption;this.updateContents_();},createSamplingSummary_:function(selection,viewOption){var builder=new MultiDimensionalViewBuilder(1,1);var samples=selection.filter(function(event){return event instanceof tr.model.Sample;});samples.forEach(function(sample){builder.addPath([sample.getUserFriendlyStackTrace().reverse()],[1],MultiDimensionalViewBuilder.ValueKind.SELF);});return builder.buildView(viewOption);},processTypedSampleRow_:function(row){var title=row.title[0];switch(title){case SAMPLE_TYPE.COMPILER:case SAMPLE_TYPE.EXTERNAL:case SAMPLE_TYPE.GC:case SAMPLE_TYPE.OTHER:row.functionName=title;row.fileName='N/A';return true;case SAMPLE_TYPE.UNKNOWN:row.functionName=SAMPLE_TYPE.UNKNOWN;row.fileName=SAMPLE_TYPE.UNKNOWN;return true;default:return false;}},processNativeV8SampleRow_:function(row){var title=row.title[0];if(!title.includes(SAMPLE_TYPE.NATIVEV8))
-return false;var arr=title.split(SAMPLE_TYPE.NATIVEV8);row.functionName=arr[0].trim();if(row.functionName==='')
-row.functionName='(anonymous function)';row.fileName=SAMPLE_TYPE.NATIVEV8;var fileNameSuffix=arr[1].trim();if(fileNameSuffix!=='')
-row.fileName+=' '+fileNameSuffix;return true;},processGeneralSampleRow_:function(row){var title=row.title[0];var idx=title.lastIndexOf(' ');if(idx===-1){row.functionName=title;row.fileName='unknown';return;}
-var prefix=title.substr(0,idx);var suffix=title.substr(idx+1);if(suffix.startsWith('v8/')){row.functionName=suffix;row.fileName='unknown';}else if(suffix===''){row.functionName=prefix;row.fileName='unknown';}else if(prefix===''){row.functionName='(anonymous function)';row.fileName=suffix.substr(suffix.lastIndexOf('/')+1);}else{row.functionName=prefix;row.fileName=suffix.substr(suffix.lastIndexOf('/')+1);}},processSampleRows_:function(rows){rows.forEach(function(row){if(!this.processTypedSampleRow_(row)&&!this.processNativeV8SampleRow_(row))
-this.processGeneralSampleRow_(row);this.processSampleRows_(row.subRows);},this);},updateContents_:function(){if(this.selection===undefined){this.$.table.tableColumns=[];this.$.table.tableRows=[];this.$.table.rebuild();return;}
-var samplingData=this.createSamplingSummary_(this.selection,this.viewOption);var total=samplingData.values[0].total;var columns=[this.createPercentColumn_('Total',total),this.createSamplesColumn_('Total'),this.createPercentColumn_('Self',total),this.createSamplesColumn_('Self'),{title:'Function Name',value:function(row){return row.functionName;},width:'150px',cmp:function(a,b){return a.functionName.localeCompare(b.functionName);},showExpandButtons:true},{title:'Location',value:function(row){return row.fileName;},width:'250px',cmp:function(a,b){return a.fileName.localeCompare(b.fileName);}}];this.processSampleRows_(samplingData.subRows);this.$.table.tableColumns=columns;this.$.table.sortColumnIndex=1;this.$.table.sortDescending=true;this.$.table.tableRows=samplingData.subRows;this.$.table.rebuild();},createPercentColumn_:function(title,samplingDataTotal){var field=title.toLowerCase();return{title:title+' percent',value:function(row){return tr.v.ui.createScalarSpan(row.values[0][field]/samplingDataTotal,{customContextRange:tr.b.Range.PERCENT_RANGE,unit:tr.b.Unit.byName.normalizedPercentage,context:{minimumFractionDigits:2,maximumFractionDigits:2},rightAlign:true});},width:'60px',cmp:function(a,b){return a.values[0][field]-b.values[0][field];}};},createSamplesColumn_:function(title){var field=title.toLowerCase();return{title:title+' samples',value:function(row){return tr.v.ui.createScalarSpan(row.values[0][field],{unit:tr.b.Unit.byName.unitlessNumber,context:{maximumFractionDigits:0},rightAlign:true});},width:'60px',cmp:function(a,b){return a.values[0][field]-b.values[0][field];}};}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-sample-sub-view',tr.model.Sample,{multi:true,title:'Samples',});})();'use strict';Polymer({is:'tr-ui-a-multi-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.selection_=undefined;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;if(tr.isExported('tr.ui.e.chrome.cc.RasterTaskSelection')){if(tr.ui.e.chrome.cc.RasterTaskSelection.supports(selection)){var ltvSelection=new tr.ui.e.chrome.cc.RasterTaskSelection(selection);var ltv=new tr.ui.e.chrome.cc.LayerTreeHostImplSnapshotView();ltv.objectSnapshot=ltvSelection.containingSnapshot;ltv.selection=ltvSelection;ltv.extraHighlightsByLayerId=ltvSelection.extraHighlightsByLayerId;Polymer.dom(this.$.content).textContent='';Polymer.dom(this.$.content).appendChild(ltv);this.requiresTallView_=true;return;}}
-Polymer.dom(this.$.content).textContent='';var mesv=document.createElement('tr-ui-a-multi-event-sub-view');mesv.selection=selection;Polymer.dom(this.$.content).appendChild(mesv);var relatedEvents=document.createElement('tr-ui-a-related-events');relatedEvents.setRelatedEvents(selection);if(relatedEvents.hasRelatedEvents()){Polymer.dom(this.$.content).appendChild(relatedEvents);}},get requiresTallView(){if(this.$.content.children.length===0)
-return false;var childTagName=this.$.content.children[0].tagName;if(childTagName==='TR-UI-A-MULTI-EVENT-SUB-VIEW')
-return false;return true;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-thread-slice-sub-view',tr.model.ThreadSlice,{multi:true,title:'Slices',});'use strict';Polymer({is:'tr-ui-a-multi-thread-time-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready:function(){this.$.content.eventsHaveSubRows=false;},get selection(){return this.$.content.selection;},set selection(selection){this.$.content.setSelectionWithoutErrorChecks(selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-thread-time-slice-sub-view',tr.model.ThreadTimeSlice,{multi:true,title:'Thread Timeslices',});'use strict';Polymer({is:'tr-ui-a-user-expectation-related-samples-table',ready:function(){this.samples_=[];this.$.table.tableColumns=[{title:'Event(s)',value:function(row){var typeEl=document.createElement('span');typeEl.innerText=row.type;if(row.tooltip)
-typeEl.title=row.tooltip;return typeEl;},width:'150px'},{title:'Link',width:'100%',value:function(row){var linkEl=document.createElement('tr-ui-a-analysis-link');if(row.name)
-linkEl.setSelectionAndContent(row.selection,row.name);else
-linkEl.selection=row.selection;return linkEl;}}];},hasRelatedSamples:function(){return(this.samples_&&this.samples_.length>0);},set selection(eventSet){this.samples_=[];var samples=new tr.model.EventSet;eventSet.forEach(function(ue){samples.addEventSet(ue.associatedSamples);}.bind(this));if(samples.length>0){this.samples_.push({type:'Overlapping samples',tooltip:'All samples overlapping the selected user expectation(s).',selection:samples});}
-this.updateContents_();},updateContents_:function(){var table=this.$.table;if(this.samples_&&this.samples_.length>0)
-table.tableRows=this.samples_.slice();else
-table.tableRows=[];table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-multi-interaction-record-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.currentSelection_=undefined;},set selection(selection){this.currentSelection_=selection;this.$.realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;this.$.relatedSamples.selection=selection;if(this.$.relatedSamples.hasRelatedSamples())
-this.$.events.style.display='';else
-this.$.events.style.display='none';},get selection(){return this.currentSelection_;},get relatedEventsToHighlight(){if(!this.currentSelection_)
-return undefined;var selection=new tr.model.EventSet();this.currentSelection_.forEach(function(ir){ir.associatedEvents.forEach(function(event){selection.push(event);});});return selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-user-expectation-sub-view',tr.model.um.UserExpectation,{multi:true,title:'User Expectations',});'use strict';var URL_REGEX=/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/;function isTable(object){if(!(object instanceof Array)||(object.length<2))return false;for(var colName in object[0]){if(typeof colName!=='string')return false;}
-for(var i=0;i<object.length;++i){if(!(object[i]instanceof Object))return false;for(var colName in object[i]){if(i&&(object[0][colName]===undefined))return false;var cellType=typeof object[i][colName];if(cellType!=='string'&&cellType!='number')return false;}
-if(i){for(var colName in object[0]){if(object[i][colName]===undefined)return false;}}}
-return true;}
-Polymer({is:'tr-ui-a-generic-object-view',ready:function(){this.object_=undefined;},get object(){return this.object_;},set object(object){this.object_=object;this.updateContents_();},updateContents_:function(){Polymer.dom(this.$.content).textContent='';this.appendElementsForType_('',this.object_,0,0,5,'');},appendElementsForType_:function(label,object,indent,depth,maxDepth,suffix){if(depth>maxDepth){this.appendSimpleText_(label,indent,'<recursion limit reached>',suffix);return;}
-if(object===undefined){this.appendSimpleText_(label,indent,'undefined',suffix);return;}
-if(object===null){this.appendSimpleText_(label,indent,'null',suffix);return;}
-if(!(object instanceof Object)){var type=typeof object;if(type=='string'){var objectReplaced=false;if((object[0]=='{'&&object[object.length-1]=='}')||(object[0]=='['&&object[object.length-1]==']')){try{object=JSON.parse(object);objectReplaced=true;}catch(e){}}
-if(!objectReplaced){if(object.indexOf('\n')!==-1){var lines=object.split('\n');lines.forEach(function(line,i){var text,ioff,ll,ss;if(i==0){text='"'+line;ioff=0;ll=label;ss='';}else if(i<lines.length-1){text=line;ioff=1;ll='';ss='';}else{text=line+'"';ioff=1;ll='';ss=suffix;}
-var el=this.appendSimpleText_(ll,indent+ioff*label.length+ioff,text,ss);el.style.whiteSpace='pre';return el;},this);return;}else if(object.match(URL_REGEX)){var link=document.createElement('a');link.href=object;link.textContent=object;this.appendElementWithLabel_(label,indent,link,suffix);return;}else{this.appendSimpleText_(label,indent,'"'+object+'"',suffix);return;}}
-else{}}else{return this.appendSimpleText_(label,indent,object,suffix);}}
-if(object instanceof tr.model.ObjectSnapshot){var link=document.createElement('tr-ui-a-analysis-link');link.selection=new tr.model.EventSet(object);this.appendElementWithLabel_(label,indent,link,suffix);return;}
-if(object instanceof tr.model.ObjectInstance){var link=document.createElement('tr-ui-a-analysis-link');link.selection=new tr.model.EventSet(object);this.appendElementWithLabel_(label,indent,link,suffix);return;}
-if(object instanceof tr.b.Rect){this.appendSimpleText_(label,indent,object.toString(),suffix);return;}
-if(object instanceof tr.v.ScalarNumeric){var el=this.ownerDocument.createElement('tr-v-ui-scalar-span');el.value=object;this.appendElementWithLabel_(label,indent,el,suffix);return;}
-if(object instanceof Array){this.appendElementsForArray_(label,object,indent,depth,maxDepth,suffix);return;}
-this.appendElementsForObject_(label,object,indent,depth,maxDepth,suffix);},appendElementsForArray_:function(label,object,indent,depth,maxDepth,suffix){if(object.length==0){this.appendSimpleText_(label,indent,'[]',suffix);return;}
-if(isTable(object)){var table=document.createElement('tr-ui-b-table');var columns=[];tr.b.iterItems(object[0],function(colName){var allStrings=true;var allNumbers=true;for(var i=0;i<object.length;++i){if(typeof(object[i][colName])!=='string')
-allStrings=false;if(typeof(object[i][colName])!=='number')
-allNumbers=false;if(!allStrings&&!allNumbers)
-break;}
-var column={title:colName};column.value=function(row){return row[colName];};if(allStrings){column.cmp=function(x,y){return x[colName].localeCompare(y[colName]);};}else if(allNumbers){column.cmp=function(x,y){return x[colName]-y[colName];};}
-columns.push(column);});table.tableColumns=columns;table.tableRows=object;this.appendElementWithLabel_(label,indent,table,suffix);table.rebuild();return;}
-this.appendElementsForType_(label+'[',object[0],indent,depth+1,maxDepth,object.length>1?',':']'+suffix);for(var i=1;i<object.length;i++){this.appendElementsForType_('',object[i],indent+label.length+1,depth+1,maxDepth,i<object.length-1?',':']'+suffix);}
-return;},appendElementsForObject_:function(label,object,indent,depth,maxDepth,suffix){var keys=tr.b.dictionaryKeys(object);if(keys.length==0){this.appendSimpleText_(label,indent,'{}',suffix);return;}
-this.appendElementsForType_(label+'{'+keys[0]+': ',object[keys[0]],indent,depth,maxDepth,keys.length>1?',':'}'+suffix);for(var i=1;i<keys.length;i++){this.appendElementsForType_(keys[i]+': ',object[keys[i]],indent+label.length+1,depth+1,maxDepth,i<keys.length-1?',':'}'+suffix);}},appendElementWithLabel_:function(label,indent,dataElement,suffix){var row=document.createElement('div');var indentSpan=document.createElement('span');indentSpan.style.whiteSpace='pre';for(var i=0;i<indent;i++)
-Polymer.dom(indentSpan).textContent+=' ';Polymer.dom(row).appendChild(indentSpan);var labelSpan=document.createElement('span');Polymer.dom(labelSpan).textContent=label;Polymer.dom(row).appendChild(labelSpan);Polymer.dom(row).appendChild(dataElement);var suffixSpan=document.createElement('span');Polymer.dom(suffixSpan).textContent=suffix;Polymer.dom(row).appendChild(suffixSpan);row.dataElement=dataElement;Polymer.dom(this.$.content).appendChild(row);},appendSimpleText_:function(label,indent,text,suffix){var el=this.ownerDocument.createElement('span');Polymer.dom(el).textContent=text;this.appendElementWithLabel_(label,indent,el,suffix);return el;}});'use strict';Polymer({is:'tr-ui-a-generic-object-view-with-label',ready:function(){this.labelEl_=document.createElement('div');this.genericObjectView_=document.createElement('tr-ui-a-generic-object-view');Polymer.dom(this.root).appendChild(this.labelEl_);Polymer.dom(this.root).appendChild(this.genericObjectView_);},get label(){return Polymer.dom(this.labelEl_).textContent;},set label(label){Polymer.dom(this.labelEl_).textContent=label;},get object(){return this.genericObjectView_.object;},set object(object){this.genericObjectView_.object=object;}});'use strict';Polymer({is:'tr-ui-a-stack-frame',ready:function(){this.stackFrame_=undefined;this.$.table.tableColumns=[];this.$.table.showHeader=true;},get stackFrame(){return this.stackFrame_;},set stackFrame(stackFrame){var table=this.$.table;this.stackFrame_=stackFrame;if(stackFrame===undefined){table.tableColumns=[];table.tableRows=[];table.rebuild();return;}
-var hasName=false;var hasTitle=false;table.tableRows=stackFrame.stackTrace;table.tableRows.forEach(function(row){hasName|=row.name!==undefined;hasTitle|=row.title!==undefined;});var cols=[];if(hasName){cols.push({title:'Name',value:function(row){return row.name;}});}
-if(hasTitle){cols.push({title:'Title',value:function(row){return row.title;}});}
-table.tableColumns=cols;table.rebuild();},tableForTesting:function(){return this.$.table;}});'use strict';Polymer({is:'tr-ui-a-single-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],properties:{isFlow:{type:Boolean,value:false}},ready:function(){this.currentSelection_=undefined;this.$.table.tableColumns=[{title:'Label',value:function(row){return row.name;},width:'150px'},{title:'Value',width:'100%',value:function(row){return row.value;}}];this.$.table.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){if(selection.length!==1)
-throw new Error('Only supports single slices');this.setSelectionWithoutErrorChecks(selection);},setSelectionWithoutErrorChecks:function(selection){this.currentSelection_=selection;this.updateContents_();},getFlowEventRows_:function(event){var rows=this.getEventRowsHelper_(event);rows.splice(0,0,{name:'ID',value:event.id});function createLinkTo(slice){var linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(slice);});Polymer.dom(linkEl).textContent=slice.userFriendlyName;return linkEl;}
-rows.push({name:'From',value:createLinkTo(event.startSlice)});rows.push({name:'To',value:createLinkTo(event.endSlice)});return rows;},getEventRowsHelper_:function(event){var rows=[];if(event.error)
-rows.push({name:'Error',value:event.error});if(event.title)
-rows.push({name:'Title',value:event.title});if(event.category)
-rows.push({name:'Category',value:event.category});if(event.model!==undefined){var ufc=event.model.getUserFriendlyCategoryFromEvent(event);if(ufc!==undefined)
-rows.push({name:'User Friendly Category',value:ufc});}
-if(event.name)
-rows.push({name:'Name',value:event.name});rows.push({name:'Start',value:tr.v.ui.createScalarSpan(event.start,{unit:tr.b.Unit.byName.timeStampInMs})});if(event.duration){rows.push({name:'Wall Duration',value:tr.v.ui.createScalarSpan(event.duration,{unit:tr.b.Unit.byName.timeDurationInMs})});}
-if(event.cpuDuration){rows.push({name:'CPU Duration',value:tr.v.ui.createScalarSpan(event.cpuDuration,{unit:tr.b.Unit.byName.timeDurationInMs})});}
-if(event.subSlices!==undefined&&event.subSlices.length!==0){if(event.selfTime){rows.push({name:'Self Time',value:tr.v.ui.createScalarSpan(event.selfTime,{unit:tr.b.Unit.byName.timeDurationInMs})});}
-if(event.cpuSelfTime){var cpuSelfTimeEl=tr.v.ui.createScalarSpan(event.cpuSelfTime,{unit:tr.b.Unit.byName.timeDurationInMs});if(event.cpuSelfTime>event.selfTime){cpuSelfTimeEl.warning=' Note that CPU Self Time is larger than Self Time. '+'This is a known limitation of this system, which occurs '+'due to several subslices, rounding issues, and imprecise '+'time at which we get cpu- and real-time.';}
-rows.push({name:'CPU Self Time',value:cpuSelfTimeEl});}}
-if(event.durationInUserTime){rows.push({name:'Duration (U)',value:tr.v.ui.createScalarSpan(event.durationInUserTime,{unit:tr.b.Unit.byName.timeDurationInMs})});}
-function createStackFrameEl(sf){var sfEl=document.createElement('tr-ui-a-stack-frame');sfEl.stackFrame=sf;return sfEl;}
-if(event.startStackFrame&&event.endStackFrame){if(event.startStackFrame===event.endStackFrame){rows.push({name:'Start+End Stack Trace',value:createStackFrameEl(event.startStackFrame)});}else{rows.push({name:'Start Stack Trace',value:createStackFrameEl(event.startStackFrame)});rows.push({name:'End Stack Trace',value:createStackFrameEl(event.endStackFrame)});}}else if(event.startStackFrame){rows.push({name:'Start Stack Trace',value:createStackFrameEl(event.startStackFrame)});}else if(event.endStackFrame){rows.push({name:'End Stack Trace',value:createStackFrameEl(event.endStackFrame)});}
-if(event.info){var descriptionEl=tr.ui.b.createDiv({textContent:event.info.description,maxWidth:'300px'});rows.push({name:'Description',value:descriptionEl});if(event.info.docLinks){event.info.docLinks.forEach(function(linkObject){var linkEl=document.createElement('a');linkEl.target='_blank';linkEl.href=linkObject.href;Polymer.dom(linkEl).textContent=Polymer.dom(linkObject).textContent;rows.push({name:linkObject.label,value:linkEl});});}}
-if(event.associatedAlerts.length){var alertSubRows=[];event.associatedAlerts.forEach(function(alert){var linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(alert);},alert.info.description);alertSubRows.push({name:alert.title,value:linkEl});});rows.push({name:'Alerts',value:'',isExpanded:true,subRows:alertSubRows});}
-return rows;},getEventRows_:function(event){if(this.isFlow)
-return this.getFlowEventRows_(event);return this.getEventRowsHelper_(event);},addArgsToRows_:function(rows,args){var n=0;for(var argName in args){n+=1;}
-if(n>0){var subRows=[];for(var argName in args){n+=1;}
-if(n>0){var subRows=[];for(var argName in args){var argView=document.createElement('tr-ui-a-generic-object-view');argView.object=args[argName];subRows.push({name:argName,value:argView});}
-rows.push({name:'Args',value:'',isExpanded:true,subRows:subRows});}}},addContextsToRows_:function(rows,contexts){if(contexts.length){var subRows=contexts.map(function(context){var contextView=document.createElement('tr-ui-a-generic-object-view');contextView.object=context;return{name:'Context',value:contextView};});rows.push({name:'Contexts',value:'',isExpanded:true,subRows:subRows});}},updateContents_:function(){if(this.currentSelection_===undefined){this.$.table.rows=[];this.$.table.rebuild();return;}
-var event=tr.b.getOnlyElement(this.currentSelection_);var rows=this.getEventRows_(event);if(event.argsStripped)
-rows.push({name:'Args',value:'Stripped'});else
-this.addArgsToRows_(rows,event.args);this.addContextsToRows_(rows,event.contexts);var customizeRowsEvent=new tr.b.Event('customize-rows');customizeRowsEvent.rows=rows;this.dispatchEvent(customizeRowsEvent);this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-single-async-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){if(selection.length!==1)
-throw new Error('Only supports single slices');this.$.content.setSelectionWithoutErrorChecks(selection);this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}},getEventRows_:function(event){var rows=this.__proto__.__proto__.getEventRows_(event);rows.splice(0,0,{name:'ID',value:event.id});return rows;},get relatedEventsToHighlight(){if(!this.currentSelection_)
-return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-async-slice-sub-view',tr.model.AsyncSlice,{multi:false,title:'Async Slice',});'use strict';Polymer({is:'tr-ui-a-single-cpu-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){var cpuSlice=tr.b.getOnlyElement(selection);if(!(cpuSlice instanceof tr.model.CpuSlice))
-throw new Error('Only supports thread time slices');this.currentSelection_=selection;var thread=cpuSlice.threadThatWasRunning;var root=Polymer.dom(this.root);if(thread){Polymer.dom(root.querySelector('#process-name')).textContent=thread.parent.userFriendlyName;Polymer.dom(root.querySelector('#thread-name')).textContent=thread.userFriendlyName;}else{root.querySelector('#process-name').parentElement.style.display='none';Polymer.dom(root.querySelector('#thread-name')).textContent=cpuSlice.title;}
-root.querySelector('#start').setValueAndUnit(cpuSlice.start,tr.b.Unit.byName.timeStampInMs);root.querySelector('#duration').setValueAndUnit(cpuSlice.duration,tr.b.Unit.byName.timeDurationInMs);var runningThreadEl=root.querySelector('#running-thread');var timeSlice=cpuSlice.getAssociatedTimeslice();if(!timeSlice){runningThreadEl.parentElement.style.display='none';}else{var threadLink=document.createElement('tr-ui-a-analysis-link');threadLink.selection=new tr.model.EventSet(timeSlice);Polymer.dom(threadLink).textContent='Click to select';runningThreadEl.parentElement.style.display='';Polymer.dom(runningThreadEl).textContent='';Polymer.dom(runningThreadEl).appendChild(threadLink);}
-root.querySelector('#args').object=cpuSlice.args;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-cpu-slice-sub-view',tr.model.CpuSlice,{multi:false,title:'CPU Slice',});'use strict';function createAnalysisLinkTo(event){var linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(event),event.userFriendlyName);return linkEl;}
-Polymer({is:'tr-ui-a-single-flow-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],listeners:{'singleEventSubView.customize-rows':'onCustomizeRows_'},set selection(selection){this.currentSelection_=selection;this.$.singleEventSubView.setSelectionWithoutErrorChecks(selection);},get selection(){return this.currentSelection_;},onCustomizeRows_:function(e){var event=tr.b.getOnlyElement(this.currentSelection_);var rows=e.rows;rows.unshift({name:'ID',value:event.id});rows.push({name:'From',value:createAnalysisLinkTo(event.startSlice)});rows.push({name:'To',value:createAnalysisLinkTo(event.endSlice)});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-flow-event-sub-view',tr.model.FlowEvent,{multi:false,title:'Flow Event',});'use strict';Polymer({is:'tr-ui-a-single-frame-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready:function(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.$.asv.selection=tr.b.getOnlyElement(selection).associatedAlerts;},get relatedEventsToHighlight(){if(!this.currentSelection_)
-return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-frame-sub-view',tr.model.Frame,{multi:false,title:'Frame',});'use strict';Polymer({is:'tr-ui-a-single-instant-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this.$.content).textContent='';var realView=document.createElement('tr-ui-a-single-event-sub-view');realView.setSelectionWithoutErrorChecks(selection);Polymer.dom(this.$.content).appendChild(realView);this.currentSelection_=selection;},get selection(){return this.currentSelection_;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-instant-event-sub-view',tr.model.InstantEvent,{multi:false,title:'Instant Event',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-instant-event-sub-view',tr.model.InstantEvent,{multi:true,title:'Instant Events',});'use strict';tr.exportTo('tr.ui.analysis',function(){var ObjectInstanceView=tr.ui.b.define('object-instance-view');ObjectInstanceView.prototype={__proto__:HTMLDivElement.prototype,decorate:function(){this.objectInstance_=undefined;},get requiresTallView(){return true;},set modelEvent(obj){this.objectInstance=obj;},get modelEvent(){return this.objectInstance;},get objectInstance(){return this.objectInstance_;},set objectInstance(i){this.objectInstance_=i;this.updateContents();},updateContents:function(){throw new Error('Not implemented');}};var options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=ObjectInstanceView;options.defaultMetadata={showInTrackView:true};tr.b.decorateExtensionRegistry(ObjectInstanceView,options);return{ObjectInstanceView:ObjectInstanceView};});'use strict';Polymer({is:'tr-ui-a-single-object-instance-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.currentSelection_=undefined;},get requiresTallView(){if(this.$.content.children.length===0)
-return false;if(this.$.content.children[0]instanceof
-tr.ui.analysis.ObjectInstanceView)
-return this.$.content.children[0].requiresTallView;},get selection(){return this.currentSelection_;},set selection(selection){var instance=tr.b.getOnlyElement(selection);if(!(instance instanceof tr.model.ObjectInstance))
-throw new Error('Only supports object instances');Polymer.dom(this.$.content).textContent='';this.currentSelection_=selection;var typeInfo=tr.ui.analysis.ObjectInstanceView.getTypeInfo(instance.category,instance.typeName);if(typeInfo){var customView=new typeInfo.constructor();Polymer.dom(this.$.content).appendChild(customView);customView.modelEvent=instance;}else{this.appendGenericAnalysis_(instance);}},appendGenericAnalysis_:function(instance){var html='';html+='<div class="title">'+
-instance.typeName+' '+
-instance.id+'</div>\n';html+='<table>';html+='<tr>';html+='<tr><td>creationTs:</td><td>'+
-instance.creationTs+'</td></tr>\n';if(instance.deletionTs!=Number.MAX_VALUE){html+='<tr><td>deletionTs:</td><td>'+
-instance.deletionTs+'</td></tr>\n';}else{html+='<tr><td>deletionTs:</td><td>not deleted</td></tr>\n';}
-html+='<tr><td>snapshots:</td><td id="snapshots"></td></tr>\n';html+='</table>';Polymer.dom(this.$.content).innerHTML=html;var snapshotsEl=Polymer.dom(this.$.content).querySelector('#snapshots');instance.snapshots.forEach(function(snapshot){var snapshotLink=document.createElement('tr-ui-a-analysis-link');snapshotLink.selection=new tr.model.EventSet(snapshot);Polymer.dom(snapshotsEl).appendChild(snapshotLink);});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-object-instance-sub-view',tr.model.ObjectInstance,{multi:false,title:'Object Instance',});'use strict';tr.exportTo('tr.ui.analysis',function(){var ObjectSnapshotView=tr.ui.b.define('object-snapshot-view');ObjectSnapshotView.prototype={__proto__:HTMLDivElement.prototype,decorate:function(){this.objectSnapshot_=undefined;},get requiresTallView(){return true;},set modelEvent(obj){this.objectSnapshot=obj;},get modelEvent(){return this.objectSnapshot;},get objectSnapshot(){return this.objectSnapshot_;},set objectSnapshot(i){this.objectSnapshot_=i;this.updateContents();},updateContents:function(){throw new Error('Not implemented');}};var options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=ObjectSnapshotView;options.defaultMetadata={showInstances:true,showInTrackView:true};tr.b.decorateExtensionRegistry(ObjectSnapshotView,options);return{ObjectSnapshotView:ObjectSnapshotView};});'use strict';Polymer({is:'tr-ui-a-single-object-snapshot-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.currentSelection_=undefined;},get requiresTallView(){if(this.children.length===0)
-return false;if(this.children[0]instanceof tr.ui.analysis.ObjectSnapshotView)
-return this.children[0].requiresTallView;},get selection(){return this.currentSelection_;},set selection(selection){var snapshot=tr.b.getOnlyElement(selection);if(!(snapshot instanceof tr.model.ObjectSnapshot))
-throw new Error('Only supports object instances');Polymer.dom(this).textContent='';this.currentSelection_=selection;var typeInfo=tr.ui.analysis.ObjectSnapshotView.getTypeInfo(snapshot.objectInstance.category,snapshot.objectInstance.typeName);if(typeInfo){var customView=new typeInfo.constructor();Polymer.dom(this).appendChild(customView);customView.modelEvent=snapshot;}else{this.appendGenericAnalysis_(snapshot);}},appendGenericAnalysis_:function(snapshot){var instance=snapshot.objectInstance;Polymer.dom(this).textContent='';var titleEl=document.createElement('div');Polymer.dom(titleEl).classList.add('title');Polymer.dom(titleEl).appendChild(document.createTextNode('Snapshot of '));Polymer.dom(this).appendChild(titleEl);var instanceLinkEl=document.createElement('tr-ui-a-analysis-link');instanceLinkEl.selection=new tr.model.EventSet(instance);Polymer.dom(titleEl).appendChild(instanceLinkEl);Polymer.dom(titleEl).appendChild(document.createTextNode(' @ '));Polymer.dom(titleEl).appendChild(tr.v.ui.createScalarSpan(snapshot.ts,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument}));var tableEl=document.createElement('table');Polymer.dom(this).appendChild(tableEl);var rowEl=document.createElement('tr');Polymer.dom(tableEl).appendChild(rowEl);var labelEl=document.createElement('td');Polymer.dom(labelEl).textContent='args:';Polymer.dom(rowEl).appendChild(labelEl);var argsEl=document.createElement('td');argsEl.id='args';Polymer.dom(rowEl).appendChild(argsEl);var objectViewEl=document.createElement('tr-ui-a-generic-object-view');objectViewEl.object=snapshot.args;Polymer.dom(argsEl).appendChild(objectViewEl);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-object-snapshot-sub-view',tr.model.ObjectSnapshot,{multi:false,title:'Object Snapshot',});'use strict';Polymer({is:'tr-ui-a-power-sample-table',ready:function(){this.$.table.tableColumns=[{title:'Time',width:'100px',value:function(row){return tr.v.ui.createScalarSpan(row.start,{unit:tr.b.Unit.byName.timeStampInMs});}},{title:'Power',width:'100%',value:function(row){return tr.v.ui.createScalarSpan(row.powerInW,{unit:tr.b.Unit.byName.powerInWatts});}}];this.sample=undefined;},get sample(){return this.sample_;},set sample(sample){this.sample_=sample;this.updateContents_();},updateContents_:function(){if(this.sample===undefined)
-this.$.table.tableRows=[];else
-this.$.table.tableRows=[this.sample];this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-single-power-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready:function(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_:function(){if(this.selection.length!=1)
-throw'Cannot pass multiple samples to sample table.';this.$.samplesTable.sample=tr.b.getOnlyElement(this.selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-power-sample-sub-view',tr.model.PowerSample,{multi:false,title:'Power Sample',});'use strict';Polymer({is:'tr-ui-a-single-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.currentSelection_=undefined;},ready:function(){this.$.content.tableColumns=[{title:'FirstColumn',value:function(row){return row.title;},width:'250px'},{title:'SecondColumn',value:function(row){return row.value;},width:'100%'}];this.$.content.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;if(this.currentSelection_===undefined){this.$.content.tableRows=[];return;}
-var sample=tr.b.getOnlyElement(this.currentSelection_);var table=this.$.content;var rows=[];rows.push({title:'Title',value:sample.title});rows.push({title:'Sample time',value:tr.v.ui.createScalarSpan(sample.start,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument})});var sfEl=document.createElement('tr-ui-a-stack-frame');sfEl.stackFrame=sample.leafStackFrame;rows.push({title:'Stack trace',value:sfEl});table.tableRows=rows;table.rebuild();}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-sample-sub-view',tr.model.Sample,{multi:false,title:'Sample',});'use strict';Polymer({is:'tr-ui-a-single-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents())
-this.$.relatedEvents.style.display='';else
-this.$.relatedEvents.style.display='none';}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-thread-slice-sub-view',tr.model.ThreadSlice,{multi:false,title:'Slice',});'use strict';Polymer({is:'tr-ui-a-single-thread-time-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){var timeSlice=tr.b.getOnlyElement(selection);if(!(timeSlice instanceof tr.model.ThreadTimeSlice))
-throw new Error('Only supports thread time slices');this.currentSelection_=selection;var thread=timeSlice.thread;var root=Polymer.dom(this.root);Polymer.dom(root.querySelector('#state')).textContent=timeSlice.title;var stateColor=tr.b.ColorScheme.colorsAsStrings[timeSlice.colorId];root.querySelector('#state').style.backgroundColor=stateColor;Polymer.dom(root.querySelector('#process-name')).textContent=thread.parent.userFriendlyName;Polymer.dom(root.querySelector('#thread-name')).textContent=thread.userFriendlyName;root.querySelector('#start').setValueAndUnit(timeSlice.start,tr.b.Unit.byName.timeStampInMs);root.querySelector('#duration').setValueAndUnit(timeSlice.duration,tr.b.Unit.byName.timeDurationInMs);var onCpuEl=root.querySelector('#on-cpu');Polymer.dom(onCpuEl).textContent='';var runningInsteadEl=root.querySelector('#running-instead');if(timeSlice.cpuOnWhichThreadWasRunning){Polymer.dom(runningInsteadEl.parentElement).removeChild(runningInsteadEl);var cpuLink=document.createElement('tr-ui-a-analysis-link');cpuLink.selection=new tr.model.EventSet(timeSlice.getAssociatedCpuSlice());Polymer.dom(cpuLink).textContent=timeSlice.cpuOnWhichThreadWasRunning.userFriendlyName;Polymer.dom(onCpuEl).appendChild(cpuLink);}else{Polymer.dom(onCpuEl.parentElement).removeChild(onCpuEl);var cpuSliceThatTookCpu=timeSlice.getCpuSliceThatTookCpu();if(cpuSliceThatTookCpu){var cpuLink=document.createElement('tr-ui-a-analysis-link');cpuLink.selection=new tr.model.EventSet(cpuSliceThatTookCpu);if(cpuSliceThatTookCpu.thread)
-Polymer.dom(cpuLink).textContent=cpuSliceThatTookCpu.thread.userFriendlyName;else
-Polymer.dom(cpuLink).textContent=cpuSliceThatTookCpu.title;Polymer.dom(runningInsteadEl).appendChild(cpuLink);}else{Polymer.dom(runningInsteadEl.parentElement).removeChild(runningInsteadEl);}}
-var argsEl=root.querySelector('#args');if(tr.b.dictionaryKeys(timeSlice.args).length>0){var argsView=document.createElement('tr-ui-a-generic-object-view');argsView.object=timeSlice.args;argsEl.parentElement.style.display='';Polymer.dom(argsEl).textContent='';Polymer.dom(argsEl).appendChild(argsView);}else{argsEl.parentElement.style.display='none';}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-thread-time-slice-sub-view',tr.model.ThreadTimeSlice,{multi:false,title:'Thread Timeslice',});'use strict';tr.exportTo('tr.v',function(){class HistogramGrouping{constructor(key,callback,opt_label){this.key=key;this.callback=callback;this.label=opt_label||key;}}
-class ValueSet{constructor(opt_values){this.values_=new Map();if(opt_values!==undefined)
-for(var value of opt_values)
-this.addHistogram(value);}
-get valueDicts(){return this.map(v=>v.asDict());}
-lookup(guid){return this.values_.get(guid);}
-get length(){return this.values_.size;}
-toArray(){return[...this];}*[Symbol.iterator](){for(var[guid,value]of this.values_)
-yield value;}
-map(callback,opt_this){return this.toArray().map(callback,opt_this||this);}
-addValuesFromDicts(dicts){for(var dict of dicts)
-this.addHistogram(tr.v.Histogram.fromDict(dict));for(var value of this){for(var[name,diagnostic]of value.diagnostics){if((diagnostic instanceof tr.v.d.RelatedValueSet)||(diagnostic instanceof tr.v.d.RelatedValueMap)){diagnostic.resolve(this);}}
-for(var bin of value.allBins){for(var dm of bin.diagnosticMaps){for(var[name,diagnostic]of dm){if((diagnostic instanceof tr.v.d.RelatedValueSet)||(diagnostic instanceof tr.v.d.RelatedValueMap)){diagnostic.resolve(this);}}}}}}
-get sourceValues(){var sourceValues=new Map(this.values_);function deleteSourceValues(diagnosticMap){for(var[name,diagnostic]of diagnosticMap){if(diagnostic instanceof tr.v.d.RelatedValueSet)
-for(var relatedValue of diagnostic)
-sourceValues.delete(relatedValue.guid);else if(diagnostic instanceof tr.v.d.RelatedValueMap)
-for(var[name,relatedValue]of diagnostic)
-sourceValues.delete(relatedValue.guid);}}
-for(var hist of this){deleteSourceValues(hist.diagnostics);for(var b of hist.allBins){for(var dm of b.diagnosticMaps){deleteSourceValues(dm);}}}
-return new ValueSet([...sourceValues.values()]);}
-getValuesNamed(name){return this.toArray().filter(h=>h.name===name);}
-addHistogram(h){if(this.values_.get(h.guid))
-throw new Error('Cannot add same Histogram twice');this.values_.set(h.guid,h);}
-groupHistogramsRecursively(groupings,opt_skipGroupingCallback){function recurse(histograms,level){if(level===groupings.length){return histograms;}
-var grouping=groupings[level]
-var groupedHistograms=tr.b.groupIntoMap(histograms,grouping.callback);if(opt_skipGroupingCallback&&opt_skipGroupingCallback(grouping,groupedHistograms)){return recurse(histograms,level+1);}
-for(var[key,group]of groupedHistograms){groupedHistograms.set(key,recurse(group,level+1));}
-return groupedHistograms;}
-return recurse(this.toArray(),0);}}
-ValueSet.GROUPINGS={HISTOGRAM_NAME:new HistogramGrouping('name',h=>h.name),BENCHMARK_NAME:new HistogramGrouping('benchmark',h=>tr.v.d.IterationInfo.getField(h,'benchmarkName','')),BENCHMARK_START:new HistogramGrouping('time',h=>tr.v.d.IterationInfo.getField(h,'benchmarkStartString','')),STORYSET_REPEAT:new HistogramGrouping('storyset repeat',h=>tr.v.d.IterationInfo.getField(h,'storysetRepeatCounterLabel',0)),STORY_REPEAT:new HistogramGrouping('story repeat',h=>tr.v.d.IterationInfo.getField(h,'storyRepeatCounterLabel',0)),STORY_NAME:new HistogramGrouping('story',h=>tr.v.d.IterationInfo.getField(h,'storyDisplayName','')),DISPLAY_LABEL:new HistogramGrouping('label',h=>tr.v.d.IterationInfo.getField(h,'displayLabel','Value'))};return{HistogramGrouping:HistogramGrouping,ValueSet:ValueSet};});'use strict';Polymer({is:'tr-ui-a-single-user-expectation-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created:function(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.$.realView.addEventListener('customize-rows',this.onCustomizeRows_.bind(this));this.currentSelection_=selection;this.$.realView.setSelectionWithoutErrorChecks(selection);this.$.relatedSamples.selection=selection;if(this.$.relatedSamples.hasRelatedSamples())
-this.$.events.style.display='';else
-this.$.events.style.display='none';},get relatedEventsToHighlight(){if(!this.currentSelection_)
-return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;},onCustomizeRows_:function(event){var ue=tr.b.getOnlyElement(this.selection);if(ue.rawCpuMs){event.rows.push({name:'Total CPU',value:tr.v.ui.createScalarSpan(ue.totalCpuMs,{unit:tr.b.Unit.byName.timeDurationInMs})});}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-user-expectation-sub-view',tr.model.um.UserExpectation,{multi:false,title:'User Expectation',});'use strict';(function(){var EventRegistry=tr.model.EventRegistry;function getTabStripLabel(numEvents){if(numEvents===0)
-return'Nothing selected. Tap stuff.';else if(numEvents===1)
-return'1 item selected.';return numEvents+' items selected.';}
-function createSubView(subViewTypeInfo,selection){var tagName;if(selection.length==1)
-tagName=subViewTypeInfo.singleTagName;else
-tagName=subViewTypeInfo.multiTagName;if(tagName===undefined){throw new Error('No view registered for '+
-subViewTypeInfo.eventConstructor.name);}
-var subView=document.createElement(tagName);var title;if(selection.length===1)
-title=subViewTypeInfo.singleTitle;else
-title=subViewTypeInfo.multiTitle;title+=' ('+selection.length+')';subView.tabLabel=title;subView.selection=selection;return subView;}
-Polymer({is:'tr-ui-a-analysis-view',ready:function(){this.brushingStateController_=undefined;this.lastSelection_=undefined;this.tabView_=document.createElement('tr-ui-b-tab-view');this.tabView_.addEventListener('selected-tab-change',this.onSelectedSubViewChanged_.bind(this));Polymer.dom(this).appendChild(this.tabView_);},set tallMode(value){Polymer.dom(this).classList.toggle('tall-mode',value);},get tallMode(){return Polymer.dom(this).classList.contains('tall-mode');},get tabView(){return this.tabView_;},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController_){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_.bind(this));}
-this.brushingStateController_=brushingStateController;if(this.brushingStateController){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_.bind(this));}
-this.onSelectionChanged_();},get selection(){return this.brushingStateController_.selection;},onSelectionChanged_:function(e){if(this.lastSelection_&&this.selection.equals(this.lastSelection_))
-return;this.lastSelection_=this.selection;this.tallMode=false;this.tabView_.label=getTabStripLabel(this.selection.length);var eventsByBaseTypeName=this.selection.getEventsOrganizedByBaseType(true);var ASV=tr.ui.analysis.AnalysisSubView;var eventsByTagName=ASV.getEventsOrganizedByTypeInfo(this.selection);var newSubViews=[];eventsByTagName.forEach(function(events,typeInfo){newSubViews.push(createSubView(typeInfo,events));});this.tabView_.resetSubViews(newSubViews);},onSelectedSubViewChanged_:function(){var selectedSubView=this.tabView_.selectedSubView;if(!selectedSubView){this.tallMode=false;this.maybeChangeRelatedEvents_(undefined);return;}
-this.tallMode=selectedSubView.requiresTallView;this.maybeChangeRelatedEvents_(selectedSubView.relatedEventsToHighlight);},maybeChangeRelatedEvents_:function(events){if(this.brushingStateController)
-this.brushingStateController.changeAnalysisViewRelatedEvents(events);}});})();'use strict';Polymer({is:'tr-ui-b-dropdown',ready:function(){this.$.outer.tabIndex=0;},get iconElement(){return this.$.icon;},onOuterKeyDown_:function(e){if(e.keyCode===' '.charCodeAt(0)){this.toggle_();e.preventDefault();e.stopPropagation();}},onOuterClick_:function(e){var or=this.$.outer.getBoundingClientRect();var inside=true;inside&=e.clientX>=or.left;inside&=e.clientX<or.right;inside&=e.clientY>=or.top;inside&=e.clientY<or.bottom;if(!inside)
-return;e.preventDefault();this.toggle_();},toggle_:function(){if(!this.isOpen)
-this.show();else
-this.close();},show:function(){if(this.isOpen)
-return;Polymer.dom(this.$.outer).classList.add('open');var ddr=this.$.outer.getBoundingClientRect();var rW=Math.max(ddr.width,150);this.$.dialog.style.minWidth=rW+'px';this.$.dialog.showModal();var ddw=this.$.outer.getBoundingClientRect().width;var w=this.$.dialog.getBoundingClientRect().width;this.$.dialog.style.top=ddr.bottom-1+'px';this.$.dialog.style.left=ddr.left+'px';},onDialogClick_:function(e){if(!this.isOpen)
-return;if(e.srcElement!==this.$.dialog)
-return;e.preventDefault();this.close();},onDialogCancel_:function(e){e.preventDefault();this.close();},close:function(){if(!this.isOpen)
-return;this.$.dialog.close();Polymer.dom(this.$.outer).classList.remove('open');this.$.outer.focus();},get isOpen(){return this.$.dialog.hasAttribute('open');}});'use strict';tr.exportTo('tr.ui.b',function(){var FaviconsByHue={blue:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAlrklEQVR4Ae2dCXwdVb3H5265yc3SpEk3ukEXCqVUBLT4Wm19oFKtaN0fKijy9CMguPBarIJsIiA8qsjTh7SllAoFeVBaEARkLV1ooXtL0yRdkqZp9u3uy/v/5uY/OZm75y659+acdnLOnP385zv/+58zZ2YMinTplIAhzsoDceaT2RKUQLwHIMFqh0V2ll0kn4XA6byv9/Vw834kX19e7keRQCzhRyk6bJJYRvD1YTXuhRdeqDj77LPPtNls400mU7HRaCzFFggEVJ/iSqhsicFgKIXUKL6bvB6fz9fj9/u7Kb4bPjaK67Xb7Q0HDhw49IUvfKEd2XUb7WpxHIYvXRgJ8AELkzRso1gmKrwkBfjG7373u5Zly5ZNKS8vn2G1Ws80m83YphPI0wnQUemQFp0IzQR9tdfrxXbI5XId6ujo+PCuu+6qXbNmjYfa9NMmngDoBmt+hIe944M53AUhwqwCvXTp0qJrr732opKSkk8XFhZ+imC+gIAryAZB0QnlJuB3OJ3Ot3p6el5/6KGHttxzzz0O6pse+GEP+3AGnKE2EhgG0tAFt99++4WkoT9tsVgW0DaH4guzAeg4+uD0eDxbaXuDNPzrt9xyy3bS8G4qB8BF6OOoKr+yDDfAB0B91VVXFf72t7+9lLT05QUFBZfQoYWtnA+ux+12v0ra/W+/+tWvXlq5cqWTBjUsYR8OgDPU8KGtjR9++OHHx4wZ8+2ioqKv0X4lbfnsWh0Ox9+bmprWzpgxYxsNFBpd1Op5bcbkM+AMtgr11q1bTz/zzDP/gy4Qv02zGtPzmehIY6MZmmq6UF176NChJ+bMmXOkD3QR9khFczY+HwEXwTbV1NTMI229FCYIXSTm43gTho8uUgMwYUir3zN16tR3qAIfbXkJej4dcIxF1dbkm44ePfqZqqqqpTT7MZf2pYsgAZqN2dTS0nLP5MmTX6EsDDrDHqFU7kTnA+Aa2BMmTDBv2bLliyNHjlxCZsgFuXMYhr6nZL7saGtru/eiiy7aUF9f76UeAfKcBz2XAUffVbgJbAuB/Y3KysoldONl5tDjkrs9oBtL+1tbWwH6UwS6/mZSzg0sVwHXTJG9e/deOGXKlOWksS/MOelncYdJo2+vra396axZs7ZTN0XTJYt7Hdq1XANc1dg0DNOqVatGLl68+DZa/3E1XTwCeOn6JLCly6ncU9+mNLnBZRLOYPAHHI5H2l5/8TdHbl3SRjUx6DkztZgrgKOfDLf5xIkT36moqLiLzJG0rAFJAomsKDp1W51S74IZnSIX8DcrXV3LlK/Oe5xqZPsckGc96LkAOPpowrZ79+5ZNK31BzkzQtKI4qxvV0dJTSLJ592kHKu7QfnPxXupFmhzbFkNeTb/tGsae/bs2Va6wr/lrLPO2izhTgLQZIuaaMp1yvTNyvNbb1HomFB1ZtrAUNYqymztGMNt2rhx44T58+evohs1n0r2+AyX8mnT4KIAvZ63lA82f1/55TX1FJ21tnk2As4zJObq6urP0BTgCmlri2TFDmcEcHQDtnlz4w+Uyz+Hm0Rsm2PuPGtcNpkomtZesGBBYXNz8210d+05CXfWsBLaEQNd5I+e8JyyYettCh0zyoBrpawyWbJFg2twv/jiixPnzZu3mhZFzQ2VqIyJRwIZ0+BiZzyeTcqebVcqS350nKKzxmTJBsDRB3WWZN++fXPpps060tpVouxkODEJDAng6GIg0KI0Hv+mcsXnN9FeVsyyDLWJwnCbadXfomnTpm2UcCcGc1blNhiqlNMmblT+9soi6hdmWKC4hlSJDiXgaBsCsNDKvysnTpz4JIWLaJMupyVgKFLGjHtSefrNK2kYFtpwjIeMs6FqWIOb7kr+Yty4cX+m2+0446XLBwkESHuPrPqz8uymX9BwhhTyoQBchZseQiigdcj30grAO+SDCPlAtW4MeLikdMQdyvqt9yp0rCl1SDR5pgFX4V64cGERvdhmRWlp6XU6scjdfJNAcfF1ysqNK5Q5C2F+ZhzyTF4AqHCPGjXKSjdwHqUHfr+ab8cyW8YzZLMo0QTgcj2jfO/S7ynNzS7KxtOI0UqkJC1TGlyFm3pccPDgwfsk3Ck5drlVidX6VWXFxvvAAG0Z0+SZAJzhtjQ2Ni6ld5D8KLeOjOxtyiRgK/6R8uy7S6m+jF14phtwmEBow3L8+PGr6FnJm1MmLFlRbkqgtOxm5am3rgITtIGNtJrJ6QQcHcdPkYUuKL9MsybLKSydlICijKxcrjz+0pdJFKzJ0wZ5ugBnuM27du2aT7ffV9JUIGCXTkqAJEAsjJ2wQlm1fj7tpPWOZzoAB9yo1/zSSy/NoLdJraMwFsdLJyUgSqBQGX/GOuX+FTMoEpCDmZRr8nQBbqIHgovnzp27mtaWlImjkmEpAU0CYGPmR1crF19cTHH4hU854KmuECcMOmo9derUAyNGjLiawtJlWAJZOQ8eTQb27keUyz7xM8qS8jnyVGpwNk0s+/fv/4qEO9oRlWkDJGArvVpZ89JXKC7lMyupApzhNm/YsGH6GWec8eCAAcgdKYFYEhhz2oPK3X+ZTtlSao+nEnDzxWRL0eNmj0q7O9bRlOkhEoA9ft6cR5WPq/Y4IE+J+ZyKSjS7m56jvK+srEzeqQw5epmNyDkbXBRPT8//Kl++6EaKSok9nqwG10yTHTt2fJpWB0q4xYMlw4lLoJhu5z/y3KepYEpMlWQBV7U3mSXFNN99H71YPfEByRJSAqIEwND4yfcpFyzgqcOkGE2mMGtvy2OPPXY9vZjnTLGfMiwlMGgJWCxnKktv/QmVT3pWZbCAM9zmxx9//IzRo0fj0STppARSJ4HykTcqN//3GVRhUqZKMoCrC6no6Zy7yTSxpW5ksiYpAZKA0WhTPj73dxRKakHWYABn7W3Zs2cPvjH5eXlApATSIoGi4i8oK56/tA9ysAr2EnKDARxlzJdddlkJ3dC5N6HWZGYpgUQlMH7SvbRWpYSKsamSUA2JAs7a2/ynP/3pOvrc9eSEWpOZpQQSlYDZPFn54a/xcDoDnpAWTxRw5DfRJ7DL6HUPP060rzK/lMCgJFA+8sfKZd/CqlRc9yXEbCKZWXtbli1b9gN6EX3loDorC0kJJCoBk6lS+ebVP6BiCU8bJgI48ppxU2fs2LHXJNpHmV9KICkJVFZdo3zsY7j5w6ZKXNXFCzhrb/PDDz/8HbK9x8ZVu8wkJZAqCZjNY5Wf3vkdqo4Bj8sWjxdw5DPRt3KKTjvtNNxhkk5KIPMSqBz1E2Xq7ITekBUP4Ky9LevWrfsGae9JmR+ZbFFKgCRgLpik3HL3NygUty0eD+Cq9h4/fnwBbTdIQUsJDKkERo+9QSkr47ubMfmNlQHaG5v56aef/ndaUDVtSAcnG5cSMFumKXc/fDGYpI35jCiXeADH3KOZ7lp+Sy6HjShHmZApCWA57dgJ3wKTtIFNQB7RxQIc6abLL7+cniEesTBiLTJBSiCTEiguWah8/isjqEkAHpXhaIk4M5BuXrp06ZfoOUtcvUonJTD0EjCaipSvff9L1JGYU4bRAEeaCjh9P+fr0jwZ+uMqe9AnAZgpo0Z/nfYY8IgcR0qA9sZmeuCBBybZbLZ/66taelIC2SEBKzF5zTJMWbMdDl5DXDTAVe29aNGib5D2jpQvpEIZISWQEQkYicm5C0QtnjDg6uwJPY72tYx0WDYiJZCoBMorGXDW4iE1hNPMOBMQb1qzZs0MmvueHlJKRmS1BCZYYZoOA2exTFd+dT/eTsuzKSFaPJwkNMDPO++8+fLiMvdA+Z8JJcqPN+9RGnocoZ0PBELjFF2cbjdYIEykvq4wWehd4APb05dBari4gaWCe/p8AT+uFOdT4j7aoJTB7oAGowFurqqqmicBV5QPmgLKX3b7lVbHANmRLLPVVSjnGT6hzFRa44dHHEqIHhQThXC8+YQiqQ66K9rnvakoD1O9DPiAJvSAo8vYjMXFxWZ6U9VFA3IP052fv+5VGntzBW4+SCYl4KtQ/L3tpCBJ0+WpC/hKLgKrvb29DDj41Q4WIvUOcaZHH310lslkGqlPHI77uQd38CgZTBbSVBVKXk+CGYwjS758/ywwS1sIz/oI1uCmmTNnflKaJ7l/OmuQG3migQ9xnvg0W2gaN/2TfYDzoLQDFw5wVYOT/T1XAq7JKacDKuS2csVg1B/unB6W2nkwaiiumEs7rMEBueZEG5zpN9Gt+QKyv+douWQg5yXAkPvtHYO78MxiCZisJXNsVRML7C3HndRN5li1w/WnNPaNDz744Ll0ZpRm8Zhk1wYhAYacjPJBlM7eIgHFUFryxZvPpR6q/Io9DavBJ0yYcJY0T0Qx5U84CDnNrtjb82dQZHqZysefRQPaRltEDc4JRlr7PS1/Ri9HopeAwWRWjLYKQiF/NLnBWgpmocGZY3XYoomCBOybaPXgNKnBVfnk7R8V8qLyvIAcrBoLiqaCXdoYcvXYMeB8KmPfSIBPUVPln7yWQD/kjEEOD7fABsBVfvtGoTIdYoOPHDnSXFhYODmHhyq7noAEgpCPUPyOTiql3QBMoIbsyGo0F04uInYdbW3RTZRbb711AnXZmh3dlr3IhAQYcpooz0RzaWmDTk1r0YLrwS4GwRaJuoMGmXrjOeecI5fHQiLDzKmQF9ILXFXIGYfc8q2jZ4JdBlyFnE9ZHolx1KhR8gJzmMHNw9Ugz8U7nrijWToyZCZFtMEBu7GoqGgiD1j6w08CKuTWUsXv6s65O56GApVdlWM+cnoNbqB3D+JzEdINYwkw5DlnkxvNYJetEdVEETU4Ioy0RLZEzoEPY7r7hh6EvIQ0eQ/FZP/sCpilPgNwKG0VbgyFdzTqCXC8ZFw6KQEAoxgLS3NoPbkR7GosIyxqcBxSgwQcYpCOJWDAOnIrKUbS5AH9M5GcKUt8OiEZcK1HbIMjQiVfAq7JRgb6JADIDQR5tpuuAaMGuGaisAbXIiTgkutwEujX5L2UnJ02uSEIOHdfZVpqcBaH9GNKIKjJQ6yAmOUylYHsa+6cprBZg3MfpA3OkpB+WAkENXmxEnDbs2+e3KABrvU9RINTih56LbMMSAlAAqomL7BRQFOU2SGYgMouOqV1jGHWIrxer50+8iofV8uOQ5a1vVA1OUEecOPtWdlhkxsUH/2saE5lmufBtVifz4erCOmkBGJKIKjJ8V0ETT/GLJPODAG/X8+uOg+O0087BaHB09kJWXd+SSCoyYuUgIceaB/qeXL/AA2uci3a4JB8QGrw/AIwE6NRNbmlcMht8oBftT40ZY2xsw2OsJogAYcopEtUAqomt5Am9w6dJg8ENPNagzysBs/2W7KJCl/mz4wE8OYsg3loNLnKbNAG1+DGqFmDI1LdpA2eGRjytRX19XAEecDr6kMqcyM1BNTrR41ltCxqcAYc6yOlkxIYtASCmhyP9WZ2doVmUXhtL1hWHWtw3lccDkcb1H22L6zROiwDWSmBoCa39mnyDHSRmPV7nG36lliDs1r3t7e31+kzyX0pgcFIQNPkGbrj6be3gV287Z95Vk0U7MCpkdXV1bXyIjMoEPk3eQmokJsKglOIAD1tm6J4Wo7UMsd9PQ+wBse+CvgzzzwjAe+TjvRSIwGGnB4qS02F4WohE8W58zk94CGzKP6XX3652+VyNdN6lFHh6pFxUgKDkQAgDygWxeDzDKZ47DJeV3PvvtfpVQChJgoKs80C+8Xf09NzRJopEIt0qZQAIFfou0GpXoUIVv0uxxHqq8ov+cxzyDShmsFut9elcmCyLikBloAKuZEm71Jsi/vdKrMi4GqTbIMz8cjgw0yK1OB8SKSfagkMgDwVlZMGDzg6oJR9tIFh5lmzwdEMR/pPnjxZiwjppATSJQHVJg/QRaffm3wT9Gvg624GswPgRsXhNLh//fr1u2nRFYCXTkogbRJQbybCXEl2diXgCzh2bthNFQHwAZAz4BgEgEaijz4C29zZ2VkjzRSIRbp0SiAIOT7MgCnExDeyThS/s7uma+vaZqpANFHUbusBZ8i9ra2tWyXgqozknzRLQIMcF56JOiLc19O6lYrB1hmgvVGVCDj2VQ1Ovq+mpmaLBBwikS4TElAhx7vJE55dIWhb6rZQH6G9WYNrXRYBh/ZmDe5buXLlVj85LacMSAmkWQIa5Im0Q4x2bXkUGpzhZo7VWsIBrp4JGzZsaCc7/KDU4olIW+ZNVgL9kMe2x4P2d+dB+86X8NFP1uARAUffWIPDnvHSdOE2CTjEIl0mJRCEPA57nAj3dzXj468qr+SzDa51V9TgiGTAcTZ4yQ7fLAHXZCUDGZSABnlUm5wgba3dDFZpE00Uraf6Bx5YveNM8C5fvnzbJZdc4iwuLqYH7Yavq+ytURq70rRIKIvEGlmZAYswDjZCRBchLUJ0ULeGqYzaQL8AfEj/PA5nz8u/Zw3O2ntAC+EAR0bVnnn33Xe7Gxsb35gyZcqlxhR9mGj/oU7liWfrlPZOd5jRZGfUbK9bmUnPGIYIeEB3B8i1PyUKBHTo+vPFEYrcfpR6orYfR6NZmiUQ8Cs9XU1vbDiyEysI2f5myLVe6wFHAqSlanDyPTt37nz+9NNPTxngv/3DHqW5lV4tkGPO67ErPi+9pgw/mYAGfjyO8zJo+vL6dH2dmc6vb1/fP31/9Pn1+7HK69P15fXt9eUP+LxKR/OB5yk7flrFOfABNehtcCSKgHuvu+66t2n5bGtk7TGgvpg7uQg3BmW22BSTGa8pIwehx+s4L3wxzOXFOM4j+sjHecSwmEcMi3nEsJhHDIt5ENY75IXjMhxWI+P4E6u8Pp3bYV/fHsWDRb/f1Vq3b9XblBzxAhNFowEOte+hlYWO+vr6f6QKcDSaq06F3FQYdeUEow9fDGfLmMU+ieFI/RPziOFU5Y9UT/T4gOJ2tP/D7e7Bmz+hwcNeYKKOcIAjHiaKZqa8+uqr6+l9KYgf9g6QG/sgxwHXbxAQgyCG9fmGal/skxiO1B8xjxhOVf5I9USLV8j+7mjd/Rz1RzRPwGuIiwQ4zBScFaDas3Tp0r0dHR2HpRYPyo8hD+7Jv5mUABj0eeyHjx58Yh+1y4CDVTAb4qIBzpCjEjfNiW+Qd+775dcPeTRdI9NCf+OSlQl98M3RvAFM0sbmCVhNCHAcSah8TYuvXr16PT2MjAql65OAapPjXXzRnP4iCnk5Llw5ToMvhsPlzYU4cQxiOFLfxTxiuC+/3+/xNB9/cz3tito7rHmCIpE0ONJwRrAd7l61alXjkSNHXpBaHKLpd5hZMfELJ3FA9Buy8oESw/p8vC/mEcOcnmu+OAYxHGkcYh4xTPlx38DtaHnhZP3rjZQEDR5xehBF4eIFXDVT1q5d+whp8YhnS7DK4fdXhdyEd/FJl04J+ANef3PDpkeoDTZPkgIcfR2gxe+7776aY8eO/VNq8dDD2A95sjamLE8/eSTggRsuLj2Otn821D5fQ4lxaW8cpWgaHOnQ1pqZQmHXU0899VePxxPWoEeB4ewYchwadhzmw4V4jhPDnJ6oL9YhhuOtRywjhuMtr88n1iGGOZ8YJ4Y5PZKv+H2BthOb/0pl8F5mEfCoFkUswNEHVICLTdVMufPOOw+QFn9TanGIJtTBHjeSucIHCjkQZsfhSOmcL14/2fqSLa/vZ6z6YqXr68M+1p24nK1vHq3++wHaZfMETEaFG2XjARzaWgOcwq4XX3zxYdLiKC9dGAkw5Pqf2czso0OMkRhGXG5u9N5vpb3p/YdpAKy9AR+YjGlJxAs4a3GcPa4lS5bsOnHixGapxUkaEVwQcnqrasYdw80wowMcl/HOJN0gtLfb1bH5yMHHd1FlDDhr75QAjk6yFsdVKyB3bty48UE5owLRRHYa5JgSY8dhniZDPMeJYU5P1BfrEMOR6hHzIBzLcV8j1aePR31cRgxzPjFODPel+xWvv6N5x4OUhCWoYA8MxqW9KV9cJgryAXBocQbcdeONN+6kd4k/J9eoQDyRnQq5se+Fk3yg2UcxDvcdULUmjotcbeQULhtvffr8XC6Sj5a5TORe9KdwXq5PXz5KOn0WUHH2nnyudt/qnVSMtXfMqcH+xuMHHGVYi6sXm2jwpptuWk4PJrfLNSqiSEPDGuShSTImggTUNSdee/uxA2uXUxaGO27bm6uNxwbnvKzF8fOABp2vvfZa89atW/8oLzhZRJF9zVyJnEWmCBKgb14qPZ01f2xv3o03VsE8AXNx295cVSKAo4yoxVXIFy9e/Aw91rZLXnCySCP7Jpo+NNLnPMQvHXAYfjz/UDuXEcNcVowTw5yeal9sQwxHakfMI4bF/HhiyuPq2LV/293PUB6GO2HtjfoHA7g4o4LGnWvWrLnL6XT6pKkCkUZ3gNxAL4HnA4rcCMfrOG+k8rHS420n3nyJthcrPxgK+D2+5oa37qI+qHyRj4vLhLU3xpAo4CjDgOOMUrX4HXfcse/AgQPr6I20SJcuhgQYcvVijS++pN938RpQHD0n1h378Cms99Zrb7CXkBsM4GiAIVenDGnfccMNNzzU0tLSKE2V+OSvmiuYXZFOkwDmvD2e7saa/X99iCLxOBoAF7W3ljfewGABZ1ucpw2d7733XusTTzxxE33+xCNNlfjED3vcqELON2WGr0+WCS03cXtaTmy6qbutppUkyHAnNO+tl/xgAUc9DLmmxWnacAeB/hDdANK3I/cjSCAIebi3d0QokKfRZHcrvZ01D9XtW72DhqjX3mBtUC5ZwGGqaFqcws5LL7109dGjR9+WN4DiPx7DHXLc0HE5Wt7es/m21WCob4PiTOimTjiJJwM46gPg2PiCE2ee/Wc/+9lvyB5vkvY4SSNO12+uxFkgT7LB7vZ6uptq9678DQ3JThsYggkAppgvCg7OJQs4WkUnMH2CMw6dc9ANoJNPPvnkL8ke90p7nCQSpzPS9CFscryHbzhsEEvA7/a2NLzzy46WXSdpV+WH/KQuLFEvu1QAzrY4mypqJ+lVE9u3bdv2Z9jjEnIWd2wfkBsM+W+T9813093K6j/X7l+9nSQjwp3UhaUo5VQAjvoY8gGmysKFC1fSgqxX3G6ckNLFKwEVcu3rY/k5swK729Hb9Mqed29fSXLRmyawCAZ9YSnKOVWAo06GHDTjQgGdti9atOjXdNH5noScpJGAU00VI74+ln+OXv2gOJ0t7x3cduevaXQqJ+TztGDK4IbkUg24aI+rkNNXIrquuOKKG+kBiYNyURZEHr/LR8j99OFXt6v94KH377/R4WjtImkAcBFuMJQS7Q1Jp0NFoHNiBw0Eube2tnbT/PnzFzz3UtMIA76mJV1cEjAYcIhInLgTkuMOZonH3XW8dvdff9zZur+JhtNLGwMO8zal2hviSgfgqBduAOhki7u6u7u3NHWO+yxNidkk5EEhxfM3CHmfSHN0zQq98Fjxunta6w+v+9GphneO0Wj0cKdUc7Nc0wW4qG608AcffNBrMlvfLx0x5XMGo7lAQs6HIbbfLytNnLELZUkOrO2mF2b2nDz64rX1hzccpG7p4YbmBuApd+kCHB3lI8G+2vnOlr0dBYVV+4tKxl1MswWW/gOX8rHlXYUsq+C8ChaeZv8/vOqYvo5hb2l48+d1+9fiNrwId8rmuyMd7HQCLrYJyDXQ20/tOGUxF+6wlU1aYDQWFPGBEwvIcHgJ9MtKE2f4jFkQq9rcnu72xrp//OTIgccx181wY8477XBDBJkGXAO9o2VPm+JzbioZMXWewVRQ2n/g0C3poklgoKyyc57cTxeUXnfHCVrXfU1D7fr9NJ4e2gA4w530OpNoMuK0TAGO9ljlaJB3tVd3u1yNb5ZVzPy40Wyt7L+Y4u5JP5IE+iFnsUbKmfl4zHN7nG3VdXtWXNvU8GYd9QBgZxxujDyTgKM9OAZc9e1dDY6ejoOvl1fNnm0yFY1TaApR/QhoMK/8G0UCGuQGEmUWKHK83jhA89z0gvoPDu1cfn1b864T1H29WZIRzc1iyzTgA+CmTqj7Lkeru6156xsVoy+cQk+fn44DJyHnQxTd1yBXRRk9bzpTsSrQ7/MoLvvJN/a/d9uSno5jLdQew40bOVghmFG4Md5MA4424UJA97rtvub6f71VPupcq9lSNttgNBLj8oZQUFzR/w6UU+ZVOeD2eV2B3u7ax/a9e/PvXI7OTuqxCDcuKDMON6Q2VICjbYacJ/jpHYte/8mjr35gtVUdLCwaPYfmyunDlFKbQ1ixXBByiDRzTl0RGPBiPXd7S8Pbyw68d+/TdAz5YlK8QzkkcEMSQwk42mfI4Wugt53c3uB0nHyttHz6THo4dywOnjRZIK7ojiHPxOw4lg4EYJI4mnfW7V95ff3h9bupd9DarLlhkohTgZk9+/pElS2AA27eVOjt3fW9p4699kr5qFkmc0HZR6TJ0nfEYngDzZUYmQeZrN6ZhEnSeXj1nk2/vr2nsw5vn4LGZrj1i6cG2VLyxYYacIyAz2zW4hro9HPnO3nstZ2FhZX7Cm1j5tCDAEWkyqU2j3HctV+7FJvjWE+CWRKvt6utpeGtX+7f/vv/6zNJGG7McfPFZNpuv8cY/oDkbAAcHRIhF0FXw21N2084HfWv2UonjaHPhEwJaikJ+oAjqdvRINfFD2ZXfSILF5I+Fz2kUP/akT0rlhyv2bCX6mKNDcD1N3CgqIbc4RzPJof+YOoEJx7eioNPl+FDlHSxqdgQnj77h5+oGPeJXxQUlE3Cg7qZ+EmmdnPWYYYjGRec/nMrbnfnsbaT2+6v2f3wZqoPJghDzVOAvNwVDbLCSqbplJTNNsAxKP5hBeR4OBGfSQDkDHpRYWFFyYzzf/Gd4oqpV5JGt+IZxlRqLGorr1zwmdjEmOMZEp/X4erpqFld/f4Djzud7ZghgabGBrDZ1sYsCa/lTqwhKphOly0min6MLCT42KAV2Kbzeb1Ob9Pxf+32utteLSqZOJ4++jRJmi16Efbv95/8rDsi++pzFX3mCM1kvXPkw7X/Vbd31eskc3H6D9pbhBvHJ7mfiv7upjSUjRpcHCD6xyYLa3PW6DBbVM0+4/yffKq88iPXmq0jJuOdf/J2vyjC/nBQk/fviyHRzva6u462N+96qHrng29RHtbUrLUx9cc3bljpsEISq8yKcLYDzkIC5Aw6bHNAzva5CrnZbC6c/pHrLykbefYVZmv5NAk6iy66PwBsV8fhrrYDj1Xv+uOr9GYyBpt9ntcWbe2s1NriiHMFcPSZtTlAhzZn0AE4ww7fOuP86z45ovLcKyzWkecEL0RN0kYnwYguaGP78MJLetl8277O1j2Pffj+n96mPAAZG8BmHxobYPMdSYCdtVqb+qa5XAKcO40+49qBQYc2Z42uAk77qj919tUfqxh1wZXWosrz6cEKslxQbPhOLwZNFKz4I7D9broL2fp+e/OO1TW7H3mPBMNgi75ojgBqvpCkYG64XAQckkW/sYlmCzQ6Ty2KoBeccc53Z5eP/uiXrIWjFpjNRTaD+no0FM1/2DWo6cIRb3D1eh12l7P5jY5TH6yv27cGt9cBsQg1wtDWvIl2dk5obeq75nIVcB4AQ86gs+nCoLNmV7V8YcnY4ikzvr3ANuKMz1mLqi4k0E3q+7nVu6OoIn+cOv9NUyJ4+ACfBKG3t263d9a9XPvh2jecPSdxg4a1M4BmyBlqnvaD1s4ZcyTc0ct1wHlMetBhi7CNziYM+6qmrzrtwtHjJi/6rK1k/OfoiblpAJ1hz0XNzpoai6AANTafu/uwvafh5cajG//ZcmL7KZIJA8xwiz7SoK1ZY+c02DQO1eUL4OJ4grZH0E6HRmetDsAZetE3T5q6eHr5mPPmWQurzjcXls8i0K20VFcx4iWYeA9JFpoyA4CmJatYI0JQu7zOjr0uZ8v7HU073zlW82w1dR7aGPAC5nA+0llj8z2HnDNFaAxhXb4BzoMMUtlvo0Ojs1bXA69qdEqHby4sLLeOm7p4Vln5tAsshRXnFxSMOJseirbgAhXPjAZvmrDYgn7/jRRuPjV+EGLUxbzRBSKWqdJ7RnChGKBPftAt9AMeZ/v7XR2HdzTWPLvX6eyAycFQA2jeGHBOY23NGhuNcEMUzA/HRyo/RhM6ChF0aHbRVhe1O0POceybiovH28ZNW/SR4pJJ55oLiieZzLZJJottPFY2BoHHWnWAT1Wr0owkUn18JJYoHv9xUQiQNd/roJfnNPi89mNed++x3p5jexoPb9zV29uAu4qAlDUx+ww2fI6Dz0CL9nWkzlD23HZ6qef2aKL3HmNl84VBZ83OQEfyOR98lDWOnjB3dFnFOZOttjGTLIWlk81m20RaMlBpUEw2Ay2QoRPARg1SffQXF7F9vtpFaOEgxbSrhuhDAV57gBZ+BBSf3e9ztXq99uMeZ/dRl73pWFf7vqOn6jfBhmYoRe0rwhsuLOZlu5p9tTv5/Gc4Ac7HEWMWN4ZW9AE6Q83Q8z6fHKKvQq+r10DmjrmoZEKx1Ta6yGItK7aYy7AiUvF4u+weV1evy37K4eip7yWzAmBCi4obwwyfta7oI8xAM8TYF/NwWbHevNXWNPYQNxwBF4Uggo4wg8q+CL0IuAg350Ec18H1oi0xjH3RMXiI4zBrVwZcDyxDy1DzPudnn+tjX2x32IQhfOmCEmBZMJDwGXQxLMYBbqSxz5AjDg4+b7wPH9DBMXz6fUCKOEAs+gwv+0gTw9jHBsd+cG+Y/uUDMUyHH3XYLBsGNJIvQq3PgwbEesQGGUDRR1i/Mez6eHEf9WJfOp0EWPi6aLkbQQIsLwYZ2aLFiekRqhwAJkPK8KJMtLhIdcr4PgnwwZECSU4Cejnq91G7Po7BFVvWx+n3xbwyHIcE/h9VLWRYHWXC/QAAAABJRU5ErkJggg==',green:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAltklEQVR4Ae2dCXQcxZnHR3NoNDp8SD7kU7bxFXCchBhMYoLNmhCcOBBykGw2gYTkPV6AhGXD2sTZJQcJG3jsgw3hscuCsTEsOAQW1sbY+MAHxpYtHzI+5EOy5UMStnWPZkZzab9/j75WTWt6NKO5Z6r82lVdXV1d9e/ffPq6uro7zyBDIhXIi7DyngjLyWJRKhDpCYiy2pwoztrpxSwCb+d1bayFm9f1Yu3+cj2MAgOJH2bXnNnEGiHWppW8d999d/inPvWp6YWFheNMJlOR0WgswdLT06PElFdM+xbn5eWVQDXK76TI7vP57H6/v5PyOxFjobwuh8Nx4dixYye+9rWvtaK4ZqFVNY/TiGUIoQCfsBCbcjaLNVHgJRUQG3/4wx9ali1bNmXYsGEzrFbrdLPZjGUagTyNAB2ZCLXoh3CJoD/p9XqxnOju7j7R1tZ2/LHHHqtbtWqVh47pp0X8AaAZbPmRzvnAJzPXhRBhVoBeunSp7b777ruuuLj4xoKCghsI5s8TcPnpIBT9oNwE/D6Xy7Xdbrd/8Oyzz+5+/PHHndQ2LfA5D3suA85QGwmMPLLQ+b///e/nkIW+0WKxLKBlLuUXpAPQEbTB5fF4KmnZShb+g0ceeaSKLLyb9gPgIvQRVJVdRXIN8CCo77777oI//vGPt5CV/n5+fv5NdGrhK2dDsLvd7k1k3f/n17/+9frly5e7qFM5CXsuAM5QI4a1Nh4/fvza0aNH/4PNZvs2rZfRks2h2el0/u2TTz55dcaMGXuoo7DoolXPajcmmwFnsBWoKysrJ02fPv3v6QLxH2hUY1o2E63XNxqhOUkXqq+eOHHitblz557pBV2EXW/XjM3PRsBFsE21tbXXk7VeCheELhKzsb9Rw0cXqT1wYciqP37FFVd8SBX4aMlK0LPphKMvirWm2FRfX//lESNGLKXRj3m0LoOOAjQas/Py5cuPV1RUbKQiDDrDrrNX5mRnA+Aq2OPHjzfv3r3766WlpUvIDfl85pyG1LeU3Jd9LS0tT1x33XVrzp8/76UWAfKMBz2TAUfbFbgJbAuBfUdZWdkSuvFyZepxydwW0I2lo83NzQD9rwS69mZSxnUsUwFXXZHDhw/PmTJlytNksedknPpp3GCy6FV1dXX/OGvWrCpqpui6pHGr+zct0wBXLDZ1w/TSSy+V3n777b+j+R8/pYtHAC9DrwIO9xHD5c5XDF5fS0ya0MWo3+nwvrBx47nfLLlvKypj0DNmaDFTAEc7GW5zQ0PDD4YPH/4YuSMJmQMSExVpsPPxhjsMHt/FuLWkp8dwqb3dt2zhnD2vUKXsnwPytAc9EwBHG01YDh06NIuGtf5DjoyQGmHC4XMLwmwd/Caft2fnmXr3A3d8Zf9hqgXWHEtaQ57Of9pViz179mwrXeE/MnPmzF0S7sEDGuueJnPevCuusO76sPq6R2bPHm2l+sy0gKG0NZTp2jCG27R27drx8+fPf4lu1NwQ6wnKlf0TZcFF/bwe//Z9uxw/vvfuj89Tftr65ukIOI+QmE+ePPllGgJ8UfraIloDp5MBOFoB37zxQvdPvr5gP24SsW+OsfO0CenkoqhWe8GCBQWXLl36Hd1de1vCnTas9GtIXp5h5LgJ1re3H7z2dwsWjMTUYlwrpZXLki4WXIV73bp1E66//vqVNClK3mLvh1RkGcmy4GJr3B7/zkOVXXfd86PD5yg/bVyWdAAcbVBGSY4cOTKPbtqsJqs9QhRPpqNTIBWAo4U0l+1yw1nXd29duH8nrabFKEuqXRSG20yz/hZPnTp1rYQ7OpjTqTRNUhwxtsK69t3tcxZTuzDCAsOVUiOaSsBxbAhgoZl/d02YMOF1SttokSGDFSCabeVj819/v3LOXdQNCy04xynjLFUHVuGmu5K/HDNmzHN0ux2/eBmyQoEe84gRluc2V13zS+pOSiFPBeAK3PQQQj7NQ36CZgA+Kh9EyAqqgzpBQ4h5w4aZH6URlidwrmljSix5sgFX4F60aJGNXmzzYklJyf1BqsiVrFOgqNh0/5ubJr24aFEp3M+kQ57MCwAF7pEjR1rpBs4KeuD3W1l3NtOkQ6kaRQnXfZfL/+Y3bqz7Ed3f6KZyPIwYbpe4bEuWBVfgphbn19TUPCnhjsu5y6hKCgqM33pr4+QnwQAtSbPkyQCc4bY0NjYupXeQ3JNRZ0Y2Nm4KFBab7tlSdc1SqjBpF56JBhwuEI5hOXfu3N30rOS/xk0tWVFGKjB0mPlfN1bOuRtM0AI2EuomJxJwNBx/iix0QfkNupJ+mtIySAUMpSPyn16z5fPfICnYkicM8kQBznCbq6ur59Pt9+U0FAjYZZAK4J6+aczE/BffWn/1fJIjoXc8EwE44Ea95vXr18+gt0mtpjQmx8sgFVAVIEgKJkzJX/2fq66aQZmAHMzE3ZInCnATPRBcNG/evJU0t2SI2iuZkAoIChiNeUM+O6d45cLbxxVRNv7Cxx3weFeIHwwaar148eJTQ4cO/SmlZUiyAuk4Dh5Ogs5O3wsLPrfnQSoT9zHyeFpw/FhQn+Xo0aPflHCHO6Vym6hASYnpp29v+dw3wQ4tYChuhjdegDPc5jVr1kybPHnyM2IHZFoqMJAC48Zbn/nzi1dNo3Jx9cfjCbh54cKFRfS42Qrpdw90OuV2rQLwx6/9QvGKhQsVfxyQx8WKx6MS/EgUv5vmGTw5ZMgQeadSe/aSvJ5pPrgoj73D91/zr97zEOXFxR+P1YKrrsm+fftupNmBEm7xbMl01AoUlRjvWb1u9o20Y1xclVgBV6w3uSVFNN79JL3LLuoOyR2kAqICYKhisu3JBQvG8tBhTIzGsjNbb8vLL7/8C3oxz3SxoTItFRisAhaLcfqyP435Oe0f86jKYAFnuM2vvPLK5FGjRuHRJBmkAnFToLTM8tCfnpk5mSqMyVWJBXBcWFro6Zw/0Z+Vwrj1TFYkFSAFwNQX5w/5N0rGNCFrMICz9bZ8/PHH+MbkV+UZkQokQoGiQtPX/rb+M7f0Qg5WwV5UYTCAYx/zrbfeWkw3dJ6I6miysFQgSgXGV9ieWHjrqGLajV2VqGqIFnC23ua//OUv99PnriuiOposLBWIUgGLJa9iya8q8HA6Ax6VFY8WcJQ30Sewh9DrHn4WZVtlcanAoBQYXmr62fe+NwGzUnHdFxWz0RRm621ZtmzZT+hF9GWDaq3cSSoQpQImU17ZnfeO+gntFvWwYTSAo6wZN3XKy8vvjbKNsrhUICYFykZa7r1mwUjc/GFXJaL6IgWcrbf5+eef/wH53uUR1S4LSQXipIDZklf+m99N/AFVx4BH5ItHCjjKmehbObaxY8fiDpMMUoGkK0BW/OezZxdH9YasSABn621ZvXr1HWS9Jya9Z/KAUgFSID8/b+KjT02/g5IR++KRAK5Y73HjxuXT8oBUWiqQSgVGlVseoCnZfHdzQH4HKgDrjcX8xhtv/B1NqJqays7JY0sFLPl5U59bVbEQTNLCfOoKEwngGHs0013L78npsLo6yg1JUgAMjhlb8D0wSQvYBOS6YSDAsd30/e9/n54hHrpItxa5QSqQRAWKh5gWffWbY4bSIQF4WIbDbcQvA9vNS5cuvY2es8TVqwxSgZQrYDQabHffU34bNWTAIcNwgGObAjh9P+c70j1J+XmVDehVACyOLs//Dq0y4Loc621g59301FNPTSwsLPyiVFcqkE4K2ArzvvjPv52GIWv2w0P64uEAV6z34sWL76BfjF65dOqzbEsOKQAm5/9diWjFowZcGT2hx9G+nUO6ya5mkAL0WBsDzla8X+tDWWa+uDStWrVqBo19T+u3l8xIawUsplFp3b54NY7mik/703/MxNtpeTSlnxWHk64NKuCf/exn58uLS6086b8+3Pqg4WDNHw0O5yf9Gkuf9+sX6N3twXmaVWwMkUWv+Q7eLVShHk1mv310Kg9Vrt/h/PStQoN/PlVxhBYYa7AbVCwc4PQxzxHXS8ANhkZ7jaGq8W8Gh6ed9MuM4C2ebrD7Jhp6CIJsDr481/UGw4nnqY8MeFB3tYDjF6BY8KKiIjO9qeq6oNI5urL+1L8bOt2XM673PrPf4OjwZDXk/p6e68BqV1cXAx5kxUP54MgzrVixYpbJZCrNuLOagAZnItyQwWQ2GgppXlKeEec8OwON75V+/YErZlHv2A8P6qieBTddeeWVX5LuSZBWGbnCkDs7PQa/PyO7EL7RZI5HTCj+EhXaTwt7IKpfprXgintCBU3kf8+TgIfXNlO2AnJbicVAt7izLoBR2xDLPOoYW/CgP1eiBWf6TXRrPp/877lZp0YOd4ghhyUPNUKRydJYbaa5IyYU5l8+53BRP5hjxYprf9NYNz7zzDOfpl9GSSZ3Wra9vwIMORm9rArUn5Kbfzzt09QphV+xcyEt+Pjx42dK90SUKXvSDDksedYEwnrYyIKZ1J89tOhacN5gpLnfU7Om87Ij/RRgyLPJiFlsZjALC84cK/1GBgdswLqJZg9OzabOcwdl3KcAIC8oNuMtrn2ZGZpCHyxW0xXU/H4Xmgw49xLrRgJ8Sob2VTY7CgVUyLNgnLwXcIXfXgkUpvv54KWlpeaCgoKKKHSSRTNYAQXyIrPB1eXVzOLIrE5ZrcaK0lKbuaXFCbDZYCsuCfcEmcbf/va34ym2cqaMs18BhjyTZ/3TmKB17ncngV1Y8X6AM/XGq65SPsaZ/WdV9jBIAUBuLSSfnPFgIjIoHj2pCFO7xR6oFpy7YRw5cqS8wAw69bmz0gc5cMiwQE0uKrH0G0kRfXDFQbfZbBMyrGuyuXFUQIGc3p/Q7fSRT65O6YjjERJXVX6hCewqHPNRsILAFjyP3j2Iz0XIkMMKBCA3ZdwQosloBLsqyziFogXHBiNNkS3OhrFRdE6GwSsAyPPJkrvJkmeCHVeYNeUBcPbBlc7ziko9AY6XjMsgFVDmkysXnqAjAwIN54NdlWWkRQuOLuRJwCGDDKyA0ZRnsNrM5JOn/zi5yZzHgHPz1VEUZCjkS8BVbWSiVwGGXCEkjVUxGlXA1b85bMHVDAl4Gp/BFDaNIXe7vGk7uEL+iOheK0zzKAqkkxY8hQBlwqEBeX4BJmilZ2uNRuX6UeGYW8gWnNelD85KyDikAgy5uzv9xslNRvUiU217PwtOW7TQq4VlQioABRTIrTQzNc1MeU9eD9gNacHVPzper9dBH3mVj6tJlsMqwJB7yJKnyzg5vTXAITRaYZrHwdV8n8/Xpa7IhFQgjAKAnOZhp83gSo/foGVXGQfHD1D9EcKCh+mT3CQVCFKAIfe6yZKrFAUVSdqK39cjsqtwLfrgaEiPtOBJOx9ZcyBAbs7H3JUUd8mnWPCgn5l4QalskICn+CRl6OEVyMld8brp9VkpMuU9fj+7KCrkIS14v9fpZqjostnJVYDuJJIlJ6RSYMrBrK9HAVyFG71nC45MZZE+eHKhyLajMeQ+jz/phtzvy4MPrrIMbUULzoDbs0102Z/kKgDITRZj0g253+8Huwy40mm24KoCTqezBeZezglXJZGJQSgAyA0EOSx5MgLcfp+7p0V7LLbgTL2/tbX1tLaQXJcKDEYBtuSD2Xcw+zg6u8EuflHMs+KiYAVByTx58mSdvMgMCCL/j12BpEFO9Laed9Yxx70t72ELjnUF8DfffFMC3quOjOKjAEOeyMEVfOyqevtFLeD9RlH8GzZs6Ozu7r5E81FGxqd7shapAI1mwCen5zz93sT45H5Pz6UTey52ktb9XBTor1jv3o1+u91+RropkEWGeCoAyI0EebyHV8Bqt8t7htoKuEMCjn4AcqWAw+E4jQwZpALxVkCBnG7tK5DDZ4nT4nb5wawIuNJ09sFFC+7DSIq04PE+tbI+VoAhj5dPjiHCbrsXgNNTGMEWXBwHVyFvamqq48bIWCqQCAUAeQ8ZcJoBGHP1+KF0NHvALCw4c6zUG8qC+995551DNOkq9iPH3HRZQTYrgJuJmKQVa6CvOffUfNhwiOoRXRSFXwYcx0AGCvjoI7CX2tvba6WbAllkSKQCsUKuXGB2eWsr37twidopuihKs7WAM+Te5ubmSgl4Ik+trJsVYMgHMz0E/ndXm6eS6qI3E+m7KHwsxYLTiq+2tna3BJxlkXGiFQDceDe5EiMd6UIPzLU0OneD2d4FDKtBz4L7li9fXkmzs4IKq3vJhFQgAQow5NFUTYT696w5DwsuuieK/416QgGu/BLWrFnTSn54jbTi0cgty8aqgAo5rj0HWHB7vtvhqTnyUVMrlWYLDrhDAo62YQOsNvwZLw0X7pGAkxIyJFWBgHsy8CHhf9tb3Pj4q8IrxWBXhRs1iBYc6ww4fg1e8sN3ScAhiwzJVoAhJ1dc/2YnNaq5oWsXRQBcdFHU5oo3epAJwBly79NPP73npptuchUVFRWoe+RgwnXRZmh3YBQqu4OuMQuyiX0a6GQHCuhs1D1GX7VBKVhp7APgtfvSS4dcm1bUsQVn6x105FCAo6Diz3z00UedjY2NW6dMmXKL0ag19kHtiHil9nyj4b2dVYaOLvEVFhHvnpKCXs9XDUa3m44dpF1QW7TiB23UWdHdR+cw8DlDBlCgE/S30A5h9tOpLubsaG/r6JWnJ+gNrtbmrRdO7sYMQva/GXK1nVrAsQGaoCDMvufgwYP/N2nSpLgB/sJb6w0tHWhTZgV3t4teidBNjYbkkEhPem2/uCyjpt1fu127f7LLa4+vbZ+2Pdry2vWB9tdu1+6vPV6gvN/vMzTUHv8/Ku2hBaz2gxs1hTLLqIEB995///07aPpss661QS1RhEyEG93LtxbQKxH4+7gQPdLAZRGLad5fzOMyYoxyXEZMi2XEtFhGTItlxLRYBmltQFkE3ofTSmYE/w20v3Y7H4dj7fECrorP42mu2rZhB23VvcDEnuEAh9n30MxC5/nz59+LF+A4aKaGAOT5wbxpO6M9X9jOedqyqVjntujxo21Tostrjxfheldnx3tuu91JxWHBQ15goqpQgCMfFpytuGfTpk3v0PtSkJ/zAZBbLL2QMyRiDIUYCjEtlkllWmyTmNZrk1hGTMervF49YfL99JbNpvrat6k5onsCXvsFPcDhpuBXofjhS5cuPdzW1nZKWvGAfhaGvJ+cMiPRCoBBj8t16tCOTUfoWAw4WAWz/UKoi0wUQmGGHJW4aUx8TVlZ2YP0DR9sz/kAyBG8HsgjQ7IUAOD2jvY1dDwMa0F8hjsk4HoWHO2FyVet+MqVK9+hh5Hl2YQyvQGQm/PJXQkXcKcCge9YcFrJDPFftOVDVJFWWdH2Z4Dy9PpjT92R/e9QH8EiPAwwGtI9oXxdHxzb8ItgP9z90ksvNZ45c+ZdOf8K0vQFC42sKJAzwNoYRfmkiWltOV4Xy4hp3p5psdgHMa3XD7GMmKbyALKrs/3dMx8faKQkLDgAB6MhrTflRww4fi3uV1999QWy4rq/FlSYi0GB3GLJxa4ntc9+r9d/5tjHL9BB2T2JCXA0PsiKP/nkk7Vnz559X1rx/ueVIQ9z8a+OJMsygYGmaHTAXVdnZ+f7x/bsqO0FfEC4cZbC+eDYDmutuimU7v7rX//63x6PR/dPAnbK1QDITcoQYq/fDSHwp5hjMR3I7b9d70+3Xj7XPdj6Yt1f266B6htou7a+3nW6c9lTf/Lwf9PuuJ0suidhPYqBAEdzUAEcecVN+cMf/nCMrPg2acUhTf9goYtOk5ncFT5RKII0B07rbedykcax1hfr/tp2DlTfQNu19dE6Rk4c9o5th3d+cIxW2T0Je3HJ1UQCOKy1Cjilu9etW/c8WXGuQ8YaBVTINflydXAK+H007+TUyedpb7begA9MDuhJRAo4W3H8erqXLFlS3dDQsEtacVJDJ0jIdYSJMhvW29nVuevAtvXVtCsDztY7LoCjSWzF4dgDctfatWufkSMqkEY/AHIzja5gLjMHTgcm9AfyOQ9lOM3bo43FOsS0Xj1iGaQHCtG2D/XxPmKa2yPmiWne3uP3+Zvqjj9D21y0gD0wGJH1pnIDXmSiDAIAD7rYfOihhw7Su8TflnNUFH10/zPTRafJbFZOMp9ojrETp/mEinm6lYbZEG192vLcDr042vZp69fuH247psR2tDS/XbVl/UHaj613RKMnLFEkLgqXZSuuXGzigA8//PDT9GByK/6MyKCvAEOuX0Ju0SoAprzd3a3VO9Y/TdsY7oh9b64vWsDZF8cBXZs3b75UWVn5Z3nByXLqxwHI5c0gfYWCt8B6Nzde+HPj6dN4VhDuCZiL2Pfm2qIBHPuIVlyB/Pbbb3+THmurlhecLKl+DH9cHULkYuyfI45kwX68j5jmfcU8Mc3b4x2LxxDTescRy4hpoTwezXN1dVVvfeuVN6kIwx219Ub1gwGcrbhysYkGrFq16jGXy+WTrgokDR8UyE00iZNPKIojHWngsnr7D7Q90uNEWi7a4w1QHgz5vF5f3ZEDj1ETADdfXEZtvdGFaAHHPgw4flGKFX/00UePHDt2bDW9kRbbZRhAAYYcWMslWAMDPcxgb768mm7qYL631nqDvajCYADHARhytuLOBx544NnLly83SlclMv0BuZFGV2ToU6CH4HY7nI37Nr/3LOXicTSt9e4rHGFqsICzL66Oi+/du7f5tddee5g+f+KRrkpk6pvplr4CObsbORwDKBpy9pyuqX74YkN9M60y3FGNe2uVHyzgqIchV604DRvuI9CfpRtA2uPIdR0FFMjlU1L0pQcvjZo0PHvggw37SCqt9QZrgwqxAg5XRbXilHbdcsstK+vr63fIG0CRnw+GPFf9cbpbaejqaNuxZfXylWCod+G7lmAsJYDjDOLgWPiCE788x4MPPvgb8sc/kf44qRFhCECeez45/O5up/OTqo3v/oakwuvOwBBcADDFfFFycCEWC85HRCMwfIJfHBrnpBtATa+//vqvyB/3Sn+cFIkw4Ja+URxCzHKfHGaZ/tJ76SmdX9FrIJpoVeGHYrDEw4KUHHyIB+BoJxrDrorSSHrVRNWePXuegz8uIY/8BCmQG7P/zQVgAn735aYLz+3fsq6KFBLhjunCUlQ7HoCjPoY8yFVZtGjRcpqQtdGtvLhSPKxMh1MgYMkBefZ65TRJ0NDZ1rpxy2vLl1NHta4JDCaYijnEC3A0hCHnURU02rF48eJ/oYvOvRLy6M6ViVwVoymepye64yeytI8sd1dH+94tb6z4FzDSu/CwYNzgRh/iqSAAF/1xNNhBX4nouPPOOx+iByRq5KQsSB55YMizyRXHiEm3vbNm99o3HnJ2dHSQGgBchBsMxcV6Q+lEOHtonNjAPILcW1dXt3P+/PkLPth/eGgePqclQ0QK4L3synvBs2BKMmYIuhz2c/s2rf1ZY33tJyRAFy0MONzbuFpvCJwIwFEvQhDo5It3d3Z27naYCm6mGXWFPNE9UFT+H04B/vhAgPHM9Mv9fvpglNPZfGjnpntOHzl0lvqrhTuulpv1TBTgogVX0wcOHOiix7j2Dx899is0HJYvIefTMHCc1/uFjUwckcL9EHphpv34gY/uq9nzUU0IuGG5AXjcQ6IAR0MZbI6VxjfV17UVlQw5OqR0xEKah2GRkEd+TlXIIW2GGHK86tjtcjnqjx74pwNb38dteNFyx228W0/FRAIuHhOQq6BfqD1+0WIp2Dds1KgFNCRmkz65KFX4tAp5Bvjk8LndDkfriQN7fn5g6waMdTPcGPNOONxQMtmAq6DTnasWn8e1s7R8wvVkyEv4xKFRMoRXQDUIiiGnz16n4b8eGud2d9kbqnd+cC+9bu0o9chOCwBnuHEzJyF+N9WrhmQBjgOyBVchv9xwobOro3XbqPGTrjVZLGV8MaW2TiZ0FQhATlKyqrolk78B49z0HsGT+zatua/uyMHT1AKAnXS40fNkAo7jITDgStx++aKz+cLZD8onTZ1NryEeA59c+uUBoQb6X4UcBdPAJ8dwJt5CRTMDD+xY88YvGs+caqCWad2SpFhu1i7ZgAfBTY1Q1umdz+7zp45uHXfFjCn0AstJeUYJOZ+ggWLVXUmxKcesQHqWkm6/t2zd+saKJW0Xmy5T2xlu3MjBDMGkwg3tkg04jonQD3S60vbVVh/cPmbyFGu+rXA2+eRkyGGWZBhIAdYpYMST75H30Bg3fcqlp62p4eWNry7/N3rVWju1WYQbF5RJhxu6pQpwHJsh5wsN+nit13+quupA4ZChNSVDh881mkw0wiKtOcQaKEAnCJrMoMwIpJESj6Orlaa8Ltv2v6++QeeQLybFO5QpgRtapBJwHJ8hR6yCfuFUzQX6U7d5RPn4K8kvL5cuC6QaOKiQJ8EfJ2/bgItJR3vbwb1b1v3iaOX2Q9RCWG223HBJxKHAZP/+FMHSBXDAzYsCPV18dp06eGBjecVkk7Ww6DPSZVHO14D/sbsyYMEYCuDOpNfj7mlpOL9yw6oXf996sQFvn4LFZri1k6diOFpsu6YacLSef9lsxVXQ6c+d79ShqoN05/NI0TByWYxwWWjAQPrmYc96nz7xNeWBhxRofNvpbDl7rPpX2/73f97qdUkYboxx88Vkwm6/h+28ZmM6AI4miZCLoCvp86eON9ibWzYPHVk+mlyWKXBZMC7WdyI1vZKrvdqwrLEJArAxSoJvgna0XNpctXntkqOVHx6mWtliA3DtDRwYqpQHkJJOAe3BXFr88PCmSist+OKqjZZCpK+55bYvVEy78pcFRcUT8eRL3zAZbZWhnwIAM5bAw3/dXfaz9SeO/vve99fsovrggjDUPATI011xwPj8smJpeO++6QY4mhUwzwHI8Zg5vrQKyBl0W0FJSfENt/39D0pHj73LYrVayXWR1pwE0guBGYjRMaeOkNBDtc1NDSs/XLP6FVdnJ0ZIYKmxAGz2tTFKwnO5ozsQ7ZjIkC4uiraPLBJiLLAK7NP5vG63t/bQvkMOR8emoWWjx9Fr0CZKt0UrYd96nyvHtkM/xhwudkfsra0fHtz6/j/v2/zuB6S5OPwH6y3CjfMT25+KvubGNZWOFlzsINrHLgtbc7bocFsUyz7vq9+6oXzK9PsKCgsraE6L4rb0nVSxutxOByx5aA3Yz/aRn+1yOOobT598dte6N7dTabbUbLUx9Mc3btjosEEKXXkKc9MdcJYGkDPo8M0BOfvnCuRms7lg7uJv31Q+ruJOa1HxVLzcEv65BJ0lDB0z2LiAJD/7VNOF+pcr1/5tE72uhMHmmMe1RV87La222NNMARxtZmsO0GHNGXQAzrAjtn5x0Te/VD556p0FxSVX4Y1RmIorQSdlhKCAjfFsL1lse+eRptOnXv7ovbd2UBGAjAVgcwyLDbD5jiTATlurTW1TQyYBzo1Gm3HtwKDDmrNFVwCndSW+5uavXzNu8oy7CocMuRpfVgi8hiF3hxcDLgpm/GFilMfg6OjYf+H08ZU0MrKXNGOwxVh0RwA1X0hSMjNCJgIOZdFuLKLbAovOQ4si6PlXz7959tipM28rKhm2wGzNL8TrGHLlopShxoQo3Fr3drsdXZ1tWxtO1byzf9v7uL0OiEWokYa15kX0szPCalPb1ZCpgHMHGHIGnV0XBp0tu2Lli4eNKPrc/C8vKC0v/0phybA5NI5uogldivuSbePpGAkB3JifjU+CODrbqlqamjYc2LZxq73tMm7QsHUG0Aw5Q83DfrDaGeOOMBRinOmAc1+0oPONInZfxFix9BOmXjVq+py5Nw8rG/kVmp47lV+XFvDVM8+NUS11H9R0S91xqq350oYTVZXvnzt15CKJxQAz3GKMbbDWbLEzGmwRDE5nQ8ygIwbksOhs1QE54NbG5qu+cMO0cZOmXW8bMvTqgsLiWQS7FW95hc+ersAHA+1XXmRJlrqbXqxz2NnRvv/CmZMfHtm1/ST1F9YY8ALmUDG2s8WGC5IVYFM/lJAtFpz7wzH6xbADdF4AuBZ4xaJTvrKtoLjYOuvaL80qGzPx8wVDSq622Yo/ZTSbLLhbqjwzqsxPp9JKCMiXqBGaAMQ4UMD1xU0Y8jsMmM2HJ9ZpLprH6bQfc3V07m9uPLvv8J4dh112O1wOhhpA88KA8za21myxldqpfFaFbAWcT5IIOvx00VcXrTtDznkcm4aWlRXOuGbeZ4aXjfm0xVYwMT/fOtFsLRhnwsMYyvCjUQG/76KVD62NtVIHoNWWUiAmoHFRCJAVX5pi+oKdk+zzBbe7+6zH6Trb2tz48fG9O6vbm5txVxGQsiXmmMFGzHmIGWjRvw7dGCqc6UGreqb3J1z70VcAzjFbddGVYbC1sVhW+aFUzPzMqNETJ1YUDyubaLUVVeRbrRNMFnOZyWguzAvAj9fToZ6AmwPLjxUKCk1EMltoir30OJOjhyD2+b0On8fb7O7uPtft7Kq3tzWf/eTs2fr6mmr40AylaH1FeEOlxbLsfnCstCeb/2PNs7mP2r6hz+ICeNmycwwwGWqGnde5jBgjjUWsN4/cHfPQ0lFF9PidzVpUWFRgK8KMSIPL2eXo7qLRuvZWZ3vLxS5yKwAmuwgcM8yI2eqKMdIMNEOMdbEM78t1ckzFciPkIuDimQ0CkjYwqByL8IuAY7u4jcujPqS5XkoGpbEuBhE4TrN1ZcC1wDK0DDWvc3mOuT6OxePmTDrXARdPNGvBcCLWgsvrDDEgRzmOOT9UXTgW5wM6BIZPuw5IkQeIxZjh5RjbxDTWsSBwHFjL0f9Z8BztfthuszaIwy0i1NpyOIBYj3hABlCMkdYuDLs2X1xHvViXQaMAi6/Jlqs6CrBeDDKKhcsTt+tUGQQmQ8rwYp9weXp1yvxeBfjkSEFiU0Cro3YdtWvzGFzxyNo87bpYVqYjUOD/AZrbm7Ts1rpFAAAAAElFTkSuQmCC',red:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAk/0lEQVR4Ae2dCZxUxZ3Hq8/pnhkGmOEQuQS5VCTxWHEDBlyNkciakMMkxujGuOvHO24IKCae0UQlKwmyroocoqtozGpA4oFiVAQU5IaRcchwDsPczNF39/5/b+bfVL/p7ume6bur+DyqXt31r2//5//q1XvPIJRLpgQMMVYeiDGfyhanBGKdgDirzYvsLLtIPguB0/lc7+vh5vNIvr68Oo8ige6EH6Vo3iSxjODrw1rcm2++2f+MM84YV1hYONRkMhUZjcY+OAKBgOZTXDGVLTYYDH0gNYpvIa/V5/O1+v3+FopvgY+D4tra29uP7N27d98VV1zRiOy6g06DcRyGr1wYCfCEhUnK2yiWiQYvSQG+8ac//all3rx5o/v16ze+oKBgnNlsxjGWQB5LgA5MhrToh1BL0Fd4vV4c+1wu176mpqYvHnnkkf0rVqzwUJt+OuQfALrBmh/hvHc8mfkuCBlmDei5c+fab7nllguLi4svttlsXyeYzyPgrJkgKPpBuQn4LU6n88PW1tZ1ixYt2vjoo486qG964PMe9nwGnKE2EhgG0tDWBx988HzS0BdbLJbpdEymeFsmAB1DH5wej2cTHR+Qhl937733biYN76ZyAFyGPoaqcitLvgEeAvX1119ve/jhhy8nLX211Wq9lKYWtnIuuFa3272WtPv/3nPPPW8tWbLESYPKS9jzAXCGGj60tfGLL764YPDgwT+x2+3fp/MyOnLZ1Tscjj/X1NS8OH78+E9poNDoslbPaTMmlwFnsDWoN23adNq4ceN+TBeIP6FVjbG5THSksdEKTQVdqL64b9++lyZPnlzVCboMe6SiWRufi4DLYJsqKyunkraeCxOELhJzcbxxw0cXqQGYMKTVHz399NM/pgp8dOQk6Lk04RiLpq3JNx04cOAbAwYMmEurH1PoXLkIEqDVmPV1dXWPjhw58l3KwqAz7BFKZU90LgAeBHvYsGHmjRs3/mtpaekcMkPOy55pSH9PyXzZ0tDQ8NiFF1646vDhw17qESDPetCzGXD0XYObwLYQ2FeVlZXNoRsvZ6Yfl+ztAd1Y2lNfXw/QXyHQ9TeTsm5g2Qp40BTZtWvX+aNHj15AGvv8rJN+BneYNPrm/fv3/2LixImbqZuy6ZLBve7atWwDXNPYNAzT0qVLS2fNmvUA7f+4gS4eAbxynRIwHN8ozDseFQZHTW9l4m/3BBa/8nnDfT97vKqBKmPQs2ZpMVsARz8ZbvPRo0ev6d+//yNkjiRlD0hvqUh3ecsrpwtD2+GEdcMfELUNbWLewNniBaqU7XNAnvGgZwPg6KMJx44dOybSstYf1coISSOKsy4tiJLa8ySPX6wvrxN3TLpX7KJaoM1xZDTkmfynPaixJ02aVEBX+PdOmDBhg4K754D2tqTFKKacPVhsOPEnce+kSQK/IjMdYChjFWWmdozhNq1evXrYtGnTltKNmq/3doLypXyyNLgsP49XfPhOpfjZzCcEbKGMtc0zEXBeITFXVFR8g5YAn1O2toxW9+FUAI5ewDY/UC9+PvrXAjeJ2DbH2nnGuEwyUYJae/r06bba2toH6O7a6wrujGGlS0eMBjFw1ADxetMT4oHpZ2lbi3GtlFEmS6Zo8CDca9asGT516tTltClK3WLvglRsEanS4HJvXF6x/v0vxHXfWigOUXzGmCyZADj6oK2S7N69ewrdtFlJWnuALDwVjk8C6QAcPSSTpa6iTvxwwm/EejrNiFWWdJsoDLeZdv3NHDNmzGoFd3wwZ1JuMlkGjBsoVlf9TsykfmGFBYorrUo0nYCjbQjAQjv/rhs+fPjLFLbToVwWS4Boto/sL14++ri4joZhoQNznDbO0tVwEG66K/nLIUOGPEW32/GLVy43JGAeUiKeqvsv8UsaTlohTwfgGtz0EIKV9iE/RjsAH1IPIuQG1SGjCAhDWaF4qHmBeGzwYIG3EaRFk6cacA3uGTNm2OnFNs/16dPn1hChqJOck0CJTdxaeY94bsZkzfxMOeSpvADQ4B44cGAB3cBZRg/8fi/nZjNDBpSuVZRow3d4xGsjHxT/VlsrXJSPlxGjFUlIWqo0uAY39dhaXl4+X8GdkLnLqkrsFvE90uTzwQAdKdPkqQCc4bZUV1fPpXeQ3JhVM6M6mzAJ9LGJG+v/IOZShSm78Ew24DCB0Ibl0KFD19Ozkr9JmLRURVkpgdIi8Zvqx8X1YIIOsJFUMzmZgKPj+FNkoQvK79CqyQIKK6ckIE4pEQsqHxbfIVGwJk8a5MkCnOE2b9++fRrdfl9CS4GAXTklATwiYRpVJp7bfb+YRuJI6h3PZAAOuFGv+a233hpPb5NaSeHkPGJCFSuXnRIgSGwTBomVb/2nGE8jAORgJuGaPFmAm+iB4KIpU6Ysp70lJdk5BarXyZaA0ShKLh4tls+6QBRRW/gLn3DAE10hfjDoaMHx48ef6Nu37w0UVi7FEsjEdfBoImh2iMX97hR3Up6Er5EnUoPjx4L6LHv27PmugjvalKo0WQJ97eKGLx8U3wU7dIChhCneRAHOcJtXrVo1dtSoUQvlAaiwkkB3EqAngxauuk2MpXwJtccTCbj5kksuKaLHzZYpu7u76VTpegnAHr9svFh2yQTNHgfkCdHiiagEPxLN7qbnKOeXlJSoO5X62UvxebbZ4LJ4yB5/muzx2RSXEHu8txo8aJps2bLlYtodqOCWZ0uF45YA7T68cfu94mIqmBBTpbeAa9qbzJIiWu+eTy9Wj3tAqoCSgCwBIETr4/OnjwsuHfaK0d4UZu1tef7552+nF/OMkzuqwkoCPZWA1SzGvXS9uI3K93pVpaeAM9zmF154YdSgQYPwaJJySgIJk8DgvmL2C/8hRlGFvTJVegM4Liwt9HTO78k0KUzYyFRFSgIkATJVCq88S/yOgr3akNUTwFl7W3bu3IlvTH5LzYiSQDIk0KdAXEEbsi7vhBysgr24XE8ARxnzlVdeWUw3dB6LqzWVWUkgTgmMHSgeu3Ky9oFeNlXiqiFewFl7m5988slb6XPXI+NqTWVWEohTAhaTGPnMLIGH0xnwuLR4vIAjv4k+gV1Cr3u4Kc6+quxKAj2SwIA+4qbrpwjsSsV1X1zMxpOZtbdl3rx5P6cX0Zf1qLeqkJJAnBIwmUTZ/TPFz6lY3MuG8QCOvGbc1DnllFNujrOPKruSQK8kQG/Kuple0Yx942yqxFRfrICz9jY/88wz15DtfUpMtatMSgIJkoDZJE5Z9mNxDVXHgMdki8cKOPKZ6Fs59lNPPRV3mJRTEki5BIb0FbdNOj2+N2TFAjhrb8vKlSuvIu09IuUjUw0qCZAErBYx4i/XiasoGLMtHgvgmvYeOnSolY47lKSVBNIpgWH9xR0lJcG7m93y210GaG8c5ldfffVfaEPVmHQOTrWtJEAbsca8f7O4BEzSwXxGFEwsgGPt0Ux3LX+ktsNGlKNKSJEEsJ121CDxIzBJB9gE5BFdd4Aj3XT11VfTM8R9Z0SsRSUoCaRQAn0LxIyrvyb6UpMAPCrD0RLxy0C6ee7cud+m5yzV50VIGMqlXwL0/Kb9nsvEt6kn3S4ZRgMcaRrg9P2cHyjzJP0Tq3rQIQGYKSP6iR/QGQMekeNICdDeOExPPPHEiMLCwq91VK3+VxLIDAkUWcXXnrhaYMma7XDw2sVFA1zT3jNnzryKtHekfF0qVBFKAqmQABFpnDUxRIvHDbi2ekKPo30/FR1WbSgJxCuBwcVBwFmLd6kinGbGLwHxphUrVoynte+xXUqpiIyWQKBoWEb3L1GdozXxsS/9u/Z2Wl5N6aLFYaTrXRDwr371q9PUxaVePJl/3nzef4uaN28S7hNHunQ2EOgSRa/r1rkuEXild1enr6unecJVHktd9OlwaOJp1LPddEApg92QotEANw8YMGCqApwktmen8K9cIURTI8kv810BdXGI72JR73LR9+ND5jvzOx9nD80u11QhVj1DxRjwkBr0gOMXoGnwoqIiM72p6sKQ3Hl64nv0fhGoPZ5Vo8ff7P5+v2jw+Eil5S7kfQKBC8FqW1sbAx6ixRGpd4gzLVu2bKLJZCrVJ+bjebbBzXNkoTsipfRQo0HTWRybWz7BWvqHkYMn0qjYDg8ZoB5w1uCmM8888yJlnoTIKitPGHIj3R3hyc0lHwCPLbRdRB4A56EF5yoc4Igzkf09RQEelFNWBwB5f3okJhfnE2MqNZumgFk6wC4gDzoZcKbfRLfmrWR/Tw7mUoGsl0Ao5DzVueEXmUyThxcW8heUeVDanMmAIwLnxoULF55Nv4w+Wg71X85IgCE3AoEccjScPr8ZderZNCSNX3lo8ioKk28aNmzYhFz8cyYPPF/DHZAbRKPXmzNrK6B6qM0ygbxP6WCOtaUjWYNzgpH2fo/JVwDyYdxmUuH9zWZN3eXKePuYjGAWPDPH2tD0GhwZTLR7cIzS4Jp8cvY/QN6PIG/KAU0OVouMxtPBLh0MuTZ3rMFBPRzOjQT4aO1M/ZfTEmDIc8Emt5s0wDV+OydNY5oBR5ym2ktLS802m21kTs+sGlxQAoC8r4nMFZp9DQAGIct8m9EwstRuh0XCw9DGqAfceP/992MrGrYzKJcnEjgJOdjIUhcQBbcPHQx2wXRwIGyDM/XGs846S22PzdI57k23AXkJmbAnfNm5dwUAn1mkbe3+ohNwRAVYgwcBHzhwoLrA7A0pWVxWg5xe5Wo8qQCzZjQAuNRs7rKSwhocAwHsRrvdPhwnyuWnBAB5H9LkLZomzy4ZFJmNYFfjmHuu1+AGevdgMScqPz8loEGuafLsGr/ZYAC7bI3A1x6751EgwkhbZIvVGjiLJH99QF5Mmrw1SzQ5mKVFcAAOpa3BjdnjkyD1BDheMq6ckoDQNDntQsQSYjY4ghzsBllGWLbBMQaDAhxiUI4lYCLNWEzmiqbJM/zBIKvByIBz9zUNzica+QpwFofyWQIMObGe0c4kAgx4sKeswYMRCvCMnsO0dY4hb/P5M/YZT7NJ0+AsI41pXkVBJCKUicLiUX4XCQDyIhNWyYP6sEuedEZE0+DcLwU4S0L5YSXAkLdrmjxslrRFGmOxwal3bLakraOq4cyWACAv1DR5ZvWTVlHArmaJcM/YRAn+zfF6ve2cqHwlgUgSYMi7rDNTASYs1b7PH5DZ1Zjm/gXH4fP52oInKqAkEEUCgJz2YWeMRU6Xv3p2NZWO1c3gCqfS4FFmVCV1kQBD7qS3aKX7LXE+v1/W4BrXbKJwxwNKg7MolB+rBAC5jd69Ql5anS8goMGDyhqdkS8otQQFeFrnKGsb1zQ5Qa5p8jSNwm8ImihByMNq8EC6/9akSUCq2d5JAK+H0zR576rpUWkwSyuXETW4Zq9QzQFlg/dIvqpQpwQYche9vDvVb7X1BgRs8CDL6JKswbUEAry1s6/KUxLokQQAeQFtQUz1HU96FzrYZcC1vss2uBbhcDgaoO7VnvAeza0q1CmBDsiFcPlTIxJQ7aTXoetbYw3O1PsbGxv/oc+kzpUEeiKBk5q8J6XjL9Pk9YBd/KSYZ81EwQmcFllRUbFfXWR2CET933sJAHKrZq4k9w4nelrldOwnLwg3wqzBka4lvPbaawpwSEO5hEkgCHkS18kB72v1zXrAg+vgTL3/7bffbnG5XLVms3lgwkaoKsp7CQByC0nBo+nRxIvD7ffXrjve1EI1dzFR0FoQcGRobW2tUmYKxKJcIiWgQU6gJ1qRg9U2X6CK+gq4wwKOcQByLUN7e/s/EKGckkCiJQDI6fUOCd9x2O7zgVkZcK3rbIPLGtyHlRSlwRM9tao+loAMOcf1xge8TT4vAPfREaLB5XXwIOTHjh3b35sGVVklge4kAMhhqngTsC0E9dR6fGA2BG70IZwG97/xxhs7aNMVgFdOSSBpEsDNxA5zpXdWuY/MjVW1zTuoowA8BHIGHIMA0Ej00Udga5ubmyuVmQKxKJdMCQByE/ENfd6Tf6C2xR+ofPFITS31UzZRtG7rAWfIvfX19ZsU4MmcWlU3SyAIeQ8UOYCt93g3keelI0R7o34ZcJxrGpx8X2Vl5UYFOESiXCokAMgBI3lxHTDkqxyujVQU2ps1eLDLMuD4MbAG9y1ZsmSTn1wwpwooCSRZAgx5PM3Qg3L+JTX10OAMN3OsVRMOcO2XsGrVqkayw8uVFo9H3CpvbyXAkMNa6e7AQ6DNXl/5W8fqGyk7a/CIgKNvrMFhz3hpufBTBTjEolwqJQDIAXd3DrDWuj34+KvGK/lsgweLyhockQw4fg1essM3KMCDslKBFEqAIY+mxdGdynbPBvIAuGyiIElz8o0eRLB6xy/Bu2DBgk8vvfRSZ1FRkU3Lnaf/VRaVCM/xmpwffSRlBijCuUjxyBsxLUJCpMfbkB39AvD6/jn8fufjh46wBmftHdJCOMCRUbNnPvnkk5bq6uoPRo8efbmRnphOhGvbWiGO/c9fhaeuORHVpaQOt+8rwlmCb7uHyC6k7UgpUctEKBStTEijnSf6iZfzRGhCyxJvO3K96Q7T42mi2nnig21N5dhByPY3Qx7snh5wJEAmmgYn37Nt27a/nnbaaQkDfP+dTwp3dT3aySrn9HtEu9+r2YYQUCw2IgbIeRk0lOO4cOmIk12q88ttI8x9jdR/fX79eXfl9en68pHG7w34xW5nzV8pv4cOeQ08pIpwahltMuDeW2+99SPaPlsfTUuE1NjNSTbCjSEVGS2i0NihD2KFG+U4L3w5jDQ4OY7zyL6cRw7LeeSwnEcOy3nksJwHYb1DXjguw2EtMob/uiuvT+d22Ne3h3iw6Az46he37PyITiNeYKJsNMCh9j20s9Bx+PDhvyUKcDSarQ6Q2wnyaNf4nMa3nTFWjsuEcXNfYu1fsvP3RCbQwLU+598a3W4HBaHBw15gou5wgCMeGpy1uGft2rVv0OskEJ/3DpDbjCYNWoZE9iEghkIOy3nSGZb7JIcj9UnOI4cTlT9SPdHiAeZ2Z93r5MnmCaK7uEiA40eCXwWo9sydO3dXU1PTl0qLd8iPIe84U/+nUgJgsC3g+XJJ8+7d1C4DDlbBbBcX7iITmZCZIUclbloTX1VWVnYnfcMH6XnvADmcKwDZKpcqCUBN13jbVpHnpoPNE+a1SzciaXBkRF1BLb58+fI36GFkVKhcpwQ0Td7lS4xKPMmUgFv4PG+3HXmD2pC1d1jzBP2IBjh+FSgIM8W9dOnS6qqqqjfV/iuShuSwsmJTkEsSSV4Qa9+1Pseb77ZWVVMr0OBgE4yC1bAuVsA1M+XFF19cTFo84q8lbAt5EKkgT80kuwMB/7q2I4upNTZPegU4eh2ixefPn1958ODBd5QW7zqhDHm0q3+V1nMJkPIW9f72d149UVHZCXi3cGOWomlwpENbB80UCrteeeWVZz0eT8Q/CSiUr64DciwhnnQcjnbjArk5PV6fy3KL+va6q6+35fX1d1dfd+n6+vjcL/yBjx3Vz1J5Fx2yeRLVougOcPQHFeBiUzNTfvvb3+4lLf53pcUhmq4ON4IKDB2QY3Lg2JfDPHFyHMLxOq67p/X1try+v93V1126vj6cd9jezr+vaCrfS6dsnoDJqHCjbCyAQ1sHAaewa82aNc+QFkd55cJIQA85w5cKH91hiORwKtpOVhs+4nij89gzNB7W3oAPTHZrScQKOGtx/Hpcc+bM2X706NENSouTNCI4QG4lTZ5qx3AzbGif41Ldl0S0B+1d73dtWNy4ezvVx4Cz9k4I4Ogna3EY9oDcuXr16oVqRQWiiexOavKTiOEyC44vtzisRXbGcxznicfnsrHWp8/P5SL5+v531zd9/fry3aV7aOVkk+P4QsrnpAPsgcGYtDfli8lEQT4ADi3OgLtmz569jd4l/rraowLxRHY2TZPjY6kd/5CTJ1kOR0qPXHP4FK471vr0+blcJF/uc/gehMbq69eXj5buoy2xR31trz/duGMblWPtHdPqCfciFhOF87IW1y420eBdd921gB5MblR7VFhE4X2GPHyqig0ngY49J97GxU27FlA6wx2z7c11xgs42+Jo0Pnee+/Vbtq06U/qgpPFGdkH5FhdUS42CeD5qb2exj997qzFG6tgnoC5mG1vbiUewFFG1uIa5LNmzXqNHmvbri44WaSR/QLaZstLiJyLrXP4sRwox2XkMJeV4+Qwpyfal9uQw5HakfPIYTk/tHej37X9vuMbX6M8DHfc2hv19wRw1uLaxSY6sGLFikecTifegYg6lYsiAUCO1RWeUGRFOFbHeSOV7y491nZizRdve93lB0Nu+qD8O22HH6E+AG6+uIxbe2MM8QKOMgw4flGaFn/ooYd27927dyW9kRbpynUjgSDkeP+HOkJkEKBfwCF/68oXmvdgv7dee4O9uFxPAEcDDDlrcccdd9yxqK6urlqZKrHJH5BbeqRfYqs/G3NhzftEwF39ZNPORdR/PI6m195xD6ungLMtzsuGzs8++6z+pZdeuos+f0JLl8pUiWUmGHL82c73A69hcwm/5/3WQ3eVOxrw2gWGO651b73cewo46mHIg1qclg23EOiL6AaQvh11HkECgNysNDltdPKLfe6GRU837d5CotJr7x5rzN4CDlMlqMUp7Lz88suXHzhw4CN1AygC0WGi8x1y3NCp8To++lXN+uVgqPPgu5ZgLC2AY6rQOA6+4MQvr/3OO++8j+zxGmWPkzRidJq5YuiNvomxoQzLBru72e+pWdS46z7qWjsdYAgmAJhivijYM5cIiaITWD7BLw6dc9ANoGMvv/zy3WSP0zeGevzjo6ryy2H50EKQR7pNnmvx0MvugN/7vuPw3Vucx47RbGv8kA+WeFmwVxAkAnAQjM6wqaJ1kl41sfnTTz99Cva4gjz2OQLk+DBTrjswAbt7r6fhqacbdm6m8cpw9+rCUpZdIgBHfQx5iKkyY8aMJbQh6123Gz9I5WKVwElNnrurK16C+4i39d05NeuXkFz0pgkUZkL+9CcKcMwdQw6acaGATrfPnDnz13TR+ZmCnKQRh4OpYs5Rm9yjXVS2f3ZX3YZfk0g0TsjnZcGEwQ1xJxpw2R7XIKevRJy49tprZ9MDEuVqUxZEHrtjyHNpjRwrJvU+R/nDjZtn13scJ0gaAFyGGwwlRHtD0snY3obOyR00EOTe/fv3r582bdr0pmXv9MVXbpWLTQImklWHQGWRxlY203IB7kaf69CC5p037XDU4osCbXQw4DBvE6q9Mf5kAI564UJAJ1vc1dLSsnFUZctltKOuUEHeIaRY/gfkcBBotq6k+KnzJwKe+mUnym9c13roIA1FD3dCNTfkBZcswGV1Ewxv3bq1rcBk+Xycpd836c+vVUHeMQmx/M+yCgozlkIZkoe2mYrWgKf19ROVt/y55cty6pYebmhuAJ5wlyzA0VGeC/a1zm9z1jaVme17hluKL6HVAgtPXMJHloMVsqxCBJrh4+yA292+tv3Ifz7btAu34WW4E7beHUkMyQRcbhNzEpyXTY5jx+kJly2jrSXTSZPbeeLkAiocXgIsq6Aww2fLiFjY3Cf8nsbX2/bf9mzjLqx1M9xY80463BBCqgEPgr7VWdvQbvCuH28tnUo2eR+eOHRKuegSCMqKTHOY55l44F0mDQHn0eXNX9z8yomKPTSiVjoAOMONmzlJsbup3qBLFeBokJVOEPJyV2PLUW/738+2DbjAZjCV8cVUsHcqEFECgDwoyIi50pOAde46n6NiYePuW9a2HfgH9QJgpxxujD6VgKM9OJ4XzT/gOeHY7W5Yd65t0CS70TRE24nRuWrQkV39H0kCDHmmrK1gZnH7/ZjXsfWRhs23b3HUHKW+682SlGhullmqAQ+Bmzqhndd6He5PHDUfTC48ZXShwXyagpynp3ufzRUIMp0OuwLpWUq6/d72wd21G+fsdzfVUX8YbtzIwQ7BlMINeaQacLQJ1wX0Fr/b9zfnwQ/PKxhUUGKyTjIJo4Enr6OI+j+SBGQ5YcU81Qfgdga8gQpP0/O/qP/4d41eB77yK8ONC8qUww15pQtwtM2Q84VGwEsbyN9srdo60FRYPsRin2wxmOzYS4AHc5WLLoGT5kr0fIlMxY5AvL+k2e9ufK/98Lz7aje9SnPIF5PyHcq0wI2xphNwtM+Qww+CvsFRfaTa2/beuILSM+0G0ynKZIGounephJxNkhpf+7aFjTtvp5WSHdRDaG3W3DBJ5KVAzHHKXaYADrj50KCv8rS0rXFUvXtOwSBTX5P1K8pkiY0NNleSSRNu3sAkKfc0L7+j9sMH97ua8fYpaGyGW795KrbOJyFXugHHkHgu4DPkmjanP3e+Na1V2waa7buHmAsn0/ZRu7YXQ5ksUVE4adIlducKcU0mCW7euBvWOo7c/UDtxr90miQMN9a4+WIyabffow5el5gJgKNLMuQy6Fp4g+PY0cNksoyylgymz4SM7nioS9nmurkMOT0JeUh0j05ga/toiuj78OKQr/W9RY3b57x64stdVBlrbACuv4EDJZV2l2lXb+gPrivxw8OXVgvosNFhp6MQ4TvKzvnni+yn/rLUaB2BJ1/4TzKlKRdGArCVe+PY1m70uw9+7Kz+wx/rt26g+mCCMNS8BMjbXbW/vr1pM5FlMw1wjA19wgHI8SVmKx2AnEG39zfbiu8vu+CasdZ+19HHWAvM2ESqzBYSUXgHDRwv5rxC0ub3uCrI1n6w/tMXGr1OrJBAU+MA2GxrY5WE93LH2xQVTZ7LFBNFP0IWEnwc0Aps0/mcfq/3rbYDO+r9zrUjLMVDaePWCGW26EV48px//Kw5ovl4wxSbI/Ty+Y+fa97zq0WNO9aRzOXlP2hvGW7MT0aYJCdH3RHCWDPZoX9ssrA2Z40Os0XT7HMGnP/1C2yDbulrtI7E64nx7lae1EweXKr7Bq0cybGd7SI7m9a1D3zmqln0WN3nH1J+1tSstbH0xzduWOlErjhSgymKz3TAWQyAnEGHbQ7I2T7XIDebzba7+p1z6STbgGv7GwvGKNBZdNF9GWx6J/eXO5x1z/++aetaejMZg80+r2vLtnZGam15xNkCOPrM2hygQ5sz6ACcYYdf8Kuy8y86zz7g2jKj7SwFOkkkjJPBJlNv9xZH3fOP12/+iLICZBwAm31obIDNdyQBdsZqbepb0GUT4Nxp9BnXDgw6tDlrdA1wOtf828rO+afJtkHXDTLZz7XiNQxUBIXz1XwB1KASa9n0Rilx3Of4fJPz+PKF9Vs/o2gGW/ZlcwRQ84UkBbPDZSPgkKzGKfmy2QKNzkuLMujWG0rPmnRhwZBvDzbbp9sN5kLAni8XpQy1n9AG1I6At51edPnBRlf1G4sbduP2OiCWoUYY2poP2c7OCq1NfQ+6bAWcB4D+A3IGnU0XBp01u6blh5qLi27od8b0Mdb+3xxosp9PoJvwch3Anmvr6Vi/BtRegprA9tX6HJu/dDe+vbhp7wf0RincoGHtDKAZcoaal/2gtbPGHKG+dnHZDjgPSA86TBi20dmEYV/T9FMKTx00q3j0ZSOsfb5ZYrCO0UyYLNbssqbuhBpfS/jyoLvl7f9r3f/O+vajx0kmDDDDLftIg7ZmjZ3VYNM4NJcrgMvjgTbHuAA5NDprdQDO0Mu++Yf9xo2dXDB4Kmn1c/uZCibShWkBPi+CR+gy1ZSRgcbmJzxJQ0t8riafaxdp6883uWo+Xtm0r4LGDG0MeAFzOB/prLFhguQE2DQOzeUa4PK4WKsDdD4Ath54TaNTvJbWz2wr+FHfsRMnWErPG2iyndvfVHAGwW7BBSqA7/jX0QwLL1kXrYAYjg1f+LhMBNC4UCSoPfSmqL21Pufn5Z6GLS83V+xq8jphcjDUAJoPBpzTWFuzxu6ongrkkuM5yqUxyWPB+Bh0va0ua3eGnOPYNw21FRX+oHDcV06zlpxdQvtfCg2mEYVGy1CrMNpZw7Mvwy93AmG9oBlafT6GGPYzQGbfLfyOdr/nSHvAd5B28x2scp/Y+Wr7vu1HnG24qwhIWROzz2DD5zj4DLRsX0fqDmXPbqeXe3aPJnrvGXT2WavLpgyDrfflvNoP5eLiYYMmWctGDjEVj+hrtowsMliG01cayugppEK6k2qnbWCFlNGMxhh81vRsXkAbgywizUuvWWinW+QOT8DX7vL76tsCnkPNXs+Bal/rwR3u+gPrWg/DhmYoZe0rwxsuLOdl84P96BLLgdR8Apynq4O5DqWKMOAFtLIPwBlqhp3P9Xk14DvrCKmbzB3zSGtx0RBjob2fuaCoj8GKHZGiJeBub/K62qr97Y4D7tY2MisAZofyPukzzPBZ68o+wgw0Q4xzOQ+X1ddN2fLD5SPg8syGAEkJMqx6kGXA9WlcDvUhzPWiLTmMc9kxeIjjMGtXBlwPLEPLUPM552ef62NfbjdvwhC+ch0SYFkwkPD14PI5QwzokY99jg9XF1rheEAHx/DpzwEp4gCx7DO87CNNDuMcBxz7HWd5+j8LPE+HH3XYLBv40Q4Zan0+NCDXIzfIAMo+wvqDYdfHy+eoF+fK6STAwtdFq9MIEmB5McjIFi1OTo9QZQiYDCnDizLR4iLVqeI7JcCTowTSOwno5ag/R+36OAZXblkfpz+X86pwDBL4fwN/IZwMBwH5AAAAAElFTkSuQmCC',yellow:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAAC4CAYAAAChOH1KAAAlaElEQVR4Ae2dCZhUxbXHTy+zL8ywDDsSVhEVJQoCkoSIIr4kvohLxO2ZfC8an0mQrCQm+uJ7qHkv5hE/xSQaNokBogkxigaUuLDIpsiOMA4MOwyz7zPd7/yLOZfqnu7p7umeXut83+2qW7du3apTv3v63Lr31rWRkUhowOZViPc6Nutpbq/8WPVO8173sYtJ6kgDusI7yme2nYdTdIZQj0NH1vrgwYNtc+bMyb344otzCgsL87KysnLT0tKym5ub6+rr62vKy8urd+7cWfv444/XlJSUAGSB2VfoKw3HM9KBBqQzOsiSspsEXgmhCMTtDGT2TTfdNDwvL28kQzvC6XSOcDgcQ2w2Wzfenme323M5nuN2uwPql/O5OF+dy+Wq4X2rOV7Z2tpa3NLSsp9Pgv3V1dX7XnnllU/4RKnj7S5edNARl4WjRnQNBFS+njnJ4wKxHtp37NgxpG/fvlPY6l7CAI/kZTgv/YMBN1L64hPAzcAf5eUTXvax9d9x/PjxtZdcckkxH0OAF8gljNThE7acVIdbQLZzDyJuX7du3YChQ4dOycnJ+QJb5M+zFR4Qr73L1v4IW/h3amtr/3nw4MG1kyZNOsJ1FdglBOwpKakItwfQTz31VN4dd9wxnd2LL7J1/hzDPCxRSWDYD7BVf5fdmbeXLl26avbs2dXcFsCdkqCnCtwCNEL7gAEDnBs2bPh8QUHBnenp6TdyWi4vySY1TU1NKysqKl6cMGHCO0eOHGnhBuqQJ71FT3a4FczcqQgdu3btGtWvX787MzMzv8YWun+y0eyvPWzRjzY0NPzp2LFjL44ePXoP52vlRbfo/nZN6PRkhdvyoX/7299245GNe9iHvoMvBC9P6N6KQOX5gvRD9tGX8gjMovvuu6+SixRrjjCpJJngRluwAGz78uXLu0+dOvXbDPW3eL2QFyOeGihnyOevWbPm6VtvvfUsbwLcAnpSuCzJALcH1KtXr+4zduzYWbm5uf/OnZWMvrQnouGv1bD8ftu2bf937bXXnmgDPCkgT3S4lZXmDrGvX79+0EUXXTSbRz3u5fXM8Ps85Upo4FGWBbt3735q4sSJh7n1YskRJqQkKtyoN8B2vPzyyz2uueaaX2RnZ9/NN1bSE7IX4qjSfMOoqa6ubvFbb7318xkzZpRx1XDxKZY8jmoauCqJBjfqi8WB4bzNmzf/W/fu3R/j9R6Bm5o6OWyuErK1fMiKwuhfJ8VNZWUVtT/77MTHFrYNI8oIS8L444kEt7ggju3bt182bNiweXwHcXwnuy5pdwPYzrofMdiR8SaaW9wffFLc+N3RE/7xEStNrHhkCu/iXkgEuFFHBfb8+fMLb7vttkf4YvGb7II4u1g3CVm8vXEpORtfiGzdbbaWmpqW3724ou4/v/WDj8u5cMAd965KvMMt1tp56NCh24qKip7gmy99IttzyVWao3ERYekKcbnpxKmy5h/3HbVpGZcvdzzj1ooDnngUnHQOLI8++mhBZWXlC3369FlowI5tV9lt1KdPz7SFdaUTXnj00REF0kccxqWRjMdKWWBv2rTpUn7YfwnfWRwZ225NnKN3peXWtdDion0799TedfkXPvqY0+GLywWnni2m8Xiz3KgPLLbz6NGj3xgzZsw7BuyY8uH34E47jRxzUc47J/eN/wb6ixf0W1zxFC+VEWvtnDt3biE/ybagZ8+ez7CysngxEqcasNkoq6i785m6w1ctmDt3GB5xEMjjwiOIh0qgDjjJMG49hp9ae5Gt9fA47c+4r1a03BJvRbS43J/s3FN3R5ubIhebMR0Tj7XlFoudtm/fvmsuvfTSNQZsb2wSY91ptw0fMzrnrYObr7iGa5zGC9yUmBrPWMItYGOY7xZ+W/wvrIw8XowkqAa4Q/M+MzjjL0d2jL+FmxBzFyVWcOO4OLPT+AH6b/ELuAs5bp4LYSUkujDg6f37Ohee3ncVHjUWCx4TzmJxUAE7/eTJk4/06NHjKb7bGIt6JDpH8Vt/N9l7dnc8dfaTcY9wJWG0YjKSEm2oFNh80ZhRVlb2NL/D+KP47SFTs3A1UFiQ9qOakglPjx7dKyMWgEcTbgX2+PHjs3j6hCX8fMjXw1We2T/+NZCTY//65jeGLRk/vjuGdaNqwaN1NavA5salnz179jl+9evO+O+WxKxhrIYCA2mrtq71xdwLNt7P+Zp4kacLA+0W1vZoWG4BO4197McM2GH1V8LunJPtuLP84FWPcQOidpHZ1XCjfCxppaWl32Ef+6GE7R1T8bA1UJDveOjUnvHfAQ+8CBthl+uvgK6EGy6PAru4uPj23r17z/VXCZOeOhro1cs5t3T7uNu5xQJ4l7nGXQU3KqzGsfmF0+v79+8/P5oTR6YOKgnYUjfZ+vdLm7/vg7HXtwEOTroE8K6AWyy2kx9ZHTdkyJAlbY1IwJ4wVe4KDTAgacMHZy3Z9vbl47h83MkEhxEHvCvgRpnOefPmFfF49lLMU83rRowGPDRgs1POpRdlLZ33xJAi3iCAe+QJdyXSZ4sCmyuVwY+truA5RKaFW0Gzf2gaiNehQH+tqKt3vZkzaAOeRWnkRZ4m9Jc9pPRIWm6cKMrPPnz48HcN2CH1Q8pmzs6yTzux+8rvsgJkiDBiBjdScAvY8LOv4hd58UyBEaOBoDRQ1DPtEfa/r+LMEX2SMFJwoxzHE0880Yv97AXsZ6OSRowGgtIAeLl0VNaCJx4d0ot3wL9/RLiMxF8AKgKY4WcvY3dkOseNxEgDieZz62qqq29dlTNo422cFhH/O9wzBCeHgptfOHjAgK13lYmHqoHsLMf0ozvHPcD7yehJWMY3HLgtsBcvXnwB34F8ONTGmPxGA94a6FuU9vDiZy6+gNPDBjxcuNXoyA033PA4+01mLmzvnjLrIWuA36jP/dcb8h7nHcMePeks3JbV3rp167X8sVF8NMmI0UBENJCXa7/xo3fGXsuFhWW9Ows39nNed911uRdeeOEvI9IiU4jRgKaBi0Zk/vK663rDGxDAta3BRTsDt2W1n3/++Vk8jfDQ4A5lchkNBK+BNKdt6OJfD5rFewjcIV9chgq3BTZ/UGkY36wxz2cH318mZ4ga4Js7Dy1fMHpYZwHvDNzqIpI/1fEkX0Sab8+E2GEme/AasNltmdO/kP8k79Gpi8tQ4Las9rvvvjuBXxe7LvhqmpxGA53TQE6O7bp1r4+RW/PgNWj3JFS4ldXmW+zfY6vdudqavYwGQtAAOONb89/nXUK23sHCbVnt119//TKelmFqCPUzWY0GwtJAbq596j9eueQyLiSki8tQ4IbVdl555ZWzOTRmO6zuMjuHpgGbbfxlOeAOcIPDoPgLBm7LavM3H0fl5+d/KbSKmdxGA+FrID/P/qWXXxw1iksK2noHC7ey2pMnT8bQXzD7hN8aU4LRgIcGbPYpV3UDf0Fb70CgitV2LFq0aAhb7RkexzMrRgNR1ADPezJj0fyLhvAhYWzBbofuSbBwO6dOnfogX7miUCNGAzHRAA+cOP5lSt6DfPCgXJNg4HawO5LDs0XdFJMWmYMaDWgaKChw3DR5ck/MqBDwwrIjuMUlwTQN0/lzHvjuoBGjgZhqwG6ngmfnDsTbXgGtd0dwY5u6kBwwYMCt5qZNTPvUHLxNA+BwYP/0W3lVLiz9MuxvA6w2FsecOXN68fPaX2wr2wRGAzHXQF6O44tzZlsvEwur7erVEdzY5rz77rtv5s9S49anEaOBuNCA3W5L+/rt3W/mynTomnQEt3JJ+JvrmA3IiNFAXGmgX1FawC+m+YJbzLxjyZIlI/mNdtzTN2I0EFcayMqyXfbS7y4cyZWSURNw6yH+4MYOjokTJ95iLiQ99BX3K271Tx331Qy7guBy0vg8WG/FKoft4IbP4i3IpPztwsLCz3tvNOvxrYEW23iqKPs9VxKfnUlc4fncPSrvtUpYb2lygU+/frc33JZLcs899xSwS3KpxxFSdMVWv4dsle+Qzd0c9xqAGevm/AJVVBSTy+ViCDwhQQN8JLVLc1P7/bz39VXOuTye+/rK5zvNcz+U1ZG4XO5Lb5teWbBs1QHMUCXsWoV4w42yYLUd99133yQ2/dBVSoutbhc5997MmkscS4hOK2hxU1mlb7h9daj3f7r3uq99Yp3GJ67jnqktk5atopVcF3Dr0UnecKNNCu5+/fpNNv42m4PyN8jWdDTW/Rjy8TF22yPLTWeriFyWLQu5mLjeAbD26eaezMHfeQG3SLJaiwRdsK7g5icAJ+kbUjVuc+OziYkpPD0Cdc/nDk0EM9xJFedn2ybyrvizEnatknS4oQIsjlmzZvXMzs6+0MplIgmrAQHcwT0tHZxMYXaGe9QDX03vCW55kaap/vIFt33mzJlXt2VUmcxPYmsAgBfmsWkD4Nz9SbbYvnq1G7yC5Q7hRgYH35W82vjbiQ20d+11wL23JfI6OO1TSIBbXBMArsTbciu4eU4Sc1dSNJREoQKcZ9+DBY+U4F8AIv8GEleJUfrJyiTw2g5uGS0R2hXcPL79mSjVyxwmyhpwwkXJdVNFTeRGUQRwNEXiEkajedkZBF4FblUN/nHr5zDi9p/85Cd92NSzh2YkWTUAwAtgwcWkJXhD+UTKm3VLWh9uhmJYmiNwo5lY7Pw8yXDZaMLk1YAArkZRuOdhaRN5mXSxDdyCZ2FZrUgPKrj55s1QczEpKknuEIB347cRYcGFiEQMUf++3V1DubcEbtVx7Sw3v3UzLLm71LRO14AADqudyJKbaQO3ArdqjQ434naeB3CIsdyJ3M2h110Aj+QoSui16Pwe4DUnm4ZwCYphDhXcGC2Rcxahg0dKkMlIimkAgOdnu6mqzvdTg/Gujqx0G7jFiInFM0iHIME+atSo9MzMzAEqxfyknAbOAc4gMBWJdnGZke4eMOozmengmBcFuA63bdq0aYV4jDDletU02NIAAM/LOge3lZgYEceUMa2FXFWAbcEtKzaen4RHP42kugYE8M6Mg8uFqVh+6FLSfOlVtnU2v+yHcFCRG/xaPOt3KG29evUyN2989UAKpgHwXH4evKZee0A6SD0IsMgucQl9FaFvk7iEgfLr27vnucGvwK38E9lu42FAY7lFGyYkZcGz2YkFLgkg+TkOsdyqtjJaomjnZ7gN3AnQidGsosOhWXDrHZdo1iC4YwHgzEzfbglKsBm4g1NkquUSwGsb4neYEG5MTjp5WG6P0RIeBswxN3BSDd3g2gvAc/irox35wsGV1DW5UK/0DDemNlZeCI5ijQkikT91jY1GjAZ8asAX4AI7Qj3us4BOJOpl6nFfRaU77AI3Ntv00RK+gDBw+1KaSTuvgXOAu6mOZwqRuUcEOuSSuITn9+x8TC9L4hLqpTqdynIjCdbbc+6t1tbWFiQaMRroSAMAnF/MpXoA3lHGKG9rddk8+BWfG9WwNTU11fqaoSjKdTSHSwANAPCsjDYTGQf1xb9IYzPVclWU1UaVdLipoaEBG40YDQSlAR1wuYrzDlGQRZuPUmWb937+1r3L0/fnuQM9+NXhdhu4fWjfJHWoAQtwocwrtyQHC6vX7u1WvctDBkmrb7YBbstTErhVQl1dHb82asRoIDQNAHA8j+frIi+0ksLLzRe5wq/iGaMlQrq7oqLCw6yHdyizdypp4JwFd1MDzz4noyjRbD9OrMpaD8vtlqFAAO4uLy8X8qNZL3OsJNEAf6uGLfg5wKPdJMBdXuMCv4plHF/cElWX06dPV5vREqUK89NJDZwDPPouCv4tTpVTtV5tgVvRvnv37hoDt64eE++MBgB4Bs+hDGvqvaA8pIlIXPIhXdIkjx7KNskvIa4q9xyyA24Py40ViHvlypXVPNbNMzobMRoITwMW4F7FeMOJzZKmxwVa71DPg7hIczNVvba+SdwSJFszTgntbh4xKTHWW1RmwnA0AMDTYcG5kK5ccAXLIyUlfBiLY9Rb3BLEscFVW1tbghUjRgOR0IAFuOaKRKJc7zJqG2wlnObiRTwRBbfQjg0uHg781Fhu1oSRiGkAgKfxuJy3ixGpdVS0qtb9KQeKYQ4V02K5BXA3j5gUI7MRo4FIakAAj2SZelmnKuggr1scYxvg1hNaecTkoLHcUI2RSGtAAI+UxZZyUM89h1wwyviamcWzWG5sVyZ94cKFn/L3CxE3YjQQcQ0AcCfPjAMwIyVMq2vhasenXJ5iWMoVuIV2165duxp4xOSYZDCh0UCkNaADLtY3nLC+yXZs14EmfsPTuqAEz9ZoiQU3p7XW1NQY1wTaMdJlGsC7urDg4Qpc6JoGN/xtuCSw3MKyB9xi0l0nTpzYbPzucNVu9g+kAQE8lDFwlOnh0TDKJ8tsmznZ4pfjHpYb+yABGVq3bNmywbjdUImRrtYAAHeE4IML2HJC4OvIW/e3buB66pZbVbudz41MP/3pT3fziwvmNnxX96wpX2kAgHd2ZtnGFqr68QuO3eCWF59uCQ5iWe7q6uqms2fPbjWuCdRiJBoaEMBDORb4LKugLYwrvmGuw62KEcuNFQtujrccO3bsAwO30pH5iZIGBPBgR05QrWNltk0c4K33gHADcGRq2bBhw3rjd7MmjERVAwAccAcj8LfX7Wxdz3kFbvCLRYleDOIYnOEX9tWca93OnDmznmd+7aFypuiP48jjhMVIdDUQjNdQVecuK7iheSLXrJIXPO7KM6ko46wAl9fMOE0Rj0Q1YsJhC8O9mT+Vfb09Ub8EhFaFKc2taVReYRmDMEszu4eigY4Ad7HZPnyKMAQoVtvjYhLH0eHGusCNHVr27du3euDAgRGF21axm2zH1pLN3Yzjxb3YG89Qel02PzIM3bUXf9jjtSdf4i8def3s4veFW39l+StHHaODjaGW5zd/R8fw08pQy2ppddOuva2rGVPFKrdN4EYzlehuCRKwDuB5Pk/KGzlyZM/169e/z5/vi8gXFwC28x9fZrDh1ieOVNW7cBcscSqcAjWtbXRXf/l/K6/ed6rpDDcXr5fh9jtAtzrKl+XGRtDXzJa77siRI6tHjBhxUyRcE9vhV8lWe4SLTizJR3XZLtRiwMlIzDWAx/qOn6HV+04Rf1iQ4AKAV3Brgc1x6/Y74iIw71hwFjTxqMlKniBTtoUV2lyJS0c+f+GLJzc3EgcaYI+EthyilVwVAAVOhVmP2unj3LJBLLfyZe6///5NVVVVRzty7mXHZA8BeC6PJcF3M0tsdADbzF94OPq9P5OMb4NTsdweCPqDWwCHyW8uKSl5zcB9Tm95fDWSg8FSIzHRAC48SyvoNT64YpNDARvMeogvuJEBZh474axo5ikf/trM784bOacBATzYO2kmH1t5/quLxNLCCK/aSX8Fl7yI1Qav7cQf3DgLLL/7ySefLC4rK9turPd5/QHwbOODn1dIFGKw2uW1tP3/3qZiPpzub7ez2qhOMHDj7GjasWPHSy1qSBG7GYEGlAVnwI3/HR0dtLK53XWCXmLVC9hgE0Y4JLg5v9oBO8L8N82cOfM1nvah1FhvqOa85BoLfl4ZXRiD1a6sp9L7lil/G3CDS79goyr+LDe24Wyw/G5+9axh+/btf4jUsCAOkCwigEfCpzRl+PbN8ZDUzhP0h5oadbNG97d9Wm2wFQhuAVxZ729+85t/raysPGmsd/vTEoBn8dRhRiKvAWW1G+jk7OXqQlKstt9REqlBR3AjD8w+CgHcjUePHq3duXPnImO9WRs+xFhw31Y33H8jWO29J2jR0Qr1QSc8+QcewSX49CuB4IblRgHqopLDxm9/+9sr+E2dMmO9fesUY+DGgvvWTWdSYbVrmqjsxytpBfjjRS4mO/S3caxAcCOPWG8FOD9vUrVnz54XjfWGanyLAG5GUcIfRcFzJPtP0ov7jhPe6RWwA1pt9EwwcIv1Vn4379M4Z86cl9h6VxrrDRX6FgW4GQf3rZwgU2G1qxup8ud/V8N/YrXBYUCrjUMEAzfyifVWvvfGjRvLN2/e/LS5awnV+Bfc5MnCOHiE7s6lWjktTN22Unp6awmVs5aD9rWlR4KF29t6N8yYMWMFT96z07xnKar0HQLwTDOK4ls5HaTCHTlVTTvvWqR8bTyrLaMkQVltFB0s3MjrYb358yL1y5Ytm8vzm7iMewL1+BcB3PjgwfnguMPC85G4Xt5Gc3nShnrWbMhWG70RCtztrPfDDz/88f79+/9sLi79gy1bBHBZN6F/DeA2+4Ez9OdfvE4fc65OWW2UHgrcyC/WG38ROJsavv/97/+Gb8ufNdYb6ulY4H/DRUk13zmU9kKDlY109sd/pd9wFGDLhWRQIyTYXyRUuGG9cRAMC+Kg9e+9914ZX2D+mt0UXjUSSAMAPMP75b5AO6XQ9iama0sJ/XrjQSrjZotLAt7AHfgLWkKFGwUL4GrkhNfr+eJyJd+93Gbck+D0LoCHYtFSIS/uRJ6oom23v6BeIROwwVnIYKMnOgs33BPrriXHG+bNm/cIv45WY0ZPoNbAIoAHznk+By5IIXJhKnGV2JYuaXpe2R4o1PfR4/720/PocX/5O0rH6EhlA9U88096hPPp7gg4A28hWW0cqzNwYz/xvS3r/dxzzx1cvXr1L3j0hOfZCLkeKDPlBP43XBSAEcwCBQlEelz21dP0uGwPFOr76HF/++l59Li//P7S20ZHaO0++sXv31cfbvK22uAtZOks3DgQDijWG2da/V133fXm3r17l5ubO1BPcALA01PcB29mp4OnaVj+jcX0JmsNYMsIiVjt4JTplSscuGGeAbhYb1So7pZbbvnV8ePH9xr/20vTHaxaFpxNWyr41nob4WefrKG9dy6kX4EfXsQlAVfgq9NuQAS+SsKHPy829rt5gquWDydMmPCVjIyMdMzaKWI/8S5hMdJeA+r7MNyN6GwR0Zy/v/NIp+O4ckw9LsfR0/S4bA81xAx1VQ1U+8s19K1/7qVjXGYtL7Dc8oCUpg0cMTQJx3LjSDi4t3tSN3/+fPjfjxn/O7TOyGAXJQ2f0ODdsEAkPLfWtb9yLH/HD7Q9lNrhsqyBnY639tJjv39X+dlitQXssKw26hIu3ChDABf3BGdeHfvfq/jR2BVm/BsqCl4E8OD3SMycGM/ec4JW3LuYVnELADa4wb2TsN0RLkNJJOBGQTjLMBbpAfj06dOfLC4uft8ADhUFLwAcF5m6b5pMcVxAlpyl9298jp5krXiDDY7AU9gSKbhREVhwffSkjt+3rLn55pt/WFpa+rEZQQmtrwA3XJRkE4B9pJw+/trz9MPKOjVhvLc7Ao4iIpGGW/xv/L2o0ZMDBw5U8HyDD/HjscUteEDXSNAaEMCTxWrjgaiT1VT84Ev00IFTVMGKELDBiwz7RQzurrYNqqKHDh1q4tvzGyZfmHVNbsUHufz5byNBasDRZn7kvpiuOokj9LXgEJJHj/vKK/kk7Ex+7KOLlIUQdyBP19CJOa/Q/W/soSOchJERwB1RP5vLs6Qr4PZ55vHFZb2r1b1lXNHRa/muXKYB3OqDgBFfgOvg+CtAz6PHuyo/jqEvOA7WYbF5GrSKX71NDyzaQAc4SYb88O+O67SI+dlcliVdATcKB+CyyMFsH+w6WsnTAO+8pD9dx4CnGcBFNYFDAVwfBw+8V+xzAGyeKar+D+vpu798k7ZzjWCtxR3Rh/0iXtmugluvqECO0MbPD5zpmUs7RvamKQx4Rgp/S0rXUVBxAVwpkk1ivPviAPtsPVUv2Uizfvaq+jgToBarDbBhsdGcLpFowo0GqIas3kOnud0fjBlAk/nWc450Wpe0MMkKFV3BB9ddgHiLtzC27GOfmvcWPTj3DfqIuwFQY4ErolvshIab22KdnWiIasyGYqrkZwreu/ICmsivYBVIpyGzkY41IP92cpHZce7ob23icY/jVXToZ3+jB55fR59wDfCNSN1iR3xkxFcro2G55bhyhlqAf3yEanccp7WfG05j+XszRQAcf7VGAmsgHgHHyQawedqzXQ8up/949WNrVEQHO2J3IANpKZpwS10EbhV+eoYaV++lt68dRaPyM2mAAVzUFDgUwJEz1v436oBb6p+W0cZbX6CHNn1KpzkJUMPP1h+GYo/U+ifnaNdJtOHWwZZGus/UUMufPqS114+mfvkZNNxpLHjQPS6Ax9JFwRh2Hdtjnqzy9WnP0k9Ky9QNmpiCDQVGG27pNB1yxF31jeT63Xu07ooLqLx3N7oy3UFO6TjZyYS+NaAPqUbbgquhvkZq5FGwX13/ND3L/YgPnsLH9jXch76OmsQKbjRQQd0WWrAv30r7bXbaOLIPXZHppG7GTQmOBQ/AeZeuHj1B7/HEOXSikg4/vZZmzV5Ba/mwsNbiX8uoiNygQR9HVWIJtzQUjYaLYrkp6w5QOfvhb04aSn3YDx9m3BRRVcehAN7VFCk3hAfz9p6kN29fQD9Y+REd4poJ2GKx9TuPXV0ln4qJNdxotPeiQD9dTc3sprw39gI60zufxsFNkb9cny0xiUoDMtrUFTTBr1e30huo8e399D/TfkPPcj9V8oF1/1qeFRGLHbOeiTXcaLj0g1hvPXSv2EqfuG20bngRXc43fAod/H8rHRgzrcX5gS39tOlKjEI4IcDGmzPHKql43ts0i7/g+y6rQe44yoiIgC19GFNNwTWLF0FdcLJh4cf1Cd/p5Q9SqyW7ex7lLL2X7vjsILq3WyZ/vIBzWZ3ImYy01wDch3AFUOMZbJ5TpH7rYVrAs64uPVvtYan1N2hgrbGIwQr38GHtHw+WW28AlCKLnP0IW+ubyLX0A9pxqIzWXNib+vLk7oPlYtNArqvwfDwcvYgLUsu2eP9pemfOSvrBwyvpHe4HuCAyGgKwvZ/siwuwoYV4styojwieYsaCGT14dj1lxfl7YZYlz3j2drr6Xy6m2T3zqD+PqpAZNmTt+BGAiiVYgcWHC8L3H46+toOeenAZvc/7wuUAzAI01vVnRCLwP8ElRlDiFW40EXUTwAVyAG4tA3tR3oI76J4xA+mOvHTKgKtiIIfq2kswcANquCDVTdTIj0YsvXcpLSo9rcatYZ31RaDmU8Aa5Wp/0BinxDPcUA3qhwXuEwCHLw5LbgGO+MyraNCDk+nuEb1pOrsr6TyyYiBnxXiLP8ABNW6dswvStP8UrXrmPVr8x410mPfXgUYcUGOID1CLbx3CfwLvFUWJd7hFFagnrLhALq4KLjoF9IyvXkb9Zk+lmSOK6Cv8XfZMfl7cQC4a9BECatyIqW6gBob6b0+toT/+5SM1OQ5cDgEbcd0FAdRwQeIWaq6bkkSBG5VFXQVyWHFxVQC4QK7iU4ZTr4e/RLeN7kdfzcugXAU57xnOBRYfIykE1htv8yioG6lm1zH6y3/9nZat/UQ96CQgA2yJ+3JB4h5sdFYiwS1wCeDe/jjAFosOa57+2c9Q4X9/mW4Z3Zdm8J3OQszJJ3c7Uwl0AI0Fkw80sFPBU5iV7zpOL//0VVqx9VP1pTAALEAjrltq8asTwlpz3S1JRLil8gI5XBUs8MdlfFwgV8AX5lHW4zfSxCsG0vUDu9NEfnY8Xax5Ml+Awu0QK13bRE2lZ2n9llJ6g4f11pdXW4+h6hYacfjUcus8YVwQrnM7SWS40RjUXyAXn1wgB+ACucTTxw2mbj+cRlNH9aZp/QroYobcpmZ3QkFcUiJbdLHQ8Bnw0gC7Hu5jFbRzDz8Dwi/nrtlUom6VwzLLIhYa6zrUsNJiqRPCBeH6tpNEh1sa5AtyfXQFcAN6gVydAHdNoAF3j6PpQ3rQlIIcGoxRFoCubg5x5niHXYcZz3wAaIx6VNRSSXEZrV28iVYt2UBHuCkCrkCNdT0O10OsdMJDzW1Rkixw6+0R0MVd0V0WuQgV0MXKO798CRV9bRxdMbQHje3TjS7n0Za+cF0wdq7DjgPFwroDZIgCmkPAjDHpttGO4/zo6YcHy2jbnzbRlld30CnOAmB1qAVoPR1Ay4IjyMLRxJdkg1vvEbQNroq4KwI7ABeovUNsQz7nzHHU78YxdMWQnjSWn0q8LDuNemIObVyQAnbrwpQzQ3Tg9fi5rYF/BV7klLgijX9wIQiYEeKtcn7r5czJKvqo+AxtW7mdtvxxkxq+E+urwytwSyh5BGgu0XI/AlcywXIkM9zSFWLJBXSEFsQcB+BYF+glriBvS7dPGU6FUy+iwcOKaFBRPg3qlkUD89NpIFv4fmzdnQAez1OLK6POLK91bBPLq0IGFxd8AjHSsN5mlVt4/PlYVROV8qQ2paeq6DDPr3d4zW4q4WE7fAsdYAJWAVbiANk7DpiRJjAjVIflMGkFfZAqgrbqC+AF6Ahl8QU20mS7vo86WXIzyfm1K6jfZQNpQEEm5fP0w1lZaZTNw47Z7L9ns4XPZl8+i61+NsOdwQA3svWtY9+4ni1xHfvJdTw8V1fPS2Mz1Vc0UNVHpXTkT1voWE2DB5AAFFCK1RVgBWR9Xc8j+wjMEnJRyS2pBLfekzrkiCtQOdThFaB9wS0nhYRShne5so5jIy4CwCACmncolhWQCpwIJS7wAmyJ+8rrXS5nTx3RFZ46rfZsqQCohwK7Hgr4HaXpZUgcR9PjWBfo9LikIRSQBWZ93V8a0vUyJI5jpKRA6UY8NSAgeoeAGmmBQu/9UDrSvAXwQQRCPRRQA4X6PhI/V6r59al0oxZPDQisSPUVlzQ9lLx6iLi3AEiIHgqk3qHk886rCjA/7TWADjESugZ0vUncO5RSJV3W9VBAlTRZ9w6xXdIkrwkDaKAjxQfY1WwOoIFQdGvADaDMzmz+f6SMYEX4z7hMAAAAAElFTkSuQmCC'};return{FaviconsByHue:FaviconsByHue};});'use strict';tr.exportTo('tr.ui.b',function(){function HotKey(dict){if(dict.eventType===undefined)
-throw new Error('eventType must be given');if(dict.keyCode===undefined&&dict.keyCodes===undefined)
-throw new Error('keyCode or keyCodes must be given');if(dict.keyCode!==undefined&&dict.keyCodes!==undefined)
-throw new Error('Only keyCode or keyCodes can be given');if(dict.callback===undefined)
-throw new Error('callback must be given');this.eventType_=dict.eventType;this.keyCodes_=[];if(dict.keyCode)
-this.pushKeyCode_(dict.keyCode);else if(dict.keyCodes){dict.keyCodes.forEach(this.pushKeyCode_,this);}
-this.useCapture_=!!dict.useCapture;this.callback_=dict.callback;this.thisArg_=dict.thisArg!==undefined?dict.thisArg:undefined;this.helpText_=dict.helpText!==undefined?dict.helpText:undefined;}
-HotKey.prototype={get eventType(){return this.eventType_;},get keyCodes(){return this.keyCodes_;},get helpText(){return this.helpText_;},call:function(e){this.callback_.call(this.thisArg_,e);},pushKeyCode_:function(keyCode){this.keyCodes_.push(keyCode);}};return{HotKey:HotKey};});'use strict';Polymer({is:'tv-ui-b-hotkey-controller',created:function(){this.isAttached_=false;this.globalMode_=false;this.slavedToParentController_=undefined;this.curHost_=undefined;this.childControllers_=[];this.bubblingKeyDownHotKeys_={};this.capturingKeyDownHotKeys_={};this.bubblingKeyPressHotKeys_={};this.capturingKeyPressHotKeys_={};this.onBubblingKeyDown_=this.onKey_.bind(this,false);this.onCapturingKeyDown_=this.onKey_.bind(this,true);this.onBubblingKeyPress_=this.onKey_.bind(this,false);this.onCapturingKeyPress_=this.onKey_.bind(this,true);},attached:function(){this.isAttached_=true;var host=this.findHost_();if(host.__hotkeyController)
-throw new Error('Multiple hotkey controllers attached to this host');host.__hotkeyController=this;this.curHost_=host;var parentElement;if(host.parentElement)
-parentElement=host.parentElement;else
-parentElement=Polymer.dom(host).parentNode.host;var parentController=tr.b.getHotkeyControllerForElement(parentElement);if(parentController){this.slavedToParentController_=parentController;parentController.addChildController_(this);return;}
-host.addEventListener('keydown',this.onBubblingKeyDown_,false);host.addEventListener('keydown',this.onCapturingKeyDown_,true);host.addEventListener('keypress',this.onBubblingKeyPress_,false);host.addEventListener('keypress',this.onCapturingKeyPress_,true);},detached:function(){this.isAttached_=false;var host=this.curHost_;if(!host)
-return;delete host.__hotkeyController;this.curHost_=undefined;if(this.slavedToParentController_){this.slavedToParentController_.removeChildController_(this);this.slavedToParentController_=undefined;return;}
-host.removeEventListener('keydown',this.onBubblingKeyDown_,false);host.removeEventListener('keydown',this.onCapturingKeyDown_,true);host.removeEventListener('keypress',this.onBubblingKeyPress_,false);host.removeEventListener('keypress',this.onCapturingKeyPress_,true);},addChildController_:function(controller){var i=this.childControllers_.indexOf(controller);if(i!==-1)
-throw new Error('Controller already registered');this.childControllers_.push(controller);},removeChildController_:function(controller){var i=this.childControllers_.indexOf(controller);if(i===-1)
-throw new Error('Controller not registered');this.childControllers_.splice(i,1);return controller;},getKeyMapForEventType_:function(eventType,useCapture){if(eventType==='keydown'){if(!useCapture)
-return this.bubblingKeyDownHotKeys_;else
-return this.capturingKeyDownHotKeys_;}else if(eventType==='keypress'){if(!useCapture)
-return this.bubblingKeyPressHotKeys_;else
-return this.capturingKeyPressHotKeys_;}else{throw new Error('Unsupported key event');}},addHotKey:function(hotKey){if(!(hotKey instanceof tr.ui.b.HotKey))
-throw new Error('hotKey must be a tr.ui.b.HotKey');var keyMap=this.getKeyMapForEventType_(hotKey.eventType,hotKey.useCapture);for(var i=0;i<hotKey.keyCodes.length;i++){var keyCode=hotKey.keyCodes[i];if(keyMap[keyCode])
-throw new Error('Key is already bound for keyCode='+keyCode);}
-for(var i=0;i<hotKey.keyCodes.length;i++){var keyCode=hotKey.keyCodes[i];keyMap[keyCode]=hotKey;}
-return hotKey;},removeHotKey:function(hotKey){if(!(hotKey instanceof tr.ui.b.HotKey))
-throw new Error('hotKey must be a tr.ui.b.HotKey');var keyMap=this.getKeyMapForEventType_(hotKey.eventType,hotKey.useCapture);for(var i=0;i<hotKey.keyCodes.length;i++){var keyCode=hotKey.keyCodes[i];if(!keyMap[keyCode])
-throw new Error('Key is not bound for keyCode='+keyCode);keyMap[keyCode]=hotKey;}
-for(var i=0;i<hotKey.keyCodes.length;i++){var keyCode=hotKey.keyCodes[i];delete keyMap[keyCode];}
-return hotKey;},get globalMode(){return this.globalMode_;},set globalMode(globalMode){var wasAttached=this.isAttached_;if(wasAttached)
-this.detached();this.globalMode_=!!globalMode;if(wasAttached)
-this.attached();},get topmostConroller_(){if(this.slavedToParentController_)
-return this.slavedToParentController_.topmostConroller_;return this;},childRequestsGeneralFocus:function(child){var topmost=this.topmostConroller_;if(topmost.curHost_){if(topmost.curHost_.hasAttribute('tabIndex')){topmost.curHost_.focus();}else{if(document.activeElement)
-document.activeElement.blur();}}else{if(document.activeElement)
-document.activeElement.blur();}},childRequestsBlur:function(child){child.blur();var topmost=this.topmostConroller_;if(topmost.curHost_){topmost.curHost_.focus();}},findHost_:function(){if(this.globalMode_){return document.body;}else{if(this.parentElement)
-return this.parentElement;var node=this;while(Polymer.dom(node).parentNode){node=Polymer.dom(node).parentNode;}
-return node.host;}},appendMatchingHotKeysTo_:function(matchedHotKeys,useCapture,e){var localKeyMap=this.getKeyMapForEventType_(e.type,useCapture);var localHotKey=localKeyMap[e.keyCode];if(localHotKey)
-matchedHotKeys.push(localHotKey);for(var i=0;i<this.childControllers_.length;i++){var controller=this.childControllers_[i];controller.appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e);}},onKey_:function(useCapture,e){if(useCapture==false&&e.path[0].tagName=='INPUT')
-return;var sortedControllers;var matchedHotKeys=[];this.appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e);if(matchedHotKeys.length===0)
-return false;if(matchedHotKeys.length>1){throw new Error('More than one hotKey is currently unsupported');}
-var hotKey=matchedHotKeys[0];var prevented=0;prevented|=hotKey.call(e);return!prevented&&e.defaultPrevented;}});'use strict';tr.exportTo('tr.b',function(){function getHotkeyControllerForElement(refElement){var curElement=refElement;while(curElement){if(curElement.tagName==='tv-ui-b-hotkey-controller')
-return curElement;if(curElement.__hotkeyController)
-return curElement.__hotkeyController;if(curElement.parentElement){curElement=curElement.parentElement;continue;}
-curElement=findHost(curElement);}
-return undefined;}
-function findHost(initialNode){var node=initialNode;while(Polymer.dom(node).parentNode){node=Polymer.dom(node).parentNode;}
-return node.host;}
-return{getHotkeyControllerForElement:getHotkeyControllerForElement};});'use strict';Polymer({is:'tr-ui-b-info-bar-group',ready:function(){this.messages_=[];},clearMessages:function(){this.messages_=[];this.updateContents_();},addMessage:function(text,opt_buttons){opt_buttons=opt_buttons||[];for(var i=0;i<opt_buttons.length;i++){if(opt_buttons[i].buttonText===undefined)
-throw new Error('buttonText must be provided');if(opt_buttons[i].onClick===undefined)
-throw new Error('onClick must be provided');}
-this.messages_.push({text:text,buttons:opt_buttons||[]});this.updateContents_();},updateContents_:function(){Polymer.dom(this.$.messages).textContent='';this.messages_.forEach(function(message){var bar=document.createElement('tr-ui-b-info-bar');bar.message=message.text;bar.visible=true;message.buttons.forEach(function(button){bar.addButton(button.buttonText,button.onClick);},this);Polymer.dom(this.$.messages).appendChild(bar);},this);}});'use strict';Polymer({is:'tr-ui-b-toolbar-button'});'use strict';tr.exportTo('tr.ui',function(){var Task=tr.b.Task;function FindController(brushingStateController){this.brushingStateController_=brushingStateController;this.filterHits_=[];this.currentHitIndex_=-1;this.activePromise_=Promise.resolve();this.activeTask_=undefined;};FindController.prototype={__proto__:Object.prototype,get model(){return this.brushingStateController_.model;},get brushingStateController(){return this.brushingStateController_;},enqueueOperation_:function(operation){var task;if(operation instanceof tr.b.Task)
-task=operation;else
-task=new tr.b.Task(operation,this);if(this.activeTask_){this.activeTask_=this.activeTask_.enqueue(task);}else{this.activeTask_=task;this.activePromise_=Task.RunWhenIdle(this.activeTask_);this.activePromise_.then(function(){this.activePromise_=undefined;this.activeTask_=undefined;}.bind(this));}},startFiltering:function(filterText){var sc=this.brushingStateController_;if(!sc)
-return;this.enqueueOperation_(function(){this.filterHits_=[];this.currentHitIndex_=-1;}.bind(this));var stateFromString;try{stateFromString=sc.uiStateFromString(filterText);}catch(e){this.enqueueOperation_(function(){var overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=e.message;overlay.title='UI State Navigation Error';overlay.visible=true;});return this.activePromise_;}
-if(stateFromString!==undefined){this.enqueueOperation_(sc.navToPosition.bind(this,stateFromString,true));}else{if(filterText.length===0){this.enqueueOperation_(sc.findTextCleared.bind(sc));}else{var filter=new tr.c.FullTextFilter(filterText);var filterHitSet=new tr.model.EventSet();this.enqueueOperation_(sc.addAllEventsMatchingFilterToSelectionAsTask(filter,filterHitSet));this.enqueueOperation_(function(){this.filterHits_=filterHitSet.toArray();sc.findTextChangedTo(filterHitSet);}.bind(this));}}
-return this.activePromise_;},get filterHits(){return this.filterHits_;},get currentHitIndex(){return this.currentHitIndex_;},find_:function(dir){var firstHit=this.currentHitIndex_===-1;if(firstHit&&dir<0)
-this.currentHitIndex_=0;var N=this.filterHits.length;this.currentHitIndex_=(this.currentHitIndex_+dir+N)%N;if(!this.brushingStateController_)
-return;this.brushingStateController_.findFocusChangedTo(new tr.model.EventSet(this.filterHits[this.currentHitIndex]));},findNext:function(){this.find_(1);},findPrevious:function(){this.find_(-1);}};return{FindController:FindController};});'use strict';tr.exportTo('tr.ui.b',function(){var MOUSE_SELECTOR_MODE={};MOUSE_SELECTOR_MODE.SELECTION=0x1;MOUSE_SELECTOR_MODE.PANSCAN=0x2;MOUSE_SELECTOR_MODE.ZOOM=0x4;MOUSE_SELECTOR_MODE.TIMING=0x8;MOUSE_SELECTOR_MODE.ROTATE=0x10;MOUSE_SELECTOR_MODE.ALL_MODES=0x1F;var MOUSE_SELECTOR_MODE_INFOS={};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.PANSCAN]={mode:MOUSE_SELECTOR_MODE.PANSCAN,title:'pan',eventNames:{enter:'enterpan',begin:'beginpan',update:'updatepan',end:'endpan',exit:'exitpan'},activeBackgroundPosition:'-30px -10px',defaultBackgroundPosition:'0 -10px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.SELECTION]={mode:MOUSE_SELECTOR_MODE.SELECTION,title:'selection',eventNames:{enter:'enterselection',begin:'beginselection',update:'updateselection',end:'endselection',exit:'exitselection'},activeBackgroundPosition:'-30px -40px',defaultBackgroundPosition:'0 -40px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.ZOOM]={mode:MOUSE_SELECTOR_MODE.ZOOM,title:'zoom',eventNames:{enter:'enterzoom',begin:'beginzoom',update:'updatezoom',end:'endzoom',exit:'exitzoom'},activeBackgroundPosition:'-30px -70px',defaultBackgroundPosition:'0 -70px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.TIMING]={mode:MOUSE_SELECTOR_MODE.TIMING,title:'timing',eventNames:{enter:'entertiming',begin:'begintiming',update:'updatetiming',end:'endtiming',exit:'exittiming'},activeBackgroundPosition:'-30px -100px',defaultBackgroundPosition:'0 -100px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.ROTATE]={mode:MOUSE_SELECTOR_MODE.ROTATE,title:'rotate',eventNames:{enter:'enterrotate',begin:'beginrotate',update:'updaterotate',end:'endrotate',exit:'exitrotate'},activeBackgroundPosition:'-30px -130px',defaultBackgroundPosition:'0 -130px'};return{MOUSE_SELECTOR_MODE_INFOS:MOUSE_SELECTOR_MODE_INFOS,MOUSE_SELECTOR_MODE:MOUSE_SELECTOR_MODE};});'use strict';Polymer({is:'tr-ui-b-mouse-mode-icon',properties:{modeName:{type:String,reflectToAttribute:true,observer:'modeNameChanged'},},created:function(){this.active_=false;this.acceleratorKey_=undefined;},ready:function(){this.updateContents_();},get mode(){return tr.ui.b.MOUSE_SELECTOR_MODE[this.modeName];},set mode(mode){var modeInfo=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS[mode];var modeName=tr.b.findFirstKeyInDictMatching(tr.ui.b.MOUSE_SELECTOR_MODE,function(modeName,candidateMode){return candidateMode===mode;});if(modeName===undefined)
-throw new Error('Unknown mode');this.modeName=modeName;},modeNameChanged:function(){this.updateContents_();},get active(){return this.active_;},set active(active){this.active_=!!active;if(this.active_)
-Polymer.dom(this).classList.add('active');else
-Polymer.dom(this).classList.remove('active');this.updateContents_();},get acceleratorKey(){return this.acceleratorKey_;},set acceleratorKey(acceleratorKey){this.acceleratorKey_=acceleratorKey;this.updateContents_();},updateContents_:function(){if(this.modeName===undefined)
-return;var mode=this.mode;if(mode===undefined)
-throw new Error('Invalid mode');var modeInfo=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS[mode];if(!modeInfo)
-throw new Error('Invalid mode');var title=modeInfo.title;if(this.acceleratorKey_)
-title=title+' ('+this.acceleratorKey_+')';this.title=title;var bp;if(this.active_)
-bp=modeInfo.activeBackgroundPosition;else
-bp=modeInfo.defaultBackgroundPosition;this.style.backgroundPosition=bp;}});'use strict';tr.exportTo('tr.ui.b',function(){var MOUSE_SELECTOR_MODE=tr.ui.b.MOUSE_SELECTOR_MODE;var MOUSE_SELECTOR_MODE_INFOS=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS;var MIN_MOUSE_SELECTION_DISTANCE=4;var MODIFIER={SHIFT:0x1,SPACE:0x2,CMD_OR_CTRL:0x4};function isCmdOrCtrlPressed(event){if(tr.isMac)
-return event.metaKey;else
-return event.ctrlKey;}
-Polymer({is:'tr-ui-b-mouse-mode-selector',created:function(){this.supportedModeMask_=MOUSE_SELECTOR_MODE.ALL_MODES;this.initialRelativeMouseDownPos_={x:0,y:0};this.defaultMode_=MOUSE_SELECTOR_MODE.PANSCAN;this.settingsKey_=undefined;this.mousePos_={x:0,y:0};this.mouseDownPos_={x:0,y:0};this.onMouseDown_=this.onMouseDown_.bind(this);this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.onKeyDown_=this.onKeyDown_.bind(this);this.onKeyUp_=this.onKeyUp_.bind(this);this.mode_=undefined;this.modeToKeyCodeMap_={};this.modifierToModeMap_={};this.targetElement_=undefined;this.modeBeforeAlternativeModeActivated_=null;this.isInteracting_=false;this.isClick_=false;},ready:function(){this.buttonsEl_=Polymer.dom(this.root).querySelector('.buttons');this.dragHandleEl_=Polymer.dom(this.root).querySelector('.drag-handle');this.supportedModeMask=MOUSE_SELECTOR_MODE.ALL_MODES;this.dragHandleEl_.addEventListener('mousedown',this.onDragHandleMouseDown_.bind(this));this.buttonsEl_.addEventListener('mouseup',this.onButtonMouseUp_);this.buttonsEl_.addEventListener('mousedown',this.onButtonMouseDown_);this.buttonsEl_.addEventListener('click',this.onButtonPress_.bind(this));},attached:function(){document.addEventListener('keydown',this.onKeyDown_);document.addEventListener('keyup',this.onKeyUp_);},detached:function(){document.removeEventListener('keydown',this.onKeyDown_);document.removeEventListener('keyup',this.onKeyUp_);},get targetElement(){return this.targetElement_;},set targetElement(target){if(this.targetElement_)
-this.targetElement_.removeEventListener('mousedown',this.onMouseDown_);this.targetElement_=target;if(this.targetElement_)
-this.targetElement_.addEventListener('mousedown',this.onMouseDown_);},get defaultMode(){return this.defaultMode_;},set defaultMode(defaultMode){this.defaultMode_=defaultMode;},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){this.settingsKey_=settingsKey;if(!this.settingsKey_)
-return;var mode=tr.b.Settings.get(this.settingsKey_+'.mode',undefined);if(MOUSE_SELECTOR_MODE_INFOS[mode]===undefined)
-mode=undefined;if((mode&this.supportedModeMask_)===0)
-mode=undefined;if(!mode)
-mode=this.defaultMode_;this.mode=mode;var pos=tr.b.Settings.get(this.settingsKey_+'.pos',undefined);if(pos)
-this.pos=pos;},get supportedModeMask(){return this.supportedModeMask_;},set supportedModeMask(supportedModeMask){if(this.mode&&(supportedModeMask&this.mode)===0)
-throw new Error('supportedModeMask must include current mode.');function createButtonForMode(mode){return button;}
-this.supportedModeMask_=supportedModeMask;Polymer.dom(this.buttonsEl_).textContent='';for(var modeName in MOUSE_SELECTOR_MODE){if(modeName=='ALL_MODES')
-continue;var mode=MOUSE_SELECTOR_MODE[modeName];if((this.supportedModeMask_&mode)===0)
-continue;var button=document.createElement('tr-ui-b-mouse-mode-icon');button.mode=mode;Polymer.dom(button).classList.add('tool-button');Polymer.dom(this.buttonsEl_).appendChild(button);}},getButtonForMode_:function(mode){for(var i=0;i<this.buttonsEl_.children.length;i++){var buttonEl=this.buttonsEl_.children[i];if(buttonEl.mode===mode)
-return buttonEl;}
-return undefined;},get mode(){return this.currentMode_;},set mode(newMode){if(newMode!==undefined){if(typeof newMode!=='number')
-throw new Error('Mode must be a number');if((newMode&this.supportedModeMask_)===0)
-throw new Error('Cannot switch to this mode, it is not supported');if(MOUSE_SELECTOR_MODE_INFOS[newMode]===undefined)
-throw new Error('Unrecognized mode');}
-var modeInfo;if(this.currentMode_===newMode)
-return;if(this.currentMode_){var buttonEl=this.getButtonForMode_(this.currentMode_);if(buttonEl)
-buttonEl.active=false;if(this.isInteracting_){var mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.end);this.dispatchEvent(mouseEvent);}
-modeInfo=MOUSE_SELECTOR_MODE_INFOS[this.currentMode_];tr.b.dispatchSimpleEvent(this,modeInfo.eventNames.exit,true);}
-this.currentMode_=newMode;if(this.currentMode_){var buttonEl=this.getButtonForMode_(this.currentMode_);if(buttonEl)
-buttonEl.active=true;this.mouseDownPos_.x=this.mousePos_.x;this.mouseDownPos_.y=this.mousePos_.y;modeInfo=MOUSE_SELECTOR_MODE_INFOS[this.currentMode_];if(!this.isInAlternativeMode_)
-tr.b.dispatchSimpleEvent(this,modeInfo.eventNames.enter,true);if(this.isInteracting_){var mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.begin);this.dispatchEvent(mouseEvent);}}
-if(this.settingsKey_&&!this.isInAlternativeMode_)
-tr.b.Settings.set(this.settingsKey_+'.mode',this.mode);},setKeyCodeForMode:function(mode,keyCode){if((mode&this.supportedModeMask_)===0)
-throw new Error('Mode not supported');this.modeToKeyCodeMap_[mode]=keyCode;if(!this.buttonsEl_)
-return;var buttonEl=this.getButtonForMode_(mode);if(buttonEl)
-buttonEl.acceleratorKey=String.fromCharCode(keyCode);},setCurrentMousePosFromEvent_:function(e){this.mousePos_.x=e.clientX;this.mousePos_.y=e.clientY;},createEvent_:function(eventName,sourceEvent){var event=new tr.b.Event(eventName,true);event.clientX=this.mousePos_.x;event.clientY=this.mousePos_.y;event.deltaX=this.mousePos_.x-this.mouseDownPos_.x;event.deltaY=this.mousePos_.y-this.mouseDownPos_.y;event.mouseDownX=this.mouseDownPos_.x;event.mouseDownY=this.mouseDownPos_.y;event.didPreventDefault=false;event.preventDefault=function(){event.didPreventDefault=true;if(sourceEvent)
-sourceEvent.preventDefault();};event.stopPropagation=function(){sourceEvent.stopPropagation();};event.stopImmediatePropagation=function(){throw new Error('Not implemented');};return event;},onMouseDown_:function(e){if(e.button!==0)
-return;this.setCurrentMousePosFromEvent_(e);var mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.begin,e);if(this.mode===MOUSE_SELECTOR_MODE.SELECTION)
-mouseEvent.appendSelection=isCmdOrCtrlPressed(e);this.dispatchEvent(mouseEvent);this.isInteracting_=true;this.isClick_=true;tr.ui.b.trackMouseMovesUntilMouseUp(this.onMouseMove_,this.onMouseUp_);},onMouseMove_:function(e){this.setCurrentMousePosFromEvent_(e);var mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.update,e);this.dispatchEvent(mouseEvent);if(this.isInteracting_)
-this.checkIsClick_(e);},onMouseUp_:function(e){if(e.button!==0)
-return;var mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.end,e);mouseEvent.isClick=this.isClick_;this.dispatchEvent(mouseEvent);if(this.isClick_&&!mouseEvent.didPreventDefault)
-this.dispatchClickEvents_(e);this.isInteracting_=false;this.updateAlternativeModeState_(e);},onButtonMouseDown_:function(e){e.preventDefault();e.stopImmediatePropagation();},onButtonMouseUp_:function(e){e.preventDefault();e.stopImmediatePropagation();},onButtonPress_:function(e){this.modeBeforeAlternativeModeActivated_=undefined;this.mode=e.target.mode;e.preventDefault();},onKeyDown_:function(e){if(e.path[0].tagName=='INPUT')
-return;if(e.keyCode===' '.charCodeAt(0))
-this.spacePressed_=true;this.updateAlternativeModeState_(e);},onKeyUp_:function(e){if(e.path[0].tagName=='INPUT')
-return;if(e.keyCode===' '.charCodeAt(0))
-this.spacePressed_=false;var didHandleKey=false;tr.b.iterItems(this.modeToKeyCodeMap_,function(modeStr,keyCode){if(e.keyCode===keyCode){this.modeBeforeAlternativeModeActivated_=undefined;var mode=parseInt(modeStr);this.mode=mode;didHandleKey=true;}},this);if(didHandleKey){e.preventDefault();e.stopPropagation();return;}
-this.updateAlternativeModeState_(e);},updateAlternativeModeState_:function(e){var shiftPressed=e.shiftKey;var spacePressed=this.spacePressed_;var cmdOrCtrlPressed=isCmdOrCtrlPressed(e);var smm=this.supportedModeMask_;var newMode;var isNewModeAnAlternativeMode=false;if(shiftPressed&&(this.modifierToModeMap_[MODIFIER.SHIFT]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.SHIFT];isNewModeAnAlternativeMode=true;}else if(spacePressed&&(this.modifierToModeMap_[MODIFIER.SPACE]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.SPACE];isNewModeAnAlternativeMode=true;}else if(cmdOrCtrlPressed&&(this.modifierToModeMap_[MODIFIER.CMD_OR_CTRL]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.CMD_OR_CTRL];isNewModeAnAlternativeMode=true;}else{if(this.isInAlternativeMode_){newMode=this.modeBeforeAlternativeModeActivated_;isNewModeAnAlternativeMode=false;}else{newMode=undefined;}}
-if(this.mode===newMode||newMode===undefined)
-return;if(isNewModeAnAlternativeMode)
-this.modeBeforeAlternativeModeActivated_=this.mode;this.mode=newMode;},get isInAlternativeMode_(){return!!this.modeBeforeAlternativeModeActivated_;},setModifierForAlternateMode:function(mode,modifier){this.modifierToModeMap_[modifier]=mode;},get pos(){return{x:parseInt(this.style.left),y:parseInt(this.style.top)};},set pos(pos){pos=this.constrainPositionToBounds_(pos);this.style.left=pos.x+'px';this.style.top=pos.y+'px';if(this.settingsKey_)
-tr.b.Settings.set(this.settingsKey_+'.pos',this.pos);},constrainPositionToBounds_:function(pos){var parent=this.offsetParent||document.body;var parentRect=tr.ui.b.windowRectForElement(parent);var top=0;var bottom=parentRect.height-this.offsetHeight;var left=0;var right=parentRect.width-this.offsetWidth;var res={};res.x=Math.max(pos.x,left);res.x=Math.min(res.x,right);res.y=Math.max(pos.y,top);res.y=Math.min(res.y,bottom);return res;},onDragHandleMouseDown_:function(e){e.preventDefault();e.stopImmediatePropagation();var mouseDownPos={x:e.clientX-this.offsetLeft,y:e.clientY-this.offsetTop};tr.ui.b.trackMouseMovesUntilMouseUp(function(e){var pos={};pos.x=e.clientX-mouseDownPos.x;pos.y=e.clientY-mouseDownPos.y;this.pos=pos;}.bind(this));},checkIsClick_:function(e){if(!this.isInteracting_||!this.isClick_)
-return;var deltaX=this.mousePos_.x-this.mouseDownPos_.x;var deltaY=this.mousePos_.y-this.mouseDownPos_.y;var minDist=MIN_MOUSE_SELECTION_DISTANCE;if(deltaX*deltaX+deltaY*deltaY>minDist*minDist)
-this.isClick_=false;},dispatchClickEvents_:function(e){if(!this.isClick_)
-return;var modeInfo=MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.SELECTION];var eventNames=modeInfo.eventNames;var mouseEvent=this.createEvent_(eventNames.begin);mouseEvent.appendSelection=isCmdOrCtrlPressed(e);this.dispatchEvent(mouseEvent);mouseEvent=this.createEvent_(eventNames.end);this.dispatchEvent(mouseEvent);}});return{MIN_MOUSE_SELECTION_DISTANCE:MIN_MOUSE_SELECTION_DISTANCE,MODIFIER:MODIFIER};});'use strict';tr.exportTo('tr.ui.b',function(){function TimingTool(viewport,targetElement){this.viewport_=viewport;this.onMouseMove_=this.onMouseMove_.bind(this);this.onDblClick_=this.onDblClick_.bind(this);this.targetElement_=targetElement;this.isMovingLeftEdge_=false;};TimingTool.prototype={onEnterTiming:function(e){this.targetElement_.addEventListener('mousemove',this.onMouseMove_);this.targetElement_.addEventListener('dblclick',this.onDblClick_);},onBeginTiming:function(e){if(!this.isTouchPointInsideTrackBounds_(e.clientX,e.clientY))
-return;var pt=this.getSnappedToEventPosition_(e);this.mouseDownAt_(pt.x,pt.y);this.updateSnapIndicators_(pt);},updateSnapIndicators_:function(pt){if(!pt.snapped)
-return;var ir=this.viewport_.interestRange;if(ir.min===pt.x)
-ir.leftSnapIndicator=new tr.ui.SnapIndicator(pt.y,pt.height);if(ir.max===pt.x)
-ir.rightSnapIndicator=new tr.ui.SnapIndicator(pt.y,pt.height);},onUpdateTiming:function(e){var pt=this.getSnappedToEventPosition_(e);this.mouseMoveAt_(pt.x,pt.y,true);this.updateSnapIndicators_(pt);},onEndTiming:function(e){this.mouseUp_();},onExitTiming:function(e){this.targetElement_.removeEventListener('mousemove',this.onMouseMove_);this.targetElement_.removeEventListener('dblclick',this.onDblClick_);},onMouseMove_:function(e){if(e.button)
-return;var worldX=this.getWorldXFromEvent_(e);this.mouseMoveAt_(worldX,e.clientY,false);},onDblClick_:function(e){console.error('not implemented');},isTouchPointInsideTrackBounds_:function(clientX,clientY){if(!this.viewport_||!this.viewport_.modelTrackContainer||!this.viewport_.modelTrackContainer.canvas)
-return false;var canvas=this.viewport_.modelTrackContainer.canvas;var canvasRect=canvas.getBoundingClientRect();if(clientX>=canvasRect.left&&clientX<=canvasRect.right&&clientY>=canvasRect.top&&clientY<=canvasRect.bottom)
-return true;return false;},mouseDownAt_:function(worldX,y){var ir=this.viewport_.interestRange;var dt=this.viewport_.currentDisplayTransform;var pixelRatio=window.devicePixelRatio||1;var nearnessThresholdWorld=dt.xViewVectorToWorld(6*pixelRatio);if(ir.isEmpty){ir.setMinAndMax(worldX,worldX);ir.rightSelected=true;this.isMovingLeftEdge_=false;return;}
-if(Math.abs(worldX-ir.min)<nearnessThresholdWorld){ir.leftSelected=true;ir.min=worldX;this.isMovingLeftEdge_=true;return;}
-if(Math.abs(worldX-ir.max)<nearnessThresholdWorld){ir.rightSelected=true;ir.max=worldX;this.isMovingLeftEdge_=false;return;}
-ir.setMinAndMax(worldX,worldX);ir.rightSelected=true;this.isMovingLeftEdge_=false;},mouseMoveAt_:function(worldX,y,mouseDown){var ir=this.viewport_.interestRange;if(mouseDown){this.updateMovingEdge_(worldX);return;}
-var ir=this.viewport_.interestRange;var dt=this.viewport_.currentDisplayTransform;var pixelRatio=window.devicePixelRatio||1;var nearnessThresholdWorld=dt.xViewVectorToWorld(6*pixelRatio);if(Math.abs(worldX-ir.min)<nearnessThresholdWorld){ir.leftSelected=true;ir.rightSelected=false;return;}
-if(Math.abs(worldX-ir.max)<nearnessThresholdWorld){ir.leftSelected=false;ir.rightSelected=true;return;}
-ir.leftSelected=false;ir.rightSelected=false;return;},updateMovingEdge_:function(newWorldX){var ir=this.viewport_.interestRange;var a=ir.min;var b=ir.max;if(this.isMovingLeftEdge_)
-a=newWorldX;else
-b=newWorldX;if(a<=b)
-ir.setMinAndMax(a,b);else
-ir.setMinAndMax(b,a);if(ir.min==newWorldX){this.isMovingLeftEdge_=true;ir.leftSelected=true;ir.rightSelected=false;}else{this.isMovingLeftEdge_=false;ir.leftSelected=false;ir.rightSelected=true;}},mouseUp_:function(){var dt=this.viewport_.currentDisplayTransform;var ir=this.viewport_.interestRange;ir.leftSelected=false;ir.rightSelected=false;var pixelRatio=window.devicePixelRatio||1;var minWidthValue=dt.xViewVectorToWorld(2*pixelRatio);if(ir.range<minWidthValue)
-ir.reset();},getWorldXFromEvent_:function(e){var pixelRatio=window.devicePixelRatio||1;var canvas=this.viewport_.modelTrackContainer.canvas;var worldOffset=canvas.getBoundingClientRect().left;var viewX=(e.clientX-worldOffset)*pixelRatio;return this.viewport_.currentDisplayTransform.xViewToWorld(viewX);},getSnappedToEventPosition_:function(e){var pixelRatio=window.devicePixelRatio||1;var EVENT_SNAP_RANGE=16*pixelRatio;var modelTrackContainer=this.viewport_.modelTrackContainer;var modelTrackContainerRect=modelTrackContainer.getBoundingClientRect();var viewport=this.viewport_;var dt=viewport.currentDisplayTransform;var worldMaxDist=dt.xViewVectorToWorld(EVENT_SNAP_RANGE);var worldX=this.getWorldXFromEvent_(e);var mouseY=e.clientY;var selection=new tr.model.EventSet();modelTrackContainer.addClosestEventToSelection(worldX,worldMaxDist,mouseY,mouseY,selection);if(!selection.length){modelTrackContainer.addClosestEventToSelection(worldX,worldMaxDist,modelTrackContainerRect.top,modelTrackContainerRect.bottom,selection);}
-var minDistX=worldMaxDist;var minDistY=Infinity;var pixWidth=dt.xViewVectorToWorld(1);var result={x:worldX,y:mouseY-modelTrackContainerRect.top,height:0,snapped:false};var eventBounds=new tr.b.Range();for(var event of selection){var track=viewport.trackForEvent(event);var trackRect=track.getBoundingClientRect();eventBounds.reset();event.addBoundsToRange(eventBounds);var eventX;if(Math.abs(eventBounds.min-worldX)<Math.abs(eventBounds.max-worldX)){eventX=eventBounds.min;}else{eventX=eventBounds.max;}
-var distX=eventX-worldX;var eventY=trackRect.top;var eventHeight=trackRect.height;var distY=Math.abs(eventY+eventHeight/2-mouseY);if((distX<=minDistX||Math.abs(distX-minDistX)<pixWidth)&&distY<minDistY){minDistX=distX;minDistY=distY;result.x=eventX;result.y=eventY+
-modelTrackContainer.scrollTop-modelTrackContainerRect.top;result.height=eventHeight;result.snapped=true;}}
-return result;}};return{TimingTool:TimingTool};});'use strict';tr.exportTo('tr.ui',function(){var kDefaultPanAnimationDurationMs=100.0;function TimelineDisplayTransformPanAnimation(deltaX,deltaY,opt_durationMs){this.deltaX=deltaX;this.deltaY=deltaY;if(opt_durationMs===undefined)
-this.durationMs=kDefaultPanAnimationDurationMs;else
-this.durationMs=opt_durationMs;this.startPanX=undefined;this.startPanY=undefined;this.startTimeMs=undefined;}
-TimelineDisplayTransformPanAnimation.prototype={__proto__:tr.ui.b.Animation.prototype,get affectsPanY(){return this.deltaY!==0;},canTakeOverFor:function(existingAnimation){return existingAnimation instanceof TimelineDisplayTransformPanAnimation;},takeOverFor:function(existing,timestamp,target){var remainingDeltaXOnExisting=existing.goalPanX-target.panX;var remainingDeltaYOnExisting=existing.goalPanY-target.panY;var remainingTimeOnExisting=timestamp-(existing.startTimeMs+existing.durationMs);remainingTimeOnExisting=Math.max(remainingTimeOnExisting,0);this.deltaX+=remainingDeltaXOnExisting;this.deltaY+=remainingDeltaYOnExisting;this.durationMs+=remainingTimeOnExisting;},start:function(timestamp,target){this.startTimeMs=timestamp;this.startPanX=target.panX;this.startPanY=target.panY;},tick:function(timestamp,target){var percentDone=(timestamp-this.startTimeMs)/this.durationMs;percentDone=tr.b.clamp(percentDone,0,1);target.panX=tr.b.lerp(percentDone,this.startPanX,this.goalPanX);if(this.affectsPanY)
-target.panY=tr.b.lerp(percentDone,this.startPanY,this.goalPanY);return timestamp>=this.startTimeMs+this.durationMs;},get goalPanX(){return this.startPanX+this.deltaX;},get goalPanY(){return this.startPanY+this.deltaY;}};function TimelineDisplayTransformZoomToAnimation(goalFocalPointXWorld,goalFocalPointXView,goalFocalPointY,zoomInRatioX,opt_durationMs){this.goalFocalPointXWorld=goalFocalPointXWorld;this.goalFocalPointXView=goalFocalPointXView;this.goalFocalPointY=goalFocalPointY;this.zoomInRatioX=zoomInRatioX;if(opt_durationMs===undefined)
-this.durationMs=kDefaultPanAnimationDurationMs;else
-this.durationMs=opt_durationMs;this.startTimeMs=undefined;this.startScaleX=undefined;this.goalScaleX=undefined;this.startPanY=undefined;}
-TimelineDisplayTransformZoomToAnimation.prototype={__proto__:tr.ui.b.Animation.prototype,get affectsPanY(){return this.startPanY!=this.goalFocalPointY;},canTakeOverFor:function(existingAnimation){return false;},takeOverFor:function(existingAnimation,timestamp,target){this.goalScaleX=target.scaleX*this.zoomInRatioX;},start:function(timestamp,target){this.startTimeMs=timestamp;this.startScaleX=target.scaleX;this.goalScaleX=this.zoomInRatioX*target.scaleX;this.startPanY=target.panY;},tick:function(timestamp,target){var percentDone=(timestamp-this.startTimeMs)/this.durationMs;percentDone=tr.b.clamp(percentDone,0,1);target.scaleX=tr.b.lerp(percentDone,this.startScaleX,this.goalScaleX);if(this.affectsPanY){target.panY=tr.b.lerp(percentDone,this.startPanY,this.goalFocalPointY);}
-target.xPanWorldPosToViewPos(this.goalFocalPointXWorld,this.goalFocalPointXView);return timestamp>=this.startTimeMs+this.durationMs;}};return{TimelineDisplayTransformPanAnimation:TimelineDisplayTransformPanAnimation,TimelineDisplayTransformZoomToAnimation:TimelineDisplayTransformZoomToAnimation};});'use strict';tr.exportTo('tr.ui.b',function(){var constants={HEADING_WIDTH:250};return{constants:constants};});'use strict';tr.exportTo('tr.ui.b',function(){var ContainerThatDecoratesItsChildren=tr.ui.b.define('div');ContainerThatDecoratesItsChildren.prototype={__proto__:HTMLDivElement.prototype,decorate:function(){this.observer_=new WebKitMutationObserver(this.didMutate_.bind(this));this.observer_.observe(this,{childList:true});Object.defineProperty(this,'textContent',{get:undefined,set:this.onSetTextContent_});},appendChild:function(x){HTMLDivElement.prototype.appendChild.call(this,x);this.didMutate_(this.observer_.takeRecords());},insertBefore:function(x,y){HTMLDivElement.prototype.insertBefore.call(this,x,y);this.didMutate_(this.observer_.takeRecords());},removeChild:function(x){HTMLDivElement.prototype.removeChild.call(this,x);this.didMutate_(this.observer_.takeRecords());},replaceChild:function(x,y){HTMLDivElement.prototype.replaceChild.call(this,x,y);this.didMutate_(this.observer_.takeRecords());},onSetTextContent_:function(textContent){if(textContent!='')
-throw new Error('textContent can only be set to \'\'.');this.clear();},clear:function(){while(Polymer.dom(this).lastChild)
-HTMLDivElement.prototype.removeChild.call(this,Polymer.dom(this).lastChild);this.didMutate_(this.observer_.takeRecords());},didMutate_:function(records){this.beginDecorating_();for(var i=0;i<records.length;i++){var addedNodes=records[i].addedNodes;if(addedNodes){for(var j=0;j<addedNodes.length;j++)
-this.decorateChild_(addedNodes[j]);}
-var removedNodes=records[i].removedNodes;if(removedNodes){for(var j=0;j<removedNodes.length;j++){this.undecorateChild_(removedNodes[j]);}}}
-this.doneDecoratingForNow_();},decorateChild_:function(child){throw new Error('Not implemented');},undecorateChild_:function(child){throw new Error('Not implemented');},beginDecorating_:function(){},doneDecoratingForNow_:function(){}};return{ContainerThatDecoratesItsChildren:ContainerThatDecoratesItsChildren};});'use strict';tr.exportTo('tr.ui.tracks',function(){var Track=tr.ui.b.define('track',tr.ui.b.ContainerThatDecoratesItsChildren);Track.prototype={__proto__:tr.ui.b.ContainerThatDecoratesItsChildren.prototype,decorate:function(viewport){tr.ui.b.ContainerThatDecoratesItsChildren.prototype.decorate.call(this);if(viewport===undefined)
-throw new Error('viewport is required when creating a Track.');this.viewport_=viewport;Polymer.dom(this).classList.add('track');},get viewport(){return this.viewport_;},get drawingContainer(){var cur=this;while(cur){if(cur instanceof tr.ui.tracks.DrawingContainer)
-return cur;cur=cur.parentElement;}
-return undefined;},get eventContainer(){},invalidateDrawingContainer:function(){var dc=this.drawingContainer;if(dc)
-dc.invalidate();},context:function(){if(!Polymer.dom(this).parentNode)
-return undefined;if(!Polymer.dom(this).parentNode.context)
-throw new Error('Parent container does not support context() method.');return Polymer.dom(this).parentNode.context();},decorateChild_:function(childTrack){},undecorateChild_:function(childTrack){if(childTrack.detach)
-childTrack.detach();},updateContents_:function(){},drawTrack:function(type){var ctx=this.context();var pixelRatio=window.devicePixelRatio||1;var bounds=this.getBoundingClientRect();var canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));var dt=this.viewport.currentDisplayTransform;var viewLWorld=dt.xViewToWorld(0);var viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);this.draw(type,viewLWorld,viewRWorld);ctx.restore();},draw:function(type,viewLWorld,viewRWorld){},addEventsToTrackMap:function(eventToTrackMap){},addContainersToTrackMap:function(containerToTrackMap){},addIntersectingEventsInRangeToSelection:function(loVX,hiVX,loVY,hiVY,selection){var pixelRatio=window.devicePixelRatio||1;var dt=this.viewport.currentDisplayTransform;var viewPixWidthWorld=dt.xViewVectorToWorld(1);var loWX=dt.xViewToWorld(loVX*pixelRatio);var hiWX=dt.xViewToWorld(hiVX*pixelRatio);var clientRect=this.getBoundingClientRect();var a=Math.max(loVY,clientRect.top);var b=Math.min(hiVY,clientRect.bottom);if(a>b)
-return;this.addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection);},addIntersectingEventsInRangeToSelectionInWorldSpace:function(loWX,hiWX,viewPixWidthWorld,selection){},addClosestEventToSelection:function(worldX,worldMaxDist,loY,hiY,selection){},addClosestInstantEventToSelection:function(instantEvents,worldX,worldMaxDist,selection){var instantEvent=tr.b.findClosestElementInSortedArray(instantEvents,function(x){return x.start;},worldX,worldMaxDist);if(!instantEvent)
-return;selection.push(instantEvent);}};return{Track:Track};});'use strict';tr.exportTo('tr.ui.tracks',function(){var DrawType={GENERAL_EVENT:1,INSTANT_EVENT:2,BACKGROUND:3,GRID:4,FLOW_ARROWS:5,MARKERS:6,HIGHLIGHTS:7,ANNOTATIONS:8};var DrawingContainer=tr.ui.b.define('drawing-container',tr.ui.tracks.Track);DrawingContainer.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate:function(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('drawing-container');this.canvas_=document.createElement('canvas');this.canvas_.className='drawing-container-canvas';this.canvas_.style.left=tr.ui.b.constants.HEADING_WIDTH+'px';Polymer.dom(this).appendChild(this.canvas_);this.ctx_=this.canvas_.getContext('2d');this.viewportChange_=this.viewportChange_.bind(this);this.viewport.addEventListener('change',this.viewportChange_);},get canvas(){return this.canvas_;},context:function(){return this.ctx_;},viewportChange_:function(){this.invalidate();},invalidate:function(){if(this.rafPending_)
-return;this.rafPending_=true;tr.b.requestPreAnimationFrame(this.preDraw_,this);},preDraw_:function(){this.rafPending_=false;this.updateCanvasSizeIfNeeded_();tr.b.requestAnimationFrameInThisFrameIfPossible(this.draw_,this);},draw_:function(){this.ctx_.clearRect(0,0,this.canvas_.width,this.canvas_.height);var typesToDraw=[DrawType.BACKGROUND,DrawType.HIGHLIGHTS,DrawType.GRID,DrawType.INSTANT_EVENT,DrawType.GENERAL_EVENT,DrawType.MARKERS,DrawType.ANNOTATIONS,DrawType.FLOW_ARROWS];for(var idx in typesToDraw){for(var i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track))
-continue;this.children[i].drawTrack(typesToDraw[idx]);}}
-var pixelRatio=window.devicePixelRatio||1;var bounds=this.canvas_.getBoundingClientRect();var dt=this.viewport.currentDisplayTransform;var viewLWorld=dt.xViewToWorld(0);var viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);this.viewport.drawGridLines(this.ctx_,viewLWorld,viewRWorld);},updateCanvasSizeIfNeeded_:function(){var visibleChildTracks=tr.b.asArray(this.children).filter(this.visibleFilter_);if(visibleChildTracks.length===0){return;}
-var thisBounds=this.getBoundingClientRect();var firstChildTrackBounds=visibleChildTracks[0].getBoundingClientRect();var lastChildTrackBounds=visibleChildTracks[visibleChildTracks.length-1].getBoundingClientRect();var innerWidth=firstChildTrackBounds.width-
-tr.ui.b.constants.HEADING_WIDTH;var innerHeight=lastChildTrackBounds.bottom-firstChildTrackBounds.top;var pixelRatio=window.devicePixelRatio||1;if(this.canvas_.width!=innerWidth*pixelRatio){this.canvas_.width=innerWidth*pixelRatio;this.canvas_.style.width=innerWidth+'px';}
-if(this.canvas_.height!=innerHeight*pixelRatio){this.canvas_.height=innerHeight*pixelRatio;this.canvas_.style.height=innerHeight+'px';}},visibleFilter_:function(element){if(!(element instanceof tr.ui.tracks.Track))
-return false;return window.getComputedStyle(element).display!=='none';},addClosestEventToSelection:function(worldX,worldMaxDist,loY,hiY,selection){for(var i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track))
-continue;var trackClientRect=this.children[i].getBoundingClientRect();var a=Math.max(loY,trackClientRect.top);var b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.children[i].addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);}}
-tr.ui.tracks.Track.prototype.addClosestEventToSelection.apply(this,arguments);},addEventsToTrackMap:function(eventToTrackMap){for(var i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track))
-continue;this.children[i].addEventsToTrackMap(eventToTrackMap);}}};return{DrawingContainer:DrawingContainer,DrawType:DrawType};});'use strict';tr.exportTo('tr.model',function(){var SelectableItem=tr.model.SelectableItem;var SelectionState=tr.model.SelectionState;function ProxySelectableItem(modelItem){SelectableItem.call(this,modelItem);};ProxySelectableItem.prototype={__proto__:SelectableItem.prototype,get selectionState(){var modelItem=this.modelItem_;if(modelItem===undefined)
-return SelectionState.NONE;return modelItem.selectionState;}};return{ProxySelectableItem:ProxySelectableItem};});'use strict';Polymer({is:'tr-ui-heading',DOWN_ARROW:String.fromCharCode(0x25BE),RIGHT_ARROW:String.fromCharCode(0x25B8),ready:function(viewport){this.style.width=(tr.ui.b.constants.HEADING_WIDTH-6)+'px';this.heading_='';this.expanded_=true;this.arrowVisible_=false;this.selectionGenerator_=undefined;this.updateContents_();},get heading(){return this.heading_;},set heading(text){if(this.heading_===text)
-return;this.heading_=text;this.updateContents_();},set arrowVisible(val){if(this.arrowVisible_===val)
-return;this.arrowVisible_=!!val;this.updateContents_();},set tooltip(text){this.$.heading.title=text;},set selectionGenerator(generator){if(this.selectionGenerator_===generator)
-return;this.selectionGenerator_=generator;this.updateContents_();},get expanded(){return this.expanded_;},set expanded(expanded){if(this.expanded_===expanded)
-return;this.expanded_=!!expanded;this.updateContents_();},onHeadingDivClicked_:function(){this.dispatchEvent(new tr.b.Event('heading-clicked',true));},updateContents_:function(){if(this.arrowVisible_){this.$.arrow.style.display='';}else{this.$.arrow.style.display='none';this.$.heading.style.display=this.expanded_?'':'none';}
-if(this.arrowVisible_){Polymer.dom(this.$.arrow).textContent=this.expanded_?this.DOWN_ARROW:this.RIGHT_ARROW;}
-this.$.link.style.display='none';this.$.heading_content.style.display='none';if(this.selectionGenerator_){this.$.link.style.display='inline-block';this.$.link.selection=this.selectionGenerator_;Polymer.dom(this.$.link).textContent=this.heading_;}else{this.$.heading_content.style.display='inline-block';Polymer.dom(this.$.heading_content).textContent=this.heading_;}}});'use strict';tr.exportTo('tr.ui.tracks',function(){var EventPresenter=tr.ui.b.EventPresenter;var SelectionState=tr.model.SelectionState;var LetterDotTrack=tr.ui.b.define('letter-dot-track',tr.ui.tracks.Track);LetterDotTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate:function(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('letter-dot-track');this.items_=undefined;this.heading_=document.createElement('tr-ui-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get items(){return this.items_;},set items(items){this.items_=items;this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},get dumpRadiusView(){return 7*(window.devicePixelRatio||1);},draw:function(type,viewLWorld,viewRWorld){if(this.items_===undefined)
-return;switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawLetterDots_(viewLWorld,viewRWorld);break;}},drawLetterDots_:function(viewLWorld,viewRWorld){var ctx=this.context();var pixelRatio=window.devicePixelRatio||1;var bounds=this.getBoundingClientRect();var height=bounds.height*pixelRatio;var halfHeight=height*0.5;var twoPi=Math.PI*2;var dt=this.viewport.currentDisplayTransform;var dumpRadiusView=this.dumpRadiusView;var itemRadiusWorld=dt.xViewVectorToWorld(height);var items=this.items_;var loI=tr.b.findLowIndexInSortedArray(items,function(item){return item.start;},viewLWorld);var oldFont=ctx.font;ctx.font='400 '+Math.floor(9*pixelRatio)+'px Arial';ctx.strokeStyle='rgb(0,0,0)';ctx.textBaseline='middle';ctx.textAlign='center';var drawItems=function(selected){for(var i=loI;i<items.length;++i){var item=items[i];var x=item.start;if(x-itemRadiusWorld>viewRWorld)
-break;if(item.selected!==selected)
-continue;var xView=dt.xWorldToView(x);ctx.fillStyle=EventPresenter.getSelectableItemColorAsString(item);ctx.beginPath();ctx.arc(xView,halfHeight,dumpRadiusView+0.5,0,twoPi);ctx.fill();if(item.selected){ctx.lineWidth=3;ctx.strokeStyle='rgb(100,100,0)';ctx.stroke();ctx.beginPath();ctx.arc(xView,halfHeight,dumpRadiusView,0,twoPi);ctx.lineWidth=1.5;ctx.strokeStyle='rgb(255,255,0)';ctx.stroke();}else{ctx.lineWidth=1;ctx.strokeStyle='rgb(0,0,0)';ctx.stroke();}
-ctx.fillStyle='rgb(255, 255, 255)';ctx.fillText(item.dotLetter,xView,halfHeight);}};drawItems(false);drawItems(true);ctx.lineWidth=1;ctx.font=oldFont;},addEventsToTrackMap:function(eventToTrackMap){if(this.items_===undefined)
-return;this.items_.forEach(function(item){item.addToTrackMap(eventToTrackMap,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace:function(loWX,hiWX,viewPixWidthWorld,selection){if(this.items_===undefined)
-return;var itemRadiusWorld=viewPixWidthWorld*this.dumpRadiusView;tr.b.iterateOverIntersectingIntervals(this.items_,function(x){return x.start-itemRadiusWorld;},function(x){return 2*itemRadiusWorld;},loWX,hiWX,function(item){item.addToSelection(selection);}.bind(this));},addEventNearToProvidedEventToSelection:function(event,offset,selection){if(this.items_===undefined)
-return;var items=this.items_;var index=tr.b.findFirstIndexInArray(items,function(item){return item.modelItem===event;});if(index===-1)
-return false;var newIndex=index+offset;if(newIndex>=0&&newIndex<items.length){items[newIndex].addToSelection(selection);return true;}
-return false;},addAllEventsMatchingFilterToSelection:function(filter,selection){},addClosestEventToSelection:function(worldX,worldMaxDist,loY,hiY,selection){if(this.items_===undefined)
-return;var item=tr.b.findClosestElementInSortedArray(this.items_,function(x){return x.start;},worldX,worldMaxDist);if(!item)
-return;item.addToSelection(selection);}};function LetterDot(modelItem,dotLetter,colorId,start){tr.model.ProxySelectableItem.call(this,modelItem);this.dotLetter=dotLetter;this.colorId=colorId;this.start=start;};LetterDot.prototype={__proto__:tr.model.ProxySelectableItem.prototype};return{LetterDotTrack:LetterDotTrack,LetterDot:LetterDot};});'use strict';tr.exportTo('tr.ui.tracks',function(){var AlertTrack=tr.ui.b.define('alert-track',tr.ui.tracks.LetterDotTrack);AlertTrack.prototype={__proto__:tr.ui.tracks.LetterDotTrack.prototype,decorate:function(viewport){tr.ui.tracks.LetterDotTrack.prototype.decorate.call(this,viewport);this.heading='Alerts';this.alerts_=undefined;},get alerts(){return this.alerts_;},set alerts(alerts){this.alerts_=alerts;if(alerts===undefined){this.items=undefined;return;}
-this.items=this.alerts_.map(function(alert){return new tr.ui.tracks.LetterDot(alert,String.fromCharCode(9888),alert.colorId,alert.start);});}};return{AlertTrack:AlertTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var Task=tr.b.Task;var ContainerTrack=tr.ui.b.define('container-track',tr.ui.tracks.Track);ContainerTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate:function(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);},detach:function(){Polymer.dom(this).textContent='';},get tracks_(){var tracks=[];for(var i=0;i<this.children.length;i++){if(this.children[i]instanceof tr.ui.tracks.Track)
-tracks.push(this.children[i]);}
-return tracks;},drawTrack:function(type){this.tracks_.forEach(function(track){track.drawTrack(type);});},addIntersectingEventsInRangeToSelection:function(loVX,hiVX,loY,hiY,selection){for(var i=0;i<this.tracks_.length;i++){var trackClientRect=this.tracks_[i].getBoundingClientRect();var a=Math.max(loY,trackClientRect.top);var b=Math.min(hiY,trackClientRect.bottom);if(a<=b)
-this.tracks_[i].addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection);}
-tr.ui.tracks.Track.prototype.addIntersectingEventsInRangeToSelection.apply(this,arguments);},addEventsToTrackMap:function(eventToTrackMap){for(var i=0;i<this.children.length;++i)
-this.children[i].addEventsToTrackMap(eventToTrackMap);},addAllEventsMatchingFilterToSelection:function(filter,selection){for(var i=0;i<this.tracks_.length;i++)
-this.tracks_[i].addAllEventsMatchingFilterToSelection(filter,selection);},addAllEventsMatchingFilterToSelectionAsTask:function(filter,selection){var task=new Task();for(var i=0;i<this.tracks_.length;i++){task.subTask(function(i){return function(){this.tracks_[i].addAllEventsMatchingFilterToSelection(filter,selection);}}(i),this);}
-return task;},addClosestEventToSelection:function(worldX,worldMaxDist,loY,hiY,selection){for(var i=0;i<this.tracks_.length;i++){var trackClientRect=this.tracks_[i].getBoundingClientRect();var a=Math.max(loY,trackClientRect.top);var b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.tracks_[i].addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);}}
-tr.ui.tracks.Track.prototype.addClosestEventToSelection.apply(this,arguments);},addContainersToTrackMap:function(containerToTrackMap){this.tracks_.forEach(function(track){track.addContainersToTrackMap(containerToTrackMap);});},clearTracks_:function(){this.tracks_.forEach(function(track){Polymer.dom(this).removeChild(track);},this);}};return{ContainerTrack:ContainerTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ChartAxis(opt_min,opt_max){this.guid_=tr.b.GUID.allocateSimple();this.bounds=new tr.b.Range();if(opt_min!==undefined)
-this.bounds.addValue(opt_min);if(opt_max!==undefined)
-this.bounds.addValue(opt_max);};ChartAxis.prototype={get guid(){return this.guid_;},valueToUnitRange:function(value){if(this.bounds.isEmpty)
-throw new Error('Chart axis bounds are empty');var bounds=this.bounds;if(bounds.range===0)
-return 0;return(value-bounds.min)/bounds.range;},autoSetFromSeries:function(series,opt_config){var range=new tr.b.Range();series.forEach(function(s){range.addRange(s.range);},this);this.autoSetFromRange(range,opt_config);},autoSetFromRange:function(range,opt_config){if(range.isEmpty)
-return;var bounds=this.bounds;if(bounds.isEmpty){bounds.addRange(range);return;}
-if(!opt_config)
-return;var useRangeMin=(opt_config.expandMin&&range.min<bounds.min||opt_config.shrinkMin&&range.min>bounds.min);var useRangeMax=(opt_config.expandMax&&range.max>bounds.max||opt_config.shrinkMax&&range.max<bounds.max);if(!useRangeMin&&!useRangeMax)
-return;if(useRangeMin&&useRangeMax){bounds.min=range.min;bounds.max=range.max;return;}
-if(useRangeMin){bounds.min=Math.min(range.min,bounds.max);}else{bounds.max=Math.max(range.max,bounds.min);}}};return{ChartAxis:ChartAxis};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ChartPoint(modelItem,x,y,opt_yBase){tr.model.ProxySelectableItem.call(this,modelItem);this.x=x;this.y=y;this.yBase=opt_yBase;};ChartPoint.prototype={__proto__:tr.model.ProxySelectableItem.prototype};return{ChartPoint:ChartPoint};});'use strict';tr.exportTo('tr.ui.tracks',function(){var EventPresenter=tr.ui.b.EventPresenter;var SelectionState=tr.model.SelectionState;var ChartSeriesType={LINE:0,AREA:1};var DEFAULT_RENDERING_CONFIG={chartType:ChartSeriesType.LINE,selectedPointSize:4,unselectedPointSize:3,colorId:0,lineWidth:1,skipDistance:1,unselectedPointDensityTransparent:0.10,unselectedPointDensityOpaque:0.05,backgroundOpacity:0.5};var LAST_POINT_WIDTH=16;var ChartSeriesComponent={BACKGROUND:0,LINE:1,DOTS:2};function ChartSeries(points,axis,opt_renderingConfig){this.points=points;this.axis=axis;this.useRenderingConfig_(opt_renderingConfig);}
-ChartSeries.prototype={useRenderingConfig_:function(opt_renderingConfig){var config=opt_renderingConfig||{};tr.b.iterItems(DEFAULT_RENDERING_CONFIG,function(key,defaultValue){var value=config[key];if(value===undefined)
-value=defaultValue;this[key+'_']=value;},this);this.topPadding=this.bottomPadding=Math.max(this.selectedPointSize_,this.unselectedPointSize_)/2;},get range(){var range=new tr.b.Range();this.points.forEach(function(point){range.addValue(point.y);},this);return range;},draw:function(ctx,transform,highDetails){if(this.points===undefined||this.points.length===0)
-return;if(this.chartType_===ChartSeriesType.AREA){this.drawComponent_(ctx,transform,ChartSeriesComponent.BACKGROUND,highDetails);}
-if(this.chartType_===ChartSeriesType.LINE||highDetails){this.drawComponent_(ctx,transform,ChartSeriesComponent.LINE,highDetails);}
-this.drawComponent_(ctx,transform,ChartSeriesComponent.DOTS,highDetails);},drawComponent_:function(ctx,transform,component,highDetails){var extraPixels=0;if(component===ChartSeriesComponent.DOTS){extraPixels=Math.max(this.selectedPointSize_,this.unselectedPointSize_);}
-var leftViewX=transform.leftViewX-extraPixels*transform.pixelRatio;var rightViewX=transform.rightViewX+
-extraPixels*transform.pixelRatio;var leftTimestamp=transform.leftTimestamp-extraPixels;var rightTimestamp=transform.rightTimestamp+extraPixels;var firstVisibleIndex=tr.b.findLowIndexInSortedArray(this.points,function(point){return point.x;},leftTimestamp);var lastVisibleIndex=tr.b.findLowIndexInSortedArray(this.points,function(point){return point.x;},rightTimestamp);if(lastVisibleIndex>=this.points.length||this.points[lastVisibleIndex].x>rightTimestamp){lastVisibleIndex--;}
-var viewSkipDistance=this.skipDistance_*transform.pixelRatio;var circleRadius;var squareSize;var squareHalfSize;var squareOpacity;switch(component){case ChartSeriesComponent.DOTS:ctx.strokeStyle=EventPresenter.getCounterSeriesColor(this.colorId_,SelectionState.NONE);ctx.lineWidth=transform.pixelRatio;circleRadius=(this.selectedPointSize_/2)*transform.pixelRatio;squareSize=this.unselectedPointSize_*transform.pixelRatio;squareHalfSize=squareSize/2;if(!highDetails){squareOpacity=0;break;}
-var visibleIndexRange=lastVisibleIndex-firstVisibleIndex;if(visibleIndexRange<=0){squareOpacity=1;break;}
-var visibleViewXRange=transform.worldXToViewX(this.points[lastVisibleIndex].x)-
-transform.worldXToViewX(this.points[firstVisibleIndex].x);if(visibleViewXRange===0){squareOpacity=1;break;}
-var density=visibleIndexRange/visibleViewXRange;var clampedDensity=tr.b.clamp(density,this.unselectedPointDensityOpaque_,this.unselectedPointDensityTransparent_);var densityRange=this.unselectedPointDensityTransparent_-
-this.unselectedPointDensityOpaque_;squareOpacity=(this.unselectedPointDensityTransparent_-clampedDensity)/densityRange;break;case ChartSeriesComponent.LINE:ctx.strokeStyle=EventPresenter.getCounterSeriesColor(this.colorId_,SelectionState.NONE);ctx.lineWidth=this.lineWidth_*transform.pixelRatio;break;case ChartSeriesComponent.BACKGROUND:break;default:throw new Error('Invalid component: '+component);}
-var previousViewX=undefined;var previousViewY=undefined;var previousViewYBase=undefined;var lastSelectionState=undefined;var baseSteps=undefined;var startIndex=Math.max(firstVisibleIndex-1,0);for(var i=startIndex;i<this.points.length;i++){var currentPoint=this.points[i];var currentViewX=transform.worldXToViewX(currentPoint.x);if(currentViewX>rightViewX){if(previousViewX!==undefined){previousViewX=currentViewX=rightViewX;if(component===ChartSeriesComponent.BACKGROUND||component===ChartSeriesComponent.LINE){ctx.lineTo(currentViewX,previousViewY);}}
-break;}
-if(i+1<this.points.length){var nextPoint=this.points[i+1];var nextViewX=transform.worldXToViewX(nextPoint.x);if(previousViewX!==undefined&&nextViewX-previousViewX<=viewSkipDistance&&nextViewX<rightViewX){continue;}
-if(currentViewX<leftViewX){currentViewX=leftViewX;}}
-if(previousViewX!==undefined&&currentViewX-previousViewX<viewSkipDistance){currentViewX=previousViewX+viewSkipDistance;}
-var currentViewY=Math.round(transform.worldYToViewY(currentPoint.y));var currentViewYBase;if(currentPoint.yBase===undefined){currentViewYBase=transform.outerBottomViewY;}else{currentViewYBase=Math.round(transform.worldYToViewY(currentPoint.yBase));}
-var currentSelectionState=currentPoint.selectionState;switch(component){case ChartSeriesComponent.DOTS:if(currentSelectionState!==lastSelectionState){if(currentSelectionState===SelectionState.SELECTED){ctx.fillStyle=EventPresenter.getCounterSeriesColor(this.colorId_,currentSelectionState);}else if(squareOpacity>0){ctx.fillStyle=EventPresenter.getCounterSeriesColor(this.colorId_,currentSelectionState,squareOpacity);}}
-if(currentSelectionState===SelectionState.SELECTED){ctx.beginPath();ctx.arc(currentViewX,currentViewY,circleRadius,0,2*Math.PI);ctx.fill();ctx.stroke();}else if(squareOpacity>0){ctx.fillRect(currentViewX-squareHalfSize,currentViewY-squareHalfSize,squareSize,squareSize);}
-break;case ChartSeriesComponent.LINE:if(previousViewX===undefined){ctx.beginPath();ctx.moveTo(currentViewX,currentViewY);}else{ctx.lineTo(currentViewX,previousViewY);}
-ctx.lineTo(currentViewX,currentViewY);break;case ChartSeriesComponent.BACKGROUND:if(previousViewX!==undefined)
-ctx.lineTo(currentViewX,previousViewY);if(currentSelectionState!==lastSelectionState){if(previousViewX!==undefined){var previousBaseStepViewX=currentViewX;for(var j=baseSteps.length-1;j>=0;j--){var baseStep=baseSteps[j];var baseStepViewX=baseStep.viewX;var baseStepViewY=baseStep.viewY;ctx.lineTo(previousBaseStepViewX,baseStepViewY);ctx.lineTo(baseStepViewX,baseStepViewY);previousBaseStepViewX=baseStepViewX;}
-ctx.closePath();ctx.fill();}
-ctx.beginPath();ctx.fillStyle=EventPresenter.getCounterSeriesColor(this.colorId_,currentSelectionState,this.backgroundOpacity_);ctx.moveTo(currentViewX,currentViewYBase);baseSteps=[];}
-if(currentViewYBase!==previousViewYBase||currentSelectionState!==lastSelectionState){baseSteps.push({viewX:currentViewX,viewY:currentViewYBase});}
-ctx.lineTo(currentViewX,currentViewY);break;default:throw new Error('Not reachable');}
-previousViewX=currentViewX;previousViewY=currentViewY;previousViewYBase=currentViewYBase;lastSelectionState=currentSelectionState;}
-if(previousViewX!==undefined){switch(component){case ChartSeriesComponent.DOTS:break;case ChartSeriesComponent.LINE:ctx.stroke();break;case ChartSeriesComponent.BACKGROUND:var previousBaseStepViewX=currentViewX;for(var j=baseSteps.length-1;j>=0;j--){var baseStep=baseSteps[j];var baseStepViewX=baseStep.viewX;var baseStepViewY=baseStep.viewY;ctx.lineTo(previousBaseStepViewX,baseStepViewY);ctx.lineTo(baseStepViewX,baseStepViewY);previousBaseStepViewX=baseStepViewX;}
-ctx.closePath();ctx.fill();break;default:throw new Error('Not reachable');}}},addIntersectingEventsInRangeToSelectionInWorldSpace:function(loWX,hiWX,viewPixWidthWorld,selection){var points=this.points;function getPointWidth(point,i){if(i===points.length-1)
-return LAST_POINT_WIDTH*viewPixWidthWorld;var nextPoint=points[i+1];return nextPoint.x-point.x;}
-function selectPoint(point){point.addToSelection(selection);}
-tr.b.iterateOverIntersectingIntervals(this.points,function(point){return point.x},getPointWidth,loWX,hiWX,selectPoint);},addEventNearToProvidedEventToSelection:function(event,offset,selection){if(this.points===undefined)
-return false;var index=tr.b.findFirstIndexInArray(this.points,function(point){return point.modelItem===event;},this);if(index===-1)
-return false;var newIndex=index+offset;if(newIndex<0||newIndex>=this.points.length)
-return false;this.points[newIndex].addToSelection(selection);return true;},addClosestEventToSelection:function(worldX,worldMaxDist,loY,hiY,selection){if(this.points===undefined)
-return;var item=tr.b.findClosestElementInSortedArray(this.points,function(point){return point.x},worldX,worldMaxDist);if(!item)
-return;item.addToSelection(selection);}};return{ChartSeries:ChartSeries,ChartSeriesType:ChartSeriesType};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ChartTransform(displayTransform,axis,trackWidth,trackHeight,topPadding,bottomPadding,pixelRatio){this.pixelRatio=pixelRatio;this.leftViewX=0;this.rightViewX=trackWidth;this.leftTimestamp=displayTransform.xViewToWorld(this.leftViewX);this.rightTimestamp=displayTransform.xViewToWorld(this.rightViewX);this.displayTransform_=displayTransform;this.outerTopViewY=0;this.innerTopViewY=topPadding;this.innerBottomViewY=trackHeight-bottomPadding;this.outerBottomViewY=trackHeight;this.axis_=axis;this.innerHeight_=this.innerBottomViewY-this.innerTopViewY;};ChartTransform.prototype={worldXToViewX:function(worldX){return this.displayTransform_.xWorldToView(worldX);},viewXToWorldX:function(viewX){return this.displayTransform_.xViewToWorld(viewX);},worldYToViewY:function(worldY){var innerHeightCoefficient=1-this.axis_.valueToUnitRange(worldY);return innerHeightCoefficient*this.innerHeight_+this.innerTopViewY;}};return{ChartTransform:ChartTransform};});'use strict';tr.exportTo('tr.ui.tracks',function(){var ChartTrack=tr.ui.b.define('chart-track',tr.ui.tracks.Track);ChartTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate:function(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('chart-track');this.series_=undefined;this.axisGuidToAxisData_=undefined;this.topPadding_=undefined;this.bottomPadding_=undefined;this.heading_=document.createElement('tr-ui-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get series(){return this.series_;},set series(series){this.series_=series;this.calculateAxisDataAndPadding_();this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;this.invalidateDrawingContainer();},get hasVisibleContent(){return!!this.series&&this.series.length>0;},calculateAxisDataAndPadding_:function(){if(!this.series_){this.axisGuidToAxisData_=undefined;this.topPadding_=undefined;this.bottomPadding_=undefined;return;}
-var axisGuidToAxisData={};var topPadding=0;var bottomPadding=0;this.series_.forEach(function(series){var axis=series.axis;var axisGuid=axis.guid;if(!(axisGuid in axisGuidToAxisData)){axisGuidToAxisData[axisGuid]={axis:axis,series:[]};}
-axisGuidToAxisData[axisGuid].series.push(series);topPadding=Math.max(topPadding,series.topPadding);bottomPadding=Math.max(bottomPadding,series.bottomPadding);},this);this.axisGuidToAxisData_=axisGuidToAxisData;this.topPadding_=topPadding;this.bottomPadding_=bottomPadding;},draw:function(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawChart_(viewLWorld,viewRWorld);break;}},drawChart_:function(viewLWorld,viewRWorld){if(!this.series_)
-return;var ctx=this.context();var displayTransform=this.viewport.currentDisplayTransform;var pixelRatio=window.devicePixelRatio||1;var bounds=this.getBoundingClientRect();var highDetails=this.viewport.highDetails;var width=bounds.width*pixelRatio;var height=bounds.height*pixelRatio;var topPadding=this.topPadding_*pixelRatio;var bottomPadding=this.bottomPadding_*pixelRatio;ctx.save();ctx.beginPath();ctx.rect(0,0,width,height);ctx.clip();this.series_.forEach(function(series){var chartTransform=new tr.ui.tracks.ChartTransform(displayTransform,series.axis,width,height,topPadding,bottomPadding,pixelRatio);series.draw(ctx,chartTransform,highDetails);},this);ctx.restore();},addEventsToTrackMap:function(eventToTrackMap){this.series_.forEach(function(series){series.points.forEach(function(point){point.addToTrackMap(eventToTrackMap,this);},this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace:function(loWX,hiWX,viewPixWidthWorld,selection){this.series_.forEach(function(series){series.addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection);},this);},addEventNearToProvidedEventToSelection:function(event,offset,selection){var foundItem=false;this.series_.forEach(function(series){foundItem=foundItem||series.addEventNearToProvidedEventToSelection(event,offset,selection);},this);return foundItem;},addAllEventsMatchingFilterToSelection:function(filter,selection){},addClosestEventToSelection:function(worldX,worldMaxDist,loY,hiY,selection){this.series_.forEach(function(series){series.addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);},this);},autoSetAllAxes:function(opt_config){tr.b.iterItems(this.axisGuidToAxisData_,function(axisGuid,axisData){var axis=axisData.axis;var series=axisData.series;axis.autoSetFromSeries(series,opt_config);},this);},autoSetAxis:function(axis,opt_config){var series=this.axisGuidToAxisData_[axis.guid].series;axis.autoSetFromSeries(series,opt_config);}};return{ChartTrack:ChartTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var ColorScheme=tr.b.ColorScheme;var ChartTrack=tr.ui.tracks.ChartTrack;var MAX_CPU_TRACK_INTERVAL_COUNT=100000;var CpuUsageTrack=tr.ui.b.define('cpu-usage-track',ChartTrack);CpuUsageTrack.prototype={__proto__:ChartTrack.prototype,DEFAULT_INTERVAL:5,decorate:function(viewport){ChartTrack.prototype.decorate.call(this,viewport);this.classList.add('cpu-usage-track');this.heading='CPU usage';this.cpuUsageSeries_=undefined;},initialize:function(model,interval){if(interval!==undefined)
-this.interval_=interval;else{this.interval_=Math.max(this.DEFAULT_INTERVAL,Math.ceil(model.bounds.max/MAX_CPU_TRACK_INTERVAL_COUNT));}
-if(model!==undefined)
-this.cpuUsageSeries_=this.computeCpuUsage_(model);else
-this.cpuUsageSeries_=undefined;this.series=this.buildChartSeries_();this.autoSetAllAxes({expandMax:true});},computeCpuUsage_:function(model){var intervalCount=Math.ceil(model.bounds.max/this.interval_);if(intervalCount>MAX_CPU_TRACK_INTERVAL_COUNT){throw new Error('The trace is too long or the CPU usage counter '+'interval is too small, leading to too many CPU usage intervals.');}
-var cpuUsage=undefined;if(intervalCount>0){tr.b.iterItems(model.processes,function(pid,process){for(var e of process.getDescendantEvents()){if(!(e instanceof tr.model.ThreadSlice)||e.duration===0||e.cpuDuration===undefined){continue;}
-if(e.selfTime===0||e.selfTime===undefined||e.cpuSelfTime===undefined){continue;}
-var cpuSelfTimeRatio=e.cpuSelfTime/e.selfTime;cpuSelfTimeRatio=Math.max(0,cpuSelfTimeRatio);cpuSelfTimeRatio=Math.min(1,cpuSelfTimeRatio);if(cpuUsage===undefined)
-cpuUsage=new Array(intervalCount).fill(0);var lastTime=e.start;e.subSlices.forEach(function(slice){this.addCPUUsageOverInterval_(cpuUsage,cpuSelfTimeRatio,lastTime,slice.start);lastTime=slice.end;},this);this.addCPUUsageOverInterval_(cpuUsage,cpuSelfTimeRatio,lastTime,e.end);}},this);}
-return cpuUsage||[];},addCPUUsageOverInterval_:function(cpuUsageArray,cpuUsage,start,end){if(start>=end)
-return;var interval=this.interval_;var startIndex=Math.floor(start/interval);var endIndex=Math.ceil(end/interval)-1;var cpuUsagePerTime=cpuUsage/interval;for(var i=startIndex;i<endIndex;i++)
-cpuUsageArray[i]+=cpuUsage;cpuUsageArray[startIndex]-=cpuUsagePerTime*(start-startIndex*interval);cpuUsageArray[endIndex]+=cpuUsagePerTime*(end-endIndex*interval);},get hasVisibleContent(){return!!this.cpuUsageSeries_&&this.cpuUsageSeries_.length>0;},addContainersToTrackMap:function(containerToTrackMap){containerToTrackMap.addContainer(this.series_,this);},buildChartSeries_:function(){if(!this.hasVisibleContent)
-return[];var axis=new tr.ui.tracks.ChartAxis(0,undefined);var pts=new Array(this.cpuUsageSeries_.length+1);for(var i=0;i<=this.cpuUsageSeries_.length;i++){pts[i]=new tr.ui.tracks.ChartPoint(undefined,this.interval_*i,this.cpuUsageSeries_[i]||0);}
-var renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:ColorScheme.getColorIdForGeneralPurposeString(this.heading)};return[new tr.ui.tracks.ChartSeries(pts,axis,renderingConfig)];}};return{CpuUsageTrack:CpuUsageTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var ColorScheme=tr.b.ColorScheme;var ChartTrack=tr.ui.tracks.ChartTrack;var PowerSeriesTrack=tr.ui.b.define('power-series-track',ChartTrack);PowerSeriesTrack.prototype={__proto__:ChartTrack.prototype,decorate:function(viewport){ChartTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('power-series-track');this.heading='Power';this.powerSeries_=undefined;},set powerSeries(powerSeries){this.powerSeries_=powerSeries;this.series=this.buildChartSeries_();this.autoSetAllAxes({expandMax:true});},get hasVisibleContent(){return(this.powerSeries_&&this.powerSeries_.samples.length>0);},addContainersToTrackMap:function(containerToTrackMap){containerToTrackMap.addContainer(this.powerSeries_,this);},buildChartSeries_:function(){if(!this.hasVisibleContent)
-return[];var axis=new tr.ui.tracks.ChartAxis(0,undefined);var pts=this.powerSeries_.samples.map(function(smpl){return new tr.ui.tracks.ChartPoint(smpl,smpl.start,smpl.powerInW);});var renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:ColorScheme.getColorIdForGeneralPurposeString(this.heading)};return[new tr.ui.tracks.ChartSeries(pts,axis,renderingConfig)];}};return{PowerSeriesTrack:PowerSeriesTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var SpacingTrack=tr.ui.b.define('spacing-track',tr.ui.tracks.Track);SpacingTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate:function(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('spacing-track');this.heading_=document.createElement('tr-ui-heading');Polymer.dom(this).appendChild(this.heading_);},addAllEventsMatchingFilterToSelection:function(filter,selection){}};return{SpacingTrack:SpacingTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var ContainerTrack=tr.ui.tracks.ContainerTrack;var DeviceTrack=tr.ui.b.define('device-track',ContainerTrack);DeviceTrack.prototype={__proto__:ContainerTrack.prototype,decorate:function(viewport){ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('device-track');this.device_=undefined;this.powerSeriesTrack_=undefined;},get device(){return this.device_;},set device(device){this.device_=device;this.updateContents_();},get powerSeriesTrack(){return this.powerSeriesTrack_;},get hasVisibleContent(){return(this.powerSeriesTrack_&&this.powerSeriesTrack_.hasVisibleContent);},addContainersToTrackMap:function(containerToTrackMap){tr.ui.tracks.ContainerTrack.prototype.addContainersToTrackMap.call(this,containerToTrackMap);containerToTrackMap.addContainer(this.device,this);},addEventsToTrackMap:function(eventToTrackMap){this.tracks_.forEach(function(track){track.addEventsToTrackMap(eventToTrackMap);});},appendPowerSeriesTrack_:function(){this.powerSeriesTrack_=new tr.ui.tracks.PowerSeriesTrack(this.viewport);this.powerSeriesTrack_.powerSeries=this.device.powerSeries;if(this.powerSeriesTrack_.hasVisibleContent){Polymer.dom(this).appendChild(this.powerSeriesTrack_);Polymer.dom(this).appendChild(new tr.ui.tracks.SpacingTrack(this.viewport));}},updateContents_:function(){this.clearTracks_();this.appendPowerSeriesTrack_();}};return{DeviceTrack:DeviceTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var ColorScheme=tr.b.ColorScheme;var DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;var BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;var LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;var DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;function extractGlobalMemoryDumpUsedSizes(globalMemoryDump,addSize){tr.b.iterItems(globalMemoryDump.processMemoryDumps,function(pid,pmd){var mostRecentVmRegions=pmd.mostRecentVmRegions;if(mostRecentVmRegions===undefined)
-return;addSize(pid,mostRecentVmRegions.byteStats.proportionalResident||0,pmd.process.userFriendlyName);});}
-function extractProcessMemoryDumpAllocatorSizes(processMemoryDump,addSize){var allocatorDumps=processMemoryDump.memoryAllocatorDumps;if(allocatorDumps===undefined)
-return;allocatorDumps.forEach(function(allocatorDump){if(allocatorDump.fullName==='tracing')
-return;var allocatorSize=allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME];if(allocatorSize===undefined)
-return;var allocatorSizeValue=allocatorSize.value;if(allocatorSizeValue===undefined)
-return;addSize(allocatorDump.fullName,allocatorSizeValue);});}
-function extractGlobalMemoryDumpAllocatorSizes(globalMemoryDump,addSize){tr.b.iterItems(globalMemoryDump.processMemoryDumps,(pid,pmd)=>extractProcessMemoryDumpAllocatorSizes(pmd,addSize));}
-function buildMemoryChartSeries(memoryDumps,dumpSizeExtractor){var dumpCount=memoryDumps.length;var idToTimestampToPoint={};var idToName={};memoryDumps.forEach(function(dump,index){dumpSizeExtractor(dump,function addSize(id,size,opt_name){var timestampToPoint=idToTimestampToPoint[id];if(timestampToPoint===undefined){idToTimestampToPoint[id]=timestampToPoint=new Array(dumpCount);for(var i=0;i<dumpCount;i++){var modelItem=memoryDumps[i];timestampToPoint[i]=new tr.ui.tracks.ChartPoint(modelItem,modelItem.start,0);}}
-timestampToPoint[index].y+=size;if(opt_name!==undefined)
-idToName[id]=opt_name;});});var ids=Object.keys(idToTimestampToPoint);if(ids.length===0)
-return undefined;ids.sort();for(var i=0;i<dumpCount;i++){var baseSize=0;for(var j=ids.length-1;j>=0;j--){var point=idToTimestampToPoint[ids[j]][i];point.yBase=baseSize;point.y+=baseSize;baseSize=point.y;}}
-var axis=new tr.ui.tracks.ChartAxis(0);var series=ids.map(function(id){var colorId=ColorScheme.getColorIdForGeneralPurposeString(idToName[id]||id);var renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:colorId,backgroundOpacity:0.8};return new tr.ui.tracks.ChartSeries(idToTimestampToPoint[id],axis,renderingConfig);});series.reverse();return series;}
-function buildMemoryLetterDots(memoryDumps){var backgroundMemoryColorId=ColorScheme.getColorIdForReservedName('background_memory_dump');var lightMemoryColorId=ColorScheme.getColorIdForReservedName('light_memory_dump');var detailedMemoryColorId=ColorScheme.getColorIdForReservedName('detailed_memory_dump');return memoryDumps.map(function(memoryDump){var memoryColorId;switch(memoryDump.levelOfDetail){case BACKGROUND:memoryColorId=backgroundMemoryColorId;break;case DETAILED:memoryColorId=detailedMemoryColorId;break;case LIGHT:default:memoryColorId=lightMemoryColorId;}
-return new tr.ui.tracks.LetterDot(memoryDump,'M',memoryColorId,memoryDump.start);});}
-function buildGlobalUsedMemoryChartSeries(globalMemoryDumps){return buildMemoryChartSeries(globalMemoryDumps,extractGlobalMemoryDumpUsedSizes);}
-function buildProcessAllocatedMemoryChartSeries(processMemoryDumps){return buildMemoryChartSeries(processMemoryDumps,extractProcessMemoryDumpAllocatorSizes);}
-function buildGlobalAllocatedMemoryChartSeries(globalMemoryDumps){return buildMemoryChartSeries(globalMemoryDumps,extractGlobalMemoryDumpAllocatorSizes);}
-return{buildMemoryLetterDots:buildMemoryLetterDots,buildGlobalUsedMemoryChartSeries:buildGlobalUsedMemoryChartSeries,buildProcessAllocatedMemoryChartSeries:buildProcessAllocatedMemoryChartSeries,buildGlobalAllocatedMemoryChartSeries:buildGlobalAllocatedMemoryChartSeries};});'use strict';tr.exportTo('tr.ui.tracks',function(){var USED_MEMORY_TRACK_HEIGHT=50;var ALLOCATED_MEMORY_TRACK_HEIGHT=50;var GlobalMemoryDumpTrack=tr.ui.b.define('global-memory-dump-track',tr.ui.tracks.ContainerTrack);GlobalMemoryDumpTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate:function(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.memoryDumps_=undefined;},get memoryDumps(){return this.memoryDumps_;},set memoryDumps(memoryDumps){this.memoryDumps_=memoryDumps;this.updateContents_();},updateContents_:function(){this.clearTracks_();if(!this.memoryDumps_||!this.memoryDumps_.length)
-return;this.appendDumpDotsTrack_();this.appendUsedMemoryTrack_();this.appendAllocatedMemoryTrack_();},appendDumpDotsTrack_:function(){var items=tr.ui.tracks.buildMemoryLetterDots(this.memoryDumps_);if(!items)
-return;var track=new tr.ui.tracks.LetterDotTrack(this.viewport);track.heading='Memory Dumps';track.items=items;Polymer.dom(this).appendChild(track);},appendUsedMemoryTrack_:function(){var series=tr.ui.tracks.buildGlobalUsedMemoryChartSeries(this.memoryDumps_);if(!series)
-return;var track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per process';track.height=USED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);},appendAllocatedMemoryTrack_:function(){var series=tr.ui.tracks.buildGlobalAllocatedMemoryChartSeries(this.memoryDumps_);if(!series)
-return;var track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per component';track.height=ALLOCATED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);}};return{GlobalMemoryDumpTrack:GlobalMemoryDumpTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){function Highlighter(viewport){if(viewport===undefined){throw new Error('viewport must be provided');}
-this.viewport_=viewport;};Highlighter.prototype={__proto__:Object.prototype,processModel:function(model){throw new Error('processModel implementation missing');},drawHighlight:function(ctx,dt,viewLWorld,viewRWorld,viewHeight){throw new Error('drawHighlight implementation missing');}};var options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Highlighter;tr.b.decorateExtensionRegistry(Highlighter,options);return{Highlighter:Highlighter};});'use strict';tr.exportTo('tr.ui.b',function(){function FastRectRenderer(ctx,minRectSize,maxMergeDist,pallette){this.ctx_=ctx;this.minRectSize_=minRectSize;this.maxMergeDist_=maxMergeDist;this.pallette_=pallette;}
-FastRectRenderer.prototype={y_:0,h_:0,merging_:false,mergeStartX_:0,mergeCurRight_:0,mergedColorId_:0,mergedAlpha_:0,setYandH:function(y,h){if(this.y_===y&&this.h_===h)
-return;this.flush();this.y_=y;this.h_=h;},fillRect:function(x,w,colorId,alpha){var r=x+w;if(w<this.minRectSize_){if(r-this.mergeStartX_>this.maxMergeDist_)
-this.flush();if(!this.merging_){this.merging_=true;this.mergeStartX_=x;this.mergeCurRight_=r;this.mergedColorId_=colorId;this.mergedAlpha_=alpha;}else{this.mergeCurRight_=r;if(this.mergedAlpha_<alpha||(this.mergedAlpha_===alpha&&this.mergedColorId_<colorId)){this.mergedAlpha_=alpha;this.mergedColorId_=colorId;}}}else{if(this.merging_)
-this.flush();this.ctx_.fillStyle=this.pallette_[colorId];this.ctx_.globalAlpha=alpha;this.ctx_.fillRect(x,this.y_,w,this.h_);}},flush:function(){if(this.merging_){this.ctx_.fillStyle=this.pallette_[this.mergedColorId_];this.ctx_.globalAlpha=this.mergedAlpha_;this.ctx_.fillRect(this.mergeStartX_,this.y_,this.mergeCurRight_-this.mergeStartX_,this.h_);this.merging_=false;}}};return{FastRectRenderer:FastRectRenderer};});'use strict';tr.exportTo('tr.ui.tracks',function(){var RectTrack=tr.ui.b.define('rect-track',tr.ui.tracks.Track);RectTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate:function(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('rect-track');this.asyncStyle_=false;this.rects_=null;this.heading_=document.createElement('tr-ui-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},set selectionGenerator(generator){this.heading_.selectionGenerator=generator;},set expanded(expanded){this.heading_.expanded=!!expanded;},set arrowVisible(arrowVisible){this.heading_.arrowVisible=!!arrowVisible;},get expanded(){return this.heading_.expanded;},get asyncStyle(){return this.asyncStyle_;},set asyncStyle(v){this.asyncStyle_=!!v;},get rects(){return this.rects_;},set rects(rects){this.rects_=rects||[];this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;this.invalidateDrawingContainer();},get hasVisibleContent(){return this.rects_.length>0;},draw:function(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawRects_(viewLWorld,viewRWorld);break;}},drawRects_:function(viewLWorld,viewRWorld){var ctx=this.context();ctx.save();var bounds=this.getBoundingClientRect();tr.ui.b.drawSlices(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.rects_,this.asyncStyle_);ctx.restore();if(bounds.height<=6)
-return;var fontSize,yOffset;if(bounds.height<15){fontSize=6;yOffset=1.0;}else{fontSize=10;yOffset=2.5;}
-tr.ui.b.drawLabels(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,this.rects_,this.asyncStyle_,fontSize,yOffset);},addEventsToTrackMap:function(eventToTrackMap){if(this.rects_===undefined||this.rects_===null)
-return;this.rects_.forEach(function(rect){rect.addToTrackMap(eventToTrackMap,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace:function(loWX,hiWX,viewPixWidthWorld,selection){function onRect(rect){rect.addToSelection(selection);}
-onRect=onRect.bind(this);var instantEventWidth=2*viewPixWidthWorld;tr.b.iterateOverIntersectingIntervals(this.rects_,function(x){return x.start;},function(x){return x.duration==0?x.duration+instantEventWidth:x.duration;},loWX,hiWX,onRect);},addEventNearToProvidedEventToSelection:function(event,offset,selection){var index=tr.b.findFirstIndexInArray(this.rects_,function(rect){return rect.modelItem===event;});if(index===-1)
-return false;var newIndex=index+offset;if(newIndex<0||newIndex>=this.rects_.length)
-return false;this.rects_[newIndex].addToSelection(selection);return true;},addAllEventsMatchingFilterToSelection:function(filter,selection){for(var i=0;i<this.rects_.length;++i){var modelItem=this.rects_[i].modelItem;if(!modelItem)
-continue;if(filter.matchSlice(modelItem))
-selection.push(modelItem);}},addClosestEventToSelection:function(worldX,worldMaxDist,loY,hiY,selection){var rect=tr.b.findClosestIntervalInSortedIntervals(this.rects_,function(x){return x.start;},function(x){return x.end;},worldX,worldMaxDist);if(!rect)
-return;rect.addToSelection(selection);}};function Rect(modelItem,title,colorId,start,duration){tr.model.ProxySelectableItem.call(this,modelItem);this.title=title;this.colorId=colorId;this.start=start;this.duration=duration;this.end=start+duration;};Rect.prototype={__proto__:tr.model.ProxySelectableItem.prototype};return{RectTrack:RectTrack,Rect:Rect};});'use strict';tr.exportTo('tr.ui.tracks',function(){var SliceTrack=tr.ui.b.define('slice-track',tr.ui.tracks.RectTrack);SliceTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate:function(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get slices(){return this.rects;},set slices(slices){this.rects=slices;}};return{SliceTrack:SliceTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var CpuTrack=tr.ui.b.define('cpu-track',tr.ui.tracks.ContainerTrack);CpuTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate:function(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('cpu-track');this.detailedMode_=true;},get cpu(){return this.cpu_;},set cpu(cpu){this.cpu_=cpu;this.updateContents_();},get detailedMode(){return this.detailedMode_;},set detailedMode(detailedMode){this.detailedMode_=detailedMode;this.updateContents_();},get tooltip(){return this.tooltip_;},set tooltip(value){this.tooltip_=value;this.updateContents_();},get hasVisibleContent(){if(this.cpu_===undefined)
-return false;var cpu=this.cpu_;if(cpu.slices.length)
-return true;if(cpu.samples&&cpu.samples.length)
-return true;if(tr.b.dictionaryLength(cpu.counters)>0)
-return true;return false;},updateContents_:function(){this.detach();if(!this.cpu_)
-return;var slices=this.cpu_.slices;if(slices.length){var track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;track.heading=this.cpu_.userFriendlyName+':';Polymer.dom(this).appendChild(track);}
-if(this.detailedMode_){this.appendSamplesTracks_();for(var counterName in this.cpu_.counters){var counter=this.cpu_.counters[counterName];track=new tr.ui.tracks.CounterTrack(this.viewport);track.heading=this.cpu_.userFriendlyName+' '+
-counter.name+':';track.counter=counter;Polymer.dom(this).appendChild(track);}}},appendSamplesTracks_:function(){var samples=this.cpu_.samples;if(samples===undefined||samples.length===0)
-return;var samplesByTitle={};samples.forEach(function(sample){if(samplesByTitle[sample.title]===undefined)
-samplesByTitle[sample.title]=[];samplesByTitle[sample.title].push(sample);});var sampleTitles=tr.b.dictionaryKeys(samplesByTitle);sampleTitles.sort();sampleTitles.forEach(function(sampleTitle){var samples=samplesByTitle[sampleTitle];var samplesTrack=new tr.ui.tracks.SliceTrack(this.viewport);samplesTrack.group=this.cpu_;samplesTrack.slices=samples;samplesTrack.heading=this.cpu_.userFriendlyName+': '+
-sampleTitle;samplesTrack.tooltip=this.cpu_.userFriendlyDetails;samplesTrack.selectionGenerator=function(){var selection=new tr.model.EventSet();for(var i=0;i<samplesTrack.slices.length;i++){selection.push(samplesTrack.slices[i]);}
-return selection;};Polymer.dom(this).appendChild(samplesTrack);},this);}};return{CpuTrack:CpuTrack};});'use strict';tr.exportTo('tr.model',function(){var Settings=tr.b.Settings;function ModelSettings(model){this.model=model;this.objectsByKey_=[];this.nonuniqueKeys_=[];this.buildObjectsByKeyMap_();this.removeNonuniqueKeysFromSettings_();this.ephemeralSettingsByGUID_={};}
-ModelSettings.prototype={buildObjectsByKeyMap_:function(){var objects=[];this.model.iterateAllPersistableObjects(function(o){objects.push(o);});var objectsByKey={};var NONUNIQUE_KEY='nonuniqueKey';for(var i=0;i<objects.length;i++){var object=objects[i];var objectKey=object.getSettingsKey();if(!objectKey)
-continue;if(objectsByKey[objectKey]===undefined){objectsByKey[objectKey]=object;continue;}
-objectsByKey[objectKey]=NONUNIQUE_KEY;}
-var nonuniqueKeys={};tr.b.dictionaryKeys(objectsByKey).forEach(function(objectKey){if(objectsByKey[objectKey]!==NONUNIQUE_KEY)
-return;delete objectsByKey[objectKey];nonuniqueKeys[objectKey]=true;});this.nonuniqueKeys=nonuniqueKeys;this.objectsByKey_=objectsByKey;},removeNonuniqueKeysFromSettings_:function(){var settings=Settings.get('trace_model_settings',{});var settingsChanged=false;tr.b.dictionaryKeys(settings).forEach(function(objectKey){if(!this.nonuniqueKeys[objectKey])
-return;settingsChanged=true;delete settings[objectKey];},this);if(settingsChanged)
-Settings.set('trace_model_settings',settings);},hasUniqueSettingKey:function(object){var objectKey=object.getSettingsKey();if(!objectKey)
-return false;return this.objectsByKey_[objectKey]!==undefined;},getSettingFor:function(object,objectLevelKey,defaultValue){var objectKey=object.getSettingsKey();if(!objectKey||!this.objectsByKey_[objectKey]){var settings=this.getEphemeralSettingsFor_(object);var ephemeralValue=settings[objectLevelKey];if(ephemeralValue!==undefined)
-return ephemeralValue;return defaultValue;}
-var settings=Settings.get('trace_model_settings',{});if(!settings[objectKey])
-settings[objectKey]={};var value=settings[objectKey][objectLevelKey];if(value!==undefined)
-return value;return defaultValue;},setSettingFor:function(object,objectLevelKey,value){var objectKey=object.getSettingsKey();if(!objectKey||!this.objectsByKey_[objectKey]){this.getEphemeralSettingsFor_(object)[objectLevelKey]=value;return;}
-var settings=Settings.get('trace_model_settings',{});if(!settings[objectKey])
-settings[objectKey]={};if(settings[objectKey][objectLevelKey]===value)
-return;settings[objectKey][objectLevelKey]=value;Settings.set('trace_model_settings',settings);},getEphemeralSettingsFor_:function(object){if(object.guid===undefined)
-throw new Error('Only objects with GUIDs can be persisted');if(this.ephemeralSettingsByGUID_[object.guid]===undefined)
-this.ephemeralSettingsByGUID_[object.guid]={};return this.ephemeralSettingsByGUID_[object.guid];}};return{ModelSettings:ModelSettings};});'use strict';tr.exportTo('tr.ui.tracks',function(){var CounterTrack=tr.ui.b.define('counter-track',tr.ui.tracks.ChartTrack);CounterTrack.prototype={__proto__:tr.ui.tracks.ChartTrack.prototype,decorate:function(viewport){tr.ui.tracks.ChartTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('counter-track');},get counter(){return this.chart;},set counter(counter){this.heading=counter.name+': ';this.series=CounterTrack.buildChartSeriesFromCounter(counter);this.autoSetAllAxes({expandMax:true});},getModelEventFromItem:function(chartValue){return chartValue;}};CounterTrack.buildChartSeriesFromCounter=function(counter){var numSeries=counter.series.length;var totals=counter.totals;var chartAxis=new tr.ui.tracks.ChartAxis(0,undefined);var chartSeries=counter.series.map(function(series,seriesIndex){var chartPoints=series.samples.map(function(sample,sampleIndex){var total=totals[sampleIndex*numSeries+seriesIndex];return new tr.ui.tracks.ChartPoint(sample,sample.timestamp,total);});var renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:series.color};return new tr.ui.tracks.ChartSeries(chartPoints,chartAxis,renderingConfig);});chartSeries.reverse();return chartSeries;};return{CounterTrack:CounterTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var startCompare=function(x,y){return x.start-y.start;}
-var FrameTrack=tr.ui.b.define('frame-track',tr.ui.tracks.LetterDotTrack);FrameTrack.prototype={__proto__:tr.ui.tracks.LetterDotTrack.prototype,decorate:function(viewport){tr.ui.tracks.LetterDotTrack.prototype.decorate.call(this,viewport);this.heading='Frames';this.frames_=undefined;this.items=undefined;},get frames(){return this.frames_;},set frames(frames){this.frames_=frames;if(frames===undefined)
-return;this.frames_=this.frames_.slice();this.frames_.sort(startCompare);this.items=this.frames_.map(function(frame){return new FrameDot(frame);});}};function FrameDot(frame){tr.ui.tracks.LetterDot.call(this,frame,'F',frame.colorId,frame.start);}
-FrameDot.prototype={__proto__:tr.ui.tracks.LetterDot.prototype};return{FrameTrack:FrameTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var MultiRowTrack=tr.ui.b.define('multi-row-track',tr.ui.tracks.ContainerTrack);MultiRowTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate:function(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.tooltip_='';this.heading_='';this.groupingSource_=undefined;this.itemsToGroup_=undefined;this.defaultToCollapsedWhenSubRowCountMoreThan=1;this.itemsGroupedOnLastUpdateContents_=undefined;this.currentSubRows_=[];this.expanded_=true;},get itemsToGroup(){return this.itemsToGroup_;},setItemsToGroup:function(itemsToGroup,opt_groupingSource){this.itemsToGroup_=itemsToGroup;this.groupingSource_=opt_groupingSource;this.updateContents_();this.updateExpandedStateFromGroupingSource_();},get heading(){return this.heading_;},set heading(h){this.heading_=h;this.updateContents_();},get tooltip(){return this.tooltip_;},set tooltip(t){this.tooltip_=t;this.updateContents_();},get subRows(){return this.currentSubRows_;},get hasVisibleContent(){return this.children.length>0;},get expanded(){return this.expanded_;},set expanded(expanded){if(this.expanded_==expanded)
-return;this.expanded_=expanded;this.expandedStateChanged_();},onHeadingClicked_:function(e){if(this.subRows.length<=1)
-return;this.expanded=!this.expanded;if(this.groupingSource_){var modelSettings=new tr.model.ModelSettings(this.groupingSource_.model);modelSettings.setSettingFor(this.groupingSource_,'expanded',this.expanded);}
-e.stopPropagation();},updateExpandedStateFromGroupingSource_:function(){if(this.groupingSource_){var numSubRows=this.subRows.length;var modelSettings=new tr.model.ModelSettings(this.groupingSource_.model);if(numSubRows>1){var defaultExpanded;if(numSubRows>this.defaultToCollapsedWhenSubRowCountMoreThan){defaultExpanded=false;}else{defaultExpanded=true;}
-this.expanded=modelSettings.getSettingFor(this.groupingSource_,'expanded',defaultExpanded);}else{this.expanded=undefined;}}},expandedStateChanged_:function(){var minH=Math.max(2,Math.ceil(18/this.children.length));var h=(this.expanded_?18:minH)+'px';for(var i=0;i<this.children.length;i++){this.children[i].height=h;if(i===0)
-this.children[i].arrowVisible=true;this.children[i].expanded=this.expanded;}
-if(this.children.length===1){this.children[0].expanded=true;this.children[0].arrowVisible=false;}},updateContents_:function(){tr.ui.tracks.ContainerTrack.prototype.updateContents_.call(this);if(!this.itemsToGroup_){this.updateHeadingAndTooltip_();this.currentSubRows_=[];return;}
-if(this.areArrayContentsSame_(this.itemsGroupedOnLastUpdateContents_,this.itemsToGroup_)){this.updateHeadingAndTooltip_();return;}
-this.itemsGroupedOnLastUpdateContents_=this.itemsToGroup_;this.detach();if(!this.itemsToGroup_.length){this.currentSubRows_=[];return;}
-var subRows=this.buildSubRows_(this.itemsToGroup_);this.currentSubRows_=subRows;for(var srI=0;srI<subRows.length;srI++){var subRow=subRows[srI];if(!subRow.length)
-continue;var track=this.addSubTrack_(subRow);track.addEventListener('heading-clicked',this.onHeadingClicked_.bind(this));}
-this.updateHeadingAndTooltip_();this.expandedStateChanged_();},updateHeadingAndTooltip_:function(){if(!Polymer.dom(this).firstChild)
-return;Polymer.dom(this).firstChild.heading=this.heading_;Polymer.dom(this).firstChild.tooltip=this.tooltip_;},buildSubRows_:function(itemsToGroup){throw new Error('Not implemented');},addSubTrack_:function(subRowItems){throw new Error('Not implemented');},areArrayContentsSame_:function(a,b){if(!a||!b)
-return false;if(!a.length||!b.length)
-return false;if(a.length!=b.length)
-return false;for(var i=0;i<a.length;++i){if(a[i]!=b[i])
-return false;}
-return true;}};return{MultiRowTrack:MultiRowTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var SelectionState=tr.model.SelectionState;var EventPresenter=tr.ui.b.EventPresenter;var ObjectInstanceTrack=tr.ui.b.define('object-instance-track',tr.ui.tracks.Track);ObjectInstanceTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate:function(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('object-instance-track');this.objectInstances_=[];this.objectSnapshots_=[];this.heading_=document.createElement('tr-ui-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get objectInstances(){return this.objectInstances_;},set objectInstances(objectInstances){if(!objectInstances||objectInstances.length==0){this.heading='';this.objectInstances_=[];this.objectSnapshots_=[];return;}
-this.heading=objectInstances[0].typeName;this.objectInstances_=objectInstances;this.objectSnapshots_=[];this.objectInstances_.forEach(function(instance){this.objectSnapshots_.push.apply(this.objectSnapshots_,instance.snapshots);},this);this.objectSnapshots_.sort(function(a,b){return a.ts-b.ts;});},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},get snapshotRadiusView(){return 7*(window.devicePixelRatio||1);},draw:function(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawLetterDots_(viewLWorld,viewRWorld);break;}},drawLetterDots_:function(viewLWorld,viewRWorld){var ctx=this.context();var pixelRatio=window.devicePixelRatio||1;var bounds=this.getBoundingClientRect();var height=bounds.height*pixelRatio;var halfHeight=height*0.5;var twoPi=Math.PI*2;var dt=this.viewport.currentDisplayTransform;var snapshotRadiusView=this.snapshotRadiusView;var snapshotRadiusWorld=dt.xViewVectorToWorld(height);var loI;ctx.save();dt.applyTransformToCanvas(ctx);var objectInstances=this.objectInstances_;var loI=tr.b.findLowIndexInSortedArray(objectInstances,function(instance){return instance.deletionTs;},viewLWorld);ctx.strokeStyle='rgb(0,0,0)';for(var i=loI;i<objectInstances.length;++i){var instance=objectInstances[i];var x=instance.creationTs;if(x>viewRWorld)
-break;var right=instance.deletionTs==Number.MAX_VALUE?viewRWorld:instance.deletionTs;ctx.fillStyle=EventPresenter.getObjectInstanceColor(instance);ctx.fillRect(x,pixelRatio,right-x,height-2*pixelRatio);}
-ctx.restore();var objectSnapshots=this.objectSnapshots_;loI=tr.b.findLowIndexInSortedArray(objectSnapshots,function(snapshot){return snapshot.ts+snapshotRadiusWorld;},viewLWorld);for(var i=loI;i<objectSnapshots.length;++i){var snapshot=objectSnapshots[i];var x=snapshot.ts;if(x-snapshotRadiusWorld>viewRWorld)
-break;var xView=dt.xWorldToView(x);ctx.fillStyle=EventPresenter.getObjectSnapshotColor(snapshot);ctx.beginPath();ctx.arc(xView,halfHeight,snapshotRadiusView,0,twoPi);ctx.fill();if(snapshot.selected){ctx.lineWidth=5;ctx.strokeStyle='rgb(100,100,0)';ctx.stroke();ctx.beginPath();ctx.arc(xView,halfHeight,snapshotRadiusView-1,0,twoPi);ctx.lineWidth=2;ctx.strokeStyle='rgb(255,255,0)';ctx.stroke();}else{ctx.lineWidth=1;ctx.strokeStyle='rgb(0,0,0)';ctx.stroke();}}
-ctx.lineWidth=1;var selectionState=SelectionState.NONE;if(objectInstances.length&&objectInstances[0].selectionState===SelectionState.DIMMED){selectionState=SelectionState.DIMMED;}
-if(selectionState===SelectionState.DIMMED){var width=bounds.width*pixelRatio;ctx.fillStyle='rgba(255,255,255,0.5)';ctx.fillRect(0,0,width,height);ctx.restore();}},addEventsToTrackMap:function(eventToTrackMap){if(this.objectInstance_!==undefined){this.objectInstance_.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);}
-if(this.objectSnapshots_!==undefined){this.objectSnapshots_.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);}},addIntersectingEventsInRangeToSelectionInWorldSpace:function(loWX,hiWX,viewPixWidthWorld,selection){var foundSnapshot=false;function onSnapshot(snapshot){selection.push(snapshot);foundSnapshot=true;}
-var snapshotRadiusView=this.snapshotRadiusView;var snapshotRadiusWorld=viewPixWidthWorld*snapshotRadiusView;tr.b.iterateOverIntersectingIntervals(this.objectSnapshots_,function(x){return x.ts-snapshotRadiusWorld;},function(x){return 2*snapshotRadiusWorld;},loWX,hiWX,onSnapshot);if(foundSnapshot)
-return;tr.b.iterateOverIntersectingIntervals(this.objectInstances_,function(x){return x.creationTs;},function(x){return x.deletionTs-x.creationTs;},loWX,hiWX,selection.push.bind(selection));},addEventNearToProvidedEventToSelection:function(event,offset,selection){var events;if(event instanceof tr.model.ObjectSnapshot)
-events=this.objectSnapshots_;else if(event instanceof tr.model.ObjectInstance)
-events=this.objectInstances_;else
-throw new Error('Unrecognized event');var index=events.indexOf(event);var newIndex=index+offset;if(newIndex>=0&&newIndex<events.length){selection.push(events[newIndex]);return true;}
-return false;},addAllEventsMatchingFilterToSelection:function(filter,selection){},addClosestEventToSelection:function(worldX,worldMaxDist,loY,hiY,selection){var snapshot=tr.b.findClosestElementInSortedArray(this.objectSnapshots_,function(x){return x.ts;},worldX,worldMaxDist);if(!snapshot)
-return;selection.push(snapshot);}};var options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);tr.b.decorateExtensionRegistry(ObjectInstanceTrack,options);return{ObjectInstanceTrack:ObjectInstanceTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var ObjectInstanceGroupTrack=tr.ui.b.define('object-instance-group-track',tr.ui.tracks.MultiRowTrack);ObjectInstanceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate:function(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('object-instance-group-track');this.objectInstances_=undefined;},get objectInstances(){return this.itemsToGroup;},set objectInstances(objectInstances){this.setItemsToGroup(objectInstances);},addSubTrack_:function(objectInstances){var hasMultipleRows=this.subRows.length>1;var track=new tr.ui.tracks.ObjectInstanceTrack(this.viewport);track.objectInstances=objectInstances;Polymer.dom(this).appendChild(track);return track;},buildSubRows_:function(objectInstances){objectInstances.sort(function(x,y){return x.creationTs-y.creationTs;});var subRows=[];for(var i=0;i<objectInstances.length;i++){var objectInstance=objectInstances[i];var found=false;for(var j=0;j<subRows.length;j++){var subRow=subRows[j];var lastItemInSubRow=subRow[subRow.length-1];if(objectInstance.creationTs>=lastItemInSubRow.deletionTs){found=true;subRow.push(objectInstance);break;}}
-if(!found){var subRow=[objectInstance];subRows.push(subRow);}}
-return subRows;},updateHeadingAndTooltip_:function(){}};return{ObjectInstanceGroupTrack:ObjectInstanceGroupTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var ColorScheme=tr.b.ColorScheme;var ProcessSummaryTrack=tr.ui.b.define('process-summary-track',tr.ui.tracks.RectTrack);ProcessSummaryTrack.buildRectsFromProcess=function(process){if(!process)
-return[];var ops=[];var pushOp=function(isStart,time,slice){ops.push({isStart:isStart,time:time,slice:slice});};for(var tid in process.threads){var sliceGroup=process.threads[tid].sliceGroup;sliceGroup.topLevelSlices.forEach(function(slice){pushOp(true,slice.start,undefined);pushOp(false,slice.end,undefined);});sliceGroup.slices.forEach(function(slice){if(slice.important){pushOp(true,slice.start,slice);pushOp(false,slice.end,slice);}});}
-ops.sort(function(a,b){return a.time-b.time;});var rects=[];var genericColorId=ColorScheme.getColorIdForReservedName('generic_work');var pushRect=function(start,end,slice){rects.push(new tr.ui.tracks.Rect(slice,slice?slice.title:'',slice?slice.colorId:genericColorId,start,end-start));}
-var depth=0;var currentSlice=undefined;var lastStart=undefined;ops.forEach(function(op){depth+=op.isStart?1:-1;if(currentSlice){if(!op.isStart&&op.slice==currentSlice){pushRect(lastStart,op.time,currentSlice);lastStart=depth>=1?op.time:undefined;currentSlice=undefined;}}else{if(op.isStart){if(depth==1){lastStart=op.time;currentSlice=op.slice;}else if(op.slice){if(op.time!=lastStart){pushRect(lastStart,op.time,undefined);lastStart=op.time;}
-currentSlice=op.slice;}}else{if(depth==0){pushRect(lastStart,op.time,undefined);lastStart=undefined;}}}});return rects;};ProcessSummaryTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate:function(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get process(){return this.process_;},set process(process){this.process_=process;this.rects=ProcessSummaryTrack.buildRectsFromProcess(process);}};return{ProcessSummaryTrack:ProcessSummaryTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var AsyncSliceGroupTrack=tr.ui.b.define('async-slice-group-track',tr.ui.tracks.MultiRowTrack);AsyncSliceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate:function(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('async-slice-group-track');this.group_=undefined;},addSubTrack_:function(slices){var track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);track.asyncStyle=true;return track;},get group(){return this.group_;},set group(group){this.group_=group;this.setItemsToGroup(this.group_.slices,this.group_);},get eventContainer(){return this.group;},addContainersToTrackMap:function(containerToTrackMap){tr.ui.tracks.MultiRowTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.group,this);},buildSubRows_:function(slices,opt_skipSort){if(!opt_skipSort){slices.sort(function(x,y){return x.start-y.start;});}
-var findLevel=function(sliceToPut,rows,n){if(n>=rows.length)
-return true;var subRow=rows[n];var lastSliceInSubRow=subRow[subRow.length-1];if(sliceToPut.start>=lastSliceInSubRow.end){if(sliceToPut.subSlices===undefined||sliceToPut.subSlices.length===0){return true;}
-for(var subSlice of sliceToPut.subSlices){if(!findLevel(subSlice,rows,n+1))
-return false;}
-return true;}
-return false;};var subRows=[];for(var slice of slices){var found=false;var index=subRows.length;for(var j=0;j<subRows.length;j++){if(findLevel(slice,subRows,j)){found=true;index=j;break;}}
-if(!found)
-subRows.push([]);subRows[index].push(slice);var fitSubSlicesRecursively=function(subSlices,level,rows){if(subSlices===undefined||subSlices.length===0)
-return;if(level===rows.length)
-rows.push([]);for(var subSlice of subSlices){rows[level].push(subSlice);fitSubSlicesRecursively(subSlice.subSlices,level+1,rows);}};fitSubSlicesRecursively(slice.subSlices,index+1,subRows);}
-return subRows;}};return{AsyncSliceGroupTrack:AsyncSliceGroupTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var SampleTrack=tr.ui.b.define('sample-track',tr.ui.tracks.RectTrack);SampleTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate:function(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get samples(){return this.rects;},set samples(samples){this.rects=samples;}};return{SampleTrack:SampleTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var SliceGroupTrack=tr.ui.b.define('slice-group-track',tr.ui.tracks.MultiRowTrack);SliceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate:function(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('slice-group-track');this.group_=undefined;this.defaultToCollapsedWhenSubRowCountMoreThan=100;},addSubTrack_:function(slices){var track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);return track;},get group(){return this.group_;},set group(group){this.group_=group;this.setItemsToGroup(this.group_.slices,this.group_);},get eventContainer(){return this.group;},addContainersToTrackMap:function(containerToTrackMap){tr.ui.tracks.MultiRowTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.group,this);},buildSubRows_:function(slices){var precisionUnit=this.group.model.intrinsicTimeUnit;if(!slices.length)
-return[];var ops=[];for(var i=0;i<slices.length;i++){if(slices[i].subSlices)
-slices[i].subSlices.splice(0,slices[i].subSlices.length);ops.push(i);}
-ops.sort(function(ix,iy){var x=slices[ix];var y=slices[iy];if(x.start!=y.start)
-return x.start-y.start;return ix-iy;});var subRows=[[]];this.badSlices_=[];for(var i=0;i<ops.length;i++){var op=ops[i];var slice=slices[op];var inserted=false;for(var j=subRows.length-1;j>=0;j--){if(subRows[j].length==0)
-continue;var insertedSlice=subRows[j][subRows[j].length-1];if(slice.start<insertedSlice.start){this.badSlices_.push(slice);inserted=true;}
-if(insertedSlice.bounds(slice,precisionUnit)){while(subRows.length<=j+1)
-subRows.push([]);subRows[j+1].push(slice);if(insertedSlice.subSlices)
-insertedSlice.subSlices.push(slice);inserted=true;break;}}
-if(inserted)
-continue;subRows[0].push(slice);}
-return subRows;}};return{SliceGroupTrack:SliceGroupTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var ThreadTrack=tr.ui.b.define('thread-track',tr.ui.tracks.ContainerTrack);ThreadTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate:function(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('thread-track');},get thread(){return this.thread_;},set thread(thread){this.thread_=thread;this.updateContents_();},get hasVisibleContent(){return this.tracks_.length>0;},get eventContainer(){return this.thread;},addContainersToTrackMap:function(containerToTrackMap){tr.ui.tracks.ContainerTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.thread,this);},updateContents_:function(){this.detach();if(!this.thread_)
-return;this.heading=this.thread_.userFriendlyName+': ';this.tooltip=this.thread_.userFriendlyDetails;if(this.thread_.asyncSliceGroup.length)
-this.appendAsyncSliceTracks_();this.appendThreadSamplesTracks_();if(this.thread_.timeSlices){var timeSlicesTrack=new tr.ui.tracks.SliceTrack(this.viewport);timeSlicesTrack.heading='';timeSlicesTrack.height=tr.ui.b.THIN_SLICE_HEIGHT+'px';timeSlicesTrack.slices=this.thread_.timeSlices;if(timeSlicesTrack.hasVisibleContent)
-Polymer.dom(this).appendChild(timeSlicesTrack);}
-if(this.thread_.sliceGroup.length){var track=new tr.ui.tracks.SliceGroupTrack(this.viewport);track.heading=this.thread_.userFriendlyName;track.tooltip=this.thread_.userFriendlyDetails;track.group=this.thread_.sliceGroup;if(track.hasVisibleContent)
-Polymer.dom(this).appendChild(track);}},appendAsyncSliceTracks_:function(){var subGroups=this.thread_.asyncSliceGroup.viewSubGroups;subGroups.forEach(function(subGroup){var asyncTrack=new tr.ui.tracks.AsyncSliceGroupTrack(this.viewport);var title=subGroup.slices[0].viewSubGroupTitle;asyncTrack.group=subGroup;asyncTrack.heading=title;if(asyncTrack.hasVisibleContent)
-Polymer.dom(this).appendChild(asyncTrack);},this);},appendThreadSamplesTracks_:function(){var threadSamples=this.thread_.samples;if(threadSamples===undefined||threadSamples.length===0)
-return;var samplesByTitle={};threadSamples.forEach(function(sample){if(samplesByTitle[sample.title]===undefined)
-samplesByTitle[sample.title]=[];samplesByTitle[sample.title].push(sample);});var sampleTitles=tr.b.dictionaryKeys(samplesByTitle);sampleTitles.sort();sampleTitles.forEach(function(sampleTitle){var samples=samplesByTitle[sampleTitle];var samplesTrack=new tr.ui.tracks.SampleTrack(this.viewport);samplesTrack.group=this.thread_;samplesTrack.samples=samples;samplesTrack.heading=this.thread_.userFriendlyName+': '+
-sampleTitle;samplesTrack.tooltip=this.thread_.userFriendlyDetails;samplesTrack.selectionGenerator=function(){var selection=new tr.model.EventSet();for(var i=0;i<samplesTrack.samples.length;i++){selection.push(samplesTrack.samples[i]);}
-return selection;};Polymer.dom(this).appendChild(samplesTrack);},this);},collapsedDidChange:function(collapsed){if(collapsed){var h=parseInt(this.tracks[0].height);for(var i=0;i<this.tracks.length;++i){if(h>2){this.tracks[i].height=Math.floor(h)+'px';}else{this.tracks[i].style.display='none';}
-h=h*0.5;}}else{for(var i=0;i<this.tracks.length;++i){this.tracks[i].height=this.tracks[0].height;this.tracks[i].style.display='';}}}};return{ThreadTrack:ThreadTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var ObjectSnapshotView=tr.ui.analysis.ObjectSnapshotView;var ObjectInstanceView=tr.ui.analysis.ObjectInstanceView;var SpacingTrack=tr.ui.tracks.SpacingTrack;var ProcessTrackBase=tr.ui.b.define('process-track-base',tr.ui.tracks.ContainerTrack);ProcessTrackBase.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate:function(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.processBase_=undefined;Polymer.dom(this).classList.add('process-track-base');Polymer.dom(this).classList.add('expanded');this.processNameEl_=tr.ui.b.createSpan();Polymer.dom(this.processNameEl_).classList.add('process-track-name');this.headerEl_=tr.ui.b.createDiv({className:'process-track-header'});Polymer.dom(this.headerEl_).appendChild(this.processNameEl_);this.headerEl_.addEventListener('click',this.onHeaderClick_.bind(this));Polymer.dom(this).appendChild(this.headerEl_);},get processBase(){return this.processBase_;},set processBase(processBase){this.processBase_=processBase;if(this.processBase_){var modelSettings=new tr.model.ModelSettings(this.processBase_.model);var defaultValue=this.processBase_.important;this.expanded=modelSettings.getSettingFor(this.processBase_,'expanded',defaultValue);}
-this.updateContents_();},get expanded(){return Polymer.dom(this).classList.contains('expanded');},set expanded(expanded){expanded=!!expanded;if(this.expanded===expanded)
-return;Polymer.dom(this).classList.toggle('expanded');this.viewport_.dispatchChangeEvent();if(!this.processBase_)
-return;var modelSettings=new tr.model.ModelSettings(this.processBase_.model);modelSettings.setSettingFor(this.processBase_,'expanded',expanded);this.updateContents_();this.viewport.rebuildEventToTrackMap();this.viewport.rebuildContainerToTrackMap();},get hasVisibleContent(){if(this.expanded)
-return this.children.length>1;return true;},onHeaderClick_:function(e){e.stopPropagation();e.preventDefault();this.expanded=!this.expanded;},updateContents_:function(){this.clearTracks_();if(!this.processBase_)
-return;Polymer.dom(this.processNameEl_).textContent=this.processBase_.userFriendlyName;this.headerEl_.title=this.processBase_.userFriendlyDetails;this.willAppendTracks_();if(this.expanded){this.appendMemoryDumpTrack_();this.appendObjectInstanceTracks_();this.appendCounterTracks_();this.appendFrameTrack_();this.appendThreadTracks_();}else{this.appendSummaryTrack_();}
-this.didAppendTracks_();},addEventsToTrackMap:function(eventToTrackMap){this.tracks_.forEach(function(track){track.addEventsToTrackMap(eventToTrackMap);});},willAppendTracks_:function(){},didAppendTracks_:function(){},appendMemoryDumpTrack_:function(){},appendSummaryTrack_:function(){var track=new tr.ui.tracks.ProcessSummaryTrack(this.viewport);track.process=this.process;if(!track.hasVisibleContent)
-return;Polymer.dom(this).appendChild(track);},appendFrameTrack_:function(){var frames=this.process?this.process.frames:undefined;if(!frames||!frames.length)
-return;var track=new tr.ui.tracks.FrameTrack(this.viewport);track.frames=frames;Polymer.dom(this).appendChild(track);},appendObjectInstanceTracks_:function(){var instancesByTypeName=this.processBase_.objects.getAllInstancesByTypeName();var instanceTypeNames=tr.b.dictionaryKeys(instancesByTypeName);instanceTypeNames.sort();var didAppendAtLeastOneTrack=false;instanceTypeNames.forEach(function(typeName){var allInstances=instancesByTypeName[typeName];var instanceViewInfo=ObjectInstanceView.getTypeInfo(undefined,typeName);var snapshotViewInfo=ObjectSnapshotView.getTypeInfo(undefined,typeName);if(instanceViewInfo&&!instanceViewInfo.metadata.showInTrackView)
-instanceViewInfo=undefined;if(snapshotViewInfo&&!snapshotViewInfo.metadata.showInTrackView)
-snapshotViewInfo=undefined;var hasViewInfo=instanceViewInfo||snapshotViewInfo;var visibleInstances=[];for(var i=0;i<allInstances.length;i++){var instance=allInstances[i];if(instance.snapshots.length===0)
-continue;if(instance.hasImplicitSnapshots&&!hasViewInfo)
-continue;visibleInstances.push(instance);}
-if(visibleInstances.length===0)
-return;var trackConstructor=tr.ui.tracks.ObjectInstanceTrack.getConstructor(undefined,typeName);if(!trackConstructor){var snapshotViewInfo=ObjectSnapshotView.getTypeInfo(undefined,typeName);if(snapshotViewInfo&&snapshotViewInfo.metadata.showInstances){trackConstructor=tr.ui.tracks.ObjectInstanceGroupTrack;}else{trackConstructor=tr.ui.tracks.ObjectInstanceTrack;}}
-var track=new trackConstructor(this.viewport);track.objectInstances=visibleInstances;Polymer.dom(this).appendChild(track);didAppendAtLeastOneTrack=true;},this);if(didAppendAtLeastOneTrack)
-Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));},appendCounterTracks_:function(){var counters=tr.b.dictionaryValues(this.processBase.counters);counters.sort(tr.model.Counter.compare);counters.forEach(function(counter){var track=new tr.ui.tracks.CounterTrack(this.viewport);track.counter=counter;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}.bind(this));},appendThreadTracks_:function(){var threads=tr.b.dictionaryValues(this.processBase.threads);threads.sort(tr.model.Thread.compare);threads.forEach(function(thread){var track=new tr.ui.tracks.ThreadTrack(this.viewport);track.thread=thread;if(!track.hasVisibleContent)
-return;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}.bind(this));}};return{ProcessTrackBase:ProcessTrackBase};});'use strict';tr.exportTo('tr.ui.tracks',function(){var Cpu=tr.model.Cpu;var CpuTrack=tr.ui.tracks.cpu_track;var ProcessTrackBase=tr.ui.tracks.ProcessTrackBase;var SpacingTrack=tr.ui.tracks.SpacingTrack;var KernelTrack=tr.ui.b.define('kernel-track',ProcessTrackBase);KernelTrack.prototype={__proto__:ProcessTrackBase.prototype,decorate:function(viewport){ProcessTrackBase.prototype.decorate.call(this,viewport);},set kernel(kernel){this.processBase=kernel;},get kernel(){return this.processBase;},get eventContainer(){return this.kernel;},get hasVisibleContent(){return this.children.length>1;},addContainersToTrackMap:function(containerToTrackMap){tr.ui.tracks.ProcessTrackBase.prototype.addContainersToTrackMap.call(this,containerToTrackMap);containerToTrackMap.addContainer(this.kernel,this);},willAppendTracks_:function(){var cpus=tr.b.dictionaryValues(this.kernel.cpus);cpus.sort(tr.model.Cpu.compare);var didAppendAtLeastOneTrack=false;for(var i=0;i<cpus.length;++i){var cpu=cpus[i];var track=new tr.ui.tracks.CpuTrack(this.viewport);track.detailedMode=this.expanded;track.cpu=cpu;if(!track.hasVisibleContent)
-continue;Polymer.dom(this).appendChild(track);didAppendAtLeastOneTrack=true;}
-if(didAppendAtLeastOneTrack)
-Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}};return{KernelTrack:KernelTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var InteractionTrack=tr.ui.b.define('interaction-track',tr.ui.tracks.MultiRowTrack);InteractionTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate:function(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);this.heading='Interactions';this.subRows_=[];},set model(model){this.setItemsToGroup(model.userModel.expectations,{guid:tr.b.GUID.allocateSimple(),model:model,getSettingsKey:function(){return undefined;}});},buildSubRows_:function(slices){if(this.subRows_.length)
-return this.subRows_;this.subRows_.push.apply(this.subRows_,tr.ui.tracks.AsyncSliceGroupTrack.prototype.buildSubRows_.call({},slices,true));return this.subRows_;},addSubTrack_:function(slices){var track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);return track;}};return{InteractionTrack:InteractionTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var ALLOCATED_MEMORY_TRACK_HEIGHT=50;var ProcessMemoryDumpTrack=tr.ui.b.define('process-memory-dump-track',tr.ui.tracks.ContainerTrack);ProcessMemoryDumpTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate:function(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.memoryDumps_=undefined;},get memoryDumps(){return this.memoryDumps_;},set memoryDumps(memoryDumps){this.memoryDumps_=memoryDumps;this.updateContents_();},updateContents_:function(){this.clearTracks_();if(!this.memoryDumps_||!this.memoryDumps_.length)
-return;this.appendAllocatedMemoryTrack_();},appendAllocatedMemoryTrack_:function(){var series=tr.ui.tracks.buildProcessAllocatedMemoryChartSeries(this.memoryDumps_);if(!series)
-return;var track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per component';track.height=ALLOCATED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);}};return{ProcessMemoryDumpTrack:ProcessMemoryDumpTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var ProcessTrackBase=tr.ui.tracks.ProcessTrackBase;var ProcessTrack=tr.ui.b.define('process-track',ProcessTrackBase);ProcessTrack.prototype={__proto__:ProcessTrackBase.prototype,decorate:function(viewport){tr.ui.tracks.ProcessTrackBase.prototype.decorate.call(this,viewport);},drawTrack:function(type){switch(type){case tr.ui.tracks.DrawType.INSTANT_EVENT:if(!this.processBase.instantEvents||this.processBase.instantEvents.length===0)
-break;var ctx=this.context();var pixelRatio=window.devicePixelRatio||1;var bounds=this.getBoundingClientRect();var canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));var dt=this.viewport.currentDisplayTransform;var viewLWorld=dt.xViewToWorld(0);var viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);tr.ui.b.drawInstantSlicesAsLines(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.processBase.instantEvents,2);ctx.restore();break;case tr.ui.tracks.DrawType.BACKGROUND:this.drawBackground_();return;}
-tr.ui.tracks.ContainerTrack.prototype.drawTrack.call(this,type);},drawBackground_:function(){var ctx=this.context();var canvasBounds=ctx.canvas.getBoundingClientRect();var pixelRatio=window.devicePixelRatio||1;var draw=false;ctx.fillStyle='#eee';for(var i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)||(this.children[i]instanceof tr.ui.tracks.SpacingTrack))
-continue;draw=!draw;if(!draw)
-continue;var bounds=this.children[i].getBoundingClientRect();ctx.fillRect(0,pixelRatio*(bounds.top-canvasBounds.top),ctx.canvas.width,pixelRatio*bounds.height);}},set process(process){this.processBase=process;},get process(){return this.processBase;},get eventContainer(){return this.process;},addContainersToTrackMap:function(containerToTrackMap){tr.ui.tracks.ProcessTrackBase.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.process,this);},appendMemoryDumpTrack_:function(){var processMemoryDumps=this.process.memoryDumps;if(processMemoryDumps.length){var pmdt=new tr.ui.tracks.ProcessMemoryDumpTrack(this.viewport_);pmdt.memoryDumps=processMemoryDumps;Polymer.dom(this).appendChild(pmdt);}},addIntersectingEventsInRangeToSelectionInWorldSpace:function(loWX,hiWX,viewPixWidthWorld,selection){function onPickHit(instantEvent){selection.push(instantEvent);}
-var instantEventWidth=2*viewPixWidthWorld;tr.b.iterateOverIntersectingIntervals(this.processBase.instantEvents,function(x){return x.start;},function(x){return x.duration+instantEventWidth;},loWX,hiWX,onPickHit.bind(this));tr.ui.tracks.ContainerTrack.prototype.addIntersectingEventsInRangeToSelectionInWorldSpace.apply(this,arguments);},addClosestEventToSelection:function(worldX,worldMaxDist,loY,hiY,selection){this.addClosestInstantEventToSelection(this.processBase.instantEvents,worldX,worldMaxDist,selection);tr.ui.tracks.ContainerTrack.prototype.addClosestEventToSelection.apply(this,arguments);}};return{ProcessTrack:ProcessTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var SelectionState=tr.model.SelectionState;var EventPresenter=tr.ui.b.EventPresenter;var ModelTrack=tr.ui.b.define('model-track',tr.ui.tracks.ContainerTrack);ModelTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate:function(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('model-track');var typeInfos=tr.ui.tracks.Highlighter.getAllRegisteredTypeInfos();this.highlighters_=typeInfos.map(function(typeInfo){return new typeInfo.constructor(viewport);});this.upperMode_=false;this.annotationViews_=[];},get upperMode(){return this.upperMode_;},set upperMode(upperMode){this.upperMode_=upperMode;this.updateContents_();},detach:function(){tr.ui.tracks.ContainerTrack.prototype.detach.call(this);},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();this.model_.addEventListener('annotationChange',this.updateAnnotations_.bind(this));},get hasVisibleContent(){return this.children.length>0;},updateContents_:function(){Polymer.dom(this).textContent='';if(!this.model_)
-return;if(this.upperMode_)
-this.updateContentsForUpperMode_();else
-this.updateContentsForLowerMode_();},updateContentsForUpperMode_:function(){},updateContentsForLowerMode_:function(){if(this.model_.userModel.expectations.length){var mrt=new tr.ui.tracks.InteractionTrack(this.viewport_);mrt.model=this.model_;Polymer.dom(this).appendChild(mrt);}
-if(this.model_.alerts.length){var at=new tr.ui.tracks.AlertTrack(this.viewport_);at.alerts=this.model_.alerts;Polymer.dom(this).appendChild(at);}
-if(this.model_.globalMemoryDumps.length){var gmdt=new tr.ui.tracks.GlobalMemoryDumpTrack(this.viewport_);gmdt.memoryDumps=this.model_.globalMemoryDumps;Polymer.dom(this).appendChild(gmdt);}
-this.appendDeviceTrack_();this.appendCpuUsageTrack_();this.appendKernelTrack_();var processes=this.model_.getAllProcesses();processes.sort(tr.model.Process.compare);for(var i=0;i<processes.length;++i){var process=processes[i];var track=new tr.ui.tracks.ProcessTrack(this.viewport);track.process=process;if(!track.hasVisibleContent)
-continue;Polymer.dom(this).appendChild(track);}
-this.viewport_.rebuildEventToTrackMap();this.viewport_.rebuildContainerToTrackMap();for(var i=0;i<this.highlighters_.length;i++){this.highlighters_[i].processModel(this.model_);}
-this.updateAnnotations_();},updateAnnotations_:function(){this.annotationViews_=[];var annotations=this.model_.getAllAnnotations();for(var i=0;i<annotations.length;i++){this.annotationViews_.push(annotations[i].getOrCreateView(this.viewport_));}
-this.invalidateDrawingContainer();},addEventsToTrackMap:function(eventToTrackMap){if(!this.model_)
-return;var tracks=this.children;for(var i=0;i<tracks.length;++i)
-tracks[i].addEventsToTrackMap(eventToTrackMap);if(this.instantEvents===undefined)
-return;var vp=this.viewport_;this.instantEvents.forEach(function(ev){eventToTrackMap.addEvent(ev,this);}.bind(this));},appendDeviceTrack_:function(){var device=this.model.device;var track=new tr.ui.tracks.DeviceTrack(this.viewport);track.device=this.model.device;if(!track.hasVisibleContent)
-return;Polymer.dom(this).appendChild(track);},appendKernelTrack_:function(){var kernel=this.model.kernel;var track=new tr.ui.tracks.KernelTrack(this.viewport);track.kernel=this.model.kernel;if(!track.hasVisibleContent)
-return;Polymer.dom(this).appendChild(track);},appendCpuUsageTrack_:function(){var track=new tr.ui.tracks.CpuUsageTrack(this.viewport);track.initialize(this.model);if(!track.hasVisibleContent)
-return;this.appendChild(track);},appendCpuUsageTrack_:function(){var track=new tr.ui.tracks.CpuUsageTrack(this.viewport);track.initialize(this.model);if(!track.hasVisibleContent)
-return;this.appendChild(track);},drawTrack:function(type){var ctx=this.context();if(!this.model_)
-return;var pixelRatio=window.devicePixelRatio||1;var bounds=this.getBoundingClientRect();var canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));var dt=this.viewport.currentDisplayTransform;var viewLWorld=dt.xViewToWorld(0);var viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);switch(type){case tr.ui.tracks.DrawType.GRID:this.viewport.drawMajorMarkLines(ctx);ctx.restore();return;case tr.ui.tracks.DrawType.FLOW_ARROWS:if(this.model_.flowIntervalTree.size===0){ctx.restore();return;}
-this.drawFlowArrows_(viewLWorld,viewRWorld);ctx.restore();return;case tr.ui.tracks.DrawType.INSTANT_EVENT:if(!this.model_.instantEvents||this.model_.instantEvents.length===0)
-break;tr.ui.b.drawInstantSlicesAsLines(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.model_.instantEvents,4);break;case tr.ui.tracks.DrawType.MARKERS:if(!this.viewport.interestRange.isEmpty){this.viewport.interestRange.draw(ctx,viewLWorld,viewRWorld);this.viewport.interestRange.drawIndicators(ctx,viewLWorld,viewRWorld);}
-ctx.restore();return;case tr.ui.tracks.DrawType.HIGHLIGHTS:for(var i=0;i<this.highlighters_.length;i++){this.highlighters_[i].drawHighlight(ctx,dt,viewLWorld,viewRWorld,bounds.height);}
-ctx.restore();return;case tr.ui.tracks.DrawType.ANNOTATIONS:for(var i=0;i<this.annotationViews_.length;i++){this.annotationViews_[i].draw(ctx);}
-ctx.restore();return;}
-ctx.restore();tr.ui.tracks.ContainerTrack.prototype.drawTrack.call(this,type);},drawFlowArrows_:function(viewLWorld,viewRWorld){var ctx=this.context();var dt=this.viewport.currentDisplayTransform;dt.applyTransformToCanvas(ctx);var pixWidth=dt.xViewVectorToWorld(1);ctx.strokeStyle='rgba(0, 0, 0, 0.4)';ctx.fillStyle='rgba(0, 0, 0, 0.4)';ctx.lineWidth=pixWidth>1.0?1:pixWidth;var events=this.model_.flowIntervalTree.findIntersection(viewLWorld,viewRWorld);var onlyHighlighted=!this.viewport.showFlowEvents;var canvasBounds=ctx.canvas.getBoundingClientRect();for(var i=0;i<events.length;++i){if(onlyHighlighted&&events[i].selectionState!==SelectionState.SELECTED&&events[i].selectionState!==SelectionState.HIGHLIGHTED)
-continue;this.drawFlowArrow_(ctx,events[i],canvasBounds,pixWidth);}},drawFlowArrow_:function(ctx,flowEvent,canvasBounds,pixWidth){var pixelRatio=window.devicePixelRatio||1;var startTrack=this.viewport.trackForEvent(flowEvent.startSlice);var endTrack=this.viewport.trackForEvent(flowEvent.endSlice);if(startTrack===undefined||endTrack===undefined)
-return;var startBounds=startTrack.getBoundingClientRect();var endBounds=endTrack.getBoundingClientRect();if(flowEvent.selectionState==SelectionState.SELECTED){ctx.shadowBlur=1;ctx.shadowColor='red';ctx.shadowOffsety=2;ctx.strokeStyle='red';}else if(flowEvent.selectionState==SelectionState.HIGHLIGHTED){ctx.shadowBlur=1;ctx.shadowColor='red';ctx.shadowOffsety=2;ctx.strokeStyle='red';}else if(flowEvent.selectionState==SelectionState.DIMMED){ctx.shadowBlur=0;ctx.shadowOffsetX=0;ctx.strokeStyle='rgba(0, 0, 0, 0.2)';}else{var hasBoost=false;var startSlice=flowEvent.startSlice;hasBoost|=startSlice.selectionState===SelectionState.SELECTED;hasBoost|=startSlice.selectionState===SelectionState.HIGHLIGHTED;var endSlice=flowEvent.endSlice;hasBoost|=endSlice.selectionState===SelectionState.SELECTED;hasBoost|=endSlice.selectionState===SelectionState.HIGHLIGHTED;if(hasBoost){ctx.shadowBlur=1;ctx.shadowColor='rgba(255, 0, 0, 0.4)';ctx.shadowOffsety=2;ctx.strokeStyle='rgba(255, 0, 0, 0.4)';}else{ctx.shadowBlur=0;ctx.shadowOffsetX=0;ctx.strokeStyle='rgba(0, 0, 0, 0.4)';}}
-var startSize=startBounds.left+startBounds.top+
-startBounds.bottom+startBounds.right;var endSize=endBounds.left+endBounds.top+
-endBounds.bottom+endBounds.right;if(startSize===0&&endSize===0)
-return;var startY=this.calculateTrackY_(startTrack,canvasBounds);var endY=this.calculateTrackY_(endTrack,canvasBounds);var pixelStartY=pixelRatio*startY;var pixelEndY=pixelRatio*endY;var half=(flowEvent.end-flowEvent.start)/2;ctx.beginPath();ctx.moveTo(flowEvent.start,pixelStartY);ctx.bezierCurveTo(flowEvent.start+half,pixelStartY,flowEvent.start+half,pixelEndY,flowEvent.end,pixelEndY);ctx.stroke();var arrowWidth=5*pixWidth*pixelRatio;var distance=flowEvent.end-flowEvent.start;if(distance<=(2*arrowWidth))
-return;var tipX=flowEvent.end;var tipY=pixelEndY;var arrowHeight=(endBounds.height/4)*pixelRatio;tr.ui.b.drawTriangle(ctx,tipX,tipY,tipX-arrowWidth,tipY-arrowHeight,tipX-arrowWidth,tipY+arrowHeight);ctx.fill();},calculateTrackY_:function(track,canvasBounds){var bounds=track.getBoundingClientRect();var size=bounds.left+bounds.top+bounds.bottom+bounds.right;if(size===0)
-return this.calculateTrackY_(Polymer.dom(track).parentNode,canvasBounds);return bounds.top-canvasBounds.top+(bounds.height/2);},addIntersectingEventsInRangeToSelectionInWorldSpace:function(loWX,hiWX,viewPixWidthWorld,selection){function onPickHit(instantEvent){selection.push(instantEvent);}
-var instantEventWidth=3*viewPixWidthWorld;tr.b.iterateOverIntersectingIntervals(this.model_.instantEvents,function(x){return x.start;},function(x){return x.duration+instantEventWidth;},loWX,hiWX,onPickHit.bind(this));tr.ui.tracks.ContainerTrack.prototype.addIntersectingEventsInRangeToSelectionInWorldSpace.apply(this,arguments);},addClosestEventToSelection:function(worldX,worldMaxDist,loY,hiY,selection){this.addClosestInstantEventToSelection(this.model_.instantEvents,worldX,worldMaxDist,selection);tr.ui.tracks.ContainerTrack.prototype.addClosestEventToSelection.apply(this,arguments);}};return{ModelTrack:ModelTrack};});'use strict';tr.exportTo('tr.ui.tracks',function(){var RulerTrack=tr.ui.b.define('ruler-track',tr.ui.tracks.Track);var logOf10=Math.log(10);function log10(x){return Math.log(x)/logOf10;}
-RulerTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate:function(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('ruler-track');this.strings_secs_=[];this.strings_msecs_=[];this.strings_usecs_=[];this.strings_nsecs_=[];this.viewportChange_=this.viewportChange_.bind(this);viewport.addEventListener('change',this.viewportChange_);var heading=document.createElement('tr-ui-heading');heading.arrowVisible=false;Polymer.dom(this).appendChild(heading);},detach:function(){tr.ui.tracks.Track.prototype.detach.call(this);this.viewport.removeEventListener('change',this.viewportChange_);},viewportChange_:function(){if(this.viewport.interestRange.isEmpty)
-Polymer.dom(this).classList.remove('tall-mode');else
-Polymer.dom(this).classList.add('tall-mode');},draw:function(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GRID:this.drawGrid_(viewLWorld,viewRWorld);break;case tr.ui.tracks.DrawType.MARKERS:if(!this.viewport.interestRange.isEmpty)
-this.viewport.interestRange.draw(this.context(),viewLWorld,viewRWorld);break;}},drawGrid_:function(viewLWorld,viewRWorld){var ctx=this.context();var pixelRatio=window.devicePixelRatio||1;var canvasBounds=ctx.canvas.getBoundingClientRect();var trackBounds=this.getBoundingClientRect();var width=canvasBounds.width*pixelRatio;var height=trackBounds.height*pixelRatio;var hasInterestRange=!this.viewport.interestRange.isEmpty;var rulerHeight=hasInterestRange?(height*2)/5:height;var vp=this.viewport;var dt=vp.currentDisplayTransform;var idealMajorMarkDistancePix=150*pixelRatio;var idealMajorMarkDistanceWorld=dt.xViewVectorToWorld(idealMajorMarkDistancePix);var majorMarkDistanceWorld;var conservativeGuess=Math.pow(10,Math.ceil(log10(idealMajorMarkDistanceWorld)));var divisors=[10,5,2,1];for(var i=0;i<divisors.length;++i){var tightenedGuess=conservativeGuess/divisors[i];if(dt.xWorldVectorToView(tightenedGuess)<idealMajorMarkDistancePix)
-continue;majorMarkDistanceWorld=conservativeGuess/divisors[i-1];break;}
-var unit;var unitDivisor;var tickLabels=undefined;if(majorMarkDistanceWorld<0.0001){unit='ns';unitDivisor=0.000001;tickLabels=this.strings_nsecs_;}else if(majorMarkDistanceWorld<0.1){unit='us';unitDivisor=0.001;tickLabels=this.strings_usecs_;}else if(majorMarkDistanceWorld<100){unit='ms';unitDivisor=1;tickLabels=this.strings_msecs_;}else{unit='s';unitDivisor=1000;tickLabels=this.strings_secs_;}
-var numTicksPerMajor=5;var minorMarkDistanceWorld=majorMarkDistanceWorld/numTicksPerMajor;var minorMarkDistancePx=dt.xWorldVectorToView(minorMarkDistanceWorld);var firstMajorMark=Math.floor(viewLWorld/majorMarkDistanceWorld)*majorMarkDistanceWorld;var minorTickH=Math.floor(rulerHeight*0.25);ctx.save();var pixelRatio=window.devicePixelRatio||1;ctx.lineWidth=Math.round(pixelRatio);var crispLineCorrection=(ctx.lineWidth%2)/2;ctx.translate(crispLineCorrection,-crispLineCorrection);ctx.fillStyle='rgb(0, 0, 0)';ctx.strokeStyle='rgb(0, 0, 0)';ctx.textAlign='left';ctx.textBaseline='top';ctx.font=(9*pixelRatio)+'px sans-serif';vp.majorMarkPositions=[];ctx.beginPath();for(var curX=firstMajorMark;curX<viewRWorld;curX+=majorMarkDistanceWorld){var curXView=Math.floor(dt.xWorldToView(curX));var unitValue=curX/unitDivisor;var roundedUnitValue=Math.round(unitValue*100000)/100000;if(!tickLabels[roundedUnitValue])
-tickLabels[roundedUnitValue]=roundedUnitValue+' '+unit;ctx.fillText(tickLabels[roundedUnitValue],curXView+(2*pixelRatio),0);vp.majorMarkPositions.push(curXView);tr.ui.b.drawLine(ctx,curXView,0,curXView,rulerHeight);for(var i=1;i<numTicksPerMajor;++i){var xView=Math.floor(curXView+minorMarkDistancePx*i);tr.ui.b.drawLine(ctx,xView,rulerHeight-minorTickH,xView,rulerHeight);}}
-ctx.strokeStyle='rgb(0, 0, 0)';tr.ui.b.drawLine(ctx,0,height,width,height);ctx.stroke();if(!hasInterestRange)
-return;tr.ui.b.drawLine(ctx,0,rulerHeight,width,rulerHeight);ctx.stroke();var displayDistance;var displayTextColor='rgb(0,0,0)';var arrowSpacing=10*pixelRatio;var arrowColor='rgb(128,121,121)';var arrowPosY=rulerHeight*1.75;var arrowWidthView=3*pixelRatio;var arrowLengthView=10*pixelRatio;var spaceForArrowsView=2*(arrowWidthView+arrowSpacing);ctx.textBaseline='middle';ctx.font=(14*pixelRatio)+'px sans-serif';var textPosY=arrowPosY;var interestRange=vp.interestRange;if(interestRange.range===0){var markerWorld=interestRange.min;var markerView=dt.xWorldToView(markerWorld);var displayValue=markerWorld/unitDivisor;displayValue=Math.abs((Math.round(displayValue*1000)/1000));var textToDraw=displayValue+' '+unit;var textLeftView=markerView+4*pixelRatio;var textWidthView=ctx.measureText(textToDraw).width;if(textLeftView+textWidthView>width)
-textLeftView=markerView-4*pixelRatio-textWidthView;ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);return;}
-var leftMarker=interestRange.min;var rightMarker=interestRange.max;var leftMarkerView=dt.xWorldToView(leftMarker);var rightMarkerView=dt.xWorldToView(rightMarker);var distanceBetweenMarkers=interestRange.range;var distanceBetweenMarkersView=dt.xWorldVectorToView(distanceBetweenMarkers);var positionInMiddleOfMarkersView=leftMarkerView+(distanceBetweenMarkersView/2);if(distanceBetweenMarkers<0.0001){unit='ns';unitDivisor=0.000001;}else if(distanceBetweenMarkers<0.1){unit='us';unitDivisor=0.001;}else if(distanceBetweenMarkers<100){unit='ms';unitDivisor=1;}else{unit='s';unitDivisor=1000;}
-displayDistance=distanceBetweenMarkers/unitDivisor;var roundedDisplayDistance=Math.abs((Math.round(displayDistance*1000)/1000));var textToDraw=roundedDisplayDistance+' '+unit;var textWidthView=ctx.measureText(textToDraw).width;var spaceForArrowsAndTextView=textWidthView+spaceForArrowsView+arrowSpacing;var textLeftView=positionInMiddleOfMarkersView-textWidthView/2;var textRightView=textLeftView+textWidthView;if(spaceForArrowsAndTextView>distanceBetweenMarkersView){textLeftView=rightMarkerView+2*arrowSpacing;if(textLeftView+textWidthView>width)
-textLeftView=leftMarkerView-2*arrowSpacing-textWidthView;ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);ctx.strokeStyle=arrowColor;ctx.beginPath();tr.ui.b.drawLine(ctx,leftMarkerView,arrowPosY,rightMarkerView,arrowPosY);ctx.stroke();ctx.fillStyle=arrowColor;tr.ui.b.drawArrow(ctx,leftMarkerView-1.5*arrowSpacing,arrowPosY,leftMarkerView,arrowPosY,arrowLengthView,arrowWidthView);tr.ui.b.drawArrow(ctx,rightMarkerView+1.5*arrowSpacing,arrowPosY,rightMarkerView,arrowPosY,arrowLengthView,arrowWidthView);}else if(spaceForArrowsView<=distanceBetweenMarkersView){var leftArrowStart;var rightArrowStart;if(spaceForArrowsAndTextView<=distanceBetweenMarkersView){ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);leftArrowStart=textLeftView-arrowSpacing;rightArrowStart=textRightView+arrowSpacing;}else{leftArrowStart=positionInMiddleOfMarkersView;rightArrowStart=positionInMiddleOfMarkersView;}
-ctx.strokeStyle=arrowColor;ctx.fillStyle=arrowColor;tr.ui.b.drawArrow(ctx,leftArrowStart,arrowPosY,leftMarkerView,arrowPosY,arrowLengthView,arrowWidthView);tr.ui.b.drawArrow(ctx,rightArrowStart,arrowPosY,rightMarkerView,arrowPosY,arrowLengthView,arrowWidthView);}
-ctx.restore();},addIntersectingEventsInRangeToSelection:function(loVX,hiVX,loY,hiY,selection){},addAllEventsMatchingFilterToSelection:function(filter,selection){}};return{RulerTrack:RulerTrack};});'use strict';Polymer({is:'tr-ui-timeline-track-view',ready:function(){this.displayTransform_=new tr.ui.TimelineDisplayTransform();this.model_=undefined;this.timelineView_=undefined;this.viewport_=new tr.ui.TimelineViewport(this);this.viewportDisplayTransformAtMouseDown_=undefined;this.brushingStateController_=undefined;this.rulerTrackContainer_=new tr.ui.tracks.DrawingContainer(this.viewport_);Polymer.dom(this).appendChild(this.rulerTrackContainer_);this.rulerTrackContainer_.invalidate();this.rulerTrack_=new tr.ui.tracks.RulerTrack(this.viewport_);Polymer.dom(this.rulerTrackContainer_).appendChild(this.rulerTrack_);this.upperModelTrack_=new tr.ui.tracks.ModelTrack(this.viewport_);this.upperModelTrack_.upperMode=true;Polymer.dom(this.rulerTrackContainer_).appendChild(this.upperModelTrack_);this.modelTrackContainer_=new tr.ui.tracks.DrawingContainer(this.viewport_);Polymer.dom(this).appendChild(this.modelTrackContainer_);this.modelTrackContainer_.style.display='block';this.modelTrackContainer_.invalidate();this.viewport_.modelTrackContainer=this.modelTrackContainer_;this.modelTrack_=new tr.ui.tracks.ModelTrack(this.viewport_);Polymer.dom(this.modelTrackContainer_).appendChild(this.modelTrack_);this.timingTool_=new tr.ui.b.TimingTool(this.viewport_,this);this.initMouseModeSelector();this.hideDragBox_();this.initHintText_();this.onSelectionChanged_=this.onSelectionChanged_.bind(this);this.onDblClick_=this.onDblClick_.bind(this);this.addEventListener('dblclick',this.onDblClick_);this.onMouseWheel_=this.onMouseWheel_.bind(this);this.addEventListener('mousewheel',this.onMouseWheel_);this.onMouseDown_=this.onMouseDown_.bind(this);this.addEventListener('mousedown',this.onMouseDown_);this.onMouseMove_=this.onMouseMove_.bind(this);this.addEventListener('mousemove',this.onMouseMove_);this.onTouchStart_=this.onTouchStart_.bind(this);this.addEventListener('touchstart',this.onTouchStart_);this.onTouchMove_=this.onTouchMove_.bind(this);this.addEventListener('touchmove',this.onTouchMove_);this.onTouchEnd_=this.onTouchEnd_.bind(this);this.addEventListener('touchend',this.onTouchEnd_);this.addHotKeys_();this.mouseViewPosAtMouseDown_={x:0,y:0};this.lastMouseViewPos_={x:0,y:0};this.lastTouchViewPositions_=[];this.alert_=undefined;this.isPanningAndScanning_=false;this.isZooming_=false;},initMouseModeSelector:function(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this;Polymer.dom(this).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.addEventListener('beginpan',this.onBeginPanScan_.bind(this));this.mouseModeSelector_.addEventListener('updatepan',this.onUpdatePanScan_.bind(this));this.mouseModeSelector_.addEventListener('endpan',this.onEndPanScan_.bind(this));this.mouseModeSelector_.addEventListener('beginselection',this.onBeginSelection_.bind(this));this.mouseModeSelector_.addEventListener('updateselection',this.onUpdateSelection_.bind(this));this.mouseModeSelector_.addEventListener('endselection',this.onEndSelection_.bind(this));this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));this.mouseModeSelector_.addEventListener('entertiming',this.timingTool_.onEnterTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('begintiming',this.timingTool_.onBeginTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('updatetiming',this.timingTool_.onUpdateTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('endtiming',this.timingTool_.onEndTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('exittiming',this.timingTool_.onExitTiming.bind(this.timingTool_));var m=tr.ui.b.MOUSE_SELECTOR_MODE;this.mouseModeSelector_.supportedModeMask=m.SELECTION|m.PANSCAN|m.ZOOM|m.TIMING;this.mouseModeSelector_.settingsKey='timelineTrackView.mouseModeSelector';this.mouseModeSelector_.setKeyCodeForMode(m.PANSCAN,'2'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.SELECTION,'1'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.ZOOM,'3'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.TIMING,'4'.charCodeAt(0));this.mouseModeSelector_.setModifierForAlternateMode(m.SELECTION,tr.ui.b.MODIFIER.SHIFT);this.mouseModeSelector_.setModifierForAlternateMode(m.PANSCAN,tr.ui.b.MODIFIER.SPACE);},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController_){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_);}
-this.brushingStateController_=brushingStateController;if(this.brushingStateController_){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_);}},set timelineView(view){this.timelineView_=view;},onSelectionChanged_:function(){this.showHintText_('Press \'m\' to mark current selection');this.viewport_.dispatchChangeEvent();},set selection(selection){throw new Error('DO NOT CALL THIS');},set highlight(highlight){throw new Error('DO NOT CALL THIS');},detach:function(){this.modelTrack_.detach();this.upperModelTrack_.detach();this.viewport_.detach();},get viewport(){return this.viewport_;},get model(){return this.model_;},set model(model){if(!model)
-throw new Error('Model cannot be undefined');var modelInstanceChanged=this.model_!==model;this.model_=model;this.modelTrack_.model=model;this.upperModelTrack_.model=model;if(modelInstanceChanged)
-this.viewport_.setWhenPossible(this.setInitialViewport_.bind(this));},get hasVisibleContent(){return this.modelTrack_.hasVisibleContent||this.upperModelTrack_.hasVisibleContent;},setInitialViewport_:function(){this.modelTrackContainer_.updateCanvasSizeIfNeeded_();var w=this.modelTrackContainer_.canvas.width;var min;var range;if(this.model_.bounds.isEmpty){min=0;range=1000;}else if(this.model_.bounds.range===0){min=this.model_.bounds.min;range=1000;}else{min=this.model_.bounds.min;range=this.model_.bounds.range;}
-var boost=range*0.15;this.displayTransform_.set(this.viewport_.currentDisplayTransform);this.displayTransform_.xSetWorldBounds(min-boost,min+range+boost,w);this.viewport_.setDisplayTransformImmediately(this.displayTransform_);},addAllEventsMatchingFilterToSelectionAsTask:function(filter,selection){var modelTrack=this.modelTrack_;var firstT=modelTrack.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);var lastT=firstT.after(function(){this.upperModelTrack_.addAllEventsMatchingFilterToSelection(filter,selection);},this);return firstT;},onMouseMove_:function(e){if(this.isZooming_)
-return;this.storeLastMousePos_(e);},onTouchStart_:function(e){this.storeLastTouchPositions_(e);this.focusElements_();},onTouchMove_:function(e){e.preventDefault();this.onUpdateTransformForTouch_(e);},onTouchEnd_:function(e){this.storeLastTouchPositions_(e);this.focusElements_();},addHotKeys_:function(){this.addKeyDownHotKeys_();this.addKeyPressHotKeys_();},addKeyPressHotKeys_:function(){var addBinding=function(dict){dict.eventType='keypress';dict.useCapture=false;dict.thisArg=this;var binding=new tr.ui.b.HotKey(dict);this.$.hotkey_controller.addHotKey(binding);}.bind(this);addBinding({keyCodes:['w'.charCodeAt(0),','.charCodeAt(0)],callback:function(e){this.zoomBy_(1.5,true);e.stopPropagation();}});addBinding({keyCodes:['s'.charCodeAt(0),'o'.charCodeAt(0)],callback:function(e){this.zoomBy_(1/1.5,true);e.stopPropagation();}});addBinding({keyCode:'g'.charCodeAt(0),callback:function(e){this.onGridToggle_(true);e.stopPropagation();}});addBinding({keyCode:'G'.charCodeAt(0),callback:function(e){this.onGridToggle_(false);e.stopPropagation();}});addBinding({keyCodes:['W'.charCodeAt(0),'<'.charCodeAt(0)],callback:function(e){this.zoomBy_(10,true);e.stopPropagation();}});addBinding({keyCodes:['S'.charCodeAt(0),'O'.charCodeAt(0)],callback:function(e){this.zoomBy_(1/10,true);e.stopPropagation();}});addBinding({keyCode:'a'.charCodeAt(0),callback:function(e){this.queueSmoothPan_(this.viewWidth_*0.3,0);e.stopPropagation();}});addBinding({keyCodes:['d'.charCodeAt(0),'e'.charCodeAt(0)],callback:function(e){this.queueSmoothPan_(this.viewWidth_*-0.3,0);e.stopPropagation();}});addBinding({keyCode:'A'.charCodeAt(0),callback:function(e){this.queueSmoothPan_(viewWidth*0.5,0);e.stopPropagation();}});addBinding({keyCode:'D'.charCodeAt(0),callback:function(e){this.queueSmoothPan_(viewWidth*-0.5,0);e.stopPropagation();}});addBinding({keyCode:'0'.charCodeAt(0),callback:function(e){this.setInitialViewport_();e.stopPropagation();}});addBinding({keyCode:'f'.charCodeAt(0),callback:function(e){this.zoomToSelection();e.stopPropagation();}});addBinding({keyCode:'m'.charCodeAt(0),callback:function(e){this.setCurrentSelectionAsInterestRange_();e.stopPropagation();}});addBinding({keyCode:'p'.charCodeAt(0),callback:function(e){this.selectPowerSamplesInCurrentTimeRange_();e.stopPropagation();}});addBinding({keyCode:'h'.charCodeAt(0),callback:function(e){this.toggleHighDetails_();e.stopPropagation();}});},get viewWidth_(){return this.modelTrackContainer_.canvas.clientWidth;},addKeyDownHotKeys_:function(){var addBinding=function(dict){dict.eventType='keydown';dict.useCapture=false;dict.thisArg=this;var binding=new tr.ui.b.HotKey(dict);this.$.hotkey_controller.addHotKey(binding);}.bind(this);addBinding({keyCode:37,callback:function(e){var curSel=this.brushingStateController_.selection;var sel=this.viewport.getShiftedSelection(curSel,-1);if(sel){this.brushingStateController.changeSelectionFromTimeline(sel);this.panToSelection();}else{this.queueSmoothPan_(this.viewWidth_*0.3,0);}
-e.preventDefault();e.stopPropagation();}});addBinding({keyCode:39,callback:function(e){var curSel=this.brushingStateController_.selection;var sel=this.viewport.getShiftedSelection(curSel,1);if(sel){this.brushingStateController.changeSelectionFromTimeline(sel);this.panToSelection();}else{this.queueSmoothPan_(-this.viewWidth_*0.3,0);}
-e.preventDefault();e.stopPropagation();}});},onDblClick_:function(e){if(this.mouseModeSelector_.mode!==tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION)
-return;var curSelection=this.brushingStateController_.selection;if(!curSelection.length||!tr.b.getOnlyElement(curSelection).title)
-return;var selection=new tr.model.EventSet();var filter=new tr.c.ExactTitleFilter(tr.b.getOnlyElement(curSelection).title);this.modelTrack_.addAllEventsMatchingFilterToSelection(filter,selection);this.brushingStateController.changeSelectionFromTimeline(selection);},onMouseWheel_:function(e){if(!e.altKey)
-return;var delta=e.wheelDelta/120;var zoomScale=Math.pow(1.5,delta);this.zoomBy_(zoomScale);e.preventDefault();},onMouseDown_:function(e){if(this.mouseModeSelector_.mode!==tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION)
-return;if(e.target!==this.rulerTrack_)
-return;this.dragBeginEvent_=undefined;if(this.xNavStringMarker_){this.model.removeAnnotation(this.xNavStringMarker_);this.xNavStringMarker_=undefined;}
-var dt=this.viewport_.currentDisplayTransform;tr.ui.b.trackMouseMovesUntilMouseUp(function(e){if(e.target===this.rulerTrack_)
-return;var relativePosition=this.extractRelativeMousePosition_(e);var loc=tr.model.Location.fromViewCoordinates(this.viewport_,relativePosition.x,relativePosition.y);if(!loc)
-return;if(this.guideLineAnnotation_===undefined){this.guideLineAnnotation_=new tr.model.XMarkerAnnotation(loc.xWorld);this.model.addAnnotation(this.guideLineAnnotation_);}else{this.guideLineAnnotation_.timestamp=loc.xWorld;this.modelTrackContainer_.invalidate();}
-var state=new tr.ui.b.UIState(loc,this.viewport_.currentDisplayTransform.scaleX);this.timelineView_.setFindCtlText(state.toUserFriendlyString(this.viewport_));}.bind(this),undefined,function onKeyUpDuringDrag(){if(this.dragBeginEvent_){this.setDragBoxPosition_(this.dragBoxXStart_,this.dragBoxYStart_,this.dragBoxXEnd_,this.dragBoxYEnd_);}}.bind(this));},queueSmoothPan_:function(viewDeltaX,deltaY){var deltaX=this.viewport_.currentDisplayTransform.xViewVectorToWorld(viewDeltaX);var animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,deltaY);this.viewport_.queueDisplayTransformAnimation(animation);},zoomBy_:function(scale,smooth){if(scale<=0){return;}
-smooth=!!smooth;var vp=this.viewport_;var pixelRatio=window.devicePixelRatio||1;var goalFocalPointXView=this.lastMouseViewPos_.x*pixelRatio;var goalFocalPointXWorld=vp.currentDisplayTransform.xViewToWorld(goalFocalPointXView);if(smooth){var animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(goalFocalPointXWorld,goalFocalPointXView,vp.currentDisplayTransform.panY,scale);vp.queueDisplayTransformAnimation(animation);}else{this.displayTransform_.set(vp.currentDisplayTransform);this.displayTransform_.scaleX*=scale;this.displayTransform_.xPanWorldPosToViewPos(goalFocalPointXWorld,goalFocalPointXView,this.viewWidth_);vp.setDisplayTransformImmediately(this.displayTransform_);}},zoomToSelection:function(){if(!this.brushingStateController.selectionOfInterest.length)
-return;var bounds=this.brushingStateController.selectionOfInterest.bounds;if(!bounds.range)
-return;var worldCenter=bounds.center;var viewCenter=this.modelTrackContainer_.canvas.width/2;var adjustedWorldRange=bounds.range*1.25;var newScale=this.modelTrackContainer_.canvas.width/adjustedWorldRange;var zoomInRatio=newScale/this.viewport_.currentDisplayTransform.scaleX;var animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(worldCenter,viewCenter,this.viewport_.currentDisplayTransform.panY,zoomInRatio);this.viewport_.queueDisplayTransformAnimation(animation);},panToSelection:function(){if(!this.brushingStateController.selectionOfInterest.length)
-return;var bounds=this.brushingStateController.selectionOfInterest.bounds;var worldCenter=bounds.center;var viewWidth=this.viewWidth_;var dt=this.viewport_.currentDisplayTransform;if(false&&!bounds.range){if(dt.xWorldToView(bounds.center)<0||dt.xWorldToView(bounds.center)>viewWidth){this.displayTransform_.set(dt);this.displayTransform_.xPanWorldPosToViewPos(worldCenter,'center',viewWidth);var deltaX=this.displayTransform_.panX-dt.panX;var animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,0);this.viewport_.queueDisplayTransformAnimation(animation);}
-return;}
-this.displayTransform_.set(dt);this.displayTransform_.xPanWorldBoundsIntoView(bounds.min,bounds.max,viewWidth);var deltaX=this.displayTransform_.panX-dt.panX;var animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,0);this.viewport_.queueDisplayTransformAnimation(animation);},navToPosition:function(uiState,showNavLine){var location=uiState.location;var scaleX=uiState.scaleX;var track=location.getContainingTrack(this.viewport_);var worldCenter=location.xWorld;var viewCenter=this.modelTrackContainer_.canvas.width/5;var zoomInRatio=scaleX/this.viewport_.currentDisplayTransform.scaleX;track.scrollIntoViewIfNeeded();var animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(worldCenter,viewCenter,this.viewport_.currentDisplayTransform.panY,zoomInRatio);this.viewport_.queueDisplayTransformAnimation(animation);if(!showNavLine)
-return;if(this.xNavStringMarker_)
-this.model.removeAnnotation(this.xNavStringMarker_);this.xNavStringMarker_=new tr.model.XMarkerAnnotation(worldCenter);this.model.addAnnotation(this.xNavStringMarker_);},selectPowerSamplesInCurrentTimeRange_:function(){var selectionBounds=this.brushingStateController_.selection.bounds;if(this.model.device.powerSeries&&!selectionBounds.empty){var events=this.model.device.powerSeries.getSamplesWithinRange(selectionBounds.min,selectionBounds.max);var selection=new tr.model.EventSet(events);this.brushingStateController_.changeSelectionFromTimeline(selection);}},setCurrentSelectionAsInterestRange_:function(){var selectionBounds=this.brushingStateController_.selection.bounds;if(selectionBounds.empty){this.viewport_.interestRange.reset();return;}
-if(this.viewport_.interestRange.min==selectionBounds.min&&this.viewport_.interestRange.max==selectionBounds.max)
-this.viewport_.interestRange.reset();else
-this.viewport_.interestRange.set(selectionBounds);},toggleHighDetails_:function(){this.viewport_.highDetails=!this.viewport_.highDetails;},hideDragBox_:function(){this.$.drag_box.style.left='-1000px';this.$.drag_box.style.top='-1000px';this.$.drag_box.style.width=0;this.$.drag_box.style.height=0;},setDragBoxPosition_:function(xStart,yStart,xEnd,yEnd){var loY=Math.min(yStart,yEnd);var hiY=Math.max(yStart,yEnd);var loX=Math.min(xStart,xEnd);var hiX=Math.max(xStart,xEnd);var modelTrackRect=this.modelTrack_.getBoundingClientRect();var dragRect={left:loX,top:loY,width:hiX-loX,height:hiY-loY};dragRect.right=dragRect.left+dragRect.width;dragRect.bottom=dragRect.top+dragRect.height;var modelTrackContainerRect=this.modelTrackContainer_.getBoundingClientRect();var clipRect={left:modelTrackContainerRect.left,top:modelTrackContainerRect.top,right:modelTrackContainerRect.right,bottom:modelTrackContainerRect.bottom};var headingWidth=window.getComputedStyle(Polymer.dom(this).querySelector('tr-ui-heading')).width;var trackTitleWidth=parseInt(headingWidth);clipRect.left=clipRect.left+trackTitleWidth;var intersectRect_=function(r1,r2){if(r2.left>r1.right||r2.right<r1.left||r2.top>r1.bottom||r2.bottom<r1.top)
-return false;var results={};results.left=Math.max(r1.left,r2.left);results.top=Math.max(r1.top,r2.top);results.right=Math.min(r1.right,r2.right);results.bottom=Math.min(r1.bottom,r2.bottom);results.width=results.right-results.left;results.height=results.bottom-results.top;return results;};var finalDragBox=intersectRect_(clipRect,dragRect);this.$.drag_box.style.left=finalDragBox.left+'px';this.$.drag_box.style.width=finalDragBox.width+'px';this.$.drag_box.style.top=finalDragBox.top+'px';this.$.drag_box.style.height=finalDragBox.height+'px';this.$.drag_box.style.whiteSpace='nowrap';var pixelRatio=window.devicePixelRatio||1;var canv=this.modelTrackContainer_.canvas;var dt=this.viewport_.currentDisplayTransform;var loWX=dt.xViewToWorld((loX-canv.offsetLeft)*pixelRatio);var hiWX=dt.xViewToWorld((hiX-canv.offsetLeft)*pixelRatio);Polymer.dom(this.$.drag_box).textContent=tr.b.Unit.byName.timeDurationInMs.format(hiWX-loWX);var e=new tr.b.Event('selectionChanging');e.loWX=loWX;e.hiWX=hiWX;this.dispatchEvent(e);},onGridToggle_:function(left){var selection=this.brushingStateController_.selection;var tb=left?selection.bounds.min:selection.bounds.max;if(this.viewport_.gridEnabled&&this.viewport_.gridSide===left&&this.viewport_.gridInitialTimebase===tb){this.viewport_.gridside=undefined;this.viewport_.gridEnabled=false;this.viewport_.gridInitialTimebase=undefined;return;}
-var numIntervalsSinceStart=Math.ceil((tb-this.model_.bounds.min)/this.viewport_.gridStep_);this.viewport_.gridEnabled=true;this.viewport_.gridSide=left;this.viewport_.gridInitialTimebase=tb;this.viewport_.gridTimebase=tb-
-(numIntervalsSinceStart+1)*this.viewport_.gridStep_;},storeLastMousePos_:function(e){this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);},storeLastTouchPositions_:function(e){this.lastTouchViewPositions_=this.extractRelativeTouchPositions_(e);},extractRelativeMousePosition_:function(e){var canv=this.modelTrackContainer_.canvas;return{x:e.clientX-canv.offsetLeft,y:e.clientY-canv.offsetTop};},extractRelativeTouchPositions_:function(e){var canv=this.modelTrackContainer_.canvas;var touches=[];for(var i=0;i<e.touches.length;++i){touches.push({x:e.touches[i].clientX-canv.offsetLeft,y:e.touches[i].clientY-canv.offsetTop});}
-return touches;},storeInitialMouseDownPos_:function(e){var position=this.extractRelativeMousePosition_(e);this.mouseViewPosAtMouseDown_.x=position.x;this.mouseViewPosAtMouseDown_.y=position.y;},focusElements_:function(){this.$.hotkey_controller.childRequestsGeneralFocus(this);},storeInitialInteractionPositionsAndFocus_:function(e){this.storeInitialMouseDownPos_(e);this.storeLastMousePos_(e);this.focusElements_();},onBeginPanScan_:function(e){var vp=this.viewport_;this.viewportDisplayTransformAtMouseDown_=vp.currentDisplayTransform.clone();this.isPanningAndScanning_=true;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdatePanScan_:function(e){if(!this.isPanningAndScanning_)
-return;var viewWidth=this.viewWidth_;var pixelRatio=window.devicePixelRatio||1;var xDeltaView=pixelRatio*(this.lastMouseViewPos_.x-
-this.mouseViewPosAtMouseDown_.x);var yDelta=this.lastMouseViewPos_.y-
-this.mouseViewPosAtMouseDown_.y;this.displayTransform_.set(this.viewportDisplayTransformAtMouseDown_);this.displayTransform_.incrementPanXInViewUnits(xDeltaView);this.displayTransform_.panY-=yDelta;this.viewport_.setDisplayTransformImmediately(this.displayTransform_);e.preventDefault();e.stopPropagation();this.storeLastMousePos_(e);},onEndPanScan_:function(e){this.isPanningAndScanning_=false;this.storeLastMousePos_(e);if(!e.isClick)
-e.preventDefault();},onBeginSelection_:function(e){var canv=this.modelTrackContainer_.canvas;var rect=this.modelTrack_.getBoundingClientRect();var canvRect=canv.getBoundingClientRect();var inside=rect&&e.clientX>=rect.left&&e.clientX<rect.right&&e.clientY>=rect.top&&e.clientY<rect.bottom&&e.clientX>=canvRect.left&&e.clientX<canvRect.right;if(!inside)
-return;this.dragBeginEvent_=e;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdateSelection_:function(e){if(!this.dragBeginEvent_)
-return;this.dragBoxXStart_=this.dragBeginEvent_.clientX;this.dragBoxXEnd_=e.clientX;this.dragBoxYStart_=this.dragBeginEvent_.clientY;this.dragBoxYEnd_=e.clientY;this.setDragBoxPosition_(this.dragBoxXStart_,this.dragBoxYStart_,this.dragBoxXEnd_,this.dragBoxYEnd_);},onEndSelection_:function(e){e.preventDefault();if(!this.dragBeginEvent_)
-return;this.hideDragBox_();var eDown=this.dragBeginEvent_;this.dragBeginEvent_=undefined;var loY=Math.min(eDown.clientY,e.clientY);var hiY=Math.max(eDown.clientY,e.clientY);var loX=Math.min(eDown.clientX,e.clientX);var hiX=Math.max(eDown.clientX,e.clientX);var canv=this.modelTrackContainer_.canvas;var worldOffset=canv.getBoundingClientRect().left;var loVX=loX-worldOffset;var hiVX=hiX-worldOffset;var selection=new tr.model.EventSet();if(eDown.appendSelection){var previousSelection=this.brushingStateController_.selection;if(previousSelection!==undefined)
-selection.addEventSet(previousSelection);}
-this.modelTrack_.addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection);this.brushingStateController_.changeSelectionFromTimeline(selection);},onBeginZoom_:function(e){this.isZooming_=true;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdateZoom_:function(e){if(!this.isZooming_)
-return;var newPosition=this.extractRelativeMousePosition_(e);var zoomScaleValue=1+(this.lastMouseViewPos_.y-
-newPosition.y)*0.01;this.zoomBy_(zoomScaleValue,false);this.storeLastMousePos_(e);},onEndZoom_:function(e){this.isZooming_=false;if(!e.isClick)
-e.preventDefault();},computeTouchCenter_:function(positions){var xSum=0;var ySum=0;for(var i=0;i<positions.length;++i){xSum+=positions[i].x;ySum+=positions[i].y;}
-return{x:xSum/positions.length,y:ySum/positions.length};},computeTouchSpan_:function(positions){var xMin=Number.MAX_VALUE;var yMin=Number.MAX_VALUE;var xMax=Number.MIN_VALUE;var yMax=Number.MIN_VALUE;for(var i=0;i<positions.length;++i){xMin=Math.min(xMin,positions[i].x);yMin=Math.min(yMin,positions[i].y);xMax=Math.max(xMax,positions[i].x);yMax=Math.max(yMax,positions[i].y);}
-return Math.sqrt((xMin-xMax)*(xMin-xMax)+
-(yMin-yMax)*(yMin-yMax));},onUpdateTransformForTouch_:function(e){var newPositions=this.extractRelativeTouchPositions_(e);var currentPositions=this.lastTouchViewPositions_;var newCenter=this.computeTouchCenter_(newPositions);var currentCenter=this.computeTouchCenter_(currentPositions);var newSpan=this.computeTouchSpan_(newPositions);var currentSpan=this.computeTouchSpan_(currentPositions);var vp=this.viewport_;var viewWidth=this.viewWidth_;var pixelRatio=window.devicePixelRatio||1;var xDelta=pixelRatio*(newCenter.x-currentCenter.x);var yDelta=newCenter.y-currentCenter.y;var zoomScaleValue=currentSpan>10?newSpan/currentSpan:1;var viewFocus=pixelRatio*newCenter.x;var worldFocus=vp.currentDisplayTransform.xViewToWorld(viewFocus);this.displayTransform_.set(vp.currentDisplayTransform);this.displayTransform_.scaleX*=zoomScaleValue;this.displayTransform_.xPanWorldPosToViewPos(worldFocus,viewFocus,viewWidth);this.displayTransform_.incrementPanXInViewUnits(xDelta);this.displayTransform_.panY-=yDelta;vp.setDisplayTransformImmediately(this.displayTransform_);this.storeLastTouchPositions_(e);},initHintText_:function(){this.$.hint_text.style.display='none';this.pendingHintTextClearTimeout_=undefined;},showHintText_:function(text){if(this.pendingHintTextClearTimeout_){window.clearTimeout(this.pendingHintTextClearTimeout_);this.pendingHintTextClearTimeout_=undefined;}
-this.pendingHintTextClearTimeout_=setTimeout(this.hideHintText_.bind(this),1000);Polymer.dom(this.$.hint_text).textContent=text;this.$.hint_text.style.display='';},hideHintText_:function(){this.pendingHintTextClearTimeout_=undefined;this.$.hint_text.style.display='none';}});'use strict';Polymer({is:'tr-ui-find-control',filterKeyDown:function(e){if(e.keyCode===27){var hkc=tr.b.getHotkeyControllerForElement(this);if(hkc){hkc.childRequestsBlur(this);}else{this.blur();}
-e.preventDefault();e.stopPropagation();return;}else if(e.keyCode===13){if(e.shiftKey)
-this.findPrevious();else
-this.findNext();}},filterBlur:function(e){this.updateHitCountEl();},filterFocus:function(e){this.$.filter.select();},filterMouseUp:function(e){e.preventDefault();},get controller(){return this.controller_;},set controller(c){this.controller_=c;this.updateHitCountEl();},focus:function(){this.$.filter.focus();},get hasFocus(){return this===document.activeElement;},filterTextChanged:function(){Polymer.dom(this.$.hitCount).textContent='';this.$.spinner.style.visibility='visible';this.controller.startFiltering(this.$.filter.value).then(function(){this.$.spinner.style.visibility='hidden';this.updateHitCountEl();}.bind(this));},findNext:function(){if(this.controller)
-this.controller.findNext();this.updateHitCountEl();},findPrevious:function(){if(this.controller)
-this.controller.findPrevious();this.updateHitCountEl();},updateHitCountEl:function(){if(!this.controller||this.$.filter.value.length===0){Polymer.dom(this.$.hitCount).textContent='';return;}
-var n=this.controller.filterHits.length;var i=n===0?-1:this.controller.currentHitIndex;Polymer.dom(this.$.hitCount).textContent=(i+1)+' of '+n;},setText:function(string){this.$.filter.value=string;}});'use strict';tr.exportTo('tr.e.tquery',function(){function Context(){this.event=undefined;this.ancestors=[];}
-Context.prototype={push:function(event){var ctx=new Context();ctx.ancestors=this.ancestors.slice();ctx.ancestors.push(event);return ctx;},pop:function(event){var ctx=new Context();ctx.event=this.ancestors[this.ancestors.length-1];ctx.ancestors=this.ancestors.slice(0,this.ancestors.length-1);return ctx;}};return{Context:Context};});'use strict';tr.exportTo('tr.e.tquery',function(){function Filter(){tr.c.ScriptingObject.call(this);}
-Filter.normalizeFilterExpression=function(filterExpression){if(filterExpression instanceof String||typeof(filterExpression)=='string'||filterExpression instanceof RegExp){var filter=new tr.e.tquery.FilterHasTitle(filterExpression);return filter;}
-return filterExpression;};Filter.prototype={__proto__:tr.c.ScriptingObject.prototype,evaluate:function(context){throw new Error('Not implemented');},matchValue_:function(value,expected){if(expected instanceof RegExp)
-return expected.test(value);else if(expected instanceof Function)
-return expected(value);return value===expected;}};return{Filter:Filter};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterAllOf(opt_subExpressions){tr.e.tquery.Filter.call(this);this.subExpressions=opt_subExpressions||[];}
-FilterAllOf.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpressions(exprs){this.subExpressions_=[];for(var i=0;i<exprs.length;i++){this.subExpressions_.push(tr.e.tquery.Filter.normalizeFilterExpression(exprs[i]));}},get subExpressions(){return this.subExpressions_;},evaluate:function(context){if(!this.subExpressions.length)
-return true;for(var i=0;i<this.subExpressions.length;i++){if(!this.subExpressions[i].evaluate(context))
-return false;}
-return true;}};tr.c.ScriptingObjectRegistry.register(function(){var exprs=[];for(var i=0;i<arguments.length;i++){exprs.push(arguments[i]);}
-return new FilterAllOf(exprs);},{name:'allOf'});return{FilterAllOf:FilterAllOf};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterNot(subExpression){tr.e.tquery.Filter.call(this);this.subExpression=subExpression;}
-FilterNot.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate:function(context){return!this.subExpression.evaluate(context);}};tr.c.ScriptingObjectRegistry.register(function(){var exprs=Array.prototype.slice.call(arguments);if(exprs.length!==1)
-throw new Error('not() must have exactly one subexpression');return new FilterNot(exprs[0]);},{name:'not'});return{FilterNot:FilterNot};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterAnyOf(opt_subExpressions){tr.e.tquery.Filter.call(this);this.subExpressions=opt_subExpressions||[];};FilterAnyOf.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpressions(exprs){this.subExpressions_=[];for(var i=0;i<exprs.length;i++){this.subExpressions_.push(tr.e.tquery.Filter.normalizeFilterExpression(exprs[i]));}},get subExpressions(){return this.subExpressions_;},evaluate:function(context){if(!this.subExpressions.length)
-return true;for(var i=0;i<this.subExpressions.length;i++){if(this.subExpressions[i].evaluate(context))
-return true;}
-return false;}};tr.c.ScriptingObjectRegistry.register(function(){var exprs=Array.prototype.slice.call(arguments);return new FilterAnyOf(exprs);},{name:'anyOf'});tr.c.ScriptingObjectRegistry.register(function(){var exprs=Array.prototype.slice.call(arguments);return new tr.e.tquery.FilterNot(new FilterAnyOf(exprs));},{name:'noneOf'});return{FilterAnyOf:FilterAnyOf};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasAncestor(opt_subExpression){this.subExpression=opt_subExpression;};FilterHasAncestor.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate:function(context){if(!this.subExpression)
-return context.ancestors.length>0;while(context.ancestors.length){context=context.pop();if(this.subExpression.evaluate(context))
-return true;}
-return false;}};tr.c.ScriptingObjectRegistry.register(function(subExpression){return new FilterHasAncestor(subExpression);},{name:'hasAncestor'});return{FilterHasAncestor:FilterHasAncestor};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasDuration(minValueOrExpected,opt_maxValue){if(minValueOrExpected!==undefined&&opt_maxValue!==undefined){this.minValue=minValueOrExpected;this.maxValue=opt_maxValue;}else{this.expected=minValueOrExpected;}};FilterHasDuration.prototype={__proto__:tr.e.tquery.Filter.prototype,evaluate:function(context){if(context.event.duration===undefined)
-return false;if(this.minValue!==undefined&&this.maxValue!==undefined){return context.event.duration>=this.minValue&&context.event.duration<=this.maxValue;}
-return this.matchValue_(context.event.duration,this.expected);}};tr.c.ScriptingObjectRegistry.register(function(minValueOrExpected,opt_maxValue){return new FilterHasDuration(minValueOrExpected,opt_maxValue);},{name:'hasDuration'});return{FilterHasDuration:FilterHasDuration};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasTitle(expected){tr.e.tquery.Filter.call(this);this.expected=expected;}
-FilterHasTitle.prototype={__proto__:tr.e.tquery.Filter.prototype,evaluate:function(context){return this.matchValue_(context.event.title,this.expected);}};tr.c.ScriptingObjectRegistry.register(function(expected){var filter=new tr.e.tquery.FilterHasTitle(expected);return filter;},{name:'hasTitle'});return{FilterHasTitle:FilterHasTitle};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterIsTopLevel(opt_subExpression){this.subExpression=opt_subExpression;}
-FilterIsTopLevel.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate:function(context){if(context.ancestors.length>0)
-return false;if(!this.subExpression)
-return true;return this.subExpression.evaluate(context);}};tr.c.ScriptingObjectRegistry.register(function(subExpression){return new FilterIsTopLevel(subExpression);},{name:'isTopLevel'});return{FilterIsTopLevel:FilterIsTopLevel};});'use strict';tr.exportTo('tr.e.tquery',function(){function addEventTreeToSelection(selection,event){selection.push(event);if(!event.subSlices)
-return;event.subSlices.forEach(addEventTreeToSelection.bind(undefined,selection));}
-function TQuery(model){tr.c.ScriptingObject.call(this);this.model_=model;this.parent_=undefined;this.filterExpression_=undefined;this.selection_=undefined;};TQuery.prototype={__proto__:tr.c.ScriptingObject.prototype,onModelChanged:function(model){this.model_=model;this.selection_=undefined;},get brushingStateController(){return this.brushingStateController_;},filter:function(filterExpression){var result=new TQuery(this.model_);result.parent_=this;result.filterExpression_=tr.e.tquery.Filter.normalizeFilterExpression(filterExpression);return result;},createFilterTaskGraph_:function(){var nodes=[];var node=this;while(node!==undefined){nodes.push(node);node=node.parent_;}
-var rootTask=new tr.b.Task();var lastTask=rootTask;for(var i=nodes.length-1;i>=0;i--){var node=nodes[i];if(node.selection_!==undefined)
-continue;node.selection_=new tr.model.EventSet();if(node.parent_===undefined){lastTask=lastTask.after(this.selectEverythingAsTask_(node.selection_));}else{var prevNode=nodes[i+1];lastTask=this.createFilterTaskForNode_(lastTask,node,prevNode);}}
-return{rootTask:rootTask,lastTask:lastTask,lastNode:node};},createFilterTaskForNode_:function(lastTask,node,prevNode){return lastTask.after(function(){node.evaluateFilterExpression_(prevNode.selection_,node.selection_);},this);},evaluateFilterExpression_:function(inputSelection,outputSelection){var seenEvents={};inputSelection.forEach(function(event){var context=new tr.e.tquery.Context();context.event=event;this.evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents);}.bind(this));},evaluateFilterExpressionForEvent_:function(context,inputSelection,outputSelection,seenEvents){var event=context.event;if(inputSelection.contains(event)&&!seenEvents[event.guid]){seenEvents[event.guid]=true;if(!this.filterExpression_||this.filterExpression_.evaluate(context))
-outputSelection.push(event);}
-if(!event.subSlices)
-return;context=context.push(event);for(var i=0;i<event.subSlices.length;i++){context.event=event.subSlices[i];this.evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents);}},selectEverythingAsTask_:function(selection){var filterTask=new tr.b.Task();for(var container of this.model_.getDescendantEventContainers()){filterTask.subTask(()=>{for(var event of container.childEvents())
-addEventTreeToSelection(selection,event);},this);}
-return filterTask;},ready:function(){return new Promise(function(resolve,reject){var graph=this.createFilterTaskGraph_();graph.lastTask=graph.lastTask.after(function(){resolve(this.selection_);},this);tr.b.Task.RunWhenIdle(graph.rootTask);}.bind(this));},get selection(){if(this.selection_===undefined){var graph=this.createFilterTaskGraph_();tr.b.Task.RunSynchronously(graph.rootTask);}
-return this.selection_;}};tr.c.ScriptingObjectRegistry.register(new TQuery(),{name:'$t'});return{TQuery:TQuery};});'use strict';Polymer({is:'tr-ui-scripting-control',_isEnterKey:function(event){return event.keyCode!==229&&(event.key==='Enter'||event.keyIdentifier==='Enter');},_setFocused:function(focused){var promptEl=this.$.prompt;if(focused){promptEl.focus();Polymer.dom(this.$.root).classList.add('focused');if(promptEl.innerText.length>0){var sel=window.getSelection();sel.collapse(Polymer.dom(promptEl).firstChild,promptEl.innerText.length);}}else{promptEl.blur();Polymer.dom(this.$.root).classList.remove('focused');var parent=promptEl.parentElement;var nextEl=Polymer.dom(promptEl).nextSibling;promptEl.remove();Polymer.dom(parent).insertBefore(promptEl,nextEl);}},onConsoleFocus:function(e){e.stopPropagation();this._setFocused(true);},onConsoleBlur:function(e){e.stopPropagation();this._setFocused(false);},promptKeyDown:function(e){e.stopPropagation();if(!this._isEnterKey(e))
-return;e.preventDefault();var promptEl=this.$.prompt;var command=promptEl.innerText;if(command.length===0)
-return;promptEl.innerText='';this.addLine_(String.fromCharCode(187)+' '+command);try{var result=this.controller_.executeCommand(command);}catch(e){result=e.stack||e.stackTrace;}
-if(result instanceof tr.e.tquery.TQuery){result.ready().then(function(selection){this.addLine_(selection.length+' matches');this.controller_.brushingStateController.showScriptControlSelection(selection);}.bind(this));}else{this.addLine_(result);}
-promptEl.scrollIntoView();},addLine_:function(line){var historyEl=this.$.history;if(historyEl.innerText.length!==0)
-historyEl.innerText+='\n';historyEl.innerText+=line;},promptKeyPress:function(e){e.stopPropagation();},toggleVisibility:function(){var root=this.$.root;if(!this.visible){Polymer.dom(root).classList.remove('hidden');this._setFocused(true);}else{Polymer.dom(root).classList.add('hidden');this._setFocused(false);}},get hasFocus(){return this===document.activeElement;},get visible(){var root=this.$.root;return!Polymer.dom(root).classList.contains('hidden');},get controller(){return this.controller_;},set controller(c){this.controller_=c;}});'use strict';tr.exportTo('tr.ui.behaviors',function(){var SidePanel={get rangeOfInterest(){throw new Error('Not implemented');},set rangeOfInterest(rangeOfInterest){throw new Error('Not implemented');},get selection(){throw new Error('Not implemented');},set selection(selection){throw new Error('Not implemented');},get model(){throw new Error('Not implemented');},set model(model){throw new Error('Not implemented');},supportsModel:function(m){throw new Error('Not implemented');}};return{SidePanel:SidePanel};});'use strict';tr.exportTo('tr.ui.side_panel',function(){function SidePanelRegistry(){}
-var options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(SidePanelRegistry,options);return{SidePanelRegistry:SidePanelRegistry};});'use strict';Polymer({is:'tr-ui-side-panel-container',ready:function(){this.activePanelContainer_=this.$.active_panel_container;this.tabStrip_=this.$.tab_strip;this.dragHandle_=this.$.side_panel_drag_handle;this.dragHandle_.horizontal=false;this.dragHandle_.target=this.activePanelContainer_;this.rangeOfInterest_=new tr.b.Range();this.brushingStateController_=undefined;this.onSelectionChanged_=this.onSelectionChanged_.bind(this);this.onModelChanged_=this.onModelChanged_.bind(this);},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_);this.brushingStateController_.removeEventListener('model-changed',this.onModelChanged_);}
-this.brushingStateController_=brushingStateController;if(this.brushingStateController){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_);this.brushingStateController_.addEventListener('model-changed',this.onModelChanged_);}},onSelectionChanged_:function(){if(this.activePanel)
-this.activePanel.selection=this.selection;},get model(){return this.brushingStateController_.model;},onModelChanged_:function(){this.activePanelType_=undefined;this.updateContents_();},get expanded(){this.hasAttribute('expanded');},get activePanel(){return this.activePanelContainer_.children[0];},get activePanelType(){return this.activePanelType_;},set activePanelType(panelType){if(this.model===undefined)
-throw new Error('Cannot activate panel without a model');var panel=undefined;if(panelType)
-panel=document.createElement(panelType);if(panel!==undefined&&!panel.supportsModel(this.model))
-throw new Error('Cannot activate panel: does not support this model');if(this.activePanelType){Polymer.dom(this.getLabelElementForPanelType_(this.activePanelType)).removeAttribute('selected');}
-if(this.activePanelType){this.getLabelElementForPanelType_(this.activePanelType).removeAttribute('selected');}
-if(this.activePanel)
-this.activePanelContainer_.removeChild(this.activePanel);if(panelType===undefined){Polymer.dom(this).removeAttribute('expanded');this.activePanelType_=undefined;return;}
-Polymer.dom(this.getLabelElementForPanelType_(panelType)).setAttribute('selected',true);Polymer.dom(this).setAttribute('expanded',true);Polymer.dom(this.activePanelContainer_).appendChild(panel);panel.rangeOfInterest=this.rangeOfInterest_;panel.selection=this.selection_;panel.model=this.model;this.activePanelType_=panelType;},getPanelTypeForConstructor_:function(constructor){for(var i=0;i<this.tabStrip_.children.length;i++){if(this.tabStrip_.children[i].panelType.constructor==constructor)
-return this.tabStrip_.children[i].panelType;}},getLabelElementForPanelType_:function(panelType){for(var i=0;i<this.tabStrip_.children.length;i++){if(this.tabStrip_.children[i].panelType==panelType)
-return this.tabStrip_.children[i];}
-return undefined;},updateContents_:function(){var previouslyActivePanelType=this.activePanelType;Polymer.dom(this.tabStrip_).textContent='';var supportedPanelTypes=[];for(var panelTypeInfo of
-tr.ui.side_panel.SidePanelRegistry.getAllRegisteredTypeInfos()){var labelEl=document.createElement('tab-strip-label');var panel=panelTypeInfo.constructor();var panelType=panel.tagName;Polymer.dom(labelEl).textContent=panel.textLabel;labelEl.panelType=panelType;var supported=panel.supportsModel(this.model);if(this.model&&supported.supported){supportedPanelTypes.push(panelType);Polymer.dom(labelEl).setAttribute('enabled',true);labelEl.addEventListener('click',function(panelType){this.activePanelType=this.activePanelType===panelType?undefined:panelType;}.bind(this,panelType));}else{if(this.activePanel)
-this.activePanelContainer_.removeChild(this.activePanel);this.removeAttribute('expanded');}
-Polymer.dom(this.tabStrip_).appendChild(labelEl);}
-if(previouslyActivePanelType&&supportedPanelTypes.indexOf(previouslyActivePanelType)!=-1){this.activePanelType=previouslyActivePanelType;Polymer.dom(this).setAttribute('expanded',true);}else{if(this.activePanel)
-Polymer.dom(this.activePanelContainer_).removeChild(this.activePanel);Polymer.dom(this).removeAttribute('expanded');}},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(range){if(range==undefined)
-throw new Error('Must not be undefined');this.rangeOfInterest_=range;if(this.activePanel)
-this.activePanel.rangeOfInterest=range;}});'use strict';Polymer({is:'tr-ui-timeline-view-help-overlay',ready:function(){var mod=tr.isMac?'cmd ':'ctrl';var spans=Polymer.dom(this.root).querySelectorAll('span.mod');for(var i=0;i<spans.length;i++)
-Polymer.dom(spans[i]).textContent=mod;}});'use strict';tr.exportTo('tr.v',function(){function GenericTable(items){if(items!==undefined)
-this.items=items;else
-this.items=[];};GenericTable.prototype={};return{GenericTable:GenericTable};});'use strict';tr.exportTo('tr.v.ui',function(){var ArrayOfNumbersSummaryModes={AVERAGE_MODE:'average-mode',TOTAL_MODE:'total-mode'};return{ArrayOfNumbersSummaryModes:ArrayOfNumbersSummaryModes};});'use strict';Polymer({is:'tr-v-ui-array-of-numbers-span',created:function(){this.numbers_=undefined;this.summaryMode_=tr.v.ui.ArrayOfNumbersSummaryModes.AVERAGE_MODE;},get summaryMode(){return this.summaryMode_;},set summaryMode(summaryMode){this.summaryMode_=summaryMode;this.updateContents_();},get numbers(){return this.numbers_;},set numbers(numbers){if(numbers===undefined){this.numbers_=undefined;this.updateContents_();return;}
-if(!(numbers instanceof Array))
-throw new Error('Must provide an array');this.numbers_=numbers;this.updateContents_();},updateContents_:function(){if(this.numbers_===undefined){Polymer.dom(this.root).textContent='-';return;}
-var ArrayOfNumbersSummaryModes=tr.v.ui.ArrayOfNumbersSummaryModes;var value;if(this.summaryMode_===ArrayOfNumbersSummaryModes.AVERAGE_MODE)
-value=tr.b.Statistics.mean(this.numbers_);else
-value=tr.b.Statistics.sum(this.numbers_);var valueRounded=Math.round(value*1000.0)/1000.0;Polymer.dom(this.root).textContent=valueRounded;}});'use strict';tr.exportTo('tr.v.ui',function(){var TEXT_COLUMN_MODE=1;var NUMERIC_COLUMN_MODE=2;var ELEMENT_COLUMN_MODE=3;function isNumeric(value){if((typeof value)==='number')
-return true;else if(value instanceof Number)
-return true;return false;}
-function GenericTableViewTotalsItem(opt_values){if(opt_values!==undefined)
-this.values=opt_values;else
-this.values=[];}
-function GenericTableViewColumnDescriptor(fieldName,firstFieldValue){this.title=fieldName;this.fieldName=fieldName;this.updateModeGivenValue(firstFieldValue);}
-GenericTableViewColumnDescriptor.prototype={get columnMode(){return this.columnMode_;},get isInNumericMode(){return this.columnMode_===NUMERIC_COLUMN_MODE;},cmp:function(a,b){if(this.columnMode_===ELEMENT_COLUMN_MODE)
-return 0;return tr.b.comparePossiblyUndefinedValues(a,b,function(a,b){var vA=a[this.fieldName];var vB=b[this.fieldName];return tr.b.comparePossiblyUndefinedValues(vA,vB,function(vA,vB){if(vA.localeCompare)
-return vA.localeCompare(vB);return vA-vB;},this);},this);},updateModeGivenValue:function(fieldValue){if(this.columnMode_===undefined){if(fieldValue===undefined||fieldValue===null)
-return;if(isNumeric(fieldValue)){this.columnMode_=NUMERIC_COLUMN_MODE;return;}
-if(fieldValue instanceof HTMLElement){this.columnMode_=ELEMENT_COLUMN_MODE;return;}
-this.columnMode_=TEXT_COLUMN_MODE;return;}
-if(fieldValue===undefined||fieldValue===null)
-return;if(isNumeric(fieldValue))
-return;if(fieldValue instanceof HTMLElement){this.columnMode_=ELEMENT_COLUMN_MODE;return;}
-if(this.columnMode_===NUMERIC_COLUMN_MODE)
-this.columnMode_=TEXT_COLUMN_MODE;},value:function(item){var fieldValue=item[this.fieldName];if(fieldValue instanceof GenericTableViewTotalsItem){var span=document.createElement('tr-v-ui-array-of-numbers-span');span.summaryMode=tr.v.ui.ArrayOfNumbersSummaryModes.TOTAL_MODE;span.numbers=fieldValue.values;return span;}
-if(fieldValue===undefined)
-return'-';if(fieldValue instanceof HTMLElement)
-return fieldValue;if(fieldValue instanceof Object){var gov=document.createElement('tr-ui-a-generic-object-view');gov.object=fieldValue;return gov;}
-return fieldValue;}};Polymer({is:'tr-v-ui-generic-table-view',created:function(){this.items_=undefined;this.importantColumNames_=[];},get items(){return this.items_;},set items(itemsOrGenericTable){if(itemsOrGenericTable===undefined){this.items_=undefined;}else if(itemsOrGenericTable instanceof Array){this.items_=itemsOrGenericTable;}else if(itemsOrGenericTable instanceof tr.v.GenericTable){this.items_=itemsOrGenericTable.items;}
-this.updateContents_();},get importantColumNames(){return this.importantColumNames_;},set importantColumNames(importantColumNames){this.importantColumNames_=importantColumNames;this.updateContents_();},createColumns_:function(){var columnsByName={};this.items_.forEach(function(item){tr.b.iterItems(item,function(itemFieldName,itemFieldValue){var colDesc=columnsByName[itemFieldName];if(colDesc!==undefined){colDesc.updateModeGivenValue(itemFieldValue);return;}
-colDesc=new GenericTableViewColumnDescriptor(itemFieldName,itemFieldValue);columnsByName[itemFieldName]=colDesc;},this);},this);var columns=tr.b.dictionaryValues(columnsByName);if(columns.length===0)
-return undefined;var isColumnNameImportant={};var importantColumNames=this.importantColumNames||[];importantColumNames.forEach(function(icn){isColumnNameImportant[icn]=true;});columns.sort(function(a,b){var iA=isColumnNameImportant[a.title]?1:0;var iB=isColumnNameImportant[b.title]?1:0;if((iB-iA)!==0)
-return iB-iA;return a.title.localeCompare(b.title);});var colWidthPercentage;if(columns.length==1)
-colWidthPercentage='100%';else
-colWidthPercentage=(100/(columns.length-1)).toFixed(3)+'%';columns[0].width='250px';for(var i=1;i<columns.length;i++)
-columns[i].width=colWidthPercentage;return columns;},createFooterRowsIfNeeded_:function(columns){var hasColumnThatIsNumeric=columns.some(function(column){return column.isInNumericMode;});if(!hasColumnThatIsNumeric)
-return[];var totalsItems={};columns.forEach(function(column){if(!column.isInNumericMode)
-return;var totalsItem=new GenericTableViewTotalsItem();this.items_.forEach(function(item){var fieldValue=item[column.fieldName];if(fieldValue===undefined||fieldValue===null)
-return;totalsItem.values.push(fieldValue);});totalsItems[column.fieldName]=totalsItem;},this);return[totalsItems];},updateContents_:function(){var columns;if(this.items_!==undefined)
-columns=this.createColumns_();if(!columns){this.$.table.tableColumns=[];this.$.table.tableRows=[];this.$.table.footerRows=[];return;}
-this.$.table.tableColumns=columns;this.$.table.tableRows=this.items_;this.$.table.footerRows=this.createFooterRowsIfNeeded_(columns);this.$.table.rebuild();},get selectionMode(){return this.$.table.selectionMode;},set selectionMode(selectionMode){this.$.table.selectionMode=selectionMode;},get rowHighlightStyle(){return this.$.table.rowHighlightStyle;},set rowHighlightStyle(rowHighlightStyle){this.$.table.rowHighlightStyle=rowHighlightStyle;},get cellHighlightStyle(){return this.$.table.cellHighlightStyle;},set cellHighlightStyle(cellHighlightStyle){this.$.table.cellHighlightStyle=cellHighlightStyle;}});return{GenericTableViewTotalsItem:GenericTableViewTotalsItem,GenericTableViewColumnDescriptor:GenericTableViewColumnDescriptor};});'use strict';Polymer({is:'tr-ui-timeline-view-metadata-overlay',created:function(){this.metadata_=undefined;},get metadata(){return this.metadata_;},set metadata(metadata){this.metadata_=metadata;this.$.gtv.items=this.metadata_;}});'use strict';Polymer({is:'tr-v-ui-preferred-display-unit',ready:function(){this.preferredTimeDisplayMode_=undefined;},attached:function(){tr.b.Unit.didPreferredTimeDisplayUnitChange();},detached:function(){tr.b.Unit.didPreferredTimeDisplayUnitChange();},get preferredTimeDisplayMode(){return this.preferredTimeDisplayMode_;},set preferredTimeDisplayMode(v){if(this.preferredTimeDisplayMode_===v)
-return;this.preferredTimeDisplayMode_=v;tr.b.Unit.didPreferredTimeDisplayUnitChange();}});'use strict';Polymer({is:'tr-ui-timeline-view',attached:function(){this.async(function(){this.trackViewContainer_=Polymer.dom(this).querySelector('#track_view_container');if(!this.trackViewContainer_)
-console.error('missing trackviewContainer');});},ready:function(){this.tabIndex=0;this.titleEl_=this.$.title;this.leftControlsEl_=this.$.left_controls;this.rightControlsEl_=this.$.right_controls;this.collapsingControlsEl_=this.$.collapsing_controls;this.sidePanelContainer_=this.$.side_panel_container;this.brushingStateController_=new tr.c.BrushingStateController(this);this.findCtl_=this.$.view_find_control;this.findCtl_.controller=new tr.ui.FindController(this.brushingStateController_);this.scriptingCtl_=document.createElement('tr-ui-scripting-control');this.scriptingCtl_.controller=new tr.c.ScriptingController(this.brushingStateController_);this.sidePanelContainer_.brushingStateController=this.brushingStateController_;if(window.tr.metrics&&window.tr.metrics.sh&&window.tr.metrics.sh.SystemHealthMetric){this.railScoreSpan_=document.createElement('tr-metrics-ui-sh-system-health-span');Polymer.dom(this.rightControls).appendChild(this.railScoreSpan_);}else{this.railScoreSpan_=undefined;}
-this.optionsDropdown_=this.$.view_options_dropdown;Polymer.dom(this.optionsDropdown_.iconElement).textContent='View Options';this.showFlowEvents_=false;Polymer.dom(this.optionsDropdown_).appendChild(tr.ui.b.createCheckBox(this,'showFlowEvents','tr.ui.TimelineView.showFlowEvents',false,'Flow events'));this.highlightVSync_=false;this.highlightVSyncCheckbox_=tr.ui.b.createCheckBox(this,'highlightVSync','tr.ui.TimelineView.highlightVSync',false,'Highlight VSync');Polymer.dom(this.optionsDropdown_).appendChild(this.highlightVSyncCheckbox_);this.initMetadataButton_();this.initConsoleButton_();this.initHelpButton_();Polymer.dom(this.collapsingControls).appendChild(this.scriptingCtl_);this.dragEl_=this.$.drag_handle;this.analysisEl_=this.$.analysis;this.analysisEl_.brushingStateController=this.brushingStateController_;this.addEventListener('requestSelectionChange',function(e){var sc=this.brushingStateController_;sc.changeSelectionFromRequestSelectionChangeEvent(e.selection);}.bind(this));this.onViewportChanged_=this.onViewportChanged_.bind(this);this.bindKeyListeners_();this.dragEl_.target=this.analysisEl_;},get globalMode(){return this.hotkeyController.globalMode;},set globalMode(globalMode){globalMode=!!globalMode;this.brushingStateController_.historyEnabled=globalMode;this.hotkeyController.globalMode=globalMode;},get hotkeyController(){return this.$.hkc;},updateDocumentFavicon:function(){var hue;if(!this.model)
-hue='blue';else
-hue=this.model.faviconHue;var faviconData=tr.ui.b.FaviconsByHue[hue];if(faviconData===undefined)
-faviconData=tr.ui.b.FaviconsByHue['blue'];var link=Polymer.dom(document.head).querySelector('link[rel="shortcut icon"]');if(!link){link=document.createElement('link');link.rel='shortcut icon';Polymer.dom(document.head).appendChild(link);}
-link.href=faviconData;},get showFlowEvents(){return this.showFlowEvents_;},set showFlowEvents(showFlowEvents){this.showFlowEvents_=showFlowEvents;if(!this.trackView_)
-return;this.trackView_.viewport.showFlowEvents=showFlowEvents;},get highlightVSync(){return this.highlightVSync_;},set highlightVSync(highlightVSync){this.highlightVSync_=highlightVSync;if(!this.trackView_)
-return;this.trackView_.viewport.highlightVSync=highlightVSync;},initHelpButton_:function(){var helpButtonEl=this.$.view_help_button;var dlg=new tr.ui.b.Overlay();dlg.title='Chrome Tracing Help';dlg.visible=false;dlg.appendChild(document.createElement('tr-ui-timeline-view-help-overlay'));function onClick(e){dlg.visible=!dlg.visible;e.stopPropagation();}
-helpButtonEl.addEventListener('click',onClick.bind(this));},initConsoleButton_:function(){var toggleEl=this.$.view_console_button;function onClick(e){this.scriptingCtl_.toggleVisibility();e.stopPropagation();return false;}
-toggleEl.addEventListener('click',onClick.bind(this));},initMetadataButton_:function(){var showEl=this.$.view_metadata_button;function onClick(e){var dlg=new tr.ui.b.Overlay();dlg.title='Metadata for trace';var metadataOverlay=document.createElement('tr-ui-timeline-view-metadata-overlay');metadataOverlay.metadata=this.model.metadata;Polymer.dom(dlg).appendChild(metadataOverlay);dlg.visible=true;e.stopPropagation();return false;}
-showEl.addEventListener('click',onClick.bind(this));this.updateMetadataButtonVisibility_();},updateMetadataButtonVisibility_:function(){var showEl=this.$.view_metadata_button;showEl.style.display=(this.model&&this.model.metadata.length)?'':'none';},get leftControls(){return this.leftControlsEl_;},get rightControls(){return this.rightControlsEl_;},get collapsingControls(){return this.collapsingControlsEl_;},get viewTitle(){return Polymer.dom(this.titleEl_).textContent.substring(Polymer.dom(this.titleEl_).textContent.length-2);},set viewTitle(text){if(text===undefined){Polymer.dom(this.titleEl_).textContent='';this.titleEl_.hidden=true;return;}
-this.titleEl_.hidden=false;Polymer.dom(this.titleEl_).textContent=text;},get model(){if(this.trackView_)
-return this.trackView_.model;return undefined;},set model(model){var modelInstanceChanged=model!=this.model;var modelValid=model&&!model.bounds.isEmpty;var importWarningsEl=Polymer.dom(this.root).querySelector('#import-warnings');Polymer.dom(importWarningsEl).textContent='';if(modelInstanceChanged){if(this.railScoreSpan_)
-this.railScoreSpan_.model=undefined;Polymer.dom(this.trackViewContainer_).textContent='';if(this.trackView_){this.trackView_.viewport.removeEventListener('change',this.onViewportChanged_);this.trackView_.brushingStateController=undefined;this.trackView_.detach();this.trackView_=undefined;}
-this.brushingStateController_.modelWillChange();}
-if(modelValid&&!this.trackView_){this.trackView_=document.createElement('tr-ui-timeline-track-view');this.trackView_.timelineView=this;this.trackView.brushingStateController=this.brushingStateController_;Polymer.dom(this.trackViewContainer_).appendChild(this.trackView_);this.trackView_.viewport.addEventListener('change',this.onViewportChanged_);}
-if(modelValid){this.trackView_.model=model;this.trackView_.viewport.showFlowEvents=this.showFlowEvents;this.trackView_.viewport.highlightVSync=this.highlightVSync;if(this.railScoreSpan_)
-this.railScoreSpan_.model=model;this.$.display_unit.preferredTimeDisplayMode=model.intrinsicTimeUnit;}
-if(model){model.importWarningsThatShouldBeShownToUser.forEach(function(importWarning){importWarningsEl.addMessage('Import Warning: '+importWarning.type+': '+
-importWarning.message);},this);}
-if(modelInstanceChanged){this.updateMetadataButtonVisibility_();this.brushingStateController_.modelDidChange();this.onViewportChanged_();}},get brushingStateController(){return this.brushingStateController_;},get trackView(){return this.trackView_;},get settings(){if(!this.settings_)
-this.settings_=new tr.b.Settings();return this.settings_;},set focusElement(value){throw new Error('This is deprecated. Please set globalMode to true.');},bindKeyListeners_:function(){var hkc=this.hotkeyController;hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'`'.charCodeAt(0),useCapture:true,thisArg:this,callback:function(e){this.scriptingCtl_.toggleVisibility();if(!this.scriptingCtl_.hasFocus)
-this.focus();e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'/'.charCodeAt(0),useCapture:true,thisArg:this,callback:function(e){if(this.scriptingCtl_.hasFocus)
-return;if(this.findCtl_.hasFocus)
-this.focus();else
-this.findCtl_.focus();e.preventDefault();e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'?'.charCodeAt(0),useCapture:false,thisArg:this,callback:function(e){this.$.view_help_button.click();e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'v'.charCodeAt(0),useCapture:false,thisArg:this,callback:function(e){this.toggleHighlightVSync_();e.stopPropagation();}}));},onViewportChanged_:function(e){var spc=this.sidePanelContainer_;if(!this.trackView_){spc.rangeOfInterest.reset();return;}
-var vr=this.trackView_.viewport.interestRange.asRangeObject();if(!spc.rangeOfInterest.equals(vr))
-spc.rangeOfInterest=vr;if(this.railScoreSpan_&&this.model)
-this.railScoreSpan_.model=this.model;},toggleHighlightVSync_:function(){this.highlightVSyncCheckbox_.checked=!this.highlightVSyncCheckbox_.checked;},setFindCtlText:function(string){this.findCtl_.setText(string);}});'use strict';tr.exportTo('tr.ui.b',function(){var ChartBase=tr.ui.b.ChartBase;var MIN_RADIUS=100;var PieChart=tr.ui.b.define('pie-chart',ChartBase);PieChart.prototype={__proto__:ChartBase.prototype,decorate:function(){ChartBase.prototype.decorate.call(this);Polymer.dom(this).classList.add('pie-chart');this.data_=undefined;var chartAreaSel=d3.select(this.chartAreaElement);var pieGroupSel=chartAreaSel.append('g').attr('class','pie-group');this.pieGroup_=pieGroupSel.node();this.pathsGroup_=pieGroupSel.append('g').attr('class','paths').node();this.labelsGroup_=pieGroupSel.append('g').attr('class','labels').node();this.linesGroup_=pieGroupSel.append('g').attr('class','lines').node();},get data(){return this.data_;},get titleMarginPx(){return 40;},set data(data){if(data!==undefined){var seenSeriesKeys={};data.forEach(function(d){var k=d.label;if(seenSeriesKeys[k])
-throw new Error('Label '+k+' has been used already');this.getDataSeries(k);seenSeriesKeys[k]=true;},this);}
-this.data_=data;this.updateContents_();},getMinSize:function(){this.updateContents_();var labelSel=d3.select(this.labelsGroup_).selectAll('.label');var maxLabelWidth=-Number.MAX_VALUE;var leftTextHeightSum=0;var rightTextHeightSum=0;labelSel.each(function(l){var r=this.getBoundingClientRect();maxLabelWidth=Math.max(maxLabelWidth,r.width+32);if(this.style.textAnchor=='end'){leftTextHeightSum+=r.height;}else{rightTextHeightSum+=r.height;}});var titleWidth=Polymer.dom(this).querySelector('#title').getBoundingClientRect().width;var margin=this.margin;var marginWidth=margin.left+margin.right;var marginHeight=margin.top+margin.bottom;return{width:Math.max(2*MIN_RADIUS+2*maxLabelWidth,titleWidth*1.1)+marginWidth,height:marginHeight+Math.max(2*MIN_RADIUS,leftTextHeightSum,rightTextHeightSum)*1.25};},updateScales_:function(width,height){if(this.data_===undefined)
-return;},updateContents_:function(){ChartBase.prototype.updateContents_.call(this);if(!this.data_)
-return;var width=this.chartAreaSize.width;var height=this.chartAreaSize.height;var radius=Math.max(MIN_RADIUS,Math.min(width,height*0.95)/2);d3.select(this.pieGroup_).attr('transform','translate('+width/2+','+height/2+')');var pieLayout=d3.layout.pie().value(function(d){return d.value;}).sort(null);var piePathsSel=d3.select(this.pathsGroup_).datum(this.data_).selectAll('path').data(pieLayout);function midAngle(d){return d.startAngle+(d.endAngle-d.startAngle)/2;}
-var pathsArc=d3.svg.arc().innerRadius(0).outerRadius(radius-30);var valueLabelArc=d3.svg.arc().innerRadius(radius-100).outerRadius(radius-30);var lineBeginArc=d3.svg.arc().innerRadius(radius-50).outerRadius(radius-50);var lineEndArc=d3.svg.arc().innerRadius(radius).outerRadius(radius);piePathsSel.enter().append('path').attr('class','arc').attr('fill',function(d,i){var origData=this.data_[i];var dataSeries=this.getDataSeries(origData.label);if(origData.label===this.currentHighlightedLegendKey)
-return dataSeries.highlightedColor;return dataSeries.color;}.bind(this)).attr('d',pathsArc).on('click',function(d,i){var origData=this.data_[i];var event=new tr.b.Event('item-click');event.data=origData;event.index=i;this.dispatchEvent(event);d3.event.stopPropagation();}.bind(this)).on('mouseenter',function(d,i){var origData=this.data_[i];this.pushTempHighlightedLegendKey(origData.label);}.bind(this)).on('mouseleave',function(d,i){var origData=this.data_[i];this.popTempHighlightedLegendKey(origData.label);}.bind(this));piePathsSel.enter().append('text').attr('class','arc-text').attr('transform',function(d){return'translate('+valueLabelArc.centroid(d)+')';}).attr('dy','.35em').style('text-anchor','middle').on('mouseenter',function(d,i){var origData=this.data_[i];this.pushTempHighlightedLegendKey(origData.label);}.bind(this)).on('mouseleave',function(d,i){var origData=this.data_[i];this.popTempHighlightedLegendKey(origData.label);}.bind(this)).text(function(d,i){var origData=this.data_[i];if(origData.valueText===undefined)
-return'';if(d.endAngle-d.startAngle<0.4)
-return'';return origData.valueText;}.bind(this));piePathsSel.exit().remove();var labelSel=d3.select(this.labelsGroup_).selectAll('.label').data(pieLayout(this.data_));labelSel.enter().append('text').attr('class','label').attr('dy','.35em');labelSel.text(function(d){if(d.data.label.length>40)
-return d.data.label.substr(0,40)+'...';return d.data.label;});labelSel.attr('transform',function(d){var pos=lineEndArc.centroid(d);pos[0]=radius*(midAngle(d)<Math.PI?1:-1);return'translate('+pos+')';});labelSel.style('text-anchor',function(d){return midAngle(d)<Math.PI?'start':'end';});var lineSel=d3.select(this.linesGroup_).selectAll('.line').data(pieLayout(this.data_));lineSel.enter().append('polyline').attr('class','line').attr('dy','.35em');lineSel.attr('points',function(d){var pos=lineEndArc.centroid(d);pos[0]=radius*0.95*(midAngle(d)<Math.PI?1:-1);return[lineBeginArc.centroid(d),lineEndArc.centroid(d),pos];});},updateHighlight_:function(){ChartBase.prototype.updateHighlight_.call(this);var pathsGroupSel=d3.select(this.pathsGroup_);var that=this;pathsGroupSel.selectAll('.arc').each(function(d,i){var origData=that.data_[i];var dataSeries=that.getDataSeries(origData.label);if(origData.label==that.currentHighlightedLegendKey)
-this.style.fill=dataSeries.highlightedColor;else
-this.style.fill=dataSeries.color;});}};return{PieChart:PieChart};});'use strict';(function(){var GROUP_BY_PROCESS_NAME='process';var GROUP_BY_THREAD_NAME='thread';var WALL_TIME_GROUPING_UNIT='Wall time';var CPU_TIME_GROUPING_UNIT='CPU time';function ResultsForGroup(model,name){this.model=model;this.name=name;this.topLevelSlices=[];this.allSlices=[];}
-ResultsForGroup.prototype={get wallTime(){var wallSum=tr.b.Statistics.sum(this.topLevelSlices,function(x){return x.duration;});return wallSum;},get cpuTime(){var cpuDuration=0;for(var i=0;i<this.topLevelSlices.length;i++){var x=this.topLevelSlices[i];if(x.cpuDuration===undefined){if(x.duration===undefined)
-continue;return 0;}
-cpuDuration+=x.cpuDuration;}
-return cpuDuration;},appendGroupContents:function(group){if(group.model!=this.model)
-throw new Error('Models must be the same');group.allSlices.forEach(function(slice){this.allSlices.push(slice);},this);group.topLevelSlices.forEach(function(slice){this.topLevelSlices.push(slice);},this);},appendThreadSlices:function(rangeOfInterest,thread){var tmp=this.getSlicesIntersectingRange(rangeOfInterest,thread.sliceGroup.slices);tmp.forEach(function(slice){this.allSlices.push(slice);},this);tmp=this.getSlicesIntersectingRange(rangeOfInterest,thread.sliceGroup.topLevelSlices);tmp.forEach(function(slice){this.topLevelSlices.push(slice);},this);},getSlicesIntersectingRange:function(rangeOfInterest,slices){var slicesInFilterRange=[];for(var i=0;i<slices.length;i++){var slice=slices[i];if(rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end))
-slicesInFilterRange.push(slice);}
-return slicesInFilterRange;}};Polymer({is:'tr-ui-e-s-time-summary-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready:function(){this.rangeOfInterest_=new tr.b.Range();this.selection_=undefined;this.groupBy_=GROUP_BY_PROCESS_NAME;this.groupingUnit_=CPU_TIME_GROUPING_UNIT;this.showCpuIdleTime_=true;this.chart_=undefined;var toolbarEl=this.$.toolbar;this.groupBySelector_=tr.ui.b.createSelector(this,'groupBy','timeSummarySidePanel.groupBy',this.groupBy_,[{label:'Group by process',value:GROUP_BY_PROCESS_NAME},{label:'Group by thread',value:GROUP_BY_THREAD_NAME}]);Polymer.dom(toolbarEl).appendChild(this.groupBySelector_);this.groupingUnitSelector_=tr.ui.b.createSelector(this,'groupingUnit','timeSummarySidePanel.groupingUnit',this.groupingUnit_,[{label:'Wall time',value:WALL_TIME_GROUPING_UNIT},{label:'CPU time',value:CPU_TIME_GROUPING_UNIT}]);Polymer.dom(toolbarEl).appendChild(this.groupingUnitSelector_);this.showCpuIdleTimeCheckbox_=tr.ui.b.createCheckBox(this,'showCpuIdleTime','timeSummarySidePanel.showCpuIdleTime',this.showCpuIdleTime_,'Show CPU idle time');Polymer.dom(toolbarEl).appendChild(this.showCpuIdleTimeCheckbox_);this.updateShowCpuIdleTimeCheckboxVisibility_();},trimPieChartData:function(groups,otherGroup,getValue,opt_extraValue){groups=groups.filter(function(d){return getValue(d)!=0;});var sum=tr.b.Statistics.sum(groups,getValue);if(opt_extraValue!==undefined)
-sum+=opt_extraValue;function compareByValue(a,b){return getValue(a)-getValue(b);}
-groups.sort(compareByValue);var thresshold=0.1*sum;while(groups.length>1){var group=groups[0];if(getValue(group)>=thresshold)
-break;var v=getValue(group);if(v+getValue(otherGroup)>thresshold)
-break;groups.splice(0,1);otherGroup.appendGroupContents(group);}
-if(getValue(otherGroup)>0)
-groups.push(otherGroup);groups.sort(compareByValue);return groups;},generateResultsForGroup:function(model,name){return new ResultsForGroup(model,name);},createPieChartFromResultGroups:function(groups,title,getValue,opt_extraData){var chart=new tr.ui.b.PieChart();function pushDataForGroup(data,resultsForGroup,value){data.push({label:resultsForGroup.name,value:value,valueText:tr.b.Unit.byName.timeDurationInMs.format(value),resultsForGroup:resultsForGroup});}
-chart.addEventListener('item-click',function(clickEvent){var resultsForGroup=clickEvent.data.resultsForGroup;if(resultsForGroup===undefined)
-return;var event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(resultsForGroup.allSlices);event.selection.timeSummaryGroupName=resultsForGroup.name;chart.dispatchEvent(event);});var data=[];groups.forEach(function(resultsForGroup){var value=getValue(resultsForGroup);if(value===0)
-return;pushDataForGroup(data,resultsForGroup,value);});if(opt_extraData)
-data.push.apply(data,opt_extraData);chart.chartTitle=title;chart.data=data;return chart;},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();},get groupBy(){return groupBy_;},set groupBy(groupBy){this.groupBy_=groupBy;if(this.groupBySelector_)
-this.groupBySelector_.selectedValue=groupBy;this.updateContents_();},get groupingUnit(){return groupingUnit_;},set groupingUnit(groupingUnit){this.groupingUnit_=groupingUnit;if(this.groupingUnitSelector_)
-this.groupingUnitSelector_.selectedValue=groupingUnit;this.updateShowCpuIdleTimeCheckboxVisibility_();this.updateContents_();},get showCpuIdleTime(){return this.showCpuIdleTime_;},set showCpuIdleTime(showCpuIdleTime){this.showCpuIdleTime_=showCpuIdleTime;if(this.showCpuIdleTimeCheckbox_)
-this.showCpuIdleTimeCheckbox_.checked=showCpuIdleTime;this.updateContents_();},updateShowCpuIdleTimeCheckboxVisibility_:function(){if(!this.showCpuIdleTimeCheckbox_)
-return;var visible=this.groupingUnit_==CPU_TIME_GROUPING_UNIT;if(visible)
-this.showCpuIdleTimeCheckbox_.style.display='';else
-this.showCpuIdleTimeCheckbox_.style.display='none';},getGroupNameForThread_:function(thread){if(this.groupBy_==GROUP_BY_THREAD_NAME)
-return thread.name?thread.name:thread.userFriendlyName;if(this.groupBy_==GROUP_BY_PROCESS_NAME)
-return thread.parent.userFriendlyName;},updateContents_:function(){var resultArea=this.$.result_area;this.chart_=undefined;Polymer.dom(resultArea).textContent='';if(this.model_===undefined)
-return;var rangeOfInterest;if(this.rangeOfInterest_.isEmpty)
-rangeOfInterest=this.model_.bounds;else
-rangeOfInterest=this.rangeOfInterest_;var allGroup=this.generateResultsForGroup(this.model_,'all');var resultsByGroupName={};this.model_.getAllThreads().forEach(function(thread){var groupName=this.getGroupNameForThread_(thread);if(resultsByGroupName[groupName]===undefined){resultsByGroupName[groupName]=this.generateResultsForGroup(this.model_,groupName);}
-resultsByGroupName[groupName].appendThreadSlices(rangeOfInterest,thread);allGroup.appendThreadSlices(rangeOfInterest,thread);},this);var getValueFromGroup=function(group){if(this.groupingUnit_==WALL_TIME_GROUPING_UNIT)
-return group.wallTime;return group.cpuTime;}.bind(this);var summaryText=document.createElement('div');Polymer.dom(summaryText).appendChild(tr.ui.b.createSpan({textContent:'Total '+this.groupingUnit_+': ',bold:true}));Polymer.dom(summaryText).appendChild(tr.v.ui.createScalarSpan(getValueFromGroup(allGroup),{unit:tr.b.Unit.byName.timeDurationInMs,ownerDocument:this.ownerDocument}));Polymer.dom(resultArea).appendChild(summaryText);var extraValue=0;var extraData=[];if(this.showCpuIdleTime_&&this.groupingUnit_===CPU_TIME_GROUPING_UNIT&&this.model.kernel.bestGuessAtCpuCount!==undefined){var maxCpuTime=rangeOfInterest.range*this.model.kernel.bestGuessAtCpuCount;var idleTime=Math.max(0,maxCpuTime-allGroup.cpuTime);extraData.push({label:'CPU Idle',value:idleTime,valueText:tr.b.Unit.byName.timeDurationInMs.format(idleTime)});extraValue+=idleTime;}
-var otherGroup=this.generateResultsForGroup(this.model_,'Other');var groups=this.trimPieChartData(tr.b.dictionaryValues(resultsByGroupName),otherGroup,getValueFromGroup,extraValue);if(groups.length==0){Polymer.dom(resultArea).appendChild(tr.ui.b.createSpan({textContent:'No data'}));return undefined;}
-this.chart_=this.createPieChartFromResultGroups(groups,this.groupingUnit_+' breakdown by '+this.groupBy_,getValueFromGroup,extraData);Polymer.dom(resultArea).appendChild(this.chart_);this.chart_.addEventListener('click',function(){var event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.c.EventSet([]);this.dispatchEvent(event);});this.chart_.setSize(this.chart_.getMinSize());},get selection(){return selection_;},set selection(selection){this.selection_=selection;if(this.chart_===undefined)
-return;if(selection.timeSummaryGroupName)
-this.chart_.highlightedLegendKey=selection.timeSummaryGroupName;else
-this.chart_.highlightedLegendKey=undefined;},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;this.updateContents_();},supportsModel:function(model){return{supported:false};},get textLabel(){return'Time Summary';}});}());'use strict';tr.exportTo('tr.ui.b',function(){function readFile(fileBlob){return new Promise(function(resolve,reject){var reader=new FileReader();var filename=fileBlob.name;reader.onload=function(data){resolve(data.target.result);};reader.onerror=function(err){reject(err);};var isBinary=filename.endsWith('.gz')||filename.endsWith('.zip');if(isBinary)
-reader.readAsArrayBuffer(fileBlob);else
-reader.readAsText(fileBlob);});}
-return{readFile:readFile};});'use strict';tr.exportTo('tr.ui.e.kudu_tracing',function(){function TracingControllerClient(){}
-TracingControllerClient.prototype={beginMonitoring:function(monitoringOptions){},endMonitoring:function(){},captureMonitoring:function(){},getMonitoringStatus:function(){},getCategories:function(){},beginRecording:function(recordingOptions){},beginGetBufferPercentFull:function(){},endRecording:function(){},defaultTraceName:function(){}};return{TracingControllerClient:TracingControllerClient};});'use strict';tr.exportTo('tr.ui.e.kudu_tracing',function(){window.DevToolsAPI={setToolbarColors:function(){},addExtensions:function(){},setInspectedPageId:function(){},dispatchMessage:function(payload){throw new Error('Should have been patched by InspectorConnection');}};window.InspectorFrontendAPI=window.DevToolsAPI;function InspectorConnection(){if(InspectorConnection.instance)
-throw new Error('Singleton');this.nextRequestId_=1;this.pendingRequestResolversId_={};this.notificationListenersByMethodName_={};DevToolsAPI.dispatchMessage=this.dispatchMessage_.bind(this);}
-InspectorConnection.prototype={req:function(method,params){var id=this.nextRequestId_++;var msg=JSON.stringify({id:id,method:method,params:params});var devtoolsMessageStr=JSON.stringify({'id':id,'method':'dispatchProtocolMessage','params':[msg]});DevToolsHost.sendMessageToEmbedder(devtoolsMessageStr);return new Promise(function(resolve,reject){this.pendingRequestResolversId_[id]={resolve:resolve,reject:reject};}.bind(this));},setNotificationListener:function(method,listener){this.notificationListenersByMethodName_[method]=listener;},dispatchMessage_:function(payload){var isStringPayload=typeof payload==='string';var isDataCollectedMessage=isStringPayload?payload.indexOf('"method": "Tracing.dataCollected"')!==-1:payload.method==='Tracing.dataCollected';if(isDataCollectedMessage){var listener=this.notificationListenersByMethodName_['Tracing.dataCollected'];if(listener){listener(isStringPayload?payload:JSON.stringify(payload));return;}}
-var message=isStringPayload?JSON.parse(payload):payload;if(message.id){var resolver=this.pendingRequestResolversId_[message.id];if(resolver===undefined){console.log('Unrecognized ack',message);return;}
-if(message.error){resolver.reject(message.error);return;}
-resolver.resolve(message.result);return;}
-if(message['method']){var listener=this.notificationListenersByMethodName_[message.method];if(listener===undefined){console.log('Unhandled ',message.method);return;}
-listener(message.params);return;}
-console.log('Unknown dispatchMessage: ',payload);}};if(window.DevToolsHost)
-InspectorConnection.instance=new InspectorConnection();else
-InspectorConnection.instance=undefined;return{InspectorConnection:InspectorConnection};});'use strict';tr.exportTo('tr.ui.e.kudu_tracing',function(){function createResolvedPromise(data){var promise=new Promise(function(resolve,reject){if(data)
-resolve(data);else
-resolve();});return promise;}
-function appendTraceChunksTo(chunks,messageString){if(typeof messageString!=='string')
-throw new Error('Invalid data');var re=/"params":\s*\{\s*"value":\s*\[([^]+)\]\s*\}\s*\}/;var m=re.exec(messageString);if(!m)
-throw new Error('Malformed response');if(chunks.length>1)
-chunks.push(',');chunks.push(m[1]);}
-function InspectorTracingControllerClient(){this.recording_=false;this.bufferUsage_=0;this.conn_=tr.ui.e.kudu_tracing.InspectorConnection.instance;this.currentTraceTextChunks_=undefined;}
-InspectorTracingControllerClient.prototype={__proto__:tr.ui.e.kudu_tracing.TracingControllerClient.prototype,beginMonitoring:function(monitoringOptions){throw new Error('Not implemented');},endMonitoring:function(){throw new Error('Not implemented');},captureMonitoring:function(){throw new Error('Not implemented');},getMonitoringStatus:function(){return createResolvedPromise({isMonitoring:false,categoryFilter:'',useSystemTracing:false,useContinuousTracing:false,useSampling:false});},getCategories:function(){var res=this.conn_.req('Tracing.getCategories',{});return res.then(function(result){return result.categories;},function(err){return[];});},beginRecording:function(recordingOptions){if(this.recording_)
-throw new Error('Already recording');this.recording_='starting';var res=this.conn_.req('Tracing.start',{categories:recordingOptions.categoryFilter,options:[recordingOptions.tracingRecordMode,(recordingOptions.useSampling?'enable-sampling':'')].join(','),bufferUsageReportingInterval:1000});res=res.then(function ok(){this.conn_.setNotificationListener('Tracing.bufferUsage',this.onBufferUsageUpdateFromInspector_.bind(this));this.recording_=true;}.bind(this),function error(){this.recording_=false;}.bind(this));return res;},onBufferUsageUpdateFromInspector_:function(params){this.bufferUsage_=params.value||params.percentFull;},beginGetBufferPercentFull:function(){var that=this;return new Promise(function(resolve,reject){setTimeout(function(){resolve(that.bufferUsage_);},100);});},onDataCollected_:function(messageString){appendTraceChunksTo(this.currentTraceTextChunks_,messageString);},endRecording:function(){if(this.recording_===false)
-return createResolvedPromise();if(this.recording_!==true)
-throw new Error('Cannot end');this.currentTraceTextChunks_=['['];this.conn_.setNotificationListener('Tracing.dataCollected',this.onDataCollected_.bind(this));var clearListeners=function(){this.conn_.setNotificationListener('Tracing.bufferUsage',undefined);this.conn_.setNotificationListener('Tracing.tracingComplete',undefined);this.conn_.setNotificationListener('Tracing.dataCollected',undefined);}.bind(this);this.recording_='stopping';return new Promise(function(resolve,reject){function tracingComplete(){clearListeners();this.recording_=false;this.currentTraceTextChunks_.push(']');var traceText=this.currentTraceTextChunks_.join('');this.currentTraceTextChunks_=undefined;resolve(traceText);}
-function tracingFailed(err){clearListeners();this.recording_=false;reject(err);}
-this.conn_.setNotificationListener('Tracing.tracingComplete',tracingComplete.bind(this));this.conn_.req('Tracing.end',{}).then(function end(){}.bind(this),tracingFailed.bind(this));}.bind(this));},defaultTraceName:function(){return'trace.json';}};return{InspectorTracingControllerClient:InspectorTracingControllerClient,appendTraceChunksTo:appendTraceChunksTo};});'use strict';tr.exportTo('tr.ui.e.kudu_tracing',function(){var THIS_DOC=document.currentScript.ownerDocument;var RecordSelectionDialog=tr.ui.b.define('div');var DEFAULT_PRESETS=[{title:'Manually select settings',categoryFilter:[]}];var RECORDING_MODES=[{'label':'Record until full','value':'record-until-full'},{'label':'Record continuously','value':'record-continuously'},{'label':'Record as much as possible','value':'record-as-much-as-possible'}];var DEFAULT_RECORD_MODE='record-until-full';var DEFAULT_CONTINUOUS_TRACING=true;var DEFAULT_SYSTEM_TRACING=true;var DEFAULT_SAMPLING_TRACING=false;RecordSelectionDialog.prototype={__proto__:tr.ui.b.Overlay.prototype,decorate:function(){tr.ui.b.Overlay.prototype.decorate.call(this);this.title='Record a new trace...';Polymer.dom(this).classList.add('record-dialog-overlay');var node=tr.ui.b.instantiateTemplate('#record-selection-dialog-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.recordButtonEl_=document.createElement('button');Polymer.dom(this.recordButtonEl_).textContent='Record';this.recordButtonEl_.addEventListener('click',this.onRecordButtonClicked_.bind(this));this.recordButtonEl_.style.fontSize='110%';Polymer.dom(this.buttons).appendChild(this.recordButtonEl_);this.categoriesView_=Polymer.dom(this).querySelector('.categories-column-view');this.presetsEl_=Polymer.dom(this).querySelector('.category-presets');Polymer.dom(this.presetsEl_).appendChild(tr.ui.b.createOptionGroup(this,'currentlyChosenPreset','kudu_tracing.record_selection_dialog_preset',DEFAULT_PRESETS[0].categoryFilter,DEFAULT_PRESETS.map(function(p){return{label:p.title,value:p.categoryFilter};})));this.tracingRecordModeSltr_=tr.ui.b.createSelector(this,'tracingRecordMode','recordSelectionDialog.tracingRecordMode',DEFAULT_RECORD_MODE,RECORDING_MODES);this.samplingTracingBn_=tr.ui.b.createCheckBox(undefined,undefined,'recordSelectionDialog.useSampling',DEFAULT_SAMPLING_TRACING,'State sampling');this.tracingModesContainerEl_=Polymer.dom(this).querySelector('.tracing-modes');Polymer.dom(this.tracingModesContainerEl_).appendChild(this.tracingRecordModeSltr_);Polymer.dom(this.tracingModesContainerEl_).appendChild(this.samplingTracingBn_);this.enabledCategoriesContainerEl_=Polymer.dom(this).querySelector('.default-enabled-categories .categories');this.disabledCategoriesContainerEl_=Polymer.dom(this).querySelector('.default-disabled-categories .categories');this.createGroupSelectButtons_(Polymer.dom(this).querySelector('.default-enabled-categories'));this.createGroupSelectButtons_(Polymer.dom(this).querySelector('.default-disabled-categories'));this.createDefaultDisabledWarningDialog_(Polymer.dom(this).querySelector('.warning-default-disabled-categories'));this.editCategoriesOpened_=false;this.infoBarGroup_=Polymer.dom(this).querySelector('tr-ui-b-info-bar-group');this.addEventListener('visible-change',this.onVisibleChange_.bind(this));},get tracingRecordMode(){return this.tracingRecordModeSltr_.selectedValue;},set tracingRecordMode(value){this.tracingRecordMode_=value;},get useSampling(){return this.samplingTracingBn_.checked;},set useSampling(value){this.samplingTracingBn_.checked=!!value;},set categories(c){if(!(c instanceof Array))
-throw new Error('categories must be an array');this.categories_=c;for(var i=0;i<this.categories_.length;i++){var split=this.categories_[i].split(',');this.categories_[i]=split.shift();if(split.length>0)
-this.categories_=this.categories_.concat(split);}},set settings_key(k){this.settings_key_=k;},set settings(s){throw new Error('Dont use this!');},usingPreset_:function(){return this.currentlyChosenPreset_.length>0;},get currentlyChosenPreset(){return this.currentlyChosenPreset_;},set currentlyChosenPreset(preset){if(!(preset instanceof Array))
-throw new Error('RecordSelectionDialog.currentlyChosenPreset:'+' preset must be an array.');this.currentlyChosenPreset_=preset;if(this.usingPreset_()){this.changeEditCategoriesState_(false);}else{this.updateCategoryColumnView_(true);this.changeEditCategoriesState_(true);}
-this.updateManualSelectionView_();this.updatePresetDescription_();},updateManualSelectionView_:function(){var classList=Polymer.dom(this.categoriesView_).classList;if(!this.usingPreset_()){classList.remove('categories-column-view-hidden');}else{if(this.editCategoriesOpened_)
-classList.remove('categories-column-view-hidden');else
-classList.add('categories-column-view-hidden');}},updateCategoryColumnView_:function(shouldReadFromSettings){var categorySet=Polymer.dom(this).querySelectorAll('.categories');for(var i=0;i<categorySet.length;++i){var categoryGroup=categorySet[i].children;for(var j=0;j<categoryGroup.length;++j){var categoryEl=categoryGroup[j].children[0];categoryEl.checked=shouldReadFromSettings?tr.b.Settings.get(categoryEl.value,false,this.settings_key_):false;}}},onClickEditCategories:function(){if(!this.usingPreset_())
-return;if(!this.editCategoriesOpened_){this.updateCategoryColumnView_(false);for(var i=0;i<this.currentlyChosenPreset_.length;++i){var categoryEl=this.querySelector('#'+
-this.currentlyChosenPreset_[i]);if(!categoryEl)
-continue;categoryEl.checked=true;}}
-this.changeEditCategoriesState_(!this.editCategoriesOpened_);this.updateManualSelectionView_();this.recordButtonEl_.focus();},changeEditCategoriesState_:function(editCategoriesState){var presetOptionsGroup=Polymer.dom(this).querySelector('.labeled-option-group');if(!presetOptionsGroup)
-return;this.editCategoriesOpened_=editCategoriesState;if(this.editCategoriesOpened_)
-Polymer.dom(presetOptionsGroup).classList.add('categories-expanded');else
-Polymer.dom(presetOptionsGroup).classList.remove('categories-expanded');},updatePresetDescription_:function(){var description=Polymer.dom(this).querySelector('.category-description');if(this.usingPreset_()){description.innerText=this.currentlyChosenPreset_;Polymer.dom(description).classList.remove('category-description-hidden');}else{description.innerText='';if(!Polymer.dom(description).classList.contains('category-description-hidden'))
-Polymer.dom(description).classList.add('category-description-hidden');}},categoryFilter:function(){if(this.usingPreset_()){var categories=[];var allCategories=this.allCategories_();for(var category in allCategories){var disabled=category.indexOf('disabled-by-default-')==0;if(this.currentlyChosenPreset_.indexOf(category)>=0){if(disabled)
-categories.push(category);}else{if(!disabled)
-categories.push('-'+category);}}
-return categories.join(',');}
-var categories=this.unselectedCategories_();var categoriesLength=categories.length;var negatedCategories=[];for(var i=0;i<categoriesLength;++i){if(categories[i].match(/,/))
-continue;negatedCategories.push('-'+categories[i]);}
-categories=negatedCategories.join(',');var disabledCategories=this.enabledDisabledByDefaultCategories_();disabledCategories=disabledCategories.join(',');var results=[];if(categories!=='')
-results.push(categories);if(disabledCategories!=='')
-results.push(disabledCategories);return results.join(',');},clickRecordButton:function(){this.recordButtonEl_.click();},onRecordButtonClicked_:function(){this.visible=false;tr.b.dispatchSimpleEvent(this,'recordclick');return false;},collectInputs_:function(inputs,isChecked){var inputsLength=inputs.length;var categories=[];for(var i=0;i<inputsLength;++i){var input=inputs[i];if(input.checked===isChecked)
-categories.push(input.value);}
-return categories;},unselectedCategories_:function(){var inputs=Polymer.dom(this.enabledCategoriesContainerEl_).querySelectorAll('input');return this.collectInputs_(inputs,false);},enabledDisabledByDefaultCategories_:function(){var inputs=Polymer.dom(this.disabledCategoriesContainerEl_).querySelectorAll('input');return this.collectInputs_(inputs,true);},onVisibleChange_:function(){if(this.visible)
-this.updateForm_();},buildInputs_:function(inputs,checkedDefault,parent){var inputsLength=inputs.length;for(var i=0;i<inputsLength;i++){var category=inputs[i];var inputEl=document.createElement('input');inputEl.type='checkbox';inputEl.id=category;inputEl.value=category;inputEl.checked=tr.b.Settings.get(category,checkedDefault,this.settings_key_);inputEl.onclick=this.updateSetting_.bind(this);var labelEl=document.createElement('label');Polymer.dom(labelEl).textContent=category.replace('disabled-by-default-','');Polymer.dom(labelEl).setAttribute('for',category);var divEl=document.createElement('div');Polymer.dom(divEl).appendChild(inputEl);Polymer.dom(divEl).appendChild(labelEl);Polymer.dom(parent).appendChild(divEl);}},allCategories_:function(){var categorySet={};var allCategories=this.categories_.concat(tr.b.Settings.keys(this.settings_key_));var allCategoriesLength=allCategories.length;for(var i=0;i<allCategoriesLength;++i)
-categorySet[allCategories[i]]=true;return categorySet;},updateForm_:function(){function ignoreCaseCompare(a,b){return a.toLowerCase().localeCompare(b.toLowerCase());}
-Polymer.dom(this.enabledCategoriesContainerEl_).innerHTML='';Polymer.dom(this.disabledCategoriesContainerEl_).innerHTML='';this.recordButtonEl_.focus();var allCategories=this.allCategories_();var categories=[];var disabledCategories=[];for(var category in allCategories){if(category.indexOf('disabled-by-default-')==0)
-disabledCategories.push(category);else
-categories.push(category);}
-disabledCategories=disabledCategories.sort(ignoreCaseCompare);categories=categories.sort(ignoreCaseCompare);if(this.categories_.length==0){this.infoBarGroup_.addMessage('No categories found; recording will use default categories.');}
-this.buildInputs_(categories,true,this.enabledCategoriesContainerEl_);if(disabledCategories.length>0){this.disabledCategoriesContainerEl_.hidden=false;this.buildInputs_(disabledCategories,false,this.disabledCategoriesContainerEl_);}},updateSetting_:function(e){var checkbox=e.target;tr.b.Settings.set(checkbox.value,checkbox.checked,this.settings_key_);if(this.usingPreset_()){this.currentlyChosenPreset_=[];var categoryEl=this.querySelector('#category-preset-Manually-select-settings');categoryEl.checked=true;var description=Polymer.dom(this).querySelector('.category-description');description.innerText='';Polymer.dom(description).classList.add('category-description-hidden');}},createGroupSelectButtons_:function(parent){var flipInputs=function(dir){var inputs=Polymer.dom(parent).querySelectorAll('input');for(var i=0;i<inputs.length;i++){if(inputs[i].checked===dir)
-continue;inputs[i].click();}};var allBtn=Polymer.dom(parent).querySelector('.all-btn');allBtn.onclick=function(evt){flipInputs(true);evt.preventDefault();};var noneBtn=Polymer.dom(parent).querySelector('.none-btn');noneBtn.onclick=function(evt){flipInputs(false);evt.preventDefault();};},setWarningDialogOverlayText_:function(messages){var contentDiv=document.createElement('div');for(var i=0;i<messages.length;++i){var messageDiv=document.createElement('div');Polymer.dom(messageDiv).textContent=messages[i];Polymer.dom(contentDiv).appendChild(messageDiv);}
-Polymer.dom(this.warningOverlay_).textContent='';Polymer.dom(this.warningOverlay_).appendChild(contentDiv);},createDefaultDisabledWarningDialog_:function(warningLink){function onClickHandler(evt){this.warningOverlay_=tr.ui.b.Overlay();this.warningOverlay_.parentEl_=this;this.warningOverlay_.title='Warning...';this.warningOverlay_.userCanClose=true;this.warningOverlay_.visible=true;this.setWarningDialogOverlayText_(['Enabling the default disabled categories may have','performance and memory impact while tr.c.']);evt.preventDefault();}
-warningLink.onclick=onClickHandler.bind(this);}};return{RecordSelectionDialog:RecordSelectionDialog};});'use strict';tr.exportTo('tr.ui.e.kudu_tracing',function(){function beginRecording(tracingControllerClient){var finalPromiseResolver;var finalPromise=new Promise(function(resolve,reject){finalPromiseResolver={resolve:resolve,reject:reject};});finalPromise.selectionDlg=undefined;finalPromise.progressDlg=undefined;function beginRecordingError(err){finalPromiseResolver.reject(err);}
-endRecording(tracingControllerClient).then(getCategories,getCategories);window.onbeforeunload=function(e){endRecording(tracingControllerClient);};function getCategories(){var p=tracingControllerClient.getCategories().then(showTracingDialog,beginRecordingError);p.catch(function(err){beginRecordingError(err);});}
-var selectionDlg;function showTracingDialog(categories){selectionDlg=new tr.ui.e.kudu_tracing.RecordSelectionDialog();selectionDlg.categories=categories;selectionDlg.settings_key='tr.ui.e.kudu_tracing.record_selection_dialog';selectionDlg.addEventListener('recordclick',startTracing);selectionDlg.addEventListener('closeclick',cancelRecording);selectionDlg.visible=true;finalPromise.selectionDlg=selectionDlg;}
-function cancelRecording(){finalPromise.selectionDlg=undefined;finalPromiseResolver.reject(new UserCancelledError());}
-var progressDlg;var bufferPercentFullDiv;function startTracing(){progressDlg=new tr.ui.b.Overlay();Polymer.dom(progressDlg).textContent='Recording...';progressDlg.userCanClose=false;bufferPercentFullDiv=document.createElement('div');Polymer.dom(progressDlg).appendChild(bufferPercentFullDiv);var stopButton=document.createElement('button');Polymer.dom(stopButton).textContent='Stop';progressDlg.clickStopButton=function(){stopButton.click();};Polymer.dom(progressDlg).appendChild(stopButton);var recordingOptions={categoryFilter:selectionDlg.categoryFilter(),useSystemTracing:selectionDlg.useSystemTracing,tracingRecordMode:selectionDlg.tracingRecordMode,useSampling:selectionDlg.useSampling};var requestPromise=tracingControllerClient.beginRecording(recordingOptions);requestPromise.then(function(){progressDlg.visible=true;stopButton.focus();updateBufferPercentFull('0');},recordFailed);stopButton.addEventListener('click',function(){var recordingPromise=endRecording(tracingControllerClient);recordingPromise.then(recordFinished,recordFailed);stopButton.disabled=true;bufferPercentFullDiv=undefined;});finalPromise.progressDlg=progressDlg;}
-function recordFinished(tracedData){progressDlg.visible=false;finalPromise.progressDlg=undefined;finalPromiseResolver.resolve(tracedData);}
-function recordFailed(err){progressDlg.visible=false;finalPromise.progressDlg=undefined;finalPromiseResolver.reject(err);}
-function getBufferPercentFull(){if(!bufferPercentFullDiv)
-return;tracingControllerClient.beginGetBufferPercentFull().then(updateBufferPercentFull);}
-function updateBufferPercentFull(percentFull){if(!bufferPercentFullDiv)
-return;percentFull=Math.round(100*parseFloat(percentFull));var newText='Buffer usage: '+percentFull+'%';if(Polymer.dom(bufferPercentFullDiv).textContent!=newText)
-Polymer.dom(bufferPercentFullDiv).textContent=newText;window.setTimeout(getBufferPercentFull,500);}
-return finalPromise;}
-function endRecording(tracingControllerClient){return tracingControllerClient.endRecording();}
-function defaultTraceName(tracingControllerClient){return tracingControllerClient.defaultTraceName();}
-function UserCancelledError(){Error.apply(this,arguments);}
-UserCancelledError.prototype={__proto__:Error.prototype};return{beginRecording:beginRecording,UserCancelledError:UserCancelledError,defaultTraceName:defaultTraceName};});'use strict';tr.exportTo('tr.ui.e.kudu_tracing',function(){var Base64=tr.b.Base64;function beginXhr(method,path,isBinary){return new Promise(function(resolve,reject){var req=new XMLHttpRequest();req.open(method,path,true);if(isBinary){req.responseType='arraybuffer';}
-req.onreadystatechange=function(e){if(req.readyState==4){window.setTimeout(function(){if(req.status==200&&(isBinary||req.responseText!='##ERROR##')){resolve(isBinary?req.response:req.responseText);}else{reject(new Error('Error occured at '+path));}},0);}};req.send();});}
-function XhrBasedTracingControllerClient(){}
-XhrBasedTracingControllerClient.prototype={__proto__:tr.ui.e.kudu_tracing.TracingControllerClient.prototype,beginMonitoring:function(monitoringOptions){var monitoringOptionsB64=Base64.btoa(JSON.stringify(monitoringOptions));return beginXhr('GET','/tracing/json/begin_monitoring?'+monitoringOptionsB64);},endMonitoring:function(){return beginXhr('GET','/tracing/json/end_monitoring');},captureMonitoring:function(){return beginXhr('GET','/tracing/json/capture_monitoring_compressed').then(function(data){var decodedSize=Base64.getDecodedBufferLength(data);var buffer=new ArrayBuffer(decodedSize);Base64.DecodeToTypedArray(data,new DataView(buffer));return buffer;});},getMonitoringStatus:function(){return beginXhr('GET','/tracing/json/get_monitoring_status').then(function(monitoringOptionsB64){return JSON.parse(Base64.atob(monitoringOptionsB64));});},getCategories:function(){return beginXhr('GET','/tracing/json/categories').then(function(json){return JSON.parse(json);});},beginRecording:function(recordingOptions){var recordingOptionsB64=Base64.btoa(JSON.stringify(recordingOptions));return beginXhr('GET','/tracing/json/begin_recording?'+
-recordingOptionsB64);},beginGetBufferPercentFull:function(){return beginXhr('GET','/tracing/json/get_buffer_percent_full');},endRecording:function(){return beginXhr('GET','/tracing/json/end_recording_compressed',true);},defaultTraceName:function(){return'trace.json.gz';}};return{XhrBasedTracingControllerClient:XhrBasedTracingControllerClient};});'use strict';tr.exportTo('tr.ui.e.kudu_tracing',function(){var ProfilingView=tr.ui.b.define('x-profiling-view');var THIS_DOC=document.currentScript.ownerDocument;ProfilingView.prototype={__proto__:HTMLDivElement.prototype,decorate:function(tracingControllerClient){Polymer.dom(this).appendChild(tr.ui.b.instantiateTemplate('#profiling-view-template',THIS_DOC));this.timelineView_=Polymer.dom(this).querySelector('tr-ui-timeline-view');this.infoBarGroup_=Polymer.dom(this).querySelector('tr-ui-b-info-bar-group');this.recordButton_=Polymer.dom(this).querySelector('#record-button');this.loadButton_=Polymer.dom(this).querySelector('#load-button');this.saveButton_=Polymer.dom(this).querySelector('#save-button');var buttons=Polymer.dom(this).querySelector('x-timeline-view-buttons');Polymer.dom(buttons.parentElement).removeChild(buttons);Polymer.dom(this.timelineView_.leftControls).appendChild(buttons);this.initButtons_();this.timelineView_.hotkeyController.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'r'.charCodeAt(0),callback:function(e){this.beginRecording();event.stopPropagation();},thisArg:this}));this.initDragAndDrop_();if(tracingControllerClient){this.tracingControllerClient_=tracingControllerClient;}else if(window.DevToolsHost!==undefined){this.tracingControllerClient_=new tr.ui.e.kudu_tracing.InspectorTracingControllerClient();}else{this.tracingControllerClient_=new tr.ui.e.kudu_tracing.XhrBasedTracingControllerClient();}
-this.isRecording_=false;this.activeTrace_=undefined;this.updateTracingControllerSpecificState_();},detach_:function(){this.detachDragAndDrop_();},get isRecording(){return this.isRecording_;},set tracingControllerClient(tracingControllerClient){this.tracingControllerClient_=tracingControllerClient;this.updateTracingControllerSpecificState_();},updateTracingControllerSpecificState_:function(){var isInspector=this.tracingControllerClient_ instanceof
-tr.ui.e.kudu_tracing.InspectorTracingControllerClient;if(isInspector){this.infoBarGroup_.addMessage('This about:tracing is connected to a remote device...',[{buttonText:'Wow!',onClick:function(){}}]);}},beginRecording:function(){if(this.isRecording_)
-throw new Error('Already recording');this.isRecording_=true;var resultPromise=tr.ui.e.kudu_tracing.beginRecording(this.tracingControllerClient_);resultPromise.then(function(data){this.isRecording_=false;var traceName=tr.ui.e.kudu_tracing.defaultTraceName(this.tracingControllerClient_);this.setActiveTrace(traceName,data,false);}.bind(this),function(err){this.isRecording_=false;if(err instanceof tr.ui.e.kudu_tracing.UserCancelledError)
-return;tr.ui.b.Overlay.showError('Error while recording',err);}.bind(this));return resultPromise;},get timelineView(){return this.timelineView_;},clearActiveTrace:function(){this.saveButton_.disabled=true;this.activeTrace_=undefined;},setActiveTrace:function(filename,data){this.activeTrace_={filename:filename,data:data};this.infoBarGroup_.clearMessages();this.updateTracingControllerSpecificState_();this.saveButton_.disabled=false;this.timelineView_.viewTitle=filename;var m=new tr.Model();var i=new tr.importer.Import(m);var p=i.importTracesWithProgressDialog([data]);p.then(function(){this.timelineView_.model=m;this.timelineView_.updateDocumentFavicon();}.bind(this),function(err){tr.ui.b.Overlay.showError('While importing: ',err);}.bind(this));},initButtons_:function(){this.recordButton_.addEventListener('click',function(event){event.stopPropagation();this.beginRecording();}.bind(this));this.loadButton_.addEventListener('click',function(event){event.stopPropagation();this.onLoadClicked_();}.bind(this));this.saveButton_.addEventListener('click',this.onSaveClicked_.bind(this));this.saveButton_.disabled=true;},requestFilename_:function(){var illegalRe=/[\/\?<>\\:\*\|":]/g;var controlRe=/[\x00-\x1f\x80-\x9f]/g;var reservedRe=/^\.+$/;var filename;var defaultName=this.activeTrace_.filename;var fileExtension='.json';var fileRegex=/\.json$/;if(/[.]gz$/.test(defaultName)){fileExtension+='.gz';fileRegex=/\.json\.gz$/;}else if(/[.]zip$/.test(defaultName)){fileExtension='.zip';fileRegex=/\.zip$/;}
-var custom=prompt('Filename? ('+fileExtension+' appended) Or leave blank:');if(custom===null)
-return undefined;var name;if(custom){name=' '+custom;}else{var date=new Date();var dateText=' '+date.toDateString()+' '+date.toLocaleTimeString();name=dateText;}
-filename=defaultName.replace(fileRegex,name)+fileExtension;return filename.replace(illegalRe,'.').replace(controlRe,'\u2022').replace(reservedRe,'').replace(/\s+/g,'_');},onSaveClicked_:function(){var blob=new Blob([this.activeTrace_.data],{type:'application/octet-binary'});var blobUrl=window.webkitURL.createObjectURL(blob);var link=document.createElementNS('http://www.w3.org/1999/xhtml','a');link.href=blobUrl;var filename=this.requestFilename_();if(filename){link.download=filename;link.click();}},onLoadClicked_:function(){var inputElement=document.createElement('input');inputElement.type='file';inputElement.multiple=false;var changeFired=false;inputElement.addEventListener('change',function(e){if(changeFired)
-return;changeFired=true;var file=inputElement.files[0];tr.ui.b.readFile(file).then(function(data){this.setActiveTrace(file.name,data);}.bind(this),function(err){tr.ui.b.Overlay.showError('Error while loading file: '+err);});}.bind(this),false);inputElement.click();},initDragAndDrop_:function(){this.dropHandler_=this.dropHandler_.bind(this);this.ignoreDragEvent_=this.ignoreDragEvent_.bind(this);document.addEventListener('dragstart',this.ignoreDragEvent_,false);document.addEventListener('dragend',this.ignoreDragEvent_,false);document.addEventListener('dragenter',this.ignoreDragEvent_,false);document.addEventListener('dragleave',this.ignoreDragEvent_,false);document.addEventListener('dragover',this.ignoreDragEvent_,false);document.addEventListener('drop',this.dropHandler_,false);},detachDragAndDrop_:function(){document.removeEventListener('dragstart',this.ignoreDragEvent_);document.removeEventListener('dragend',this.ignoreDragEvent_);document.removeEventListener('dragenter',this.ignoreDragEvent_);document.removeEventListener('dragleave',this.ignoreDragEvent_);document.removeEventListener('dragover',this.ignoreDragEvent_);document.removeEventListener('drop',this.dropHandler_);},ignoreDragEvent_:function(e){e.preventDefault();return false;},dropHandler_:function(e){if(this.isAnyDialogUp_)
-return;e.stopPropagation();e.preventDefault();var files=e.dataTransfer.files;if(files.length!==1){tr.ui.b.Overlay.showError('1 file supported at a time.');return;}
-tr.ui.b.readFile(files[0]).then(function(data){this.setActiveTrace(files[0].name,data);}.bind(this),function(err){tr.ui.b.Overlay.showError('Error while loading file: '+err);});return false;}};return{ProfilingView:ProfilingView};});'use strict';tr.exportTo('tr.ui.e.kudu_tracing',function(){window.profilingView=undefined;document.addEventListener('DOMContentLoaded',function(){window.profilingView=new tr.ui.e.kudu_tracing.ProfilingView();profilingView.timelineView.globalMode=true;Polymer.dom(document.body).appendChild(profilingView);});return{};});